impulse_view_components 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64c18f23e04ea3fe4e774a26954112bff9e902ab1e1c1fc0cedf25e18d10f167
4
- data.tar.gz: e2f5374ba37d4dd3d0d561e7e64b16c5e495f72d8d0135b513f3110f03670008
3
+ metadata.gz: f6068f711a96da7104ddc287d32e68ff7a30dc27eb4f0741688a41d49b26c3d7
4
+ data.tar.gz: 9cdf5d6266a428e8f956087a8bc0bda50ddec7a572e21ca76bb99deafd0ccd9d
5
5
  SHA512:
6
- metadata.gz: 46b87b21eee952f2311e73b09e731212b88379eb5c21d4224af0a2877138a5ddee035be425b0fe9097cb7e18e8901861b6f66de3e67daea4027ee9e731688f13
7
- data.tar.gz: 52801de3f4e72bcb6071eaa2cc6e1bba14806597d9d8225cc9d88cf9c81cb1586455a743b07a97648f7828bca35248896a889a66ca24ba8f0556e2549d1964a6
6
+ metadata.gz: a28bba312d80518e75a0f0fa4ae62dd86a04e8962ad29479a5049f6a5c2e0d177e99f3b80c4b2415b4dba686471d63009ed29a2460b727aa1ae35b691e2ec16b
7
+ data.tar.gz: 638cf6abdc550001f364cdc9c6107bce079defc97f53ac0ce031155207742de76824154588d959a367330511291e0618e22cfe0cc432451a22980ad75fbed464
data/CHANGELOG.md CHANGED
@@ -6,6 +6,88 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.9.1] - 2026-11-06
10
+
11
+ ### Fixed
12
+
13
+ - Fixed `<awc-popover>` showing open, and throwing when it opens or closes, in browsers without the Popover API (before Chrome 114, Firefox 125 and Safari 17). There the panel stays in the page, stacked with `$zindex-popover` and hidden while the popover is closed ([#365](https://github.com/Ambiki/impulse_view_components/pull/365))
14
+
15
+ ## [0.9.0] - 2026-11-05
16
+
17
+ ### Added
18
+
19
+ - `Impulse::ClipboardCopyComponent` (`<awc-clipboard-copy>`), a button that copies text to the clipboard ([#348](https://github.com/Ambiki/impulse_view_components/pull/348))
20
+ - `--rounded-xl` (12px) in the border radius scale ([#344](https://github.com/Ambiki/impulse_view_components/pull/344))
21
+ - Style import paths: `/base`, then `/<element>` or the bare path for Sass, and `/styles.css` precompiled for apps without Sass ([#331](https://github.com/Ambiki/impulse_view_components/pull/331))
22
+ - Shorter import paths: `/<element>` (such as `/popover`) and `/hooks`, which export by name and with the types their APIs use. Bundlers drop what an app doesn't import ([#330](https://github.com/Ambiki/impulse_view_components/pull/330))
23
+ - `toggle()` on `<awc-popover>` takes the event that toggled it, so that one press asks each popover to hide once ([#324](https://github.com/Ambiki/impulse_view_components/pull/324))
24
+ - `useFocusOut`, a hook that calls back when focus moves to an element outside its boundaries, such as on Tab past a popover's last element ([#322](https://github.com/Ambiki/impulse_view_components/pull/322))
25
+ - `keep-flipped` on `<awc-anchor>` (`keep_flipped:` on `Impulse::AnchorComponent`) and `keepFlipped` on `useFloatingUI`, which keep the side a floating element flipped to while it's positioned ([#320](https://github.com/Ambiki/impulse_view_components/pull/320))
26
+ - `awc-autocomplete:commit` carries `selected` in its detail, so listeners can tell whether the commit selected or deselected the option ([#311](https://github.com/Ambiki/impulse_view_components/pull/311))
27
+ - `requestShow()` and `requestHide()` on `<awc-popover>`, `<awc-dialog>` and `<awc-autocomplete>`, which emit a cancelable `show` or `hide` before acting ([#302](https://github.com/Ambiki/impulse_view_components/pull/302))
28
+ - `Impulse::SelectComponent`'s block form can group options with `with_group` ([#299](https://github.com/Ambiki/impulse_view_components/pull/299))
29
+ - Added `auto-size` and `auto-size-padding` to `<awc-anchor>` (`auto_size:` and `auto_size_padding:` on `Impulse::AnchorComponent`) ([#274](https://github.com/Ambiki/impulse_view_components/pull/274))
30
+ - `useFloatingUI` accepts a function for its options, read on every reposition, and exports its options type as `UseFloatingUIOptions` ([#273](https://github.com/Ambiki/impulse_view_components/pull/273))
31
+ - Every prefixed autocomplete event is now declared, so `show`, `shown`, `hide`, `hidden`, `clear` and `reset` listeners receive a typed `CustomEvent` alongside `commit` and `remove`. The four ajax events (`loadstart`, `load`, `error`, `loadend`) are unchanged — they stay unprefixed and non-bubbling ([#255](https://github.com/Ambiki/impulse_view_components/pull/255))
32
+ - Autocomplete now infers its API types from the selection mode and source: `value`/`removeValue` resolve by narrowing on `multiple`, and `setValue`'s `text` requirement by narrowing on the new `ajax` getter. Exported `SingleAutocompleteElement` / `MultipleAutocompleteElement` / `LocalAutocompleteElement` / `AjaxAutocompleteElement` types allow pinning the shape explicitly ([#217](https://github.com/Ambiki/impulse_view_components/pull/217))
33
+ - Added `GlobalEventHandlersEventMap` entries for the dialog and popover events so listeners receive a typed `CustomEvent` ([#216](https://github.com/Ambiki/impulse_view_components/pull/216))
34
+
35
+ ### Changed
36
+
37
+ - **Breaking:** Requires Rails 7.1 and `view_component` 4.17, which brings [ViewComponent 4's breaking changes](https://github.com/ViewComponent/view_component/releases/tag/v4.0.0). It raises `ViewComponent::ReusedInstanceError` when an app renders one component instance more than once ([#346](https://github.com/Ambiki/impulse_view_components/pull/346))
38
+ - `<awc-dialog>`'s corners are 12px (`--rounded-xl`), up from 4px ([#344](https://github.com/Ambiki/impulse_view_components/pull/344))
39
+ - **Breaking:** One click outside, or focus moving out, closes `<awc-popover>` and the popovers nested in it together. A request to hide a popover asks its nested popovers first, and one that refuses keeps it open ([#324](https://github.com/Ambiki/impulse_view_components/pull/324))
40
+ - **Breaking:** Elements no longer write their defaults to attributes when they connect, so a selector like `awc-popover[placement="bottom"]` stops matching. Read the property, or render the attribute explicitly. To turn off a Boolean that defaults to on, such as `flip`, set it to `"false"`: removing the attribute now turns it back on ([#321](https://github.com/Ambiki/impulse_view_components/pull/321))
41
+ - **Breaking:** `<awc-autocomplete>` auto sizes by default (`auto-size="false"` or `auto_size: false` turns it off), and its listbox is never taller than `--awc-autocomplete-listbox-max-height`. Compiling the SCSS now needs Dart Sass ([#318](https://github.com/Ambiki/impulse_view_components/pull/318))
42
+ - **Breaking:** `<awc-popover>` renders in the top layer as `<div role="dialog" popover="manual">` instead of a `<dialog>`. It moves focus in when it opens, returns it to the trigger when it closes, and closes when focus moves out. `handleClose` is gone, and a `<form method="dialog">` inside no longer closes it ([#308](https://github.com/Ambiki/impulse_view_components/pull/308))
43
+ - `<awc-dialog>`'s `hide()` and `requestHide()` return a promise, like the popover's and the autocomplete's ([#305](https://github.com/Ambiki/impulse_view_components/pull/305))
44
+ - **Breaking:** Removing an open `<awc-popover>`, `<awc-dialog>` or `<awc-autocomplete>` keeps `open`, so re-inserting it opens it again ([#303](https://github.com/Ambiki/impulse_view_components/pull/303))
45
+ - **Breaking:** Open and close events now follow native elements: user actions, `requestShow()`, `requestHide()` and `toggle()` emit a cancelable `show` or `hide`, `show()` and `hide()` emit only `shown` or `hidden`, and connecting or removing an element emits nothing. Hand-written `<awc-dialog>` markup needs the `cancel->awc-dialog#handleCancel` and `close->awc-dialog#handleClose` actions for Escape ([#302](https://github.com/Ambiki/impulse_view_components/pull/302))
46
+ - The JavaScript now compiles to ES2020, so `?.`, `??` and object spread ship untranspiled. No supported browser is dropped, but bundlers that can't parse ES2020, such as webpack 4, need to transpile the package ([#298](https://github.com/Ambiki/impulse_view_components/pull/298))
47
+ - **Breaking:** Renamed `useFloatingUI`'s `referenceElement` and `popupElement` options to `anchorElement` and `floatingElement` ([#278](https://github.com/Ambiki/impulse_view_components/pull/278))
48
+ - **Breaking:** `<awc-anchor>`'s `start()` and `stop()` now turn `active` on and off ([#277](https://github.com/Ambiki/impulse_view_components/pull/277))
49
+ - **Breaking:** `useFloatingUI` and `<awc-anchor>` now share their defaults: `bottom` placement, with flip and shift on. Hook callers that omit `placement` get `bottom` instead of `bottom-start`, and `<awc-anchor>` now shifts unless `shift` is `false` ([#276](https://github.com/Ambiki/impulse_view_components/pull/276))
50
+ - **Breaking:** Requires Ruby 3.4 ([#256](https://github.com/Ambiki/impulse_view_components/pull/256), [#210](https://github.com/Ambiki/impulse_view_components/pull/210))
51
+
52
+ ### Deprecated
53
+
54
+ - Import paths under `@ambiki/impulse-view-components/dist/`. They keep working; see Getting Started for the paths that replace them ([#330](https://github.com/Ambiki/impulse_view_components/pull/330))
55
+
56
+ ### Removed
57
+
58
+ - **Breaking:** `click_boundaries:` on `Impulse::PopoverComponent` and `click-boundaries` on `<awc-popover>` ([#323](https://github.com/Ambiki/impulse_view_components/pull/323))
59
+
60
+ ### Fixed
61
+
62
+ - Fixed the dismiss button of a tag added to a disabled multiple `<awc-autocomplete>`, such as by a form reset or `setValue`, removing the tag ([#337](https://github.com/Ambiki/impulse_view_components/pull/337))
63
+ - Fixed `useOutsideClick` calling back for a click without a press, such as from Enter or `click()`, after a right-click, a drag or a prevented click ([#326](https://github.com/Ambiki/impulse_view_components/pull/326))
64
+ - Fixed a page morph resetting the defaults of `<awc-autocomplete>`, `<awc-dialog>`, `<awc-popover>` and `<awc-anchor>` ([#321](https://github.com/Ambiki/impulse_view_components/pull/321))
65
+ - Fixed the `<awc-autocomplete>` listbox jumping between sides of its control while filtering ([#320](https://github.com/Ambiki/impulse_view_components/pull/320))
66
+ - Fixed an auto sized `<awc-anchor>`, `useFloatingUI` floating element or `<awc-autocomplete>` listbox staying squashed instead of flipping to the side of its anchor with more room ([#318](https://github.com/Ambiki/impulse_view_components/pull/318))
67
+ - Fixed Enter after a paste committing an option from the previous results in an ajax `<awc-autocomplete>` ([#316](https://github.com/Ambiki/impulse_view_components/pull/316))
68
+ - Fixed a response that lands after an ajax `<awc-autocomplete>` closes setting its active option, selection, `no-options` or `error` ([#314](https://github.com/Ambiki/impulse_view_components/pull/314))
69
+ - Fixed Enter committing an option hidden by the query in `<awc-autocomplete>`, after pasting text that matches no option ([#314](https://github.com/Ambiki/impulse_view_components/pull/314))
70
+ - Fixed a single select `<awc-autocomplete>` leaving the old option marked selected when its value changed while open ([#314](https://github.com/Ambiki/impulse_view_components/pull/314))
71
+ - Fixed `<awc-popover>` having no accessible name: it's labelled by its title, or by its trigger ([#308](https://github.com/Ambiki/impulse_view_components/pull/308))
72
+ - Fixed `useFloatingUI` and `useOutsideClick` wrapping an element's `disconnected` again every time it moved, which kept old positioners alive ([#307](https://github.com/Ambiki/impulse_view_components/pull/307))
73
+ - Fixed setting or removing `open` on `<awc-popover>`, `<awc-dialog>` and `<awc-autocomplete>` not opening or closing them ([#303](https://github.com/Ambiki/impulse_view_components/pull/303))
74
+ - Fixed an autocomplete that connects with `open` set not opening its listbox ([#303](https://github.com/Ambiki/impulse_view_components/pull/303))
75
+ - Fixed `show()` throwing when called before the element initialized ([#303](https://github.com/Ambiki/impulse_view_components/pull/303))
76
+ - Fixed `preventDefault()` on a `show` or `hide` event not stopping the open or close ([#302](https://github.com/Ambiki/impulse_view_components/pull/302))
77
+ - Fixed a popover that connects with `open` set not opening ([#302](https://github.com/Ambiki/impulse_view_components/pull/302))
78
+ - Fixed `Impulse::TimeZoneSelectComponent` with `multiple: true` not preselecting its `selected` values ([#299](https://github.com/Ambiki/impulse_view_components/pull/299))
79
+ - Fixed type declarations that apps using `moduleResolution: node16` couldn't resolve, which turned some types into `any` ([#296](https://github.com/Ambiki/impulse_view_components/pull/296))
80
+ - Fixed `<awc-anchor>`'s `fallbackPlacements` being typed as `never[]` ([#295](https://github.com/Ambiki/impulse_view_components/pull/295))
81
+ - Fixed the autocomplete ignoring changes to `auto-size` and `auto-size-padding` after it connected ([#292](https://github.com/Ambiki/impulse_view_components/pull/292))
82
+ - Fixed an open popover breaking after it's moved in the page ([#282](https://github.com/Ambiki/impulse_view_components/pull/282))
83
+ - Fixed removing an open popover from the page throwing a `TypeError` ([#281](https://github.com/Ambiki/impulse_view_components/pull/281))
84
+ - Fixed the popover ignoring changes to `placement` after it connected ([#273](https://github.com/Ambiki/impulse_view_components/pull/273))
85
+ - Fixed `useFloatingUI` ignoring its `middleware` option. Custom middleware now runs before the arrow is aligned ([#269](https://github.com/Ambiki/impulse_view_components/pull/269))
86
+ - Fixed `Impulse::AjaxSelectComponent` raising `NameError` for `OpenStruct` when given `selected:` in an app that doesn't load `ostruct` ([#266](https://github.com/Ambiki/impulse_view_components/pull/266))
87
+ - Fixed the autocomplete issuing a request against a source it was no longer using: changing `src`, or removing the element, now cancels a request that is in flight and one that is still waiting out the debounce. Previously a response from the old source could overwrite the options of the new one ([#255](https://github.com/Ambiki/impulse_view_components/pull/255))
88
+ - Fixed the `exports` subpath map pointing at directories instead of files, which broke `dist/elements/*`, `dist/hooks/*` and `dist/helpers/*` imports for Node and for TypeScript under `moduleResolution: bundler`/`node16`. Every subpath now maps to a real file and declares a `types` condition, and element stylesheets stay reachable through the `sass`/`style` conditions ([#241](https://github.com/Ambiki/impulse_view_components/pull/241))
89
+ - Fixed `useOutsideClick` leaking its `click` listener by switching teardown to `AbortController` ([#215](https://github.com/Ambiki/impulse_view_components/pull/215))
90
+
9
91
  ## [0.8.0] - 2026-01-09
10
92
 
11
93
  ### Changed
@@ -183,7 +265,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
183
265
 
184
266
  - Everything!
185
267
 
186
- [unreleased]: https://github.com/Ambiki/impulse_view_components/compare/v0.8.0...HEAD
268
+ [unreleased]: https://github.com/Ambiki/impulse_view_components/compare/v0.9.1...HEAD
269
+ [0.9.1]: https://github.com/Ambiki/impulse_view_components/compare/v0.9.0...v0.9.1
270
+ [0.9.0]: https://github.com/Ambiki/impulse_view_components/compare/v0.8.0...v0.9.0
187
271
  [0.8.0]: https://github.com/Ambiki/impulse_view_components/compare/v0.7.2...v0.8.0
188
272
  [0.7.2]: https://github.com/Ambiki/impulse_view_components/compare/v0.7.1...v0.7.2
189
273
  [0.7.1]: https://github.com/Ambiki/impulse_view_components/compare/v0.7.0...v0.7.1
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # ImpulseViewComponents
2
2
 
3
- View components for Ruby on Rails.
3
+ View components for Ruby on Rails. Read the [documentation](https://ambiki.github.io/impulse_view_components/) to get
4
+ started.
4
5
 
5
6
  ## Development
6
7
 
@@ -1,3 +1,3 @@
1
- :root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #007bff;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--white: #ffffff;--n300: #627291;--color-fg-default: #1c3158;--color-fg-secondary: var(--n300);--color-border-default: #d0d7de;--rounded-sm: 2px;--rounded-default: 4px;--rounded-md: 6px;--rounded-lg: 8px;--rounded-full: 9999px;--fs-sm: 0.8125rem;--fs-default: 0.875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fw-default: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-default: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 1rem;--space-4: 1.5rem;--awc-autocomplete-control-min-height: calc(1.5em + 0.75rem + 2px);--awc-autocomplete-control-min-height-sm: calc(1.5em + 0.5rem + 2px);--awc-autocomplete-control-min-height-lg: calc(1.5em + 1rem + 2px);--awc-autocomplete-control-focus-color: #495057;--awc-autocomplete-control-focus-border-color: #80bdff;--awc-autocomplete-control-disabled-bg-color: #eef4ff;--awc-autocomplete-control-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);--awc-autocomplete-control-focus-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);--awc-autocomplete-input-min-width: 2rem;--awc-autocomplete-input-height: calc(calc(1.5em + 0.75rem + 2px) - (0.375rem * 2) - (1px * 2));--awc-autocomplete-input-bg-color: #fff;--awc-autocomplete-adornment-item-size: 1.5rem;--awc-autocomplete-listbox-font-size: 0.875rem;--awc-autocomplete-listbox-max-height: 256px;--awc-autocomplete-option-padding-x: 1rem;--awc-autocomplete-option-padding-y: 0.5rem;--awc-autocomplete-option-font-size: 0.875rem;--awc-autocomplete-option-lh: 1.25rem;--awc-autocomplete-option-hover-bg-color: #e9ecef;--awc-autocomplete-option-check-color: #38b57c;--awc-autocomplete-option-check-disabled-color: #afe1cb;--awc-autocomplete-group-header-padding-x: var(--awc-autocomplete-option-padding-x);--awc-autocomplete-group-header-padding-y: 0.25rem;--awc-autocomplete-group-header-color: #384b6e;--awc-autocomplete-group-header-font-size: 0.75rem;--awc-autocomplete-group-header-lh: 18px;--awc-autocomplete-group-header-fw: 500;--awc-autocomplete-tag-padding-x: 0.5rem;--awc-autocomplete-tag-btn-size: 1.25rem;--awc-autocomplete-tag-btn-bg-hover-color: var(--n300);--awc-autocomplete-tag-gap: 0.25rem;--awc-autocomplete-tag-max-width: 24rem;--awc-autocomplete-tag-bg-color: #e0e7f7;--awc-autocomplete-tag-border-color: #c4cdde;--awc-autocomplete-tag-border-radius: 0.125rem;--awc-autocomplete-tag-font-size: 0.75rem;--awc-autocomplete-blankslate-color: #384b6e;--awc-autocomplete-blankslate-padding-x: 1rem;--awc-autocomplete-blankslate-padding-y: 0.5rem;--awc-autocomplete-error-color: #c01303;--awc-autocomplete-input-height-sm: calc( calc(1.5em + 0.5rem + 2px) - (0.25rem * 2) - (1px * 2) );--awc-autocomplete-input-height-lg: calc( calc(1.5em + 1rem + 2px) - (0.5rem * 2) - (1px * 2) );--awc-autocomplete-tag-font-size-lg: 0.875rem;--awc-autocomplete-tag-gap-lg: 0.375rem}[hidden][hidden]{display:none !important}.awc-autocomplete{position:relative;display:block}.awc-autocomplete-control{display:flex;align-items:center;position:relative;cursor:text;padding-right:2.5rem;height:100%;min-height:var(--awc-autocomplete-control-min-height)}.awc-autocomplete:focus-within .awc-autocomplete-control{color:var(--awc-autocomplete-control-focus-color);background-color:#fff;border-color:var(--awc-autocomplete-control-focus-border-color);outline:0;box-shadow:var(--awc-autocomplete-control-focus-box-shadow)}.awc-autocomplete[disabled] .awc-autocomplete-control{cursor:default;background-color:var(--awc-autocomplete-control-disabled-bg-color)}.awc-autocomplete[disabled] .awc-autocomplete-clear-btn{background-color:var(--awc-autocomplete-control-disabled-bg-color);border-color:var(--awc-autocomplete-control-disabled-bg-color)}.awc-autocomplete-input{display:block;min-width:var(--awc-autocomplete-input-min-width);height:var(--awc-autocomplete-input-height);width:100%;margin:0;padding:0;flex:1 1 0%;font:inherit;letter-spacing:inherit;background:none;color:currentColor;border:0;outline:none;background-clip:padding-box}.awc-autocomplete-input::-moz-placeholder{color:#6c757d}.awc-autocomplete-input::placeholder{color:#6c757d}.awc-autocomplete-end-adornment{flex-shrink:0;position:absolute;right:.75rem;top:0;bottom:0;display:flex;align-items:center;margin-right:calc(0.75rem/2*-1)}.awc-autocomplete-adornment-btn,.awc-autocomplete-adornment-decorator{width:var(--awc-autocomplete-adornment-item-size);height:var(--awc-autocomplete-adornment-item-size);padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--rounded-sm);font-size:var(--fs-sm)}.awc-autocomplete-adornment-btn i,.awc-autocomplete-adornment-decorator i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-autocomplete-adornment-btn i::before,.awc-autocomplete-adornment-decorator i::before{line-height:inherit}.awc-autocomplete-clear-btn{display:none;background-color:var(--awc-autocomplete-input-bg-color);border-color:var(--awc-autocomplete-input-bg-color)}.awc-autocomplete-adornment-decorator{pointer-events:none}.awc-autocomplete-listbox{font-size:var(--awc-autocomplete-listbox-font-size);max-height:var(--awc-auto-size-height, var(--awc-autocomplete-listbox-max-height));overflow:hidden auto;box-shadow:var(--shadow-md)}.awc-autocomplete-options{margin:0;padding:0}.awc-autocomplete-options .awc-autocomplete-group:not([hidden])~:not([hidden]){border-top:1px solid var(--color-border-default);margin-top:var(--space-1)}.awc-autocomplete-group-header{padding:var(--awc-autocomplete-group-header-padding-y) var(--awc-autocomplete-group-header-padding-x);line-height:var(--awc-autocomplete-group-header-lh);font-size:var(--awc-autocomplete-group-header-font-size);font-weight:var(--awc-autocomplete-group-header-fw);color:var(--awc-autocomplete-group-header-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awc-autocomplete-option-check{color:var(--awc-autocomplete-option-check-color);flex-shrink:0;visibility:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xl)}.awc-autocomplete-option{position:relative;display:flex;align-items:flex-start;justify-content:space-between;-moz-column-gap:.25rem;column-gap:.25rem;padding:var(--awc-autocomplete-option-padding-y) var(--awc-autocomplete-option-padding-x);line-height:var(--awc-autocomplete-option-lh);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;font-size:var(--awc-autocomplete-option-font-size);white-space:initial}.awc-autocomplete-option[data-active],.awc-autocomplete-option:active,.awc-autocomplete-option .active{color:#16181b;background-color:var(--awc-autocomplete-option-hover-bg-color)}.awc-autocomplete-option.disabled{pointer-events:auto;cursor:not-allowed}.awc-autocomplete-option[data-active].disabled{color:#adb5bd}.awc-autocomplete-option.disabled .awc-autocomplete-option-check{color:var(--awc-autocomplete-option-check-disabled-color)}.awc-autocomplete-option:not(.disabled) .awc-autocomplete-option-description{color:var(--color-fg-secondary)}.awc-autocomplete-option[aria-selected=true] .awc-autocomplete-option-check{visibility:visible}.awc-autocomplete-option-content{flex:1 1 0%;display:flex;flex-direction:column;row-gap:2px;word-break:break-word}.awc-autocomplete-option-text{display:block}.awc-autocomplete-option-description{font-size:var(--fs-sm)}.awc-autocomplete-tag{display:flex;align-items:center;-moz-column-gap:.25rem;column-gap:.25rem;padding-inline:var(--awc-autocomplete-tag-padding-x);min-width:0;max-width:var(--awc-autocomplete-tag-max-width);height:var(--awc-autocomplete-input-height);vertical-align:middle;background-color:var(--awc-autocomplete-tag-bg-color);border-radius:var(--awc-autocomplete-tag-border-radius);border:1px solid var(--awc-autocomplete-tag-border-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.awc-autocomplete-tag-text{display:block;line-height:var(--awc-autocomplete-tag-btn-size);font-size:var(--awc-autocomplete-tag-font-size);text-decoration:none;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awc-autocomplete-tag-end-adornment{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-right:calc(var(--awc-autocomplete-tag-padding-x)/2*-1)}.awc-autocomplete-tag-dismiss-btn{padding:0;display:inline-flex;align-items:center;justify-content:center;height:var(--awc-autocomplete-tag-btn-size);width:var(--awc-autocomplete-tag-btn-size);border-radius:var(--rounded-sm);font-size:var(--fs-lg)}.awc-autocomplete-tag-dismiss-btn:hover{background-color:var(--awc-autocomplete-tag-btn-bg-hover-color);color:#fff}.awc-autocomplete-tag-dismiss-btn[disabled]{background-color:rgba(0,0,0,0);color:inherit}.awc-autocomplete-tag-dismiss-btn i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-autocomplete-tag-dismiss-btn i::before{line-height:inherit}.awc-autocomplete-blankslate{display:none;text-align:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x);color:var(--awc-autocomplete-blankslate-color)}.awc-autocomplete-error{display:none;text-align:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x);color:var(--awc-autocomplete-error-color)}.awc-autocomplete-spinner{display:none;align-items:center;justify-content:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x)}.awc-autocomplete[open] .awc-autocomplete-listbox{display:block}.awc-autocomplete--selected.awc-autocomplete--clearable .awc-autocomplete-adornment-decorator{display:none}.awc-autocomplete--selected .awc-autocomplete-clear-btn{display:inline-flex}.awc-autocomplete[loading] .awc-autocomplete-options,.awc-autocomplete[loading] .awc-autocomplete-blankslate{display:none}.awc-autocomplete[loading] .awc-autocomplete-spinner{display:flex}.awc-autocomplete[no-options] .awc-autocomplete-options{display:none}.awc-autocomplete[no-options]:not([error]):not([loading]) .awc-autocomplete-blankslate{display:block}.awc-autocomplete[error] .awc-autocomplete-error{display:block}.awc-autocomplete[multiple] .awc-autocomplete-control{flex-wrap:wrap;gap:var(--awc-autocomplete-tag-gap)}.awc-autocomplete--sm{--awc-autocomplete-input-height: var(--awc-autocomplete-input-height-sm);--awc-autocomplete-tag-btn-size: 1rem}.awc-autocomplete--sm .awc-autocomplete-control{min-height:var(--awc-autocomplete-control-min-height-sm);padding-right:2.25rem}.awc-autocomplete--sm .awc-autocomplete-end-adornment{right:.5rem;margin-right:calc(0.5rem/2*-1)}.awc-autocomplete--lg{--awc-autocomplete-input-height: var(--awc-autocomplete-input-height-lg);--awc-autocomplete-tag-font-size: var(--awc-autocomplete-tag-font-size-lg);--awc-autocomplete-tag-gap: var(--awc-autocomplete-tag-gap-lg)}.awc-autocomplete--lg .awc-autocomplete-control{min-height:var(--awc-autocomplete-control-min-height-lg);padding-right:2.75rem}.awc-autocomplete--lg .awc-autocomplete-end-adornment{right:1rem;margin-right:calc(1rem/2*-1)}.awc-dialog-dialog{--margin-y: 0.5rem;--margin-y-sm-up: 1.75rem;border:0;border-radius:var(--rounded-default);max-width:92vw;width:100%;color:inherit;background-color:var(--white);box-shadow:var(--shadow-lg);padding:0;margin:var(--margin-y) auto;max-height:calc(100vh - var(--margin-y)*2);overflow:hidden;animation:dialog-show 150ms cubic-bezier(0.16, 1, 0.3, 1)}.awc-dialog-dialog[open]{display:flex;flex-direction:column}.awc-dialog-dialog:focus-visible{outline:none}.awc-dialog-dialog::backdrop{background-color:rgba(0,23,66,.5);animation:dialog-overlay 150ms cubic-bezier(0.16, 1, 0.3, 1)}@media(min-width: 576px){.awc-dialog-dialog{max-width:498px;max-height:calc(100vh - var(--margin-y-sm-up)*2);margin-top:var(--margin-y-sm-up);margin-bottom:var(--margin-y-sm-up)}}.awc-dialog-dialog--centered{margin-top:auto;margin-bottom:auto}.awc-dialog--scrollable{flex-grow:1;display:flex;flex-direction:column;overflow-y:hidden}.awc-dialog-header{flex-shrink:0;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-1) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-default)}.awc-dialog-title-container{flex:1 1 0%;padding:var(--space-2) 0}.awc-dialog-title{margin:0 !important;font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:20px}.awc-dialog-close-btn{position:relative;flex-shrink:0;padding:0;width:32px;height:32px;font-size:1.25rem;line-height:20px;display:inline-flex;align-items:center;justify-content:center}.awc-dialog-close-btn:not(:hover){background-color:var(--white);border-color:var(--white)}.awc-dialog-close-btn:focus{box-shadow:none}.awc-dialog-close-btn:focus-visible{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.awc-dialog-close-btn i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-dialog-close-btn i::before{line-height:inherit}.awc-dialog-body{flex-grow:1;overflow-y:auto;padding:var(--space-3);font-size:var(--fs-default)}.awc-dialog-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:var(--space-3);flex-wrap:wrap;gap:var(--space-2);border-top:1px solid var(--color-border-default)}.awc-dialog--sm .awc-dialog-dialog{max-width:298px}.awc-dialog--lg .awc-dialog-dialog{max-width:798px}.awc-dialog--fullscreen .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen .awc-dialog-dialog{max-width:100dvw}}@media(max-width: 576px){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 768px){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 992px){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 1200px){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-width:100dvw}}}@keyframes dialog-show{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes dialog-overlay{from{opacity:0}to{opacity:1}}.awc-popover{display:block}.awc-popover-container{outline:none;background-clip:padding-box;background-color:var(--white);border-radius:var(--rounded-default);box-shadow:var(--shadow-md);max-width:276px;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--fs-default);overflow:visible;border:1px solid var(--color-border-default);animation-duration:400ms;animation-timing-function:cubic-bezier(0.16, 1, 0.3, 1);word-wrap:break-word;z-index:1060}.awc-popover-container::backdrop{display:none}.awc-popover-container .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.awc-popover-container .arrow::before,.awc-popover-container .arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-auto[x-placement^=top]{margin-bottom:0;animation-name:slide-down-and-fade}.bs-popover-auto[x-placement^=top]>.arrow{bottom:-0.5rem;margin-left:0;margin-right:0}.bs-popover-auto[x-placement^=right]{margin-left:0;animation-name:slide-left-and-fade}.bs-popover-auto[x-placement^=right]>.arrow{left:-0.5rem;margin-top:0;margin-bottom:0}.bs-popover-auto[x-placement^=bottom]{margin-top:0;animation-name:slide-up-and-fade}.bs-popover-auto[x-placement^=bottom]>.arrow{top:-0.5rem;margin-left:0;margin-right:0}.bs-popover-auto[x-placement^=left]{margin-right:0;animation-name:slide-right-and-fade}.bs-popover-auto[x-placement^=left]>.arrow{right:-0.5rem;margin-top:0;margin-bottom:0}@keyframes slide-up-and-fade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-right-and-fade{from{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-down-and-fade{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left-and-fade{from{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}
1
+ :root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #007bff;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--white: #ffffff;--n300: #627291;--color-fg-default: #1c3158;--color-fg-secondary: var(--n300);--color-border-default: #d0d7de;--rounded-sm: 2px;--rounded-default: 4px;--rounded-md: 6px;--rounded-lg: 8px;--rounded-xl: 12px;--rounded-full: 9999px;--fs-sm: 0.8125rem;--fs-default: 0.875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fw-default: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-default: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 1rem;--space-4: 1.5rem;--awc-autocomplete-control-min-height: calc(1.5em + 0.75rem + 2px);--awc-autocomplete-control-min-height-sm: calc(1.5em + 0.5rem + 2px);--awc-autocomplete-control-min-height-lg: calc(1.5em + 1rem + 2px);--awc-autocomplete-control-focus-color: #495057;--awc-autocomplete-control-focus-border-color: rgb(50%, 74.1176470588%, 100%);--awc-autocomplete-control-disabled-bg-color: #eef4ff;--awc-autocomplete-control-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);--awc-autocomplete-control-focus-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);--awc-autocomplete-input-min-width: 2rem;--awc-autocomplete-input-height: calc(calc(1.5em + 0.75rem + 2px) - (0.375rem * 2) - (1px * 2));--awc-autocomplete-input-bg-color: #fff;--awc-autocomplete-adornment-item-size: 1.5rem;--awc-autocomplete-listbox-font-size: 0.875rem;--awc-autocomplete-listbox-max-height: 256px;--awc-autocomplete-option-padding-x: 1rem;--awc-autocomplete-option-padding-y: 0.5rem;--awc-autocomplete-option-font-size: 0.875rem;--awc-autocomplete-option-lh: 1.25rem;--awc-autocomplete-option-hover-bg-color: #e9ecef;--awc-autocomplete-option-check-color: #38b57c;--awc-autocomplete-option-check-disabled-color: #afe1cb;--awc-autocomplete-group-header-padding-x: var(--awc-autocomplete-option-padding-x);--awc-autocomplete-group-header-padding-y: 0.25rem;--awc-autocomplete-group-header-color: #384b6e;--awc-autocomplete-group-header-font-size: 0.75rem;--awc-autocomplete-group-header-lh: 18px;--awc-autocomplete-group-header-fw: 500;--awc-autocomplete-tag-padding-x: 0.5rem;--awc-autocomplete-tag-btn-size: 1.25rem;--awc-autocomplete-tag-btn-bg-hover-color: var(--n300);--awc-autocomplete-tag-gap: 0.25rem;--awc-autocomplete-tag-max-width: 24rem;--awc-autocomplete-tag-bg-color: #e0e7f7;--awc-autocomplete-tag-border-color: #c4cdde;--awc-autocomplete-tag-border-radius: 0.125rem;--awc-autocomplete-tag-font-size: 0.75rem;--awc-autocomplete-blankslate-color: #384b6e;--awc-autocomplete-blankslate-padding-x: 1rem;--awc-autocomplete-blankslate-padding-y: 0.5rem;--awc-autocomplete-error-color: #c01303;--awc-autocomplete-input-height-sm: calc( calc(1.5em + 0.5rem + 2px) - (0.25rem * 2) - (1px * 2) );--awc-autocomplete-input-height-lg: calc( calc(1.5em + 1rem + 2px) - (0.5rem * 2) - (1px * 2) );--awc-autocomplete-tag-font-size-lg: 0.875rem;--awc-autocomplete-tag-gap-lg: 0.375rem}[hidden][hidden]{display:none !important}.awc-autocomplete{position:relative;display:block}.awc-autocomplete-control{display:flex;align-items:center;position:relative;cursor:text;padding-right:2.5rem;height:100%;min-height:var(--awc-autocomplete-control-min-height)}.awc-autocomplete:focus-within .awc-autocomplete-control{color:var(--awc-autocomplete-control-focus-color);background-color:#fff;border-color:var(--awc-autocomplete-control-focus-border-color);outline:0;box-shadow:var(--awc-autocomplete-control-focus-box-shadow)}.awc-autocomplete[disabled] .awc-autocomplete-control{cursor:default;background-color:var(--awc-autocomplete-control-disabled-bg-color)}.awc-autocomplete[disabled] .awc-autocomplete-clear-btn{background-color:var(--awc-autocomplete-control-disabled-bg-color);border-color:var(--awc-autocomplete-control-disabled-bg-color)}.awc-autocomplete-input{display:block;min-width:var(--awc-autocomplete-input-min-width);height:var(--awc-autocomplete-input-height);width:100%;margin:0;padding:0;flex:1 1 0%;font:inherit;letter-spacing:inherit;background:none;color:currentColor;border:0;outline:none;background-clip:padding-box}.awc-autocomplete-input::-moz-placeholder{color:#6c757d}.awc-autocomplete-input::placeholder{color:#6c757d}.awc-autocomplete-end-adornment{flex-shrink:0;position:absolute;right:.75rem;top:0;bottom:0;display:flex;align-items:center;margin-right:calc(0.75rem/2*-1)}.awc-autocomplete-adornment-btn,.awc-autocomplete-adornment-decorator{width:var(--awc-autocomplete-adornment-item-size);height:var(--awc-autocomplete-adornment-item-size);padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--rounded-sm);font-size:var(--fs-sm)}.awc-autocomplete-adornment-btn i,.awc-autocomplete-adornment-decorator i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-autocomplete-adornment-btn i::before,.awc-autocomplete-adornment-decorator i::before{line-height:inherit}.awc-autocomplete-clear-btn{display:none;background-color:var(--awc-autocomplete-input-bg-color);border-color:var(--awc-autocomplete-input-bg-color)}.awc-autocomplete-adornment-decorator{pointer-events:none}.awc-autocomplete-listbox{font-size:var(--awc-autocomplete-listbox-font-size);max-height:min(var(--awc-autocomplete-listbox-max-height),var(--awc-auto-size-height, var(--awc-autocomplete-listbox-max-height)));overflow:hidden auto;box-shadow:var(--shadow-md)}.awc-autocomplete-options{margin:0;padding:0}.awc-autocomplete-options .awc-autocomplete-group:not([hidden])~:not([hidden]){border-top:1px solid var(--color-border-default);margin-top:var(--space-1)}.awc-autocomplete-group-header{padding:var(--awc-autocomplete-group-header-padding-y) var(--awc-autocomplete-group-header-padding-x);line-height:var(--awc-autocomplete-group-header-lh);font-size:var(--awc-autocomplete-group-header-font-size);font-weight:var(--awc-autocomplete-group-header-fw);color:var(--awc-autocomplete-group-header-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awc-autocomplete-option-check{color:var(--awc-autocomplete-option-check-color);flex-shrink:0;visibility:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xl)}.awc-autocomplete-option{position:relative;display:flex;align-items:flex-start;justify-content:space-between;-moz-column-gap:.25rem;column-gap:.25rem;padding:var(--awc-autocomplete-option-padding-y) var(--awc-autocomplete-option-padding-x);line-height:var(--awc-autocomplete-option-lh);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;font-size:var(--awc-autocomplete-option-font-size);white-space:initial}.awc-autocomplete-option[data-active],.awc-autocomplete-option:active,.awc-autocomplete-option .active{color:hsl(210,10.8108108108%,9.5098039216%);background-color:var(--awc-autocomplete-option-hover-bg-color)}.awc-autocomplete-option.disabled{pointer-events:auto;cursor:not-allowed}.awc-autocomplete-option[data-active].disabled{color:#adb5bd}.awc-autocomplete-option.disabled .awc-autocomplete-option-check{color:var(--awc-autocomplete-option-check-disabled-color)}.awc-autocomplete-option:not(.disabled) .awc-autocomplete-option-description{color:var(--color-fg-secondary)}.awc-autocomplete-option[aria-selected=true] .awc-autocomplete-option-check{visibility:visible}.awc-autocomplete-option-content{flex:1 1 0%;display:flex;flex-direction:column;row-gap:2px;word-break:break-word}.awc-autocomplete-option-text{display:block}.awc-autocomplete-option-description{font-size:var(--fs-sm)}.awc-autocomplete-tag{display:flex;align-items:center;-moz-column-gap:.25rem;column-gap:.25rem;padding-inline:var(--awc-autocomplete-tag-padding-x);min-width:0;max-width:var(--awc-autocomplete-tag-max-width);height:var(--awc-autocomplete-input-height);vertical-align:middle;background-color:var(--awc-autocomplete-tag-bg-color);border-radius:var(--awc-autocomplete-tag-border-radius);border:1px solid var(--awc-autocomplete-tag-border-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.awc-autocomplete-tag-text{display:block;line-height:var(--awc-autocomplete-tag-btn-size);font-size:var(--awc-autocomplete-tag-font-size);text-decoration:none;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awc-autocomplete-tag-end-adornment{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-right:calc(var(--awc-autocomplete-tag-padding-x)/2*-1)}.awc-autocomplete-tag-dismiss-btn{padding:0;display:inline-flex;align-items:center;justify-content:center;height:var(--awc-autocomplete-tag-btn-size);width:var(--awc-autocomplete-tag-btn-size);border-radius:var(--rounded-sm);font-size:var(--fs-lg)}.awc-autocomplete-tag-dismiss-btn:hover{background-color:var(--awc-autocomplete-tag-btn-bg-hover-color);color:#fff}.awc-autocomplete-tag-dismiss-btn[disabled]{background-color:rgba(0,0,0,0);color:inherit}.awc-autocomplete-tag-dismiss-btn i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-autocomplete-tag-dismiss-btn i::before{line-height:inherit}.awc-autocomplete-blankslate{display:none;text-align:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x);color:var(--awc-autocomplete-blankslate-color)}.awc-autocomplete-error{display:none;text-align:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x);color:var(--awc-autocomplete-error-color)}.awc-autocomplete-spinner{display:none;align-items:center;justify-content:center;padding:var(--awc-autocomplete-blankslate-padding-y) var(--awc-autocomplete-blankslate-padding-x)}.awc-autocomplete[open] .awc-autocomplete-listbox{display:block}.awc-autocomplete--selected.awc-autocomplete--clearable .awc-autocomplete-adornment-decorator{display:none}.awc-autocomplete--selected .awc-autocomplete-clear-btn{display:inline-flex}.awc-autocomplete[loading] .awc-autocomplete-options,.awc-autocomplete[loading] .awc-autocomplete-blankslate{display:none}.awc-autocomplete[loading] .awc-autocomplete-spinner{display:flex}.awc-autocomplete[no-options] .awc-autocomplete-options{display:none}.awc-autocomplete[no-options]:not([error]):not([loading]) .awc-autocomplete-blankslate{display:block}.awc-autocomplete[error] .awc-autocomplete-error{display:block}.awc-autocomplete[multiple] .awc-autocomplete-control{flex-wrap:wrap;gap:var(--awc-autocomplete-tag-gap)}.awc-autocomplete--sm{--awc-autocomplete-input-height: var(--awc-autocomplete-input-height-sm);--awc-autocomplete-tag-btn-size: 1rem}.awc-autocomplete--sm .awc-autocomplete-control{min-height:var(--awc-autocomplete-control-min-height-sm);padding-right:2.25rem}.awc-autocomplete--sm .awc-autocomplete-end-adornment{right:.5rem;margin-right:calc(0.5rem/2*-1)}.awc-autocomplete--lg{--awc-autocomplete-input-height: var(--awc-autocomplete-input-height-lg);--awc-autocomplete-tag-font-size: var(--awc-autocomplete-tag-font-size-lg);--awc-autocomplete-tag-gap: var(--awc-autocomplete-tag-gap-lg)}.awc-autocomplete--lg .awc-autocomplete-control{min-height:var(--awc-autocomplete-control-min-height-lg);padding-right:2.75rem}.awc-autocomplete--lg .awc-autocomplete-end-adornment{right:1rem;margin-right:calc(1rem/2*-1)}.awc-dialog-dialog{--margin-y: 0.5rem;--margin-y-sm-up: 1.75rem;border:0;border-radius:var(--rounded-xl);max-width:92vw;width:100%;color:inherit;background-color:var(--white);box-shadow:var(--shadow-lg);padding:0;margin:var(--margin-y) auto;max-height:calc(100vh - var(--margin-y)*2);overflow:hidden;animation:dialog-show 150ms cubic-bezier(0.16, 1, 0.3, 1)}.awc-dialog-dialog[open]{display:flex;flex-direction:column}.awc-dialog-dialog:focus-visible{outline:none}.awc-dialog-dialog::backdrop{background-color:rgba(0,23,66,.5);animation:dialog-overlay 150ms cubic-bezier(0.16, 1, 0.3, 1)}@media(min-width: 576px){.awc-dialog-dialog{max-width:498px;max-height:calc(100vh - var(--margin-y-sm-up)*2);margin-top:var(--margin-y-sm-up);margin-bottom:var(--margin-y-sm-up)}}.awc-dialog-dialog--centered{margin-top:auto;margin-bottom:auto}.awc-dialog--scrollable{flex-grow:1;display:flex;flex-direction:column;overflow-y:hidden}.awc-dialog-header{flex-shrink:0;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-1) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-default)}.awc-dialog-title-container{flex:1 1 0%;padding:var(--space-2) 0}.awc-dialog-title{margin:0 !important;font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:20px}.awc-dialog-close-btn{position:relative;flex-shrink:0;padding:0;width:32px;height:32px;font-size:1.25rem;line-height:20px;display:inline-flex;align-items:center;justify-content:center}.awc-dialog-close-btn:not(:hover){background-color:var(--white);border-color:var(--white)}.awc-dialog-close-btn:focus{box-shadow:none}.awc-dialog-close-btn:focus-visible{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.awc-dialog-close-btn i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}.awc-dialog-close-btn i::before{line-height:inherit}.awc-dialog-body{flex-grow:1;overflow-y:auto;padding:var(--space-3);font-size:var(--fs-default)}.awc-dialog-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:var(--space-3);flex-wrap:wrap;gap:var(--space-2);border-top:1px solid var(--color-border-default)}.awc-dialog--sm .awc-dialog-dialog{max-width:298px}.awc-dialog--lg .awc-dialog-dialog{max-width:798px}.awc-dialog--fullscreen .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen .awc-dialog-dialog{max-width:100dvw}}@media(max-width: 576px){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-sm-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 768px){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-md-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 992px){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-lg-down .awc-dialog-dialog{max-width:100dvw}}}@media(max-width: 1200px){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-width:100vw;box-shadow:none;border-radius:0;max-height:100vh;height:100%}@supports(max-height: 100dvh){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-height:100dvh}}@supports(max-width: 100dvw){.awc-dialog--fullscreen-xl-down .awc-dialog-dialog{max-width:100dvw}}}@keyframes dialog-show{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes dialog-overlay{from{opacity:0}to{opacity:1}}.awc-popover{display:block}.awc-popover-container{outline:none;background-clip:padding-box;background-color:var(--white);border-radius:var(--rounded-default);box-shadow:var(--shadow-md);max-width:276px;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--fs-default);overflow:visible;border:1px solid var(--color-border-default);animation-duration:400ms;animation-timing-function:cubic-bezier(0.16, 1, 0.3, 1);word-wrap:break-word}.awc-popover-container::backdrop{display:none}.awc-popover-container .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.awc-popover-container .arrow::before,.awc-popover-container .arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid}@supports not selector(:popover-open){awc-popover:not([open])>.awc-popover-container{display:none}.awc-popover-container{z-index:1060}}.bs-popover-auto[x-placement^=top]{margin-bottom:0;animation-name:slide-down-and-fade}.bs-popover-auto[x-placement^=top]>.arrow{bottom:-0.5rem;margin-left:0;margin-right:0}.bs-popover-auto[x-placement^=right]{margin-left:0;animation-name:slide-left-and-fade}.bs-popover-auto[x-placement^=right]>.arrow{left:-0.5rem;margin-top:0;margin-bottom:0}.bs-popover-auto[x-placement^=bottom]{margin-top:0;animation-name:slide-up-and-fade}.bs-popover-auto[x-placement^=bottom]>.arrow{top:-0.5rem;margin-left:0;margin-right:0}.bs-popover-auto[x-placement^=left]{margin-right:0;animation-name:slide-right-and-fade}.bs-popover-auto[x-placement^=left]>.arrow{right:-0.5rem;margin-top:0;margin-bottom:0}@keyframes slide-up-and-fade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-right-and-fade{from{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-down-and-fade{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left-and-fade{from{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}
2
2
 
3
3
  /*# sourceMappingURL=impulse_view_components.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/bootstrap/scss/_root.scss","../../../src/styles/variables.scss","../../../src/styles/base.scss","../../../src/elements/autocomplete/index.scss","../../../node_modules/bootstrap/scss/_variables.scss","../../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../../src/elements/dialog/index.scss","../../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../src/elements/popover/index.scss","../../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../../node_modules/bootstrap/scss/vendor/_rfs.scss"],"names":[],"mappings":"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","file":"impulse_view_components.css"}
1
+ {"version":3,"sources":["../../../node_modules/bootstrap/scss/_root.scss","../../../src/styles/variables.scss","../../../src/styles/base.scss","../../../src/elements/autocomplete/index.scss","../../../node_modules/bootstrap/scss/_variables.scss","../../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../../src/elements/dialog/index.scss","../../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../src/elements/popover/index.scss","../../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../../node_modules/bootstrap/scss/vendor/_rfs.scss"],"names":[],"mappings":"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","file":"impulse_view_components.css"}
@@ -1,5 +1,5 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["@floating-ui/dom"],e):e(("undefined"!=typeof globalThis?globalThis:t||self).FloatingUIDOM)}(this,function(y){"use strict";function t(t,e,i,s){var o,n=arguments.length,r=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;0<=a;a--)(o=t[a])&&(r=(n<3?o(r):3<n?o(e,i,r):o(e,i))||r);return 3<n&&r&&Object.defineProperty(e,i,r),r}const e=Symbol.for("impulse");class r{constructor(t,e){this.ctor=t,this.name=e,this.map=new Map,this.ctor=t,this.name=e,this.initialize()}add(t){var e;null!=(e=this.value)&&e.add(t)}get value(){return this.map.get(this.name)}initialize(){Object.prototype.hasOwnProperty.call(this.ctor,e)||(this.ctor[e]=new Map),this.map=this.ctor[e],this.map.has(this.name)||this.map.set(this.name,new Set)}}function i({type:i=String}={}){return(t,e)=>{new r(t,"property").add({key:e,type:i})}}function s(e){return t=>{try{window.customElements.define(e,t),window[t.name]=customElements.get(e)}catch(t){if(!(t instanceof DOMException&&"NotSupportedError"===t.name))throw t}}}function o(){return(t,e)=>{new r(t,"target").add({key:e,multiple:!1})}}function n(){return(t,e)=>{new r(t,"target").add({key:e,multiple:!0})}}function a(t,e){var i={};for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(i[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(i[o[s]]=t[o[s]]);return i}const l=/(?:(.+?)?(?:\.(.+?))?(?:@(window|document))?->)?(.+)#(.+)?$/,h=["stop","prevent","self"],B=["capture","once","passive"];function K(t){var[,t,e,i,s,o]=t.trim().match(l)||[],e=(null==e?void 0:e.split("."))||[];return{eventName:t,eventModifiers:e.filter(t=>h.includes(t)),eventListenerOptions:function(t){var e={};for(const i of t)B.includes(i)&&(e[i]=!0);return e}(e),eventTarget:"window"===(t=i)?window:"document"===t?document:void 0,methodName:o,identifier:s}}const I={prevent:t=>Boolean(t.preventDefault()),stop:t=>Boolean(t.stopPropagation()),self:t=>t.target!==t.currentTarget};class c{constructor(){this.map=new Map}add(t,e){d(this.map,t).add(e)}delete(t,e){d(this.map,t).delete(e),0===(null==(e=this.get(t))?void 0:e.size)&&this.deleteKey(t)}deleteKey(t){this.map.delete(t)}clear(){this.map.clear()}getValuesForKey(t){t=this.map.get(t);return t?Array.from(t):[]}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values()).reduce((t,e)=>t.concat(Array.from(e)),[])}get(t){return this.map.get(t)}has(t,e){return!(null==(t=this.get(t))||!t.has(e))}}function d(t,e){let i=t.get(e);return i||(i=new Set,t.set(e,i)),i}class z{constructor(t,e){this.instance=t,this.eventTarget=e.eventTarget,this.eventName=e.eventName,this.eventModifiers=e.eventModifiers,this.eventListenerOptions=e.eventListenerOptions,this.methodName=e.methodName}start(){this.eventTarget.addEventListener(this.eventName,this,this.eventListenerOptions)}stop(){this.eventTarget.removeEventListener(this.eventName,this,this.eventListenerOptions)}handleEvent(t){var e=this.instance[this.methodName];if("function"==typeof e){for(const s of this.eventModifiers){var i=I[s];if(null!=i&&i(t))return}e.call(this.instance,t)}}}class F{constructor(t,e,i){this.element=t,this.delegate=e,this.observerOptions=i,this.elements=new Set,this.started=!1,this.element=t,this.delegate=e,this.observer=new MutationObserver(t=>this.processMutations(t)),this.observerOptions=i}start(){this.started||(this.started=!0,this.observer.observe(this.element,Object.assign({childList:!0,subtree:!0},this.observerOptions)),this.initializeElements())}stop(){this.started&&(this.processMutations(this.observer.takeRecords()),this.observer.disconnect(),this.started=!1)}initializeElements(){for(const t of this.getMatchingElements())this.addElement(t)}processMutations(t){if(this.started)for(const e of t)"attributes"===e.type&&e.target instanceof Element?this.processAttributeChange(e.target,e.attributeName):"childList"===e.type&&(this.processRemovedNodes(e.removedNodes),this.processAddedNodes(e.addedNodes))}processAttributeChange(t,e){this.elements.has(t)?this.delegate.elementAttributeChanged&&this.matchesElement(t)?this.delegate.elementAttributeChanged(t,e||""):this.removeElement(t):this.matchesElement(t)&&this.addElement(t)}processRemovedNodes(t){for(const i of Array.from(t)){var e=this.elementFromNode(i);if(e)for(const s of this.getMatchingElements(e))this.removeElement(s)}}processAddedNodes(t){for(const i of Array.from(t)){var e=this.elementFromNode(i);if(e)for(const s of this.getMatchingElements(e))this.addElement(s)}}getMatchingElements(t=this.element){var e,i;return(null==(i=(e=this.delegate).getMatchingElements)?void 0:i.call(e,t))||[]}matchesElement(t){var e,i;return null==(i=null==(i=(e=this.delegate).matchesElement)?void 0:i.call(e,t))||i}addElement(t){var e,i;!this.elements.has(t)&&this.elementIsActive(t)&&(this.elements.add(t),null!=(i=(e=this.delegate).elementConnected))&&i.call(e,t)}removeElement(t){var e,i;this.elements.has(t)&&(this.elements.delete(t),null!=(i=(e=this.delegate).elementDisconnected))&&i.call(e,t)}elementFromNode(t){if(t.nodeType===Node.ELEMENT_NODE)return t}elementIsActive(t){return t.isConnected===this.element.isConnected&&this.element.contains(t)}}class R{constructor(t,e,i){this.instance=t,this.attributeName=e,this.delegate=i,this.instance=t,this.attributeName=e,this.elementObserver=new F(this.instance,this,{attributeFilter:[this.attributeName]}),this.delegate=i}start(){this.elementObserver.start()}stop(){this.elementObserver.stop()}elementConnected(t){var e,i;null!=(i=(e=this.delegate).elementConnected)&&i.call(e,t)}elementDisconnected(t){var e,i;null!=(i=(e=this.delegate).elementDisconnected)&&i.call(e,t)}elementAttributeChanged(t,e){var i,s;e===this.attributeName&&null!=(s=(i=this.delegate).elementAttributeChanged)&&s.call(i,t,e)}getMatchingElements(t){var e=Array.from(t.querySelectorAll(`[${this.attributeName}]`));return t.hasAttribute(this.attributeName)&&e.unshift(t),e}matchesElement(t){return t.hasAttribute(this.attributeName)}}class u{constructor(t,e,i){this.element=t,this.attributeName=e,this.delegate=i,this.element=t,this.attributeName=e,this.delegate=i,this.elementTokens=new c}start(){this.attributeObserver||(this.attributeObserver=new R(this.element,this.attributeName,this),this.attributeObserver.start())}stop(){this.attributeObserver&&(this.attributeObserver.stop(),this.attributeObserver=void 0)}elementConnected(t){this.readTokensForElement(t).forEach(t=>this.tokenMatched(t))}elementDisconnected(t){this.elementTokens.getValuesForKey(t).forEach(t=>this.tokenUnmatched(t))}elementAttributeChanged(t){var e=this.elementTokens.getValuesForKey(t),[t,e]=function(t,e){const i=new Set(t.map(({content:t})=>t)),s=new Set(e.map(({content:t})=>t)),o=t.filter(t=>!s.has(t.content)),n=e.filter(t=>!i.has(t.content));return[o,n]}(this.readTokensForElement(t),e);e.forEach(t=>this.tokenUnmatched(t)),t.forEach(t=>this.tokenMatched(t))}tokenMatched(t){var e,i;this.elementTokens.add(t.element,t),null!=(i=(e=this.delegate).tokenMatched)&&i.call(e,t)}tokenUnmatched(t){var e,i;this.elementTokens.delete(t.element,t),null!=(i=(e=this.delegate).tokenUnmatched)&&i.call(e,t)}readTokensForElement(t){var e,i,s=t.getAttribute(this.attributeName)||"";return e=t,i=this.attributeName,s.trim().split(/\s+/).filter(t=>t.length).map(t=>({element:e,attributeName:i,content:t}))}}class p{constructor(t){this.instance=t,this.scopedTarget=t=>t.closest(this.identifier)===this.instance,this.instance=t}findTarget(t){return this.instance.matches(t)?this.instance:this.getElements(t).find(this.scopedTarget)||null}findTargets(t){return[...this.instance.matches(t)?[this.instance]:[],...this.getElements(t).filter(this.scopedTarget)]}getElements(t){return Array.from(this.instance.querySelectorAll(t))}get identifier(){return this.instance.identifier}}class U{constructor(t){this.instance=t,this.eventListenerMap=new c,this.instance=t,this.scope=new p(this.instance)}start(){this.tokenListObserver||(this.tokenListObserver=new u(this.instance,"data-action",this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.destroyActions(),this.tokenListObserver.stop(),this.tokenListObserver=void 0)}tokenMatched({content:t,element:e}){var t=K(t),{identifier:i,eventTarget:s}=t,t=a(t,["identifier","eventTarget"]);t.eventName&&i===this.identifier&&t.methodName&&this.scope.scopedTarget(e)&&(i=new z(this.instance,Object.assign(Object.assign({},t),{eventTarget:s||e})),this.eventListenerMap.add(e,i),i.start())}tokenUnmatched({element:t}){var e=this.eventListenerMap.get(t);if(e)for(const i of e)i.stop(),this.eventListenerMap.delete(t,i)}destroyActions(){var t;for(const e of this.eventListenerMap.keys)null!=(t=this.tokenListObserver)&&t.elementDisconnected(e)}get identifier(){return this.instance.identifier}}const j=/(-|_|\.|\s)+(.)?/g,_=/(^|\/)([A-Z])/g,H=/[ _]/g,$=/([a-z\d])([A-Z])/g;function m(t){return t.replace($,"$1_$2").toLowerCase().replace(H,"-")}function v(t,e=""){if(!t)return e;try{return JSON.parse(t)}catch(t){return e}}class W{constructor(t){this.instance=t,this.instance=t,this.store=new r(Object.getPrototypeOf(this.instance),"property")}start(){for(var[{key:t,type:e}]of this.properties.entries())this.initializeProperty(t,e)}stop(){}initializeProperty(t,e){var i=m(t),s=this.instance[t],e=Object.assign({configurable:!0},function(e,i,t){switch(t){case Number:return{get:()=>{var t;return Number((null==(t=e.getAttribute(i))?void 0:t.replace(/_/g,""))||0)},set:t=>e.setAttribute(i,(t||0).toString())};case Boolean:return{get:()=>e.hasAttribute(i)&&"false"!==e.getAttribute(i),set:t=>{t?e.setAttribute(i,""):e.removeAttribute(i)}};case Array:return{get:()=>JSON.parse(e.getAttribute(i)||"[]"),set:t=>e.setAttribute(i,JSON.stringify(t)||"[]")};case Object:return{get:()=>JSON.parse(e.getAttribute(i)||"{}"),set:t=>e.setAttribute(i,JSON.stringify(t)||"{}")};default:return{get:()=>e.getAttribute(i)||"",set:t=>e.setAttribute(i,t||"")}}}(this.instance,i,e));Object.defineProperty(this.instance,t,e),this.instance.hasAttribute(i)||null!=(t=e.set)&&t.call(e,s)}get properties(){return this.store.value}}class J{constructor(t){this.instance=t,this.instance=t,this.store=new r(Object.getPrototypeOf(this.instance),"target"),this.scope=new p(this.instance),this.targetsByKey=new c}start(){for(const t of this.keys)this.defineProperty(t,this.isKeyMultiple(t)?[]:null);this.tokenListObserver||(this.tokenListObserver=new u(this.instance,"data-target",this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.destroyTargets(),this.tokenListObserver.stop(),this.tokenListObserver=void 0)}tokenMatched({content:t,element:e}){var[t,i]=t.split(".");if(this.isValidIdKeyPair(t,i)&&!this.targetsByKey.has(i,e)&&this.scope.scopedTarget(e)){this.targetsByKey.add(i,e);var s=this.targetsByKey.getValuesForKey(i);if(1<s.length&&!this.isKeyMultiple(i))throw new Error(`
2
- Multiple "${i}" targets in the "${t}" element were defined using the @target() decorator.
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["@floating-ui/dom"],e):e(("undefined"!=typeof globalThis?globalThis:t||self).FloatingUIDOM)}(this,function(C){"use strict";function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;0<=a;a--)(s=t[a])&&(r=(o<3?s(r):3<o?s(e,i,r):s(e,i))||r);return 3<o&&r&&Object.defineProperty(e,i,r),r}function K(e,i,n){let s=0,o=null;for(let t=i;t<e.length;t+=1){var r=e[t];if(o)r===o&&(o=null);else if('"'===r||"'"===r)o=r;else{if("("===r||"["===r?s+=1:")"!==r&&"]"!==r||--s,s<0)return null;if(n(r,t,s))return t}}return 0===s&&null===o?-1:null}const F=/^[\t\n\f\r ]+|[\t\n\f\r ]+$/g;function V(n){const s=[];let o=0;return K(n,0,(t,e,i)=>{","===t&&0===i&&(s.push(n.slice(o,e)),o=e+1)}),s.push(n.slice(o)),s.map(t=>t.replace(F,"")).filter(t=>0<t.length)}function D(t,n){t=K(t,n,(t,e,i)=>n<e&&0===i);return null===t||-1===t?null:t}const R=/^[\w\u0080-\uFFFF-]+/,z=/^[a-z][\w\u0080-\uFFFF-]*/i,W=/^[\t\n\f\r ]*([\w\u0080-\uFFFF-]+)[\t\n\f\r ]*(?:[~|^$*]?=|$)/;function _(t){return!t.includes("\\")&&!t.includes("/*")}function j(t){document.createDocumentFragment().querySelector(t)}function U(i){var n=[];let s=0;var t=z.exec(i);for(t?(n.push({kind:"tag",source:t[0],name:t[0]}),s=t[0].length):"*"===i[0]&&(n.push({kind:"universal",source:"*"}),s=1);s<i.length;){var o=i[s];if("#"===o||"."===o){var e=R.exec(i.slice(s+1));if(!e)return null;var r=s+1+e[0].length;n.push({kind:"#"===o?"id":"class",source:i.slice(s,r),name:e[0]}),s=r}else if("["===o){e=D(i,s);if(null===e)return null;r=W.exec(i.slice(s+1,e));n.push({kind:"attribute",source:i.slice(s,e+1),name:r?r[1]:null}),s=e+1}else{if(":"!==o)return null;{var o=":"===i[s+1],a=s+(o?2:1),l=R.exec(i.slice(a));if(!l)return null;let t=a+l[0].length,e=null;if("("===i[t]){a=D(i,t);if(null===a)return null;e=i.slice(t+1,a),t=a+1}n.push({kind:"pseudo",source:i.slice(s,t),name:l[0].toLowerCase(),element:o,argument:e}),s=t}}}return n}const H=new Set(["is","where","not"]);function Q(t,n){t=V(t);return 0<t.length&&t.every(t=>{var e=n;if(null===(t=U(t)))return!1;for(const i of t)if("id"===i.kind)e.add("id");else if("class"===i.kind)e.add("class");else if("attribute"===i.kind){if(null===i.name)return!1;e.add(i.name),e.add(i.name.toLowerCase())}else if("pseudo"===i.kind){if(i.element||null===i.argument||!H.has(i.name))return!1;if(!Q(i.argument,e))return!1}return!0})}const $=/[\t\n\f\r ]/;function J(t){let n=0;return null===K(t,0,(t,e,i)=>{0!==i||">"!==t&&"+"!==t&&"~"!==t&&!$.test(t)||(n=e+1)})?null:t.slice(n)}function X(t){if(!_(t))return null;var e=[];for(const n of V(t)){var i=function(t){t=J(t);if(null===t)return null;t=U(t);if(null===t)return null;let e="";for(const i of t)"pseudo"!==i.kind&&"universal"!==i.kind&&(e+=i.source);return 0<e.length?e:null}(n);if(null===i)return null;e.push(i)}return 0<e.length?e:null}class h{constructor(){this.map=new Map}add(t,e){let i=this.map.get(t);return i||(i=new Set,this.map.set(t,i)),i.add(e),this}delete(t,e){var i=this.map.get(t);return!!i&&((e=i.delete(e))&&0===i.size&&this.map.delete(t),e)}deleteKey(t){return this.map.delete(t)}clear(){this.map.clear()}valuesForKey(t){t=this.map.get(t);return t?Array.from(t):[]}get keys(){return Array.from(this.map.keys())}get values(){var t=[];for(const e of this.map.values())for(const i of e)t.push(i);return t}get(t){return this.map.get(t)}has(t,e){return!!this.get(t)?.has(e)}}const Y=[];class G{constructor(){this.idIndex=new h,this.attributeIndex=new h,this.classIndex=new h,this.tagIndex=new h,this.fallback=new Set,this.count=0,this.generation=0,this.selectorCounts=new Map,this.matchQueryString=null,this.subjectQueryString=null,this.attributeNames=null}add(t,e){var i={selector:t,value:e,generation:0},e=this.bucketsFor(t);if(e)for(const n of e)n.map.add(n.key,i);else this.fallback.add(i);this.count+=1,this.countSelector(t,1)}delete(t,e){var i=this.bucketsFor(t),n=i?i[0].map.get(i[0].key):this.fallback;if(n)for(const s of n)if(s.selector===t&&s.value===e){if(i)for(const o of i)o.map.delete(o.key,s);else this.fallback.delete(s);return--this.count,void this.countSelector(t,-1)}}matches(e){var i=[],n=(this.generation+=1,this.generation),t=this.tagIndex.get(e.localName.toLowerCase());t&&l(t,i,n),e.id&&(t=this.idIndex.get(e.id))&&l(t,i,n);for(const a of e.classList){var s=this.classIndex.get(a);s&&l(s,i,n)}var o=this.attributeNames??(this.attributeNames=this.attributeIndex.keys);for(let t=0;t<o.length;t+=1){var r=o[t];e.hasAttribute(r)&&(r=this.attributeIndex.get(r))&&l(r,i,n)}return 0<this.fallback.size&&l(this.fallback,i,n),i}queryAll(t){return 0===this.count?Y:(this.matchQueryString??(this.matchQueryString=Array.from(this.selectorCounts.keys()).join(", ")),t.querySelectorAll(this.matchQueryString))}querySubjects(t){return 0===this.count?Y:(this.subjectQueryString??(this.subjectQueryString=function(t){var e=new Set;for(const n of t){var i=X(n);if(null===i)return"*";for(const s of i)e.add(s)}return 0<e.size?Array.from(e).join(", "):"*"}(this.selectorCounts.keys())),t.querySelectorAll(this.subjectQueryString))}get size(){return this.count}countSelector(t,e){var i=this.selectorCounts.get(t)??0,e=i+e;0===e?this.selectorCounts.delete(t):this.selectorCounts.set(t,e),0!==i&&0!==e||(this.matchQueryString=null,this.subjectQueryString=null,this.attributeNames=null)}bucketsFor(t){if(!_(t))return null;var e=[],i=new Set;for(const o of V(t)){var n=function(t){t=J(t);if(null===t)return null;t=U(t);if(null===t)return null;let e,i,n,s;for(const o of t)"id"===o.kind?e=e??o.name:"attribute"===o.kind?null!==o.name&&(i=i??o.name):"class"===o.kind?n=n??o.name:"tag"===o.kind&&(s=s??o.name.toLowerCase());return void 0!==e?{kind:"id",value:e}:void 0!==i?{kind:"attribute",value:i}:void 0!==n?{kind:"class",value:n}:void 0!==s?{kind:"tag",value:s}:null}(o);if(!n)return null;var s=n.kind+":"+n.value;i.has(s)||(i.add(s),"id"===n.kind?e.push({map:this.idIndex,key:n.value}):"attribute"===n.kind?(e.push({map:this.attributeIndex,key:n.value}),(s=n.value.toLowerCase())!==n.value&&e.push({map:this.attributeIndex,key:s})):"class"===n.kind?e.push({map:this.classIndex,key:n.value}):e.push({map:this.tagIndex,key:n.value}))}return 0<e.length?e:null}}function l(t,e,i){for(const n of t)n.generation!==i&&(n.generation=i,e.push(n))}const o=Symbol.for("impulse"),Z={name:"property"},tt={name:"target"};function et(t,e,i){let n=st(t),s=(n||(n=new Map,Object.defineProperty(t,o,{value:n,configurable:!0})),n.get(e.name));s||(s=new Map,n.set(e.name,s)),s.set(i.key,i)}function it(t,e){return st(t)?.get(e.name)??new Map}function nt(t,e){return it(Object.getPrototypeOf(t),e)}function st(t){if(Object.hasOwn(t,o))return t[o]}function e({type:i=String}={}){return(t,e)=>{et(t,Z,{key:e,type:i})}}function ot(e,i){var t,n;return!!Object.is(e,i)||"object"==typeof e&&"object"==typeof i&&null!==e&&null!==i&&(Array.isArray(e)||Array.isArray(i)?!(!Array.isArray(e)||!Array.isArray(i)||e.length!==i.length)&&e.every((t,e)=>ot(t,i[e])):(t=Object.keys(e),n=Object.keys(i),t.length===n.length&&t.every(t=>Object.hasOwn(i,t)&&ot(e[t],i[t]))))}const rt=/([\-_.\s])+(.)?/g,at=/(^|\/)([A-Z])/g,lt=/[ _]/g,ct=/([a-z\d])([A-Z])/g;function ht(t){return t.replace(ct,"$1_$2").toLowerCase().replace(lt,"-")}const ut=new WeakMap;class dt{constructor(t){this.instance=t,this.bound=new Map,this.declarations=nt(this.instance,Z),ut.set(this.instance,this)}start(){this.bind()}bind(){for(var{key:t,type:e}of this.declarations.values())if(!this.bound.has(t)){var i=this.instance[t];const n=new mt(this.instance,t,e,i);this.bound.set(t,n),Object.defineProperty(this.instance,t,{configurable:!0,get:()=>n.value,set:t=>n.write(t)})}}stop(){}change(t,e,i){var n=this.bound.get(t);if(n)return n.change(e,i);throw new Error(`Unregistered attribute changed: ${ht(t)}. Register the attribute using the @property() decorator.`)}}var i=t=>t;function pt(e,t){return{empty:t,fromAttribute:t=>{t=function(t,e){if(!t)return e;try{return JSON.parse(t)}catch{return e}}(t,null);return e(t)?t:void 0},toAttribute:t=>JSON.stringify(t),equals:ot,copy:t=>JSON.parse(JSON.stringify(t))}}const ft=new Map([[String,{empty:()=>"",fromAttribute:i,toAttribute:String,equals:Object.is,copy:i}],[Number,{empty:()=>0,fromAttribute:t=>{var t=t.replace(/_/g,"").trim(),e=Number(t);return""===t||Number.isNaN(e)?void 0:e},toAttribute:String,equals:Object.is,copy:i}],[Boolean,{empty:()=>!1,fromAttribute:t=>"false"!==t,toAttribute:(t,e)=>t?"":e?"false":null,equals:Object.is,copy:i}],[Array,pt(Array.isArray,()=>[])],[Object,pt(t=>"object"==typeof t&&null!==t&&!Array.isArray(t),()=>({}))]]);class mt{constructor(t,e,i,n){this.element=t,this.attributeName=ht(e),this.type=ft.get(i),this.defaultValue=n??this.type.empty()}get value(){return this.read(this.element.getAttribute(this.attributeName))}write(t){t=null==t?null:this.type.toAttribute(t,this.defaultValue);null===t?this.element.removeAttribute(this.attributeName):this.element.setAttribute(this.attributeName,t)}change(t,e){t=this.read(t),e=this.read(e);return this.type.equals(e,t)?null:{newValue:e,oldValue:t}}read(t){t=null===t?void 0:this.type.fromAttribute(t);return void 0===t?this.type.copy(this.defaultValue):t}}function n(s){return t=>{const e=class extends t{constructor(...t){super(...t),new.target===e&&(t=this,ut.get(t)?.bind())}};var i,n;Object.defineProperty(e,"name",{value:t.name}),i=t.prototype,n=e.prototype,(i=st(i))&&Object.defineProperty(n,o,{value:i,configurable:!0});try{window.customElements.define(s,e),window[t.name]=customElements.get(s)}catch(t){if(!(t instanceof DOMException&&"NotSupportedError"===t.name))throw t}return e}}function s(){return(t,e)=>{et(t,tt,{key:e,multiple:!1})}}function vt(){return(t,e)=>{et(t,tt,{key:e,multiple:!0})}}const yt=/(?:(.+?)?(?:\.(.+?))?(?:@(window|document))?->)?(.+)#(.+)?$/,gt=["stop","prevent","self"],bt=["capture","once","passive"],wt=new Map;function kt(t){var e,i,n,s,t=t.trim(),o=wt.get(t);return o||([,o,s,e,i,n]=t.match(yt)||[],o={eventName:o,eventModifiers:(o=s?.split(".")||[]).filter(t=>gt.includes(t)),eventListenerOptions:function(t){var e={};for(const i of t)bt.includes(i)&&(e[i]=!0);return e}(o),eventTarget:"window"===(s=e)?window:"document"===s?document:void 0,methodName:n,identifier:i},wt.set(t,o),o)}const St={prevent:t=>Boolean(t.preventDefault()),stop:t=>Boolean(t.stopPropagation()),self:t=>t.target!==t.currentTarget};class At{constructor(t,e){this.instance=t,this.eventTarget=e.eventTarget,this.eventName=e.eventName,this.eventModifiers=e.eventModifiers,this.eventListenerOptions=e.eventListenerOptions,this.methodName=e.methodName}start(){this.eventTarget.addEventListener(this.eventName,this,this.eventListenerOptions)}stop(){this.eventTarget.removeEventListener(this.eventName,this,this.eventListenerOptions)}handleEvent(t){var e=this.instance[this.methodName];if("function"==typeof e){for(const i of this.eventModifiers)if((0,St[i])?.(t))return;e.call(this.instance,t)}}}function Et(t){"function"==typeof reportError?reportError(t):setTimeout(()=>{throw t})}function p(t){try{t()}catch(t){Et(t)}}function u(t,e){let i=!1,n;for(const s of t)try{e(s)}catch(t){i||(i=!0,n=t)}if(i)throw n}function Ot(){return new Promise(t=>{"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>t(),{once:!0}):t()})}let xt;const c=new G,d=new WeakMap;let r=null,Ct=null;const a=new Map;let Pt=0,f=null,Nt=!1,m=null,Tt=0,v=!1,Mt=0,y=[],Bt=0,g=null;function Lt(n,t){j(n);const s={selector:n,elementConnected:t.elementConnected,elementDisconnected:t.elementDisconnected,elementAttributeChanged:t.elementAttributeChanged,elements:new Map,attributes:_(t=n)&&Q(t,t=new Set)?Array.from(t):null};"loading"===document.readyState?(t=s,m||(m=new Set,Ot().then(qt)),m.add(t)):(v||Kt(),It(s),S(()=>{for(const t of document.querySelectorAll(n))$t(t,s)}));let o=!1;return()=>{if(!o&&(o=!0,!m?.delete(s))){c.delete(n,s),Rt(s.attributes,-1)&&(Nt=!0);for(const i of s.elements.keys())Xt(i,s);var t,e;s.elements.clear(),0===c.size&&r&&(t=Ft(),e=r,r=null,Wt(t),e.disconnect())}}}function It(t){c.add(t.selector,t),Rt(t.attributes,1),t=t.attributes,r?function(t){const e=f;return!e||null!==t&&t.every(t=>e.has(t))}(t)||Dt():(r=new MutationObserver(zt),Ct=document.documentElement,r.observe(Ct,{childList:!0,subtree:!0}),g=g??document.createTextNode(""),r.observe(g,{characterData:!0}),Dt())}function qt(){var t=m;if(m=null,t&&0!==t.size){for(const e of t)It(e);S(()=>_t(document.documentElement))}}function Kt(){for(let t=Ft();t.length;t=Ft())Wt(t)}function Ft(){return Vt(r?.takeRecords()??[])}function Vt(t){return 0===y.length||(t=y.concat(t),y=[]),t}function b(){return v?Mt:0}function w(){var t=v;return t||(Mt+=1),v=!0,t}function k(t){v=t}function S(t){var e=w();try{t()}finally{k(e)}}function Dt(){var t={attributes:!(Nt=!1),subtree:!0};0<Pt?f=null:(f=new Set(a.keys()),t.attributeFilter=Array.from(f)),r?.observe(document,t)}function Rt(t,e){if(!t)return 0===(Pt+=e);let i=!1;for(const s of t){var n=(a.get(s)??0)+e;0===n?(a.delete(s),i=!0):a.set(s,n)}return i}function zt(t){Nt&&Dt(),Wt(Vt(t))}function Wt(t){var e,i=document.documentElement!==Ct,n=Tt+=1,s=w();try{for(const a of t)if("childList"===a.type){if(0<(e=a).removedNodes.length&&1===e.addedNodes.length&&function(){var t,e,i;return void 0===xt&&(e=(t=document.createElement("div")).appendChild(document.createElement("div")).appendChild(document.createElement("div")),(i=new MutationObserver(()=>{})).observe(t,{childList:!0,subtree:!0}),t.replaceChildren?.(e),xt=1===i.takeRecords().length,i.disconnect()),xt}()){r=o=void 0;var o=a.addedNodes[0],r=n;if(o.nodeType===Node.ELEMENT_NODE){Qt(o,r);for(const l of c.querySubjects(o))Qt(l,r)}}a.removedNodes.forEach(jt),a.addedNodes.forEach(_t)}else"attributes"===a.type&&!i&&a.target instanceof Element&&!function(t,e){if(t.isConnected){var i=d.get(t);if(i)for(const n of Array.from(i))t.matches(n.selector)?p(()=>n.elementAttributeChanged?.(t,e??"")):Jt(t,n);Ut(t)}else Ht(t)}(a.target,a.attributeName)}finally{k(s)}}function _t(t){if(t.nodeType===Node.ELEMENT_NODE){var e=c.queryAll(t);Ut(t);for(const i of e)Ut(i)}}function jt(t){if(t.nodeType===Node.ELEMENT_NODE){Ht(t);for(const e of c.querySubjects(t))Ht(e)}}function Ut(t){if(t.isConnected)for(var{value:e}of c.matches(t))!e.elements.has(t)&&t.matches(e.selector)&&$t(t,e)}function Ht(t){var e=d.get(t);if(e)for(const i of Array.from(e))Jt(t,i)}function Qt(t,e){var i=d.get(t);if(i)for(const n of Array.from(i))n.elements.get(t)<e&&Jt(t,n)}function $t(e,i){{var n=e,s=i;s.elements.set(n,Tt);let t=d.get(n);t||(t=new Set,d.set(n,t)),t.add(s)}p(()=>i.elementConnected?.(e))}function Jt(t,e){var i,n;i=t,(n=e).elements.delete(i),Xt(i,n),p(()=>e.elementDisconnected?.(t))}function Xt(t,e){var i=d.get(t);i&&(i.delete(e),0===i.size)&&d.delete(t)}function Yt(o,r,i){const a=new h,l=(t,e)=>{a.add(t,e),i.tokenMatched?.(e)},c=(t,e)=>{a.delete(t,e),i.tokenUnmatched?.(e)},e=Lt(`[${r}]`,{elementConnected(t){if(o.contains(t))for(const e of Gt(t,r))p(()=>l(t,e))},elementDisconnected(t){for(const e of a.valuesForKey(t))p(()=>c(t,e))},elementAttributeChanged(t,e){if(e===r&&o.contains(t)){var e=a.valuesForKey(t),[e,i]=function(t,e){const i=new h;for(const o of e)i.add(o.content,o);var n=[];for(const r of t){var[s]=i.valuesForKey(r.content);s?i.delete(r.content,s):n.push(r)}return[n,e.filter(t=>i.has(t.content,t))]}(Gt(t,r),e);for(const n of i)p(()=>c(t,n));for(const s of e)p(()=>l(t,s))}}});return()=>{var t=a.values;a.clear();try{u(t,t=>i.tokenUnmatched?.(t))}finally{e()}}}function Gt(e,i){return Zt(e,i).map(t=>({element:e,attributeName:i,content:t}))}function Zt(t,e){return(t.getAttribute(e)||"").trim().split(/\s+/).filter(t=>t.length)}class te{constructor(t,e){this.attributeName=t,this.identifierFor=e,this.delegates=new WeakMap,this.tokensByOwner=new WeakMap,this.ownerByToken=new WeakMap,this.subscriberCount=0}subscribe(t,e){if(this.delegates.has(t))throw new Error(`<${t.localName}> is already subscribed to the "${this.attributeName}" token router.`);const i=e;this.stopWatching?Kt():this.stopWatching=Yt(document.documentElement,this.attributeName,{tokenMatched:t=>this.tokenMatched(t),tokenUnmatched:t=>this.tokenUnmatched(t)}),this.delegates.set(t,i),this.subscriberCount+=1;e=w();try{for(const s of this.ownedTokens(t))p(()=>i.tokenMatched?.(s))}finally{k(e)}let n=!1;return()=>{n||(n=!0,this.unsubscribe(t,i))}}stillRoutesTo(t,e){return{attributeName:i,content:n,element:s}=[e][0],Gt(s,i).some(t=>t.content===n)&&this.ownerOf(e)===t;var i,n,s}routesTo(e,i,n){return Zt(i,this.attributeName).some(t=>n(t)&&this.ownerFor(i,t)===e)}unsubscribe(t,e){this.delegates.delete(t),--this.subscriberCount;var i,t=this.ownedTokens(t),n=w();try{u(t,t=>e.tokenUnmatched?.(t))}finally{try{0===this.subscriberCount&&(i=this.stopWatching,this.stopWatching=void 0,i?.())}finally{k(n)}}}tokenMatched(e){var i=this.ownerOf(e);if(i){let t=this.tokensByOwner.get(i);t||(t=new Set,this.tokensByOwner.set(i,t)),t.add(e),this.ownerByToken.set(e,i),this.delegates.get(i)?.tokenMatched?.(e)}}tokenUnmatched(t){var e,i=this.ownerByToken.get(t);i&&(this.ownerByToken.delete(t),(e=this.tokensByOwner.get(i))&&(e.delete(t),0===e.size)&&this.tokensByOwner.delete(i),this.delegates.get(i)?.tokenUnmatched?.(t))}ownedTokens(t){t=this.tokensByOwner.get(t);return t?Array.from(t):[]}ownerOf(t){return this.ownerFor(t.element,t.content)}ownerFor(t,e){e=this.identifierFor(e);if(!e)return null;try{return t.closest(e)}catch{return null}}}const ee=new te("data-action",t=>kt(t).identifier);class ie{constructor(t){this.instance=t,this.eventListenerMap=new Map}start(){this.stopWatching||(this.stopWatching=ee.subscribe(this.instance,this))}stop(){var t=this.stopWatching;t&&(this.stopWatching=void 0,t())}tokenMatched(t){var{content:e,element:i}=t;const{identifier:n,eventTarget:s,...o}=kt(e);o.eventName&&n===this.identifier&&o.methodName&&(e=new At(this.instance,{...o,eventTarget:s||i}),this.eventListenerMap.set(t,e),e.start())}tokenUnmatched(t){var e=this.eventListenerMap.get(t);e&&(e.stop(),this.eventListenerMap.delete(t))}get identifier(){return this.instance.identifier}}const ne="data-impulse-element",A=new Map,se=new WeakSet;function E(t,e,i,n){j(e);var n="boolean"==typeof n?{capture:n}:n??{},s=!!n.capture,o=!!n.once;const{passive:r,signal:a}=n;if(!a?.aborted){const c={selector:e,callback:i,once:o,removed:!1,detach:()=>a?.removeEventListener("abort",l)},h=function(t,e,i){var n=function(t,e,i){i=void 0===i?"":i?"p":"n";return(e?"c":"b")+i+":"+t}(t,e,i),s=A.get(n);if(s)return s;const o=new G,d={key:n,eventName:t,capture:e,selectorSet:o,listener:t=>{try{var n=t,s=d.selectorSet,e=d.capture;try{n.eventPhase}catch{return}if(se.has(n)){if(n.cancelBubble)return;se.delete(n)}if((i=n.target)instanceof Node){var i="function"==typeof n.composedPath?n.composedPath():function(t){var e=[];let i=t;for(;i;)e.push(i),i=i.parentNode;return e}(i),e=e?i.slice().reverse():i,o=[];for(const a of e)if(a instanceof Element)for(var{value:r}of s.matches(a))!r.removed&&a.matches(r.selector)&&o.push({node:a,handler:r});if(0!==o.length){let e=!1,i=!1;const l=n.stopPropagation,c=n.stopImmediatePropagation;n.stopPropagation=function(){e=!0,l.call(n)},n.stopImmediatePropagation=function(){e=!0,i=!0,c.call(n)};try{let t;for(const{node:h,handler:u}of o){if(i)break;if(e&&void 0!==t&&h!==t)break;u.removed||(t=h,Object.defineProperty(n,"currentTarget",{configurable:!0,get:()=>h}),u.once&&(u.removed=!0,u.detach(),s.delete(u.selector,u)),p(()=>u.callback.call(h,n)))}}finally{e&&se.add(n),delete n.currentTarget,delete n.stopPropagation,delete n.stopImmediatePropagation}}}}finally{oe(d)}}};return document.addEventListener(t,d.listener,void 0===i?e:{capture:e,passive:i}),A.set(n,d),d}(t,s,r);function l(){c.removed||(c.removed=!0,c.detach(),h.selectorSet.delete(e,c),oe(h))}h.selectorSet.add(e,c),a?.addEventListener("abort",l)}}function oe(t){0<t.selectorSet.size||A.get(t.key)!==t||(document.removeEventListener(t.eventName,t.listener,t.capture),A.delete(t.key))}const re=new WeakSet,ae=new WeakMap;function le(t){return re.has(t)}function O(t){var[t,e]=t.split(".");return{identifier:t,key:e}}const x=new te("data-target",t=>O(t).identifier);function ce(t,e){return t===e?0:t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}class he{constructor(t){this.instance=t,this.orderedByKey=new Map,this.nowByKey=new Map,this.stableByKey=new Map,this.heldSinceByKey=new Map,this.departedByKey=new Map,this.declarations=nt(this.instance,tt),this.targetsByKey=new h,this.tokensByElement=new h,this.waitingByKey=new h}start(){for(const{key:e,multiple:t}of this.declarations.values()){const i=t?{delivered:()=>this.stableArray(e,this.orderedTargets(e)),now:()=>this.stableArray(e,this.claimants(e))}:{delivered:()=>this.targetsByKey.valuesForKey(e)[0]??null,now:()=>this.claimantNow(e)};Object.defineProperty(this.instance,e,{configurable:!0,get:()=>{var t;return this.stopWatching?(t=function(){if(v||!r)return 0;var t=r.takeRecords();if(0===t.length)return 0<y.length?Bt:0;let e=!1;for(const i of t)i.target!==g&&(y.push(i),e=!0);return e&&(Bt+=1),0===y.length?0:(g.data="",Bt)}())&&this.isInDocumentTree()?this.readNow(e,t,i.now):(0<this.nowByKey.size&&this.nowByKey.clear(),i.delivered()):0===b()&&this.isInDocumentTree()?i.now():i.delivered()}})}this.stopWatching||(this.stopWatching=x.subscribe(this.instance,this))}stop(){var t=this.stopWatching;if(t){this.stopWatching=void 0,this.nowByKey.clear();try{t()}finally{this.stableByKey.clear(),this.heldSinceByKey.clear(),this.departedByKey.clear()}}}tokenMatched(t){var{content:e,element:i}=t;const{identifier:n,key:s}=O(e);if(this.isValidIdKeyPair(n,s))if(this.targetsByKey.has(s,i))this.tokensByElement.add(i,t);else{if(!this.isKeyMultiple(s)){var[e]=this.targetsByKey.valuesForKey(s);if(e&&this.takesOver(s,e,i))return void this.handOver(s,e,t);if(e||this.keptForMovedTarget(s,i))return this.waitingByKey.add(s,t),this.reportIfLeftWaiting(s,t),void(e||Promise.resolve().then(()=>S(()=>this.adoptWaiting(s))))}this.tokensByElement.add(i,t),this.connect(s,i)}}tokenUnmatched(t){var{content:e,element:i}=t,{identifier:n,key:s}=O(e);if(this.isValidIdKeyPair(n,s)&&!this.waitingByKey.delete(s,t)&&this.targetsByKey.has(s,i)&&(this.tokensByElement.delete(i,t),!this.isStillReferenced(i,e)))try{this.invokeCallback(s,i,"disconnected")}finally{this.targetsByKey.delete(s,i),this.orderedByKey.delete(s),this.isKeyMultiple(s)||(n=this.heldSinceByKey.get(s)??b(),this.departedByKey.set(s,{element:i,since:n,delivery:b()})),this.adoptWaiting(s,t)}}reportIfLeftWaiting(t,e){Promise.resolve().then(()=>{this.waitingByKey.has(t,e)&&Et(new Error(`
2
+ Multiple "${t}" targets in the "${this.identifier}" element were defined using the @target() decorator.
3
3
  Please use the @targets() decorator instead if you want to define multiple targets for the same key.
4
4
  Learn more about the @targets() decorator: https://ambiki.github.io/impulse/reference/targets.html#multiple-targets
5
- `);this.defineProperty(i,this.isKeyMultiple(i)?s:e),this.invokeCallback(i,e,"connected")}}tokenUnmatched({content:t,element:e}){var[t,i]=t.split(".");this.isValidIdKeyPair(t,i)&&this.targetsByKey.has(i,e)&&(this.targetsByKey.delete(i,e),this.invokeCallback(i,e,"disconnected"),this.defineProperty(i,this.isKeyMultiple(i)?this.targetsByKey.getValuesForKey(i):null))}destroyTargets(){for(const t of this.targetsByKey.keys)this.targetsByKey.getValuesForKey(t).forEach(t=>{var e;return null==(e=this.tokenListObserver)?void 0:e.elementDisconnected(t)})}defineProperty(t,e){Object.defineProperty(this.instance,t,{configurable:!0,get:()=>e})}isValidIdKeyPair(t,e){return!(!e||t!==this.identifier||!this.keys.includes(e))}invokeCallback(t,e,i){i=this.instance[""+t+((t=i).charAt(0).toUpperCase()+t.slice(1))];"function"==typeof i&&i.call(this.instance,e)}isKeyMultiple(e){var t;return null!=(t=null==(t=Array.from(this.targetKeys).find(t=>t.key===e))?void 0:t.multiple)&&t}get keys(){return Array.from(this.targetKeys).map(({key:t})=>t)}get targetKeys(){return this.store.value}get identifier(){return this.instance.identifier}}class f extends HTMLElement{constructor(){super(...arguments),this.property=new W(this),this.target=new J(this),this.action=new U(this),this._started=!1}connectedCallback(){this._started||this._asyncConnect()}static get observedAttributes(){var t=new r(this.prototype,"property");return Array.from(t.value).map(({key:t})=>m(t))}attributeChangedCallback(t,e,i){if(this._started&&e!==i){const n=t.replace(j,(t,e,i)=>i?i.toUpperCase():"").replace(_,t=>t.toLowerCase());var s=this[n+"Changed"];if("function"==typeof s){var o=new r(Object.getPrototypeOf(this),"property"),o=Array.from(o.value).map(({key:t,type:e})=>({key:t,type:e})).find(({key:t})=>t===n);if(!o)throw new Error(`Unregistered attribute changed: ${t}. Register the attribute using the @property() decorator.`);var{newValue:t,oldValue:i}=function(t,e,i){switch(i){case Boolean:var s=t=>null!==t&&"false"!==t;return{newValue:s(t),oldValue:s(e)};case Number:s=t=>null==t?void 0:t.replace(/_/g,"");return{newValue:Number(s(t)),oldValue:Number(s(e))};case Array:return{newValue:v(t,[]),oldValue:v(e,[])};case Object:return{newValue:v(t,{}),oldValue:v(e,{})};default:return{newValue:t,oldValue:e}}}(i,e,o.type);t!==i&&s.call(this,t,i)}}}disconnectedCallback(){this._started&&(this.disconnected(),this.action.stop(),this.target.stop(),this.property.stop(),this._started=!1)}connected(){}disconnected(){}emit(t,e={}){var{target:i=this,prefix:s=this.identifier}=e,[i,s,t={}]=[i,s?s+":"+t:t,a(e,["target","prefix"])],{detail:e={}}=t,t=a(t,["detail"]),s=new CustomEvent(s,Object.assign({bubbles:!0,composed:!0,detail:e},t));return i.dispatchEvent(s),s}get identifier(){return this.tagName.toLowerCase()}async _asyncConnect(){await new Promise(t=>{"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>t()):t()}),customElements.upgrade(this),this.property.start(),await this._resolveUndefinedElements(),this.target.start(),this.action.start(),this._started=!0,this.setAttribute("data-impulse-element",""),this.connected()}_resolveUndefinedElements(){var t=Array.from(this.querySelectorAll(":not(:defined)")).map(t=>customElements.whenDefined(t.localName));return Promise.all(t)}}function g(t){return Number(t.replace(/[^-\d.]/g,""))}let b=class extends f{constructor(){super(...arguments),this.placement="bottom",this.active=!1,this.strategy="fixed",this.distance=0,this.skidding=0,this.flip=!0,this.flipPadding=0,this.fallbackPlacements=[],this.fallbackStrategy="bestFit",this.shift=!1,this.shiftPadding=0}connected(){this.start()}disconnected(){this.stop()}async anchorIdChanged(t){await this.stop(),t&&this.anchorElement&&this.start()}async activeChanged(t){t?this.start():await this.stop()}start(){this.anchorElement&&(this.style.position=this.strategy,this.style.top="0px",this.style.left="0px",this.cleanup=y.autoUpdate(this.anchorElement,this,this.reposition.bind(this)))}async stop(){return new Promise(t=>{this.cleanup?(this.cleanup(),this.cleanup=void 0,requestAnimationFrame(()=>t())):t()})}async reposition(){if(this.active&&this.anchorElement){var t=[y.offset({mainAxis:this.distance,crossAxis:this.skidding})];this.sync?t.push(y.size({apply:({rects:t})=>{var e="width"===this.sync||"both"===this.sync,i="height"===this.sync||"both"===this.sync;this.style.width=e?t.reference.width+"px":"",this.style.height=i?t.reference.height+"px":""}})):(this.style.width="",this.style.height=""),this.flip&&t.push(y.flip({fallbackPlacements:this.fallbackPlacements.length?this.fallbackPlacements:void 0,fallbackStrategy:this.fallbackStrategy,padding:this.flipPadding})),this.shift&&t.push(y.shift({padding:this.shiftPadding})),this.arrowElement&&t.push(y.arrow({element:this.arrowElement,padding:this._arrowPadding}));const{x:e,y:i,placement:s,strategy:o,middlewareData:n}=await y.computePosition(this.anchorElement,this,{placement:this.placement,middleware:t,strategy:this.strategy});if(Object.assign(this.style,{left:e+"px",top:i+"px",position:o}),n.arrow&&this.arrowElement){const{x:e,y:i}=n.arrow;Object.assign(this.arrowElement.style,{left:"number"==typeof e?e+"px":"",top:"number"==typeof i?i+"px":""})}this.setAttribute("x-placement",s)}}get anchorElement(){return document.getElementById(this.anchorId)}get arrowElement(){return this.querySelector("[data-arrow]")}get _arrowPadding(){return"number"==typeof this.arrowPadding?this.arrowPadding:g(getComputedStyle(this).borderRadius)||2}};t([i()],b.prototype,"anchorId",void 0),t([i()],b.prototype,"placement",void 0),t([i({type:Boolean})],b.prototype,"active",void 0),t([i()],b.prototype,"strategy",void 0),t([i({type:Number})],b.prototype,"distance",void 0),t([i({type:Number})],b.prototype,"skidding",void 0),t([i()],b.prototype,"sync",void 0),t([i({type:Boolean})],b.prototype,"flip",void 0),t([i({type:Number})],b.prototype,"flipPadding",void 0),t([i({type:Array})],b.prototype,"fallbackPlacements",void 0),t([i()],b.prototype,"fallbackStrategy",void 0),t([i({type:Boolean})],b.prototype,"shift",void 0),t([i({type:Number})],b.prototype,"shiftPadding",void 0),t([i({type:Number})],b.prototype,"arrowPadding",void 0),b=t([s("awc-anchor")],b);var w=0;function O(){return w+=1,`ambiki-${Math.random().toString().slice(2,6)}-`+w}function A(t){return!t.hasAttribute("disabled")&&"true"!==t.getAttribute("aria-disabled")}var X=!!navigator.userAgent.match(/Macintosh/),Y=class{input;list;multiple;isMouseMoving=!1;constructor(t,e,{multiple:i=!1}={}){this.input=t,this.list=e,this.multiple=i,this.list.id||(this.list.id=O()),this.input.getAttribute("aria-expanded")||this.input.setAttribute("aria-expanded","false"),this.multiple&&this.input.setAttribute("aria-multiselectable","true"),this.input.setAttribute("role","combobox"),this.input.setAttribute("aria-haspopup","listbox"),this.input.setAttribute("aria-autocomplete","list"),this.list.setAttribute("role","listbox"),this.onKeydown=this.onKeydown.bind(this),this.onClick=this.onClick.bind(this),this.onListMouseover=this.onListMouseover.bind(this),this.onListMousemove=this.onListMousemove.bind(this)}start(){this.isMouseMoving=!1,this.input.setAttribute("aria-expanded","true"),this.input.setAttribute("aria-controls",this.list.id),this.input.addEventListener("keydown",this.onKeydown),this.list.addEventListener("click",this.onClick),this.list.addEventListener("mouseover",this.onListMouseover),this.list.addEventListener("mousemove",this.onListMousemove),this.initializeOptions()}stop(){this.isMouseMoving=!1,this.input.setAttribute("aria-expanded","false"),this.input.removeAttribute("aria-controls"),this.input.removeEventListener("keydown",this.onKeydown),this.list.removeEventListener("click",this.onClick),this.list.removeEventListener("mouseover",this.onListMouseover),this.list.removeEventListener("mousemove",this.onListMousemove),this.deselectAll(),this.deactivate()}onKeydown(t){if(this.isMouseMoving=!1,!(t.shiftKey||t.metaKey||t.altKey||!X&&t.ctrlKey))switch(t.key){case"Enter":case"Tab":this.activeOption&&A(this.activeOption)&&(t.preventDefault(),t.stopPropagation(),this.activeOption.click());break;case"Escape":this.deactivate();break;case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.activeOption?this.move(1):this.activate(this.visibleOptions[0],{scroll:!0});break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.activeOption?this.move(-1):this.activate(this.visibleOptions[this.visibleOptions.length-1],{scroll:!0});break;case"Home":t.preventDefault(),t.stopPropagation(),this.activate(this.visibleOptions[0],{scroll:!0});break;case"End":t.preventDefault(),t.stopPropagation(),this.activate(this.visibleOptions[this.visibleOptions.length-1],{scroll:!0});break;default:t.ctrlKey||this.deactivate()}}onClick(t){t=E(t.target);t&&A(t)&&(this.multiple&&this.isSelected(t)?this.deselect(t):this.select(t),t.dispatchEvent(new CustomEvent("combobox:commit",{bubbles:!0})))}onListMouseover(t){var e;this.isMouseMoving?(e=E(t.target))&&this.activate(e):t.preventDefault()}onListMousemove(t){!this.isMouseMoving&&(this.isMouseMoving=!0,t=E(t.target))&&this.activate(t)}select(t){if(this.multiple)t.setAttribute("aria-selected","true");else for(var e of this.options)e.setAttribute("aria-selected",(e===t).toString())}deselect(t){t.setAttribute("aria-selected","false")}deselectAll(){for(var t of this.options)this.deselect(t)}activate(t,{scroll:e=!1}={}){for(var i of this.options)i.id===t.id?(i.setAttribute("data-active",""),this.input.setAttribute("aria-activedescendant",i.id),e&&i.scrollIntoView({block:"nearest"})):i.removeAttribute("data-active")}deactivate(){this.input.removeAttribute("aria-activedescendant");for(var t of Array.from(this.list.querySelectorAll('[role="option"][data-active]')))t.removeAttribute("data-active")}isSelected(t){return"true"===t.getAttribute("aria-selected")}get options(){return Array.from(this.list.querySelectorAll('[role="option"]'))}get visibleOptions(){return this.options.filter(Z)}get activeOption(){return this.list.querySelector("[data-active]")}move(t){this.activeOption&&(t=function(t,e,i){let s=t.indexOf(e),o=(s===t.length-1&&1===i&&(s=-1),1===i?0:t.length-1);return t[o=e&&0<=s&&0<=(e=s+i)&&e<t.length?e:o]}(this.visibleOptions,this.activeOption,t),this.activate(t,{scroll:!0}))}initializeOptions(){for(var t of this.options)t.setAttribute("tabindex","-1"),t.id||(t.id=O()),t.hasAttribute("aria-selected")||this.deselect(t)}};function E(t){return t&&t.closest('[role="option"]')||!1}function Z(t){return!t.hidden&&!(t instanceof HTMLInputElement&&"hidden"===t.type)&&(0<t.offsetWidth||0<t.offsetHeight)}function k(t){var e=(t=t.getBoundingClientRect()).width,t=t.height;return 0===e&&0===t}function G(t,e){var i=e.displayCheck,s=e.getShadowRoot;if("full-native"===i&&"checkVisibility"in t)return!t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if("hidden"===getComputedStyle(t).visibility)return 1;if(e=S.call(t,"details>summary:first-of-type")?t.parentElement:t,S.call(e,"details:not([open]) *"))return 1;if(i&&"full"!==i&&"full-native"!==i&&"legacy-full"!==i){if("non-zero-area"===i)return k(t)}else{if("function"==typeof s){for(e=t;t;){var o=t.parentElement,n=L(t);if(o&&!o.shadowRoot&&!0===s(o))return k(t);t=t.assignedSlot||(o||n===t.ownerDocument?o:n.host)}t=e}if(function(t){var e,i=t&&L(t),s=null==(e=i)?void 0:e.host,o=!1;if(i&&i!==t)for(o=!!(null!=(e=s)&&null!=(e=e.ownerDocument)&&e.contains(s)||null!=t&&null!=(e=t.ownerDocument)&&e.contains(t));!o&&s;)var n,o=!(null==(n=s=null==(n=i=L(s))?void 0:n.host)||null==(n=n.ownerDocument)||!n.contains(s));return o}(t))return!t.getClientRects().length;if("legacy-full"!==i)return 1}}var x="undefined"==typeof Element,S=x?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,L=!x&&Element.prototype.getRootNode?function(t){var e;return null==t||null==(e=t.getRootNode)?void 0:e.call(t)}:function(t){return null==t?void 0:t.ownerDocument},Q=function(t,e){var i;return!(e.disabled||"INPUT"===(i=e).tagName&&"hidden"===i.type||G(e,t)||"DETAILS"===(i=e).tagName&&Array.prototype.slice.apply(i.children).some(function(t){return"SUMMARY"===t.tagName})||function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var e=t.parentElement;e;){if("FIELDSET"===e.tagName&&e.disabled){for(var i=0;i<e.children.length;i++){var s=e.children.item(i);if("LEGEND"===s.tagName)return!!S.call(e,"fieldset[disabled] *")||!s.contains(t)}return!0}e=e.parentElement}return!1}(e))},tt=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"].concat("iframe:not([inert]):not([inert] *)").join(",");function et(t){let e=t;for(;null!==e;){if(function(t,e){if(e=e||{},t)return!1!==S.call(t,tt)&&Q(e,t);throw new Error("No node provided")}(e)||e.hasAttribute("data-loosely-focusable"))return 1;e=e.parentElement}}function C(t,{referenceElement:r,popupElement:a,arrowElement:l,arrowPadding:h=0,middleware:c=[],offsetOptions:d=0,placement:u="bottom-start",flipOptions:p,shiftOptions:m,strategy:v="fixed",sync:f,autoSize:g,autoSizePadding:b=0}){let e;async function i(t=!1){if(t&&r&&a){t=[y.offset(d)];f?t.push(y.size({apply:({rects:t})=>{var e="height"===f||"both"===f;a.style.width="width"===f||"both"===f?t.reference.width+"px":"",a.style.height=e?t.reference.height+"px":""}})):(a.style.width="",a.style.height=""),t.push(y.flip(p)),t.push(y.shift(m)),g?t.push(y.size({padding:b,apply:({availableWidth:t,availableHeight:e})=>{"height"===g||"both"===g?a.style.setProperty("--awc-auto-size-height",e+"px"):a.style.removeProperty("--awc-auto-size-height"),"width"===g||"both"===g?a.style.setProperty("--awc-auto-size-width",t+"px"):a.style.removeProperty("--awc-auto-size-width")}})):(a.style.removeProperty("--awc-auto-size-height"),a.style.removeProperty("--awc-auto-size-width")),l&&t.push(y.arrow({element:l,padding:h})),t.concat(c);const{x:e,y:i,placement:s,strategy:o,middlewareData:n}=await y.computePosition(r,a,{placement:u,middleware:t,strategy:v});if(Object.assign(a.style,{left:e+"px",top:i+"px",position:o}),n.arrow&&l){const{x:e,y:i}=n.arrow;Object.assign(l.style,{left:"number"==typeof e?e+"px":"",top:"number"==typeof i?i+"px":""})}a.setAttribute("x-placement",s)}}async function s(){return new Promise(t=>{e?(e(),e=void 0,requestAnimationFrame(()=>t())):t()})}a&&(a.style.position=v,a.style.top="0px",a.style.left="0px",r)&&(e=y.autoUpdate(r,a,()=>i(!0)),s());const o=t.disconnected.bind(t);return Object.assign(t,{disconnected(){s(),o()}}),{start:function(){r&&a&&(e=y.autoUpdate(r,a,()=>i(t.open)))},update:async function(){await i(t.open)},stop:s}}function P(t,{boundaries:o,callback:n}){let r=null;function e(t){var e;r=(null==(e=null==(e=t.composedPath)?void 0:e.call(t))?void 0:e[0])||t.target}function i(t,e){if(r&&!t.defaultPrevented){var i=e(t);if(i&&i.getRootNode().contains(i)&&i.isConnected){for(const s of o)if(null!==s){if(s.contains(i))return;if(t.composed&&t.composedPath().includes(s))return}n(t,i),r=null}}}document.addEventListener("mousedown",e,!0),document.addEventListener("click",t=>i(t,()=>r),!0);const s=t.disconnected.bind(t);Object.assign(t,{disconnected(){r=null,document.removeEventListener("mousedown",e,!0),document.removeEventListener("click",t=>i(t,()=>r),!0),s()}})}class V{constructor(t){this.autocomplete=t}search(t){this.autocomplete.options.forEach((s=t,t=>{var e,i=t.closest('[role="group"]');s?(e=null==(e=t.getAttribute("data-text"))?void 0:e.toLowerCase().includes(s.toLowerCase()),t.hidden=!e,i&&(e=Array.from(i.querySelectorAll('[role="option"]')),i.hidden=e.every(t=>t.hidden))):(t.hidden=!1,i&&(i.hidden=!1))}));var s,t=this.autocomplete.visibleOptions[0];t&&this.autocomplete.combobox.activate(t),this.autocomplete.checkIfListIsEmpty()}start(){this.autocomplete.checkIfListIsEmpty()}stop(){this.resetOptions()}resetOptions(){for(const t of this.autocomplete.groups)t.hidden=!1;for(const e of this.autocomplete.options)e.hidden=!1}}class it{constructor(t){this.selectedValues=new Set,this.defaultSelectedValues=[],this.findByValue=e=>t=>t.getAttribute("value")===e,this.autocomplete=t}connected(){this.defaultSelectedValues=this.tags.reduce((t,e)=>{var e=e.querySelector('[data-behavior="hidden-field"]'),i=e.value;return this.selectedValues.add(i),t.push({value:i,text:e.getAttribute("data-text")||""}),t},[])}start(){this.selectOrDeselectOptions(),this.firstActivableOption&&this.autocomplete.combobox.activate(this.firstActivableOption,{scroll:!0})}stop(){this.autocomplete.input.value=""}reset(){this.clear(),this.defaultSelectedValues.forEach(({value:t,text:e})=>this.setValue(t,e))}select(t){var e=t.getAttribute("value"),t=t.dataset["text"];e&&(this.selectedValues.has(e)?this.removeValue(e):this.setValue(e,t||""))}setValue(t,e){this.selectedValues.has(t)||(this.selectedValues.add(t),this.insertTag(t,e.trim()),this.toggleSelectedClass(),this.required=this.autocomplete.required,this.autocomplete.open&&(e=this.autocomplete.options.find(this.findByValue(t)))&&this.autocomplete.combobox.select(e))}clear(){this.selectedValues.forEach(t=>this.removeValue(t))}removeValue(t){this.selectedValues.has(t)&&(this.selectedValues.delete(t),this.removeTag(t),this.toggleSelectedClass(),this.required=this.autocomplete.required,t=this.autocomplete.options.find(this.findByValue(t)))&&this.autocomplete.combobox.deselect(t)}set required(t){!t||0<this.selectedValues.size?this.autocomplete.input.required=!1:this.autocomplete.input.required=!0}selectOrDeselectOptions(){for(const e of this.autocomplete.options){var t=e.getAttribute("value");t&&this.selectedValues.has(t)?this.autocomplete.combobox.select(e):this.autocomplete.combobox.deselect(e)}}insertTag(t,e){var i=this.template.content.cloneNode(!0),s=i.querySelector('[data-behavior="tag"]'),o=i.querySelector('[data-behavior="text"]'),n=i.querySelector('[data-behavior="hidden-field"]');s.setAttribute("value",t),s.setAttribute("data-text",e),o.innerText=e,n.value=t,n.setAttribute("data-text",e),this.autocomplete.control.insertBefore(i,this.template)}removeTag(t){t=this.tags.find(this.findByValue(t));null!=t&&t.remove()}toggleSelectedClass(){this.autocomplete.toggleSelectedClass(!!this.selectedValues.size)}get firstActivableOption(){return this.autocomplete.options.find(t=>this.selectedValues.has(t.getAttribute("value")))||this.autocomplete.visibleOptions[0]}get tags(){return this.autocomplete.tags}get template(){return this.autocomplete.querySelector('[data-behavior="tag-template"]')}}class M{constructor(t){this.cachedOptions="",this.autocomplete=t,this.makeRequest=function(e,i){let s;function t(...t){clearTimeout(s),s=setTimeout(()=>{e.apply(this,t)},i)}return t.clear=()=>{clearTimeout(s)},t}(this.makeRequest.bind(this),300)}async search(t){this.autocomplete.setAttribute("loading",""),this.autocomplete.removeAttribute("error"),await this.makeRequest(t)}start(){this.cachedOptions?this.insertOptions(this.cachedOptions,{cached:!0}):this.search("")}stop(){}async makeRequest(t){var e=(this.emit("loadstart"),null!=(e=this.abortController)&&e.abort(),this.abortController=new AbortController)["signal"],i=new URL(this.autocomplete.src,window.location.href),s=new URLSearchParams(i.search.slice(1));s.append(this.autocomplete.param,t),i.search=s.toString();try{var o=await fetch(i.toString(),{signal:e,credentials:"same-origin",headers:{accept:"text/fragment+html"}});if(!o.ok)throw new Error(await o.text());var n=await o.text();""===t&&(this.cachedOptions=n),await this.insertOptions(n),this.abortController=void 0,this.emit("load"),this.autocomplete.removeAttribute("loading"),this.emit("loadend")}catch(t){t instanceof Error&&"AbortError"===t.name||(this.abortController=void 0,this.autocomplete.setAttribute("error",""),this.emit("error"),this.autocomplete.removeAttribute("loading"),this.emit("loadend"))}}async insertOptions(t,{cached:e=!1}={}){this.autocomplete.optionsContainer.innerHTML=t,this.autocomplete.checkIfListIsEmpty(),e||this.autocomplete.combobox.initializeOptions(),this.autocomplete.selectVariant.start(),await this.autocomplete.reposition()}emit(t){this.autocomplete.emit(t,{bubbles:!1,prefix:!1})}}class st{constructor(t){this.defaultValue="",this.defaultText="",this.autocomplete=t}connected(){var t;this.defaultValue=this.hiddenField.value,this.defaultText=null!=(t=this.hiddenField.getAttribute("data-text"))?t:""}start(){var t;this.selectedOption?(this.autocomplete.combobox.select(this.selectedOption),this.autocomplete.combobox.activate(this.selectedOption,{scroll:!0})):(t=this.autocomplete.visibleOptions[0])&&this.autocomplete.combobox.activate(t,{scroll:!0})}stop(){var t=this.hiddenField.dataset["text"];this.autocomplete.input.value=null!=t?t:""}reset(){this.setValue(this.defaultValue,this.defaultText)}select(t){var e=null!=(e=t.getAttribute("value"))?e:"",t=t.dataset["text"];this.setValue(e,t||""),this.autocomplete.hide()}setValue(t,e){this.hiddenField.value=t;e=e.trim();this.hiddenField.setAttribute("data-text",e),this.autocomplete.input.value=e,this.autocomplete.toggleSelectedClass(!!t)}clear(){this.setValue("","")}set required(t){this.autocomplete.input.required=t}get selectedOption(){return this.autocomplete.options.find(t=>t.getAttribute("value")===this.autocomplete.value)}get hiddenField(){return this.autocomplete.querySelector('input[data-behavior="hidden-field"]')}}let N=class extends f{constructor(){super(),this.open=!1,this.disabled=!1,this.required=!1,this.multiple=!1,this.param="q",this.autoSize=!1,this.autoSizePadding=4,this.firstFocus=!0,this.preventOutsideClickEvent=!1,this.handleFormReset=this.handleFormReset.bind(this)}connected(){var t;null!=(t=this.form)&&t.addEventListener("reset",this.handleFormReset),this.floatingUI=C(this,{referenceElement:this.control,popupElement:this.listbox,placement:"bottom",sync:"width",offsetOptions:4,autoSize:this.autoSize?"height":void 0,autoSizePadding:this.autoSizePadding}),P(this,{boundaries:[this.control,this.listbox],callback:(t,e)=>{this.preventOutsideClickEvent&&!et(e)?t.preventDefault():this.open&&this.hide(),this.preventOutsideClickEvent=!1}}),this.combobox=new Y(this.input,this.listbox,{multiple:this.multiple}),this.selectVariant=new(this.multiple?it:st)(this),this.selectVariant.connected(),this.searchVariant=new(this.src?M:V)(this),this.selectVariant.required=this.required}disconnected(){var t;this.hide(),null!=(t=this.form)&&t.removeEventListener("reset",this.handleFormReset),this.firstFocus=!0,this.preventOutsideClickEvent=!1}disabledChanged(t){this.input.disabled=t,this.clearButton&&(this.clearButton.disabled=t);for(const e of this.tagDismissButtons)e.disabled=t}requiredChanged(t){this.selectVariant.required=t}srcChanged(t){this.clear(),this.searchVariant=new(t?M:V)(this)}handleMousedown(t){t.target!==this.input&&t.preventDefault()}handleClick(t){this.disabled||(this.focus(),t.target.hasAttribute("data-trigger")&&this.show(),this.firstFocus&&this.input.value&&this.input.select(),this.firstFocus=!1)}handleInputMousedown(t){this.disabled||1===t.buttons&&this.show()}async handleInputBlur(){this.preventOutsideClickEvent=this.open,await this.hide(),this.firstFocus=!0}handleInputKeydown(t){var e,i,s;switch(t.key){case"Enter":this.open&&t.preventDefault();break;case"Escape":this.open&&(t.preventDefault(),t.stopPropagation(),this.hide());break;case"ArrowDown":t.altKey&&!this.open&&(t.preventDefault(),this.show());break;case"ArrowUp":t.altKey&&this.open&&(t.preventDefault(),this.hide());break;case"Backspace":this.multiple&&!this.input.value&&(e=this.removeLastTag())&&(t.preventDefault(),i=null!=(i=e.getAttribute("value"))?i:"",s=e.dataset["text"],this.emit("remove",{detail:{target:e,value:i,text:s||""}}))}}handleCommit(t){t.stopPropagation();var e,i,t=t.target;t instanceof HTMLElement&&(this.selectVariant.select(t),e=null!=(e=t.getAttribute("value"))?e:"",i=t.dataset["text"],this.emit("commit",{detail:{target:t,value:e,text:i||""}}))}handleFormReset(){this.reset(),this.hide(),this.emit("reset")}handleClear(){this.clear(),this.hide(),this.emit("clear")}handleTagRemove(t){var e,i,t=t.target.closest('[data-behavior="tag"]');t&&(this.removeTag(t),e=null!=(e=t.getAttribute("value"))?e:"",i=t.dataset["text"],this.emit("remove",{detail:{target:t,value:e,text:i||""}}))}handleInput(t){var t=t["target"];t instanceof HTMLInputElement&&(t=t.value.trim(),this.show(),this.searchVariant.search(t))}show(){this.open||(this.emit("show"),this.open=!0,this.floatingUI.start(),this.combobox.start(),this.selectVariant.start(),this.searchVariant.start(),this.emit("shown"))}async hide(){this.open&&(this.emit("hide"),this.open=!1,this.combobox.stop(),this.selectVariant.stop(),this.searchVariant.stop(),this.removeAttribute("no-options"),this.removeAttribute("error"),await this.floatingUI.stop(),this.emit("hidden"))}setValue(e,t){var i=this.options.find(t=>t.getAttribute("value")===e),t=t||(null==i?void 0:i.getAttribute("data-text"))||"";this.selectVariant.setValue(e,t)}removeValue(t){this.multiple&&t?this.selectVariant.removeValue(t):this.selectVariant.clear()}activate(t,{scroll:e=!0}={}){this.combobox.activate(t,{scroll:e})}deactivate(){this.combobox.deactivate()}focus(t){this.input.focus(t)}blur(){this.input.blur()}reset(){this.selectVariant.reset()}clear(){this.selectVariant.clear()}async reposition(){await this.floatingUI.update()}removeLastTag(){var t=this.tags[this.tags.length-1];if(t)return this.removeTag(t),t}removeTag(t){t=t.getAttribute("value");t&&this.removeValue(t)}checkIfListIsEmpty(){this.toggleAttribute("no-options",0===this.visibleOptions.length)}toggleSelectedClass(t){this.classList.toggle("awc-autocomplete--selected",t)}get value(){var t;return this.multiple?this.tags.map(t=>{return null!=(t=t.getAttribute("value"))?t:""}):null!=(t=null==(t=this.querySelector('input[data-behavior="hidden-field"]'))?void 0:t.value)?t:""}get options(){return this.combobox.options}get visibleOptions(){return this.options.filter(t=>!t.hidden)}get activeOption(){return this.combobox.activeOption}get form(){return this.closest("form")}get tags(){return[...this.querySelectorAll('[data-behavior="tag"]')]}};t([i({type:Boolean})],N.prototype,"open",void 0),t([i({type:Boolean})],N.prototype,"disabled",void 0),t([i({type:Boolean})],N.prototype,"required",void 0),t([i({type:Boolean})],N.prototype,"multiple",void 0),t([i()],N.prototype,"src",void 0),t([i()],N.prototype,"param",void 0),t([i({type:Boolean})],N.prototype,"autoSize",void 0),t([i({type:Number})],N.prototype,"autoSizePadding",void 0),t([o()],N.prototype,"control",void 0),t([o()],N.prototype,"input",void 0),t([o()],N.prototype,"listbox",void 0),t([o()],N.prototype,"optionsContainer",void 0),t([o()],N.prototype,"clearButton",void 0),t([n()],N.prototype,"tagDismissButtons",void 0),t([n()],N.prototype,"groups",void 0),N=t([s("awc-autocomplete")],N);const T=new Set;let D=class extends f{constructor(){super(...arguments),this.open=!1,this.hideOnOutsideClick=!0}connected(){this.open&&this.show()}disconnected(){this.hideWithoutEmitting()}show(){this.dialog.showModal(),this.hideOverflow(),this.open=!0}hide(){this.hideWithoutEmitting(),this.emit("hidden")}handleClick(t){var e;this.hideOnOutsideClick&&!t.defaultPrevented&&(e=t.target)instanceof HTMLElement&&e===this.dialog&&((e=e.getBoundingClientRect()).top<=t.clientY&&t.clientY<=e.top+e.height&&e.left<=t.clientX&&t.clientX<=e.left+e.width||this.hide())}handleKeydown(t){"Escape"===t.key&&(t.stopPropagation(),this.emit("hidden"))}hideWithoutEmitting(){var t;this.dialog.open&&(this.dialog.close(),null!=(t=this.nestedDialog))&&t.hide(),this.showOverflow(),this.open=!1}hideOverflow(){this._scrollLockController=function(t,{abortSignal:e}={}){T.add(t);var i,s=new AbortController,e=e||s.signal,o=window.innerWidth-document.documentElement.clientWidth;let n,r;return void 0===n&&0<o&&(i=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10),n=document.body.style.paddingRight,document.body.style.paddingRight=i+o+"px"),void 0===r&&(r=document.body.style.overflow,document.body.style.overflow="hidden"),e.addEventListener("abort",()=>{T.delete(t),0===T.size&&(void 0!==n&&(document.body.style.paddingRight=n,n=void 0),void 0!==r)&&(document.body.style.overflow=r,r=void 0)}),s}(this)}showOverflow(){var t;null!=(t=this._scrollLockController)&&t.abort()}get nestedDialog(){return this.querySelector(this.identifier)}},q=(t([i({type:Boolean})],D.prototype,"open",void 0),t([i({type:Boolean})],D.prototype,"hideOnOutsideClick",void 0),t([o()],D.prototype,"dialog",void 0),D=t([s("awc-dialog")],D),class extends f{constructor(){super(...arguments),this.open=!1,this.placement="bottom",this.strategy="fixed",this.clickBoundaries=[]}connected(){this.floatingUI=C(this,{referenceElement:this.button,popupElement:this.panel,arrowElement:this.arrow,arrowPadding:this.arrowPadding,placement:this.placement,strategy:this.strategy,offsetOptions:8,flipOptions:{fallbackAxisSideDirection:"end"}}),P(this,{boundaries:this.boundaries,callback:()=>{this.open&&!this.hasNestedOpenPopovers&&this.hide()}}),this.open&&this.show()}disconnected(){this.hide()}async toggle(){this.open?(this.emit("hide"),await this.hide(),this.emit("hidden")):(this.emit("show"),this.show(),this.emit("shown"))}show(){this.open||(this.closeOtherPopovers(),this.open=!0,this.panel.show(),this.button.setAttribute("aria-expanded","true"),this.floatingUI.start())}async hide(t){this.open&&(this.open=!1,this.panel.close(),await this.floatingUI.stop(),this.button.setAttribute("aria-expanded","false"),t)&&this.button.focus()}handleKeydown(t){var e;"Escape"!==t.key||(e=t.target.closest(this.identifier))!==this&&null!=e&&e.open||this.open&&(t.preventDefault(),t.stopPropagation(),this.hide(),this.button.focus())}async reposition(){await this.floatingUI.update()}closeOtherPopovers(){for(const t of Array.from(document.querySelectorAll(this.identifier)))t===this||t.contains(this)||t.hide()}get hasNestedOpenPopovers(){return Array.from(this.querySelectorAll(this.identifier)).some(t=>t.open)}get arrowPadding(){return g(getComputedStyle(this.panel).borderRadius)||2}get boundaries(){return this.clickBoundaries.map(t=>document.querySelector(t)).concat([this.button,this.panel])}});t([i({type:Boolean})],q.prototype,"open",void 0),t([i()],q.prototype,"placement",void 0),t([i()],q.prototype,"strategy",void 0),t([i({type:Array})],q.prototype,"clickBoundaries",void 0),t([o()],q.prototype,"button",void 0),t([o()],q.prototype,"panel",void 0),t([o()],q.prototype,"arrow",void 0),q=t([s("awc-popover")],q)});
5
+ `.trim()))})}connect(t,e){var i,n;this.targetsByKey.add(t,e),this.orderedByKey.delete(t),this.isKeyMultiple(t)||(n=(i=this.departedByKey.get(t))?.element===e&&i.delivery===b(),this.heldSinceByKey.set(t,n?i.since:b())),this.invokeCallback(t,e,"connected")}takesOver(t,e,i){return this.heldSinceByKey.get(t)===b()&&ce(i,e)<0&&this.claims(i,t)&&this.claims(e,t)}handOver(e,t,i){var n=this.tokensByElement.valuesForKey(t).filter(t=>O(t.content).key===e);for(const s of n)this.tokensByElement.delete(t,s),this.waitingByKey.add(e,s);try{this.invokeCallback(e,t,"disconnected")}finally{this.targetsByKey.delete(e,t),this.stopWatching&&(n[0]&&this.reportIfLeftWaiting(e,n[0]),this.tokensByElement.add(i.element,i),p(()=>this.connect(e,i.element)))}}keptForMovedTarget(t,e){var i=this.departedByKey.get(t);return void 0!==i&&i.element!==e&&i.delivery===b()&&i.since!==i.delivery&&this.claims(i.element,t)}adoptWaiting(t,e){if(this.stopWatching&&this.waitingByKey.get(t)&&!this.targetsByKey.get(t)&&(!e||!x.stillRoutesTo(this.instance,e))){var i=this.waitingByKey.valuesForKey(t).filter(t=>x.stillRoutesTo(this.instance,t));const[n]=i.sort((t,e)=>ce(t.element,e.element));if(n){for(const s of i)s.element===n.element&&(this.waitingByKey.delete(t,s),this.tokensByElement.add(s.element,s));p(()=>this.connect(t,n.element))}else e&&Promise.resolve().then(()=>S(()=>this.adoptWaiting(t)))}}orderedTargets(t){let e=this.orderedByKey.get(t);return e||(e=this.targetsByKey.valuesForKey(t).sort(ce),this.orderedByKey.set(t,e)),e}readNow(t,e,i){var n=this.nowByKey.get(t);return n?.version===e?n.value:(n=i(),this.nowByKey.set(t,{version:e,value:n}),n)}stableArray(t,e){var i,n,s=this.stableByKey.get(t);return s===e||s&&(n=e,(i=s).length===n.length)&&i.every((t,e)=>t===n[e])?s:(this.stableByKey.set(t,e),e)}isInDocumentTree(){return this.instance.getRootNode()===document}claimants(t){var e=this.instance,i=`[data-target*="${CSS.escape(this.identifier+"."+t)}"]`,n=[];e.matches(i)&&this.claims(e,t)&&n.push(e);for(const s of e.querySelectorAll(i))this.claims(s,t)&&n.push(s);return n}claimantNow(t){var[e]=this.targetsByKey.valuesForKey(t);return e&&this.claims(e,t)?e:this.claimants(t)[0]??null}claims(t,e){return x.routesTo(this.instance,t,t=>{t=O(t);return t.identifier===this.identifier&&t.key===e})}isStillReferenced(t,e){return this.tokensByElement.valuesForKey(t).some(t=>t.content===e)}isValidIdKeyPair(t,e){return!(!e||t!==this.identifier||!this.declarations.has(e))}invokeCallback(t,e,i){i=this.instance[""+t+((t=i).charAt(0).toUpperCase()+t.slice(1))];"function"==typeof i&&i.call(this.instance,e)}isKeyMultiple(t){return this.declarations.get(t)?.multiple??!1}get identifier(){return this.instance.identifier}}const ue={phase:"idle"},de={phase:"initialized"};class pe extends HTMLElement{constructor(){super(...arguments),this.property=new dt(this),this.target=new he(this),this.action=new ie(this),this._lifecycle=ue}connectedCallback(){var t=this._lifecycle;"tearingDown"===t.phase?t.reconnected=!0:"idle"===t.phase&&this._asyncConnect()}static get observedAttributes(){return Array.from(it(this.prototype,Z).keys(),ht)}attributeChangedCallback(t,e,i){var n=this._lifecycle["phase"];"initialized"!==n&&"tearingDown"!==n||e===i||"function"==typeof(t=this[(n=t.replace(rt,(t,e,i)=>i?i.toUpperCase():"").replace(at,t=>t.toLowerCase()))+"Changed"])&&(n=this.property.change(n,e,i))&&t.call(this,n.newValue,n.oldValue)}disconnectedCallback(){if("initialized"===this._lifecycle.phase){var t={phase:"tearingDown",reconnected:!1},e=(this._lifecycle=t,this.removeAttribute(ne),e=this,re.delete(e),[()=>this.disconnected(),()=>this.action.stop(),()=>this.target.stop(),()=>this.property.stop()]);try{u(e,t=>t())}finally{this._lifecycle=ue,t.reconnected&&this.isConnected&&this._asyncConnect()}}}connected(){}disconnected(){}emit(t,{target:e=this,prefix:i=this.identifier,...n}={}){return[e,i,{detail:t={},...n}={}]=[e,i?i+":"+t:t,n],i=new CustomEvent(i,{bubbles:!0,composed:!0,detail:t,...n}),e.dispatchEvent(i),i}get identifier(){return this.tagName.toLowerCase()}async _asyncConnect(){var t={phase:"initializing"};this._lifecycle=t;try{if(this.property.start(),await Ot(),this.isConnected&&(customElements.upgrade(this),await this._resolveUndefinedElements(),this.isConnected))if(this.target.start(),this.isConnected)if(this.action.start(),this.isConnected){this._lifecycle=de,this.setAttribute(ne,"");var e=this,i=(re.add(e),ae.get(e));if(i){ae.delete(e);for(const n of i)p(()=>n(e))}this.connected()}else this._abandonInit();else this._abandonInit()}finally{this._lifecycle===t&&(this._lifecycle=ue)}}_abandonInit(){this._lifecycle=ue,u([()=>this.action.stop(),()=>this.target.stop()],t=>t())}_resolveUndefinedElements(){var t=Array.from(this.querySelectorAll(":not(:defined)")),e=this.constructor.migratedToWhenInitialized,e=(0<t.length&&!e&&console.warn(`[impulse] <${this.identifier}> waits for descendant custom elements to be defined before invoking target `+"connected callbacks. This is deprecated and will be removed in the next major version. If a connected callback reads properties on a target element, await whenInitialized(target) inside the callback instead. Set ImpulseElement.migratedToWhenInitialized = true to silence this warning."),t.map(t=>customElements.whenDefined(t.localName)));return Promise.all(e)}}function P(t,e){return t===e||"both"===t}function fe(t){return t.split("-")[0]}const N={placement:"bottom",strategy:"fixed",flip:!(pe.migratedToWhenInitialized=!1),keepFlipped:!1,shift:!0};function me(S){let A,E=!1,O=0,x;return{prime:function(){var{floating:t,strategy:e=N.strategy}=S();t&&(t.style.position=e,t.style.top="0px",t.style.left="0px")},reposition:async function(){var t=S();const{anchor:e,floating:i,floatingUI:n={}}=t;if(e&&i){const p=++O,f=()=>p!==O;var s,o,r,a=t.placement??N.placement,l=t.flip??N.flip,c=!0!==l&&l?l:{},h=n.flip?.fallbackPlacements??c.fallbackPlacements,u=(x=l&&t.keepFlipped&&x?.requested===a?x:void 0)?(d=a,o=x.placement,r=h,(u=fe(o))===fe(d)?d:r?o:(r=u,(o=(o=d).split("-")[1])?r+"-"+o:r)):a,d=[C.offset(n.offset??{mainAxis:t.distance??0,crossAxis:t.skidding??0})];const m=t["sync"];m?d.push(C.size({apply:({rects:t})=>{f()||(i.style.width=P(m,"width")?t.reference.width+"px":"",i.style.height=P(m,"height")?t.reference.height+"px":"")}})):(i.style.width="",i.style.height=""),l&&d.push(C.flip({...c,padding:([o=0,{autoSize:r,autoSizePadding:l=0}]=[c.padding,t],r?(l=Math.max(o,l+1),{top:c=P(r,"height")?l:o,bottom:c,left:c=P(r,"width")?l:o,right:c}):o),...n.flip,fallbackPlacements:(l=a,s=u,(c=h)&&s!==l?[l,...c].filter(t=>t!==s):c)}));h=t.shift??N.shift;h&&d.push(C.shift({...!0===h?{}:h,...n.shift}));const v=t["autoSize"];v?(d.push(C.size({padding:t.autoSizePadding??0,apply:({availableWidth:t,availableHeight:e})=>{f()||(P(v,"height")?i.style.setProperty("--awc-auto-size-height",e+"px"):i.style.removeProperty("--awc-auto-size-height"),P(v,"width")?i.style.setProperty("--awc-auto-size-width",t+"px"):i.style.removeProperty("--awc-auto-size-width"))}})),E=!0):E&&(i.style.removeProperty("--awc-auto-size-height"),i.style.removeProperty("--awc-auto-size-width"),E=!1),d.push(...n.middleware??[]);l=t.arrow;l&&d.push(C.arrow({element:l,padding:t.arrowPadding??0}));const{x:y,y:g,placement:b,strategy:w,middlewareData:k}=await C.computePosition(e,i,{placement:u,middleware:d,strategy:t.strategy??N.strategy});if(!f()){if(Object.assign(i.style,{left:y+"px",top:g+"px",position:w}),k.arrow&&l){const{x:y,y:g}=k.arrow;Object.assign(l.style,{left:"number"==typeof y?y+"px":"",top:"number"==typeof g?g+"px":""})}i.setAttribute("x-placement",b),t.keepFlipped&&A&&(x={placement:b,requested:a})}}},start:function(t){var{anchor:e,floating:i}=S();e&&i&&(A?.(),A=C.autoUpdate(e,i,t))},stop:async function(){return x=void 0,new Promise(t=>{A?(A(),A=void 0,requestAnimationFrame(()=>t())):t()})}}}let T=class extends pe{constructor(){super(...arguments),this.placement=N.placement,this.active=!1,this.strategy=N.strategy,this.distance=0,this.skidding=0,this.flip=N.flip,this.flipPadding=0,this.fallbackPlacements=[],this.fallbackStrategy="bestFit",this.keepFlipped=N.keepFlipped,this.shift=N.shift,this.shiftPadding=0,this.autoSizePadding=0,this.positioner=me(()=>this.positioningOptions)}connected(){this.follow()}disconnected(){this.unfollow()}async anchorIdChanged(t){await this.unfollow(),t&&this.anchorElement&&this.follow()}async activeChanged(t){t?this.follow():await this.unfollow()}start(){this.active?this.follow():this.active=!0}async stop(){var t=this.unfollow();return this.active=!1,t}async reposition(){this.active&&this.anchorElement&&await this.positioner.reposition()}follow(){this.anchorElement&&(this.positioner.prime(),this.positioner.start(()=>this.reposition()))}unfollow(){return this.positioner.stop()}get anchorElement(){return document.getElementById(this.anchorId)}get arrowElement(){return this.querySelector("[data-arrow]")}get positioningOptions(){return{anchor:this.anchorElement,floating:this,placement:this.placement,strategy:this.strategy,distance:this.distance,skidding:this.skidding,flip:this.flip&&{padding:this.flipPadding,fallbackPlacements:this.fallbackPlacements.length?this.fallbackPlacements:void 0,fallbackStrategy:this.fallbackStrategy},keepFlipped:this.keepFlipped,shift:this.shift&&{padding:this.shiftPadding},sync:this.sync,autoSize:this.autoSize,autoSizePadding:this.autoSizePadding,arrow:this.arrowElement,arrowPadding:this.arrowPadding}}};t([e()],T.prototype,"anchorId",void 0),t([e()],T.prototype,"placement",void 0),t([e({type:Boolean})],T.prototype,"active",void 0),t([e()],T.prototype,"strategy",void 0),t([e({type:Number})],T.prototype,"distance",void 0),t([e({type:Number})],T.prototype,"skidding",void 0),t([e()],T.prototype,"sync",void 0),t([e({type:Boolean})],T.prototype,"flip",void 0),t([e({type:Number})],T.prototype,"flipPadding",void 0),t([e({type:Array})],T.prototype,"fallbackPlacements",void 0),t([e()],T.prototype,"fallbackStrategy",void 0),t([e({type:Boolean})],T.prototype,"keepFlipped",void 0),t([e({type:Boolean})],T.prototype,"shift",void 0),t([e({type:Number})],T.prototype,"shiftPadding",void 0),t([e()],T.prototype,"autoSize",void 0),t([e({type:Number})],T.prototype,"autoSizePadding",void 0),t([e({type:Number})],T.prototype,"arrowPadding",void 0),T=t([n("awc-anchor")],T);var ve=0;function ye(){return ve+=1,`ambiki-${Math.random().toString().slice(2,6)}-`+ve}function ge(t){return!t.hasAttribute("disabled")&&"true"!==t.getAttribute("aria-disabled")}var be=!!navigator.userAgent.match(/Macintosh/),we=class{input;list;multiple;isMouseMoving=!1;constructor(t,e,{multiple:i=!1}={}){this.input=t,this.list=e,this.multiple=i,this.list.id||(this.list.id=ye()),this.input.getAttribute("aria-expanded")||this.input.setAttribute("aria-expanded","false"),this.multiple&&this.input.setAttribute("aria-multiselectable","true"),this.input.setAttribute("role","combobox"),this.input.setAttribute("aria-haspopup","listbox"),this.input.setAttribute("aria-autocomplete","list"),this.list.setAttribute("role","listbox"),this.onKeydown=this.onKeydown.bind(this),this.onClick=this.onClick.bind(this),this.onListMouseover=this.onListMouseover.bind(this),this.onListMousemove=this.onListMousemove.bind(this)}start(){this.isMouseMoving=!1,this.input.setAttribute("aria-expanded","true"),this.input.setAttribute("aria-controls",this.list.id),this.input.addEventListener("keydown",this.onKeydown),this.list.addEventListener("click",this.onClick),this.list.addEventListener("mouseover",this.onListMouseover),this.list.addEventListener("mousemove",this.onListMousemove),this.initializeOptions()}stop(){this.isMouseMoving=!1,this.input.setAttribute("aria-expanded","false"),this.input.removeAttribute("aria-controls"),this.input.removeEventListener("keydown",this.onKeydown),this.list.removeEventListener("click",this.onClick),this.list.removeEventListener("mouseover",this.onListMouseover),this.list.removeEventListener("mousemove",this.onListMousemove),this.deselectAll(),this.deactivate()}onKeydown(t){if(this.isMouseMoving=!1,!(t.shiftKey||t.metaKey||t.altKey||!be&&t.ctrlKey))switch(t.key){case"Enter":case"Tab":this.activeOption&&ge(this.activeOption)&&(t.preventDefault(),t.stopPropagation(),this.activeOption.click());break;case"Escape":this.deactivate();break;case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.activeOption?this.move(1):this.activate(this.visibleOptions[0],{scroll:!0});break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.activeOption?this.move(-1):this.activate(this.visibleOptions[this.visibleOptions.length-1],{scroll:!0});break;case"Home":t.preventDefault(),t.stopPropagation(),this.activate(this.visibleOptions[0],{scroll:!0});break;case"End":t.preventDefault(),t.stopPropagation(),this.activate(this.visibleOptions[this.visibleOptions.length-1],{scroll:!0});break;default:t.ctrlKey||this.deactivate()}}onClick(t){t=ke(t.target);t&&ge(t)&&(this.multiple&&this.isSelected(t)?this.deselect(t):this.select(t),t.dispatchEvent(new CustomEvent("combobox:commit",{bubbles:!0})))}onListMouseover(t){var e;this.isMouseMoving?(e=ke(t.target))&&this.activate(e):t.preventDefault()}onListMousemove(t){!this.isMouseMoving&&(this.isMouseMoving=!0,t=ke(t.target))&&this.activate(t)}select(t){if(this.multiple)t.setAttribute("aria-selected","true");else for(var e of this.options)e.setAttribute("aria-selected",(e===t).toString())}deselect(t){t.setAttribute("aria-selected","false")}deselectAll(){for(var t of this.options)this.deselect(t)}activate(t,{scroll:e=!1}={}){for(var i of this.options)i.id===t.id?(i.setAttribute("data-active",""),this.input.setAttribute("aria-activedescendant",i.id),e&&i.scrollIntoView({block:"nearest"})):i.removeAttribute("data-active")}deactivate(){this.input.removeAttribute("aria-activedescendant");for(var t of Array.from(this.list.querySelectorAll('[role="option"][data-active]')))t.removeAttribute("data-active")}isSelected(t){return"true"===t.getAttribute("aria-selected")}get options(){return Array.from(this.list.querySelectorAll('[role="option"]'))}get visibleOptions(){return this.options.filter(Se)}get activeOption(){return this.list.querySelector("[data-active]")}move(t){this.activeOption&&(t=function(t,e,i){let n=t.indexOf(e),s=(n===t.length-1&&1===i&&(n=-1),1===i?0:t.length-1);return t[s=e&&0<=n&&0<=(e=n+i)&&e<t.length?e:s]}(this.visibleOptions,this.activeOption,t),this.activate(t,{scroll:!0}))}initializeOptions(){for(var t of this.options)t.setAttribute("tabindex","-1"),t.id||(t.id=ye()),t.hasAttribute("aria-selected")||this.deselect(t)}};function ke(t){return t&&t.closest('[role="option"]')||!1}function Se(t){return!t.hidden&&!(t instanceof HTMLInputElement&&"hidden"===t.type)&&(0<t.offsetWidth||0<t.offsetHeight)}function Ae(t,e){void 0===e&&(e=!0);var i=null==t||null==(i=t.getAttribute)?void 0:i.call(t,"inert");return""===i||"true"===i||e&&t&&("function"==typeof t.closest?t.closest("[inert]"):Ae(t.parentNode))}function Ee(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))}function Oe(t){var e,i;if(t)return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||""===(i=null==(e=t)||null==(i=e.getAttribute)?void 0:i.call(e,"contenteditable"))||"true"===i)&&!Ee(t)?0:t.tabIndex;throw new Error("No node provided")}function xe(t,e){return t.tabIndex===e.tabIndex?t.documentOrder-e.documentOrder:t.tabIndex-e.tabIndex}function Ce(t){return"INPUT"===t.tagName}function Pe(t){if(!t.name)return 1;function e(t){return i.querySelectorAll('input[type="radio"][name="'+t+'"]')}var i=t.form||Ie(t);if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)n=e(window.CSS.escape(t.name));else try{n=e(t.name)}catch(t){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",t.message),0}var n=function(t,e){for(var i=0;i<t.length;i++)if(t[i].checked&&t[i].form===e)return t[i]}(n,t.form);return!n||n===t}function Ne(t){return Ce(e=t)&&"radio"===e.type&&!Pe(t);var e}function Te(t){var e=(t=t.getBoundingClientRect()).width,t=t.height;return 0===e&&0===t}function Me(t,e){var i=e.displayCheck,n=e.getShadowRoot;if("full-native"===i&&"checkVisibility"in t)return!t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if("hidden"===(e=getComputedStyle(t).visibility)||"collapse"===e)return 1;if(e=M.call(t,"details>summary:first-of-type")?t.parentElement:t,M.call(e,"details:not([open]) *"))return 1;if(i&&"full"!==i&&"full-native"!==i&&"legacy-full"!==i){if("non-zero-area"===i)return Te(t)}else{if("function"==typeof n){for(e=t;t;){var s=t.parentElement,o=Ie(t);if(s&&!s.shadowRoot&&!0===n(s))return Te(t);t=t.assignedSlot||(s||o===t.ownerDocument?s:o.host)}t=e}if(function(t){var e,i=t&&Ie(t),n=null==(e=i)?void 0:e.host,s=!1;if(i&&i!==t)for(s=!!(null!=(e=n)&&null!=(e=e.ownerDocument)&&e.contains(n)||null!=t&&null!=(e=t.ownerDocument)&&e.contains(t));!s&&n;)var o,s=!(null==(o=n=null==(o=i=Ie(n))?void 0:o.host)||null==(o=o.ownerDocument)||!o.contains(n));return s}(t))return!t.getClientRects().length;if("legacy-full"!==i)return 1}}var i=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Be=i.join(","),Le="undefined"==typeof Element,M=Le?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ie=!Le&&Element.prototype.getRootNode?function(t){var e;return null==t||null==(e=t.getRootNode)?void 0:e.call(t)}:function(t){return null==t?void 0:t.ownerDocument},qe=function(t,e,i){var n;return Ae(t)?[]:(n=Array.prototype.slice.apply(t.querySelectorAll(Be)),e&&M.call(t,Be)&&n.unshift(t),n.filter(i))},Ke=function(t,e,i){for(var n=[],s=Array.from(t);s.length;){var o,r,a=s.shift();Ae(a,!1)||("SLOT"===a.tagName?(o=(o=a.assignedElements()).length?o:a.children,o=Ke(o,!0,i),i.flatten?n.push.apply(n,o):n.push({scopeParent:a,candidates:o})):(M.call(a,Be)&&i.filter(a)&&(e||!t.includes(a))&&n.push(a),o=a.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(a),r=!Ae(o,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(a)),o&&r?(r=Ke((!0===o?a:o).children,!0,i),i.flatten?n.push.apply(n,r):n.push({scopeParent:a,candidates:r})):s.unshift.apply(s,a.children)))}return n},Fe=function(t,e){var i;return!(e.disabled||Ce(i=e)&&"hidden"===i.type||Me(e,t)||"DETAILS"===(i=e).tagName&&Array.prototype.slice.apply(i.children).some(function(t){return"SUMMARY"===t.tagName})||function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var e=t.parentElement;e;){if("FIELDSET"===e.tagName&&e.disabled){for(var i=0;i<e.children.length;i++){var n=e.children.item(i);if("LEGEND"===n.tagName)return!!M.call(e,"fieldset[disabled] *")||!n.contains(t)}return!0}e=e.parentElement}return!1}(e))},Ve=function(t,e){return!(Ne(e)||Oe(e)<0||!Fe(t,e))},De=function(t){t=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(t)||0<=t)},Re=function(t){var a=[],l=[];return t.forEach(function(t,e){var i,n=!!t.scopeParent,s=n?t.scopeParent:t,o=(o=n,(i=Oe(r=s))<0&&o&&!Ee(r)?0:i),r=n?Re(t.candidates):s;0===o?n?a.push.apply(a,r):a.push(s):l.push({documentOrder:e,tabIndex:o,item:t,isScope:n,content:r})}),l.sort(xe).reduce(function(t,e){return e.isScope?t.push.apply(t,e.content):t.push(e.content),t},[]).concat(a)},ze=i.concat("iframe:not([inert]):not([inert] *)").join(",");function We(t){let e=t;for(;null!==e;){if(function(t,e){if(e=e||{},t)return!1!==M.call(t,ze)&&Fe(e,t);throw new Error("No node provided")}(e)||e.hasAttribute("data-loosely-focusable"))return 1;e=e.parentElement}}const _e=new WeakMap;function je(t,e){let i=_e.get(t);if(!i){i=[],_e.set(t,i);{var n=i;const s=t.disconnected.bind(t);Object.assign(t,{disconnected(){for(const t of n.splice(0).reverse())t();s()}})}}i.push(e)}function Ue(t,e){const f=function(t){if("function"==typeof t)return t;const e={...t};return()=>e}(e),i=me(()=>{return[{anchorElement:t,floatingElement:e,arrowElement:i,arrowPadding:n=0,middleware:s=[],offsetOptions:o=0,placement:r,flipOptions:a,shiftOptions:l,keepFlipped:c,strategy:h,sync:u,autoSize:d,autoSizePadding:p=0}]=[f()],{anchor:t,floating:e,placement:r,keepFlipped:c,strategy:h,sync:u,autoSize:d,autoSizePadding:p,arrow:i,arrowPadding:n,floatingUI:{offset:o,flip:a,shift:l,middleware:s}};var t,e,i,n,s,o,r,a,l,c,h,u,d,p});async function n(){t.open&&await i.reposition()}function s(){return i.stop()}return i.prime(),i.reposition(),je(t,()=>{s()}),{start:function(){i.start(n)},update:n,stop:s}}function He(t,{boundaries:n,callback:s}){const e=new AbortController;var i=e["signal"];let o=null;function r(){o=null}document.addEventListener("mousedown",function(t){o=0<t.button?null:t.composedPath?.()?.[0]||t.target},{capture:!0,signal:i}),document.addEventListener("click",function(t){var e=o;if(o=null,e&&!t.defaultPrevented&&e.getRootNode().contains(e)&&e.isConnected){for(const i of n)if(null!==i){if(i.contains(e))return;if(t.composed&&t.composedPath().includes(i))return}s(t,e)}},{capture:!0,signal:i}),document.addEventListener("contextmenu",r,{capture:!0,signal:i}),document.addEventListener("dragstart",r,{capture:!0,signal:i}),je(t,()=>{r(),e.abort()})}class Qe extends pe{constructor(){super(...arguments),this._opened=!1}connected(){this.open&&this.openQuietly({initial:!0})}disconnected(){this.closeQuietly()}openChanged(t){t?this.show():this.hide()}requestShow(){le(this)&&!this._opened&&this.emitRequest("show")&&this.othersAllowShow()&&this.show()}async requestHide(t){this._opened&&this.emitRequest("hide")&&await this.hide(t)}show(){this._opened||(le(this)?(this.openQuietly({initial:!1}),this.emit("shown")):this.open=!0)}async hide(t){this._opened?(t=this.closeQuietly(t),this.open=!1,t&&await t,this._opened||this.emit("hidden")):this.open=!1}get opened(){return this._opened}othersAllowShow(){return!0}emitRequest(t){return!this.emit(t,{cancelable:!0}).defaultPrevented}closeQuietly(t){if(this._opened)return this._opened=!1,this.closeParts(t)}openQuietly(t){this._opened=!0,this.open=!0;try{this.openParts(t)}catch(t){throw this._opened=!1,this.open=!1,t}}}function $e(t){return{target:t,value:t.getAttribute("value")??"",text:t.dataset.text||""}}const Je={bubbles:!1,prefix:!1};class Xe{constructor(t){this.cachedOptions="",this.autocomplete=t,this.debouncedRequest=function(e,i){let n;function t(...t){clearTimeout(n),n=setTimeout(()=>{e.apply(this,t)},i)}return t.clear=()=>{clearTimeout(n)},t}(t=>this.makeRequest(t),300)}search(t){this.autocomplete.setAttribute("loading",""),this.autocomplete.removeAttribute("error"),this.autocomplete.combobox.deactivate(),this.abortController?.abort(),this.debouncedRequest(t)}start(){this.cachedOptions?this.insertOptions(this.cachedOptions,{cached:!0}):this.search("")}stop(){}disconnected(){var t=Boolean(this.abortController);this.debouncedRequest.clear(),this.abortController?.abort(),this.abortController=void 0,this.autocomplete.removeAttribute("loading"),t&&this.emit("loadend")}async makeRequest(t){this.emit("loadstart"),this.abortController?.abort();var e=(this.abortController=new AbortController)["signal"],i=new URL(this.autocomplete.src,window.location.href),n=new URLSearchParams(i.search.slice(1));n.append(this.autocomplete.param,t),i.search=n.toString();try{var s=await fetch(i.toString(),{signal:e,credentials:"same-origin",headers:{accept:"text/fragment+html"}});if(!s.ok)throw new Error(await s.text());var o=await s.text();""===t&&(this.cachedOptions=o),await this.insertOptions(o),this.abortController=void 0,this.emit("load"),this.autocomplete.removeAttribute("loading"),this.emit("loadend")}catch(t){t instanceof Error&&"AbortError"===t.name||(this.abortController=void 0,this.autocomplete.open&&this.autocomplete.setAttribute("error",""),this.emit("error"),this.autocomplete.removeAttribute("loading"),this.emit("loadend"))}}async insertOptions(t,{cached:e=!1}={}){this.autocomplete.optionsContainer.innerHTML=t,e||this.autocomplete.combobox.initializeOptions(),this.autocomplete.open&&(this.autocomplete.checkIfListIsEmpty(),this.autocomplete.selectVariant.start(),await this.autocomplete.reposition())}emit(t){this.autocomplete.emit(t,Je)}}class Ye{constructor(t){this.autocomplete=t}search(t){var e,i,n=this.autocomplete.options,s=t.toLowerCase(),o=new Map;for(const l of n){var r=l.closest('[role="group"]'),a=!s||!!l.getAttribute("data-text")?.toLowerCase().includes(s);l.hidden=!a,r&&o.set(r,o.get(r)||a)}for([e,i]of o)e.hidden=!i;t=this.autocomplete.visibleOptions[0];t?this.autocomplete.combobox.activate(t):this.autocomplete.combobox.deactivate(),this.autocomplete.checkIfListIsEmpty()}start(){this.autocomplete.checkIfListIsEmpty()}stop(){this.resetOptions()}disconnected(){}resetOptions(){for(const t of this.autocomplete.groups)t.hidden=!1;for(const e of this.autocomplete.options)e.hidden=!1}}class Ge{constructor(t){this.selectedValues=new Set,this.defaultSelectedValues=[],this.findByValue=e=>t=>t.getAttribute("value")===e,this.autocomplete=t}connected(){this.defaultSelectedValues=this.tags.reduce((t,e)=>{var e=e.querySelector('[data-behavior="hidden-field"]'),i=e.value;return this.selectedValues.add(i),t.push({value:i,text:e.getAttribute("data-text")||""}),t},[])}start(){this.selectOrDeselectOptions(),this.firstActivableOption&&this.autocomplete.combobox.activate(this.firstActivableOption,{scroll:!0})}stop(){this.autocomplete.input.value=""}reset(){this.clear(),this.defaultSelectedValues.forEach(({value:t,text:e})=>this.setValue(t,e))}select(t){var e=t.getAttribute("value"),t=t.dataset["text"];e&&(this.selectedValues.has(e)?this.removeValue(e):this.setValue(e,t||""))}setValue(t,e){this.selectedValues.has(t)||(this.selectedValues.add(t),this.insertTag(t,e.trim()),this.toggleSelectedClass(),this.required=this.autocomplete.required,this.autocomplete.open&&(e=this.autocomplete.options.find(this.findByValue(t)))&&this.autocomplete.combobox.select(e))}clear(){this.selectedValues.forEach(t=>this.removeValue(t))}removeValue(t){this.selectedValues.has(t)&&(this.selectedValues.delete(t),this.removeTag(t),this.toggleSelectedClass(),this.required=this.autocomplete.required,t=this.autocomplete.options.find(this.findByValue(t)))&&this.autocomplete.combobox.deselect(t)}isSelected(t){return this.selectedValues.has(t)}set required(t){!t||0<this.selectedValues.size?this.autocomplete.input.required=!1:this.autocomplete.input.required=!0}selectOrDeselectOptions(){for(const e of this.autocomplete.options){var t=e.getAttribute("value");t&&this.selectedValues.has(t)?this.autocomplete.combobox.select(e):this.autocomplete.combobox.deselect(e)}}insertTag(t,e){var i=this.template.content.cloneNode(!0),n=i.querySelector('[data-behavior="tag"]'),s=i.querySelector('[data-behavior="text"]'),o=i.querySelector('[data-behavior="hidden-field"]');n.setAttribute("value",t),n.setAttribute("data-text",e),s.innerText=e,o.value=t,o.setAttribute("data-text",e),this.autocomplete.control.insertBefore(i,this.template);for(const r of this.autocomplete.tagDismissButtons)r.disabled=this.autocomplete.disabled}removeTag(t){this.tags.find(this.findByValue(t))?.remove()}toggleSelectedClass(){this.autocomplete.toggleSelectedClass(!!this.selectedValues.size)}get firstActivableOption(){return this.autocomplete.options.find(t=>this.selectedValues.has(t.getAttribute("value")))||this.autocomplete.visibleOptions[0]}get tags(){return this.autocomplete.tags}get template(){return this.autocomplete.querySelector('[data-behavior="tag-template"]')}}class Ze{constructor(t){this.defaultValue="",this.defaultText="",this.autocomplete=t}connected(){this.defaultValue=this.hiddenField.value,this.defaultText=this.hiddenField.getAttribute("data-text")??""}start(){var t;this.selectedOption?(this.autocomplete.combobox.select(this.selectedOption),this.autocomplete.combobox.activate(this.selectedOption,{scroll:!0})):(t=this.autocomplete.visibleOptions[0])&&this.autocomplete.combobox.activate(t,{scroll:!0})}stop(){var t=this.hiddenField.dataset["text"];this.autocomplete.input.value=t??""}reset(){this.setValue(this.defaultValue,this.defaultText)}select(t){var e=t.getAttribute("value")??"",t=t.dataset["text"];this.setValue(e,t||""),this.autocomplete.requestHide()}setValue(t,e){this.hiddenField.value=t;var e=e.trim();this.hiddenField.setAttribute("data-text",e),this.autocomplete.input.value=e,this.autocomplete.toggleSelectedClass(!!t),this.autocomplete.open&&((e=this.selectedOption)?this.autocomplete.combobox.select(e):this.autocomplete.combobox.deselectAll())}clear(){this.setValue("","")}removeValue(t){this.clear()}isSelected(t){return this.hiddenField.value===t}set required(t){this.autocomplete.input.required=t}get selectedOption(){return this.autocomplete.options.find(t=>t.getAttribute("value")===this.hiddenField.value)}get hiddenField(){return this.autocomplete.querySelector('input[data-behavior="hidden-field"]')}}let B=class extends Qe{constructor(){super(),this.open=!1,this.disabled=!1,this.required=!1,this.multiple=!1,this.param="q",this.autoSize=!0,this.autoSizePadding=4,this.firstFocus=!0,this.preventOutsideClickEvent=!1,this.handleFormReset=this.handleFormReset.bind(this)}connected(){this.form?.addEventListener("reset",this.handleFormReset),this.floatingUI=Ue(this,()=>({anchorElement:this.control,floatingElement:this.listbox,placement:"bottom",sync:"width",keepFlipped:!0,offsetOptions:4,autoSize:this.autoSize?"height":void 0,autoSizePadding:this.autoSizePadding})),He(this,{boundaries:[this.control,this.listbox],callback:(t,e)=>{this.preventOutsideClickEvent&&!We(e)?t.preventDefault():this.open&&this.requestHide(),this.preventOutsideClickEvent=!1}}),this.combobox=new we(this.input,this.listbox,{multiple:this.multiple}),this.selectVariant=new(this.multiple?Ge:Ze)(this),this.selectVariant.connected(),this.searchVariant=new(this.src?Xe:Ye)(this),this.selectVariant.required=this.required,super.connected()}disconnected(){super.disconnected(),this.searchVariant?.disconnected(),this.form?.removeEventListener("reset",this.handleFormReset),this.firstFocus=!0,this.preventOutsideClickEvent=!1}disabledChanged(t){this.input.disabled=t,this.clearButton&&(this.clearButton.disabled=t);for(const e of this.tagDismissButtons)e.disabled=t}requiredChanged(t){this.selectVariant.required=t}srcChanged(t){this.clear(),this.searchVariant?.disconnected(),this.searchVariant=new(t?Xe:Ye)(this)}autoSizeChanged(){this.reposition()}autoSizePaddingChanged(){this.reposition()}handleMousedown(t){t.target!==this.input&&t.preventDefault()}handleClick(t){this.disabled||(this.focus(),t.target.hasAttribute("data-trigger")&&this.requestShow(),this.firstFocus&&this.input.value&&this.input.select(),this.firstFocus=!1)}handleInputMousedown(t){this.disabled||1===t.buttons&&this.requestShow()}async handleInputBlur(){this.preventOutsideClickEvent=this.open,await this.requestHide(),this.firstFocus=!0}handleInputKeydown(t){switch(t.key){case"Enter":this.open&&t.preventDefault();break;case"Escape":this.open&&(t.preventDefault(),t.stopPropagation(),this.requestHide());break;case"ArrowDown":t.altKey&&!this.open&&(t.preventDefault(),this.requestShow());break;case"ArrowUp":t.altKey&&this.open&&(t.preventDefault(),this.requestHide());break;case"Backspace":var e;this.multiple&&!this.input.value&&(e=this.removeLastTag())&&(t.preventDefault(),this.emitEvent("remove",$e(e)))}}handleCommit(t){t.stopPropagation();var t=t.target;t instanceof HTMLElement&&(this.selectVariant.select(t),t=$e(t),this.emitEvent("commit",{...t,selected:this.selectVariant.isSelected(t.value)}))}handleFormReset(){this.reset(),this.hide(),this.emitEvent("reset")}handleClear(){this.clear(),this.requestHide(),this.emitEvent("clear")}handleTagRemove(t){this.disabled||(t=t.target.closest('[data-behavior="tag"]'))&&(this.removeTag(t),this.emitEvent("remove",$e(t)))}handleInput(t){var t=t["target"];t instanceof HTMLInputElement&&(t=t.value.trim(),this.requestShow(),this.searchVariant.search(t))}setValue(e,...t){var[t]=t,i=this.options.find(t=>t.getAttribute("value")===e),t=t||i?.getAttribute("data-text")||"";this.selectVariant.setValue(e,t)}removeValue(...t){var[t]=t;t?this.selectVariant.removeValue(t):this.selectVariant.clear()}activate(t,{scroll:e=!0}={}){this.combobox.activate(t,{scroll:e})}deactivate(){this.combobox.deactivate()}focus(t){this.input.focus(t)}blur(){this.input.blur()}reset(){this.selectVariant.reset()}clear(){this.selectVariant.clear()}async reposition(){await this.floatingUI.update()}emitEvent(t,...e){var[e]=e;return this.emit(t,{detail:e})}openParts(){this.floatingUI.start(),this.combobox.start(),this.selectVariant.start(),this.searchVariant.start()}async closeParts(){this.combobox.stop(),this.selectVariant.stop(),this.searchVariant.stop(),this.removeAttribute("no-options"),this.removeAttribute("error"),await this.floatingUI.stop()}removeLastTag(){var t=this.tags[this.tags.length-1];if(t)return this.removeTag(t),t}removeTag(t){t=t.getAttribute("value");t&&this.removeValue(t)}checkIfListIsEmpty(){this.toggleAttribute("no-options",0===this.visibleOptions.length)}toggleSelectedClass(t){this.classList.toggle("awc-autocomplete--selected",t)}get ajax(){return Boolean(this.src)}get value(){return this.multiple?this.tags.map(t=>t.getAttribute("value")??""):this.querySelector('input[data-behavior="hidden-field"]')?.value??""}get options(){return this.combobox.options}get visibleOptions(){return this.options.filter(t=>!t.hidden)}get activeOption(){return this.combobox.activeOption}get form(){return this.closest("form")}get tags(){return[...this.querySelectorAll('[data-behavior="tag"]')]}},L=(t([e({type:Boolean})],B.prototype,"open",void 0),t([e({type:Boolean})],B.prototype,"disabled",void 0),t([e({type:Boolean})],B.prototype,"required",void 0),t([e({type:Boolean})],B.prototype,"multiple",void 0),t([e()],B.prototype,"src",void 0),t([e()],B.prototype,"param",void 0),t([e({type:Boolean})],B.prototype,"autoSize",void 0),t([e({type:Number})],B.prototype,"autoSizePadding",void 0),t([s()],B.prototype,"control",void 0),t([s()],B.prototype,"input",void 0),t([s()],B.prototype,"listbox",void 0),t([s()],B.prototype,"optionsContainer",void 0),t([s()],B.prototype,"clearButton",void 0),t([vt()],B.prototype,"tagDismissButtons",void 0),t([vt()],B.prototype,"groups",void 0),B=t([n("awc-autocomplete")],B),class extends pe{constructor(){super(),this.disabled=!1,this.value="",this.for="",this.feedbackDuration=2e3,this.internals=this.attachInternals(),this.spacePressed=!1,this.handleClick=t=>{t.currentTarget===this&&(this.disabled?(t.preventDefault(),t.stopImmediatePropagation()):this.copy())},this.handleKeydown=t=>{this.isTargetOf(t)&&!this.disabled&&("Enter"===t.key?this.click():" "===t.key&&(t.preventDefault(),this.spacePressed=!0))},this.handleKeyup=t=>{this.isTargetOf(t)&&" "===t.key&&this.spacePressed&&(this.spacePressed=!1,this.click())},this.handleBlur=t=>{this.isTargetOf(t)&&(this.spacePressed=!1)},this.internals.role="button"}connected(){this.disabled===this.hasAttribute("tabindex")&&this.syncTabIndex(),this.internals.ariaDisabled=this.disabled?"true":null,this.listeners=new AbortController;var t={capture:!0,signal:this.listeners.signal};E("click",this.localName,this.handleClick,t),E("keydown",this.localName,this.handleKeydown,t),E("keyup",this.localName,this.handleKeyup,t),E("blur",this.localName,this.handleBlur,t)}disconnected(){this.listeners?.abort(),this.spacePressed=!1,this.showFeedback(null)}disabledChanged(t){this.internals.ariaDisabled=t?"true":null,this.syncTabIndex(),t&&(this.spacePressed=!1)}syncTabIndex(){this.disabled?this.removeAttribute("tabindex"):this.tabIndex=0}isTargetOf(t){return t.composedPath()[0]===this}async copy(){let t;try{if(t=this.copiedText(),!navigator.clipboard)throw new DOMException("The Clipboard API is unavailable.","NotSupportedError");await navigator.clipboard.writeText(t)}catch(t){return this.isConnected&&this.showFeedback("error"),void this.emit("error",{detail:{error:t}})}this.isConnected&&this.showFeedback("copied"),this.emit("copied",{detail:{text:t}})}showFeedback(t){clearTimeout(this.feedbackTimeout);try{this.internals.states.delete("copied"),this.internals.states.delete("error"),t&&(this.internals.states.add(t),this.feedbackTimeout=setTimeout(()=>this.showFeedback(null),this.feedbackDuration))}catch{}}copiedText(){if(this.value)return this.value;var t=this.for,e=this.getRootNode(),e=t&&(e instanceof Document||e instanceof ShadowRoot)?e.getElementById(t):null;if(e)return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e.value:e.innerText;throw new DOMException(`No copy source has the id "${t}".`,"NotFoundError")}});t([e({type:Boolean})],L.prototype,"disabled",void 0),t([e()],L.prototype,"value",void 0),t([e()],L.prototype,"for",void 0),t([e({type:Number})],L.prototype,"feedbackDuration",void 0),L=t([n("awc-clipboard-copy")],L);const ti=new Set;let I=class extends Qe{constructor(){super(...arguments),this.open=!1,this.hideOnOutsideClick=!0}hide(t){return this.opened&&this.nestedDialog?.hide(),super.hide(t)}handleClick(t){var e;this.hideOnOutsideClick&&!t.defaultPrevented&&(e=t.target)instanceof HTMLElement&&e===this.dialog&&((e=e.getBoundingClientRect()).top<=t.clientY&&t.clientY<=e.top+e.height&&e.left<=t.clientX&&t.clientX<=e.left+e.width||this.requestHide())}handleKeydown(t){"Escape"===t.key&&t.stopPropagation()}handleCancel(t){t.cancelable&&(t.preventDefault(),this.requestHide())}handleClose(){this.dialog.open||this.hide()}hideWithoutEmitting(){this.dialog.open&&this.nestedDialog?.hideWithoutEmitting(),this.closeQuietly(),this.open=!1}openParts(){this.dialog.showModal(),this.hideOverflow()}closeParts(){this.dialog.open&&(this.nestedDialog?.closeQuietly(),this.dialog.close()),this.showOverflow()}hideOverflow(){this._scrollLockController=function(t,{abortSignal:e}={}){ti.add(t);var i,n=new AbortController,e=e||n.signal,s=window.innerWidth-document.documentElement.clientWidth;let o,r;return void 0===o&&0<s&&(i=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10),o=document.body.style.paddingRight,document.body.style.paddingRight=i+s+"px"),void 0===r&&(r=document.body.style.overflow,document.body.style.overflow="hidden"),e.addEventListener("abort",()=>{ti.delete(t),0===ti.size&&(void 0!==o&&(document.body.style.paddingRight=o,o=void 0),void 0!==r)&&(document.body.style.overflow=r,r=void 0)}),n}(this)}showOverflow(){this._scrollLockController?.abort()}get nestedDialog(){return this.querySelector(this.identifier)}};function ei(t){var e,i;e=t,(((i=i||{}).getShadowRoot?Ke([e],i.includeContainer,{filter:Fe.bind(null,i),flatten:!0,getShadowRoot:i.getShadowRoot}):qe(e,i.includeContainer,Fe.bind(null,i))).find(t=>t.hasAttribute("autofocus"))??function(t,e){t=(e=e||{}).getShadowRoot?Ke([t],e.includeContainer,{filter:Ve.bind(null,e),flatten:!1,getShadowRoot:e.getShadowRoot,shadowRootFilter:De}):qe(t,e.includeContainer,Ve.bind(null,e));return Re(t)}(t)[0]??t).focus({preventScroll:!0})}function ii(){return"function"==typeof HTMLElement.prototype.showPopover}t([e({type:Boolean})],I.prototype,"open",void 0),t([e({type:Boolean})],I.prototype,"hideOnOutsideClick",void 0),t([s()],I.prototype,"dialog",void 0),I=t([n("awc-dialog")],I);let q=class extends Qe{constructor(){super(...arguments),this.open=!1,this.placement="bottom",this.strategy="fixed",this.opening=!1}connected(){const t=this.arrowPadding;this.floatingUI=Ue(this,()=>({anchorElement:this.button,floatingElement:this.panel,arrowElement:this.arrow,arrowPadding:t,placement:this.placement,strategy:this.strategy,offsetOptions:8,flipOptions:{fallbackAxisSideDirection:"end"}})),He(this,{boundaries:this.boundaries,callback:(t,e)=>{this.isClosedPopoverTrigger(e)||this.open&&!this.isAlsoOutsideParent(t,e)&&this.requestHide(t)}});{var[e,{boundaries:n,callback:s}]=[this,{boundaries:this.boundaries,callback:(t,e)=>{!this.open||this.opening||this.isAlsoOutsideParent(t,e)||this.requestHide(t)}}];const r=new AbortController;var o=r["signal"];const a=e=>n.some(t=>t?.contains(e));let i=null;document.addEventListener("pointerdown",t=>{t=t.target;i=a(t)?null:t},{capture:!0,signal:o}),document.addEventListener("click",()=>setTimeout(()=>i=null),{capture:!0,signal:o}),document.addEventListener("keydown",()=>i=null,{capture:!0,signal:o}),document.addEventListener("focusin",t=>{var e=t.target;a(e)||i&&e.contains(i)||s(t,e)},{capture:!0,signal:o}),je(e,()=>r.abort())}super.connected()}placementChanged(){this.reposition()}async toggle(t){this.opened?await this.requestHide(t):this.requestShow()}handleKeydown(t){var e;"Escape"!==t.key||(e=t.target.closest(this.identifier))!==this&&e?.open||this.open&&(t.preventDefault(),t.stopPropagation(),this.requestHide(t))}requestHide(t){var e;return t&&this.hideRequest?.event===t?this.hideRequest.done:(e=this.requestHideInnermostFirst(t),t&&(this.hideRequest={event:t,done:e}),e)}hide(t){if(this.opened)for(const e of this.nestedOpenPopovers)e.hide();return super.hide(t)}async reposition(){await this.floatingUI.update()}async requestHideInnermostFirst(t){if(this.opened){for(const e of this.nestedPopovers.reverse())if(await e.requestHide(t),e.opened)return;await super.requestHide(t)}}openParts({initial:t}){this.opening=!0;try{this.closeOtherPopovers();var e=document.activeElement;ii()&&this.panel.showPopover(),t?this.panel.contains(document.activeElement)&&((i=e)instanceof HTMLElement&&i!==document.body?i.focus({preventScroll:!0}):document.activeElement?.blur()):ei(this.panel)}finally{this.opening=!1}var i;this.button.setAttribute("aria-expanded","true"),this.floatingUI.start()}async closeParts(){var t,e,i=this.button,n=this.panel;n.isConnected&&(t=n,t=!(e=document.activeElement)||e===document.body||t.contains(e),ii()&&n.hidePopover(),t)&&i.focus(),await this.floatingUI.stop(),this.opened||i.setAttribute("aria-expanded","false")}othersAllowShow(){return this.otherOpenPopovers.every(t=>t.emitRequest("hide"))}closeOtherPopovers(){for(const t of this.otherOpenPopovers)t.hide()}isClosedPopoverTrigger(t){var e=t.closest(this.identifier);return!!e&&e!==this&&!e.open&&e.button.contains(t)}get otherOpenPopovers(){return Array.from(document.querySelectorAll(this.identifier)).filter(t=>t!==this&&!t.contains(this)&&t.open)}get nestedPopovers(){return Array.from(this.querySelectorAll(this.identifier))}get nestedOpenPopovers(){return this.nestedPopovers.filter(t=>t.open)}isAlsoOutsideParent(t,e){var i=this.parentElement?.closest(this.identifier);if(!i?.open)return!1;const n=t.composedPath();return!i.boundaries.some(t=>t.contains(e)||n.includes(t))}get arrowPadding(){var t=getComputedStyle(this.panel).borderRadius;return Number(t.replace(/[^-\d.]/g,""))||2}get boundaries(){return[this.button,this.panel]}};t([e({type:Boolean})],q.prototype,"open",void 0),t([e()],q.prototype,"placement",void 0),t([e()],q.prototype,"strategy",void 0),t([s()],q.prototype,"button",void 0),t([s()],q.prototype,"panel",void 0),t([s()],q.prototype,"arrow",void 0),q=t([n("awc-popover")],q)});
@@ -3,6 +3,9 @@ module Impulse
3
3
  renders_one :blankslate
4
4
  renders_one :error
5
5
 
6
+ Option = Struct.new(:value, :text)
7
+ private_constant :Option
8
+
6
9
  def initialize(object_name, method_name, value_method, text_method, selected: nil, **system_args)
7
10
  @object_name = object_name
8
11
  @method_name = method_name
@@ -23,8 +26,7 @@ module Impulse
23
26
  end
24
27
 
25
28
  def build_option(element)
26
- tuple = [value_for_collection(element, @text_method), value_for_collection(element, @value_method)]
27
- OpenStruct.new(value: tuple.last, text: tuple.first)
29
+ Option.new(value: value_for_collection(element, @value_method), text: value_for_collection(element, @text_method))
28
30
  end
29
31
 
30
32
  def multiple?
@@ -1,8 +1,8 @@
1
- <%= render(Impulse::BaseRenderer.new(**@system_args)) do %>
1
+ <%= render(Impulse::BaseRenderer.new(**root_args)) do %>
2
2
  <%= content_tag :div, class: class_names("awc-autocomplete-control form-control", "form-control-sm": @size == "sm", "form-control-lg": @size == "lg"), data: { target: "awc-autocomplete.control", trigger: "" } do %>
3
3
  <% if multiple? %>
4
4
  <%= hidden_field @object_name, @method_name, id: nil, multiple: true, value: nil, data: { behavior: "hidden-field" }, **hidden_field_args if @include_hidden %>
5
- <% @selected&.each do |selected| %>
5
+ <% selection&.each do |selected| %>
6
6
  <div class="awc-autocomplete-tag" value="<%= selected.value %>" data-text="<%= selected.text %>" data-behavior="tag" data-persisted>
7
7
  <span class="awc-autocomplete-tag-text" data-behavior="text"><%= selected.text %></span>
8
8
  <span class="awc-autocomplete-tag-end-adornment">
@@ -26,13 +26,13 @@
26
26
  </div>
27
27
  </template>
28
28
  <% else %>
29
- <%= hidden_field @object_name, @method_name, id: nil, value: @selected&.value, data: { behavior: "hidden-field", text: @selected&.text }, **hidden_field_args %>
29
+ <%= hidden_field @object_name, @method_name, id: nil, value: selection&.value, data: { behavior: "hidden-field", text: selection&.text }, **hidden_field_args %>
30
30
  <% end %>
31
31
 
32
32
  <%= text_field @object_name,
33
33
  @method_name,
34
34
  class: "awc-autocomplete-input",
35
- value: multiple? ? nil : @selected&.text,
35
+ value: multiple? ? nil : selection&.text,
36
36
  name: nil,
37
37
  autocomplete: "off",
38
38
  spellcheck: false,
@@ -72,7 +72,7 @@
72
72
  <% end %>
73
73
 
74
74
  <div role="presentation" class="awc-autocomplete-blankslate">
75
- <%= blankslate.presence || "We couldn't find that!" %>
75
+ <%= blankslate.presence || default_blankslate %>
76
76
  </div>
77
77
 
78
78
  <% if ajax? %>
@@ -46,15 +46,9 @@ module Impulse
46
46
  @system_args = system_args
47
47
  @system_args[:tag] = :"awc-autocomplete"
48
48
  @system_args[:disabled] = disabled
49
-
50
- @system_args[:class] = class_names(
51
- system_args[:class],
52
- SIZE_MAPPINGS[fetch_or_fallback(SIZE_MAPPINGS.keys, size, DEFAULT_SIZE)],
53
- "awc-autocomplete",
54
- "awc-autocomplete--selected": @selected.present?,
55
- "awc-autocomplete--clearable": @clearable
56
- )
57
-
49
+ # Holds `class` in its place among the attributes even when none is given. `root_args` fills it in when
50
+ # rendering, once the selection is known.
51
+ @system_args[:class] = system_args[:class]
58
52
  @system_args[:"data-loosely-focusable"] = "true"
59
53
  @system_args[:data] = merge_attributes(
60
54
  system_args[:data],
@@ -64,6 +58,29 @@ module Impulse
64
58
 
65
59
  private
66
60
 
61
+ def root_args
62
+ @system_args.merge(
63
+ class: class_names(
64
+ @system_args[:class],
65
+ SIZE_MAPPINGS[fetch_or_fallback(SIZE_MAPPINGS.keys, @size, DEFAULT_SIZE)],
66
+ "awc-autocomplete",
67
+ "awc-autocomplete--selected": selection.present?,
68
+ "awc-autocomplete--clearable": @clearable
69
+ )
70
+ )
71
+ end
72
+
73
+ # The selected option, or options when `multiple`, each responding to `value` and `text`. Subclasses that hold
74
+ # their own options look the selection up among them instead.
75
+ def selection
76
+ @selected
77
+ end
78
+
79
+ # Shown when no option matches and no `blankslate` is given.
80
+ def default_blankslate
81
+ "We couldn't find that!"
82
+ end
83
+
67
84
  def search_field_args
68
85
  {}.tap do |args|
69
86
  args[:id] = @input_id if @input_id
@@ -0,0 +1,20 @@
1
+ module Impulse
2
+ # A button that copies text to the clipboard: its `value`, or the text of the copy source its `for` names. It emits
3
+ # `awc-clipboard-copy:copied` or `awc-clipboard-copy:error`, and is in `:state(copied)` or `:state(error)` for
4
+ # `feedback_duration:` milliseconds after, for the app to style. It shows and announces nothing of its own.
5
+ class ClipboardCopyComponent < ApplicationComponent
6
+ def initialize(value: nil, disabled: false, **system_args)
7
+ @system_args = system_args
8
+ @system_args[:tag] = :"awc-clipboard-copy"
9
+ @system_args[:value] = value unless value.nil?
10
+ @system_args[:disabled] = disabled
11
+ # The element is the button, so it needs `tabindex` to be focusable, and none when disabled, as a native disabled
12
+ # button takes no focus. It keeps it in step with `disabled` changed after rendering; this is the one it starts with.
13
+ @system_args[:tabindex] = disabled ? nil : 0
14
+ end
15
+
16
+ def call
17
+ render(Impulse::BaseRenderer.new(**@system_args)) { content }
18
+ end
19
+ end
20
+ end
@@ -3,7 +3,7 @@
3
3
  <%= tag.h2 @title, id: @title_id, class: "awc-dialog-title" %>
4
4
  </div>
5
5
 
6
- <button type="button" class="btn btn-light awc-dialog-close-btn" data-action="click->awc-dialog#hide" aria-label="Close dialog">
6
+ <button type="button" class="btn btn-light awc-dialog-close-btn" data-action="click->awc-dialog#requestHide" aria-label="Close dialog">
7
7
  <i class="bi bi-x" aria-hidden="true"></i>
8
8
  </button>
9
9
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <%= render(Impulse::BaseRenderer.new(**@system_args)) do %>
2
- <dialog class="<%= class_names("awc-dialog-dialog", "awc-dialog-dialog--centered": @center) %>" data-action="click->awc-dialog#handleClick keydown->awc-dialog#handleKeydown close->awc-dialog#hideWithoutEmitting" data-target="awc-dialog.dialog" aria-labelledby="<%= title_id %>">
2
+ <dialog class="<%= class_names("awc-dialog-dialog", "awc-dialog-dialog--centered": @center) %>" data-action="click->awc-dialog#handleClick keydown->awc-dialog#handleKeydown cancel->awc-dialog#handleCancel close->awc-dialog#handleClose" data-target="awc-dialog.dialog" aria-labelledby="<%= title_id %>">
3
3
  <%= header %>
4
4
  <% if content.present? %>
5
5
  <%= content %>
@@ -2,8 +2,8 @@
2
2
  <% if content.present? %>
3
3
  <%= content %>
4
4
  <% else %>
5
- <%= @title %>
6
- <button type="button" class="close" aria-label="Close" data-action="click->awc-popover#hide" autofocus>
5
+ <%= content_tag(:span, @title, id: @title_id) %>
6
+ <button type="button" class="close" aria-label="Close" data-action="click->awc-popover#requestHide">
7
7
  &times;
8
8
  </button>
9
9
  <% end %>
@@ -1,8 +1,9 @@
1
1
  module Impulse
2
2
  module Popover
3
3
  class HeaderComponent < ApplicationComponent
4
- def initialize(title: nil, **system_args)
4
+ def initialize(title: nil, title_id: nil, **system_args)
5
5
  @title = title
6
+ @title_id = title_id
6
7
  @system_args = system_args
7
8
  @system_args[:tag] = :div
8
9
  @system_args[:class] = class_names(
@@ -1,9 +1,9 @@
1
1
  <%= render(Impulse::BaseRenderer.new(**@system_args)) do %>
2
2
  <%= trigger %>
3
3
 
4
- <dialog id="<%= @panel_id %>" class="awc-popover-container bs-popover-auto" data-target="awc-popover.panel" data-action="close->awc-popover#hide">
4
+ <div id="<%= @panel_id %>" class="awc-popover-container bs-popover-auto" role="dialog" popover="manual" tabindex="-1" aria-labelledby="<%= label_id %>" data-target="awc-popover.panel">
5
5
  <div class="arrow" data-target="awc-popover.arrow"></div>
6
6
  <%= header %>
7
7
  <%= body %>
8
- </dialog>
8
+ </div>
9
9
  <% end %>
@@ -3,7 +3,9 @@ module Impulse
3
3
  renders_one :trigger, lambda { |**system_args|
4
4
  system_args[:tag] = :button
5
5
  system_args[:type] = system_args.fetch(:type, "button")
6
- system_args[:role] = :button
6
+ # Labels the panel when the popover has no title, so it needs an id even when the caller didn't give one.
7
+ @trigger_id = system_args[:id] ||= "#{@panel_id}-trigger"
8
+ system_args[:"aria-haspopup"] = :dialog
7
9
  system_args[:"aria-expanded"] = false
8
10
  system_args[:"aria-controls"] = @panel_id
9
11
  system_args[:"aria-disabled"] = (!!system_args[:disabled]).to_s
@@ -18,7 +20,7 @@ module Impulse
18
20
  }
19
21
 
20
22
  renders_one :header, lambda { |**system_args|
21
- Impulse::Popover::HeaderComponent.new(title: @title, **system_args)
23
+ Impulse::Popover::HeaderComponent.new(title: @title, title_id: @title_id, **system_args)
22
24
  }
23
25
 
24
26
  renders_one :body, lambda { |**system_args|
@@ -28,12 +30,12 @@ module Impulse
28
30
  Impulse::BaseRenderer.new(**system_args)
29
31
  }
30
32
 
31
- def initialize(title: nil, click_boundaries: [], **system_args)
33
+ def initialize(title: nil, **system_args)
32
34
  @title = title
33
35
  @system_args = system_args
34
36
  @system_args[:tag] = :"awc-popover"
35
- @system_args[:"click-boundaries"] = click_boundaries.to_json
36
37
  @panel_id = self.class.generate_id
38
+ @title_id = "#{@panel_id}-title"
37
39
 
38
40
  @system_args[:class] = class_names(
39
41
  system_args[:class],
@@ -53,5 +55,13 @@ module Impulse
53
55
  def before_render
54
56
  with_header unless header?
55
57
  end
58
+
59
+ private
60
+
61
+ # The id of what names the popover, which is a dialog and needs an accessible name: its title, or its trigger when a
62
+ # custom header replaces the title or there is none.
63
+ def label_id
64
+ (header.content? || @title.blank?) ? @trigger_id : @title_id
65
+ end
56
66
  end
57
67
  end
@@ -1,57 +1,73 @@
1
1
  module Impulse
2
- class SelectComponent < ApplicationComponent
3
- renders_one :blankslate
4
- renders_many :options, Impulse::Autocomplete::OptionComponent
5
-
2
+ class SelectComponent < AutocompleteComponent
3
+ # No longer used here. Kept for apps that build one to pass to `AutocompleteComponent` as `selected:`.
6
4
  OptionStruct = Struct.new(:value, :text, :html_attributes)
7
5
 
8
6
  def initialize(object_name, method_name, choices = [], selected: nil, **system_args)
9
- @object_name = object_name
10
- @method_name = method_name
7
+ super(object_name, method_name, **system_args)
11
8
  @choices = choices
12
- @selected = selected
13
- @system_args = system_args
9
+ @selected_value = selected
10
+ end
11
+
12
+ def before_render
13
+ add_options_from_choices unless options?
14
+ super
15
+ end
16
+
17
+ # The flat `options` slot this component used to declare came with `with_options`.
18
+ def with_options(collection, &block)
19
+ collection.map { |arguments| with_option(**arguments, &block) }
14
20
  end
15
21
 
16
22
  private
17
23
 
18
- def value
19
- return if @selected.blank?
20
- return @selected.map { |value| find_option(value) }.compact if multiple?
21
- find_option(@selected)
24
+ # The choices the options are built from when the block adds none. Subclasses override it to supply their own.
25
+ attr_reader :choices
26
+
27
+ def selection
28
+ return @selection if defined?(@selection)
29
+
30
+ # A group runs its `with_option` block only when it renders, so the options render before the selection is looked
31
+ # up among them. Each slot keeps what it rendered, so the template doesn't render them again.
32
+ options.each(&:to_s)
33
+ @selection =
34
+ if @selected_value.blank?
35
+ nil
36
+ elsif multiple?
37
+ @selected_value.map { |value| find_option(value) }.compact
38
+ else
39
+ find_option(@selected_value)
40
+ end
22
41
  end
23
42
 
24
- def options_from_choices
25
- return [] if @choices.nil?
26
- return grouped_options_for_select(@choices) if grouped_choices?
27
- options_for_select(@choices)
43
+ def find_option(value)
44
+ options
45
+ .flat_map { |option| option.respond_to?(:options) ? option.options.to_a : [option] }
46
+ .find { |option| option.value.to_s == value.to_s }
28
47
  end
29
48
 
30
- def options_for_select(choices)
31
- choices.map do |choice|
32
- html_attributes = option_html_attributes(choice)
33
- text, value = option_text_and_value(choice)
34
- OptionStruct.new(value, text, html_attributes)
35
- end
49
+ def add_options_from_choices
50
+ return if choices.blank?
51
+ return choices.each { |title, group_choices| add_group(title, group_choices) } if grouped_choices?
52
+
53
+ option_arguments(choices).each { |arguments| with_option(**arguments) }
36
54
  end
37
55
 
38
- def grouped_options_for_select(grouped_choices)
39
- grouped_choices.map do |grouped_choice|
40
- title, container = grouped_choice
41
- [title, options_for_select(container)]
56
+ def add_group(title, group_choices)
57
+ with_group(title:) do |group|
58
+ option_arguments(group_choices).each { |arguments| group.with_option(**arguments) }
42
59
  end
43
60
  end
44
61
 
45
- def find_option(value)
46
- (options.presence || options_from_choices).flatten.find { |option| option.try(:value)&.to_s == value.to_s }
62
+ def option_arguments(list)
63
+ list.map do |choice|
64
+ text, value = option_text_and_value(choice)
65
+ { value:, text:, **option_html_attributes(choice) }
66
+ end
47
67
  end
48
68
 
49
69
  def grouped_choices?
50
- @choices.present? && @choices.first.respond_to?(:last) && Array === @choices.first.last
51
- end
52
-
53
- def multiple?
54
- !!@system_args[:multiple]
70
+ choices.first.respond_to?(:last) && Array === choices.first.last
55
71
  end
56
72
  end
57
73
  end
@@ -1,66 +1,67 @@
1
1
  module Impulse
2
- class TimeZoneSelectComponent < ApplicationComponent
3
- renders_one :blankslate
4
-
2
+ class TimeZoneSelectComponent < SelectComponent
3
+ # No longer used here. Kept for apps that refer to it.
5
4
  OptionStruct = Struct.new(:value, :text)
6
5
 
7
6
  def initialize(object_name, method_name, priority_zones = nil, selected: nil, default: nil, model: ::ActiveSupport::TimeZone, priority_zones_title: "Prioritized time zones", **system_args)
8
- @object_name = object_name
9
- @method_name = method_name
7
+ super(object_name, method_name, selected: selected || default, **system_args)
10
8
  @priority_zones = priority_zones
11
- @selected = selected
12
- @default = default
13
9
  @model = model
14
10
  @priority_zones_title = priority_zones_title
15
- @system_args = system_args
16
11
  end
17
12
 
18
13
  private
19
14
 
20
- def options
21
- priority_zones = @priority_zones
22
-
23
- zones = Hash.new { |h, k| h[k] = [] }.tap do |hash|
24
- model = @model.all
15
+ def choices
16
+ @choices_from_zones ||=
17
+ if prioritized?
18
+ [
19
+ [@priority_zones_title, zone_choices(zones[:priority_zones], test_id: "priority-zones")],
20
+ ["Other", zone_choices(zones[:other], test_id: "unprioritized-zones")]
21
+ ]
22
+ else
23
+ zone_choices(zones[:other])
24
+ end
25
+ end
25
26
 
26
- if priority_zones
27
- if priority_zones.is_a?(Regexp)
28
- priority_zones = model.select { |z| z.match?(priority_zones) }
29
- end
27
+ def zone_choices(time_zones, test_id: nil)
28
+ time_zones.map { |zone| [zone.to_s, zone.name, test_id ? { data: { test_id: } } : {}] }
29
+ end
30
30
 
31
- hash[:priority_zones] = priority_zones
32
- model -= priority_zones
33
- end
31
+ def default_blankslate
32
+ "We couldn't find that time zone!"
33
+ end
34
34
 
35
- hash[:other] = model
36
- end
35
+ def zones
36
+ @zones ||= begin
37
+ priority_zones = @priority_zones
37
38
 
38
- if zones[:other].blank?
39
- zones[:other] = zones[:priority_zones]
40
- zones[:priority_zones] = []
41
- end
39
+ zones = Hash.new { |h, k| h[k] = [] }.tap do |hash|
40
+ model = @model.all
42
41
 
43
- zones
44
- end
42
+ if priority_zones
43
+ if priority_zones.is_a?(Regexp)
44
+ priority_zones = model.select { |z| z.match?(priority_zones) }
45
+ end
45
46
 
46
- def value
47
- find_option(selected) if selected.present?
48
- end
47
+ hash[:priority_zones] = priority_zones
48
+ model -= priority_zones
49
+ end
49
50
 
50
- def options_from_choices
51
- @model.all.map { |option| OptionStruct.new(option.name, option.to_s) }
52
- end
51
+ hash[:other] = model
52
+ end
53
53
 
54
- def find_option(value)
55
- options_from_choices.find { |option| option.value == value }
56
- end
54
+ if zones[:other].blank?
55
+ zones[:other] = zones[:priority_zones]
56
+ zones[:priority_zones] = []
57
+ end
57
58
 
58
- def selected
59
- @selected || @default
59
+ zones
60
+ end
60
61
  end
61
62
 
62
63
  def prioritized?
63
- options[:priority_zones].present?
64
+ zones[:priority_zones].present?
64
65
  end
65
66
  end
66
67
  end
@@ -1,5 +1,5 @@
1
1
  module Impulse
2
2
  module ViewComponents
3
- VERSION = "0.8.0".freeze
3
+ VERSION = "0.9.1".freeze
4
4
  end
5
5
  end
@@ -2,8 +2,6 @@ require "impulse/view_components/version"
2
2
  require "impulse/view_components/engine"
3
3
 
4
4
  module Impulse
5
- autoload :AttributesHelper, "impulse/helpers/attributes_helper"
6
-
7
5
  module ViewComponents
8
6
  end
9
7
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: impulse_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - abeidahmed
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-01-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: view_component
@@ -16,28 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 3.24.0
18
+ version: 4.17.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 3.24.0
25
+ version: 4.17.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: actionview
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: 6.1.0
32
+ version: 7.1.0
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: 6.1.0
39
+ version: 7.1.0
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: capybara
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -53,25 +52,33 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: '3.40'
55
54
  - !ruby/object:Gem::Dependency
56
- name: byebug
55
+ name: ostruct
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
- version: '11.1'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 11.1.3
60
+ version: '0.6'
65
61
  type: :development
66
62
  prerelease: false
67
63
  version_requirements: !ruby/object:Gem::Requirement
68
64
  requirements:
69
65
  - - "~>"
70
66
  - !ruby/object:Gem::Version
71
- version: '11.1'
72
- - - ">="
67
+ version: '0.6'
68
+ - !ruby/object:Gem::Dependency
69
+ name: byebug
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '13.0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
73
80
  - !ruby/object:Gem::Version
74
- version: 11.1.3
81
+ version: '13.0'
75
82
  - !ruby/object:Gem::Dependency
76
83
  name: webmock
77
84
  requirement: !ruby/object:Gem::Requirement
@@ -92,7 +99,6 @@ dependencies:
92
99
  - - ">="
93
100
  - !ruby/object:Gem::Version
94
101
  version: 3.18.1
95
- description:
96
102
  email:
97
103
  - info@ambiki.com
98
104
  executables: []
@@ -116,6 +122,7 @@ files:
116
122
  - app/components/impulse/autocomplete_component.html.erb
117
123
  - app/components/impulse/autocomplete_component.rb
118
124
  - app/components/impulse/base_renderer.rb
125
+ - app/components/impulse/clipboard_copy_component.rb
119
126
  - app/components/impulse/dialog/body_component.rb
120
127
  - app/components/impulse/dialog/footer_component.rb
121
128
  - app/components/impulse/dialog/header_component.html.erb
@@ -126,10 +133,8 @@ files:
126
133
  - app/components/impulse/popover/header_component.rb
127
134
  - app/components/impulse/popover_component.html.erb
128
135
  - app/components/impulse/popover_component.rb
129
- - app/components/impulse/select_component.html.erb
130
136
  - app/components/impulse/select_component.rb
131
137
  - app/components/impulse/spinner_component.rb
132
- - app/components/impulse/time_zone_select_component.html.erb
133
138
  - app/components/impulse/time_zone_select_component.rb
134
139
  - lib/impulse/forms/builder.rb
135
140
  - lib/impulse/forms/tags/ajax_select.rb
@@ -147,7 +152,6 @@ licenses:
147
152
  metadata:
148
153
  source_code_uri: https://github.com/Ambiki/impulse_view_components
149
154
  changelog_uri: https://github.com/Ambiki/impulse_view_components/blob/main/CHANGELOG.md
150
- post_install_message:
151
155
  rdoc_options: []
152
156
  require_paths:
153
157
  - lib
@@ -155,15 +159,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
159
  requirements:
156
160
  - - ">="
157
161
  - !ruby/object:Gem::Version
158
- version: 3.1.4
162
+ version: '3.4'
159
163
  required_rubygems_version: !ruby/object:Gem::Requirement
160
164
  requirements:
161
165
  - - ">="
162
166
  - !ruby/object:Gem::Version
163
167
  version: '0'
164
168
  requirements: []
165
- rubygems_version: 3.3.26
166
- signing_key:
169
+ rubygems_version: 3.6.9
167
170
  specification_version: 4
168
171
  summary: View components for Ruby on Rails
169
172
  test_files: []
@@ -1,21 +0,0 @@
1
- <%= render(Impulse::AutocompleteComponent.new(@object_name, @method_name, selected: value, **@system_args)) do |c| %>
2
- <% if options? %>
3
- <% options.each do |option| %>
4
- <%= c.with_option(value: option.value, text: option.text, description: option.description, **option.system_args) %>
5
- <% end %>
6
- <% else %>
7
- <% options_from_choices.each do |option| %>
8
- <% if option.is_a?(Array) %>
9
- <% c.with_group(title: option.first) do |group| %>
10
- <% option.second.each do |grouped_option| %>
11
- <% group.with_option(value: grouped_option.value, text: grouped_option.text, **grouped_option.html_attributes) %>
12
- <% end %>
13
- <% end %>
14
- <% else %>
15
- <%= c.with_option(value: option.value, text: option.text, **option.html_attributes) %>
16
- <% end %>
17
- <% end %>
18
- <% end %>
19
-
20
- <%= c.with_blankslate_content(blankslate.presence || "We couldn't find that!") %>
21
- <% end %>
@@ -1,20 +0,0 @@
1
- <%= render(Impulse::AutocompleteComponent.new(@object_name, @method_name, selected: value, **@system_args)) do |c| %>
2
- <% if prioritized? %>
3
- <% c.with_group(title: @priority_zones_title) do |group| %>
4
- <% options[:priority_zones].each do |option| %>
5
- <% group.with_option(value: option.name, text: option.to_s, data: {test_id: "priority-zones"}) %>
6
- <% end %>
7
- <% end %>
8
- <% c.with_group(title: "Other") do |group| %>
9
- <% options[:other].each do |option| %>
10
- <% group.with_option(value: option.name, text: option.to_s, data: {test_id: "unprioritized-zones"}) %>
11
- <% end %>
12
- <% end %>
13
- <% else %>
14
- <% options[:other].each do |option| %>
15
- <% c.with_option(value: option.name, text: option.to_s) %>
16
- <% end %>
17
- <% end %>
18
-
19
- <% c.with_blankslate_content(blankslate.presence || "We couldn't find that time zone!") %>
20
- <% end %>