{# Multi-select chip-picker (v0.7.1). Shared by the adapter / category / event-type / severity filters. Selection is held in a hidden CSV input (name=field); the checkboxes are synced into it by JS and the form auto-applies when the panel closes. `options` is either a flat list of strings/dicts {value,label,color} or, when grouped=True, a list of (group_label, [dict,...]) tuples. `selected` is the list of chosen values. #} {% macro _chip_row(field, opt, selected, with_swatch) %} {% set val = opt.value if opt.value is defined else opt %} {% set lbl = opt.label if opt.label is defined else opt %} {% endmacro %} {% macro chip_picker(field, label, options, selected, grouped=False, searchable=False, with_swatch=False) %}