snice 7.5.0 → 7.7.0

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.
Files changed (265) hide show
  1. package/adapters/react/SniceProvider.js +1 -1
  2. package/adapters/react/SniceRouter.js +1 -1
  3. package/adapters/react/avatar.d.ts +1 -0
  4. package/adapters/react/avatar.d.ts.map +1 -1
  5. package/adapters/react/avatar.js +1 -1
  6. package/adapters/react/avatar.js.map +1 -1
  7. package/adapters/react/avatar.tsx +2 -1
  8. package/adapters/react/calendar.d.ts +4 -0
  9. package/adapters/react/calendar.d.ts.map +1 -1
  10. package/adapters/react/calendar.js +1 -1
  11. package/adapters/react/calendar.js.map +1 -1
  12. package/adapters/react/calendar.tsx +5 -1
  13. package/adapters/react/matchRoute.js +68 -2
  14. package/adapters/react/matchRoute.js.map +1 -1
  15. package/adapters/react/route-match.d.ts +7 -0
  16. package/adapters/react/useRequestHandler.js +1 -1
  17. package/bin/analyzer-contracts.js +60 -2
  18. package/bin/project-analyzer.js +1262 -118
  19. package/bin/snice.js +95 -5
  20. package/custom-elements.json +112 -0
  21. package/dist/cdn/accordion/snice-accordion.js +1 -1
  22. package/dist/cdn/action-bar/snice-action-bar.js +1 -1
  23. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  24. package/dist/cdn/alert/snice-alert.js +1 -1
  25. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  26. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  27. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  28. package/dist/cdn/availability/snice-availability.js +1 -1
  29. package/dist/cdn/avatar/README.md +1 -1
  30. package/dist/cdn/avatar/snice-avatar.js +9 -3
  31. package/dist/cdn/avatar/snice-avatar.js.map +1 -1
  32. package/dist/cdn/avatar/snice-avatar.min.js +2 -2
  33. package/dist/cdn/avatar/snice-avatar.min.js.map +1 -1
  34. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  35. package/dist/cdn/badge/snice-badge.js +1 -1
  36. package/dist/cdn/banner/snice-banner.js +1 -1
  37. package/dist/cdn/binpack/snice-binpack.js +1 -1
  38. package/dist/cdn/book/snice-book.js +1 -1
  39. package/dist/cdn/booking/snice-booking.js +1 -1
  40. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  41. package/dist/cdn/button/snice-button.js +2 -2
  42. package/dist/cdn/button/snice-button.js.map +1 -1
  43. package/dist/cdn/button/snice-button.min.js +1 -1
  44. package/dist/cdn/button/snice-button.min.js.map +1 -1
  45. package/dist/cdn/calendar/README.md +2 -2
  46. package/dist/cdn/calendar/snice-calendar.js +562 -40
  47. package/dist/cdn/calendar/snice-calendar.js.map +1 -1
  48. package/dist/cdn/calendar/snice-calendar.min.js +28 -1
  49. package/dist/cdn/calendar/snice-calendar.min.js.map +1 -1
  50. package/dist/cdn/camera/snice-camera.js +1 -1
  51. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  52. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  53. package/dist/cdn/card/snice-card.js +1 -1
  54. package/dist/cdn/carousel/snice-carousel.js +1 -1
  55. package/dist/cdn/cart/snice-cart.js +1 -1
  56. package/dist/cdn/chart/snice-chart.js +1 -1
  57. package/dist/cdn/chat/snice-chat.js +1 -1
  58. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  59. package/dist/cdn/chip/snice-chip.js +1 -1
  60. package/dist/cdn/code-block/snice-code-block.js +1 -1
  61. package/dist/cdn/color-display/snice-color-display.js +1 -1
  62. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  63. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  64. package/dist/cdn/comments/snice-comments.js +1 -1
  65. package/dist/cdn/countdown/snice-countdown.js +1 -1
  66. package/dist/cdn/cropper/snice-cropper.js +1 -1
  67. package/dist/cdn/data-card/snice-data-card.js +1 -1
  68. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  69. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  70. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  71. package/dist/cdn/diff/snice-diff.js +1 -1
  72. package/dist/cdn/divider/snice-divider.js +1 -1
  73. package/dist/cdn/doc/snice-doc.js +1 -1
  74. package/dist/cdn/draw/snice-draw.js +1 -1
  75. package/dist/cdn/drawer/snice-drawer.js +1 -1
  76. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  77. package/dist/cdn/estimate/snice-estimate.js +1 -1
  78. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  79. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  80. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  81. package/dist/cdn/flow/snice-flow.js +1 -1
  82. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  83. package/dist/cdn/funnel/snice-funnel.js +1 -1
  84. package/dist/cdn/gantt/snice-gantt.js +1 -1
  85. package/dist/cdn/gauge/snice-gauge.js +1 -1
  86. package/dist/cdn/grid/snice-grid.js +1 -1
  87. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  88. package/dist/cdn/image/snice-image.js +1 -1
  89. package/dist/cdn/input/snice-input.js +1 -1
  90. package/dist/cdn/invoice/snice-invoice.js +1 -1
  91. package/dist/cdn/kanban/snice-kanban.js +1 -1
  92. package/dist/cdn/key-value/snice-key-value.js +1 -1
  93. package/dist/cdn/kpi/snice-kpi.js +1 -1
  94. package/dist/cdn/layout/snice-layout.js +1 -1
  95. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  96. package/dist/cdn/link/snice-link.js +1 -1
  97. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  98. package/dist/cdn/list/snice-list.js +1 -1
  99. package/dist/cdn/location/snice-location.js +1 -1
  100. package/dist/cdn/login/README.md +1 -1
  101. package/dist/cdn/login/snice-login.js +2 -2
  102. package/dist/cdn/login/snice-login.js.map +1 -1
  103. package/dist/cdn/login/snice-login.min.js +1 -1
  104. package/dist/cdn/login/snice-login.min.js.map +1 -1
  105. package/dist/cdn/map/snice-map.js +1 -1
  106. package/dist/cdn/markdown/snice-markdown.js +1 -1
  107. package/dist/cdn/masonry/snice-masonry.js +1 -1
  108. package/dist/cdn/menu/snice-menu.js +1 -1
  109. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  110. package/dist/cdn/modal/snice-modal.js +1 -1
  111. package/dist/cdn/music-player/snice-music-player.js +1 -1
  112. package/dist/cdn/nav/snice-nav.js +1 -1
  113. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  114. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  115. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  116. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  117. package/dist/cdn/pagination/snice-pagination.js +1 -1
  118. package/dist/cdn/paint/snice-paint.js +1 -1
  119. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  120. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  121. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  122. package/dist/cdn/popover/snice-popover.js +1 -1
  123. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  124. package/dist/cdn/product-card/snice-product-card.js +1 -1
  125. package/dist/cdn/progress/snice-progress.js +1 -1
  126. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  127. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  128. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  129. package/dist/cdn/radio/snice-radio.js +1 -1
  130. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  131. package/dist/cdn/rating/snice-rating.js +1 -1
  132. package/dist/cdn/receipt/snice-receipt.js +1 -1
  133. package/dist/cdn/recipe/snice-recipe.js +1 -1
  134. package/dist/cdn/runtime/README.md +2 -2
  135. package/dist/cdn/runtime/snice-runtime.esm.js +706 -267
  136. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  137. package/dist/cdn/runtime/snice-runtime.esm.min.js +1 -1
  138. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  139. package/dist/cdn/runtime/snice-runtime.js +706 -267
  140. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  141. package/dist/cdn/runtime/snice-runtime.min.js +1 -1
  142. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  143. package/dist/cdn/sankey/snice-sankey.js +1 -1
  144. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  145. package/dist/cdn/select/snice-select.js +3 -1
  146. package/dist/cdn/select/snice-select.js.map +1 -1
  147. package/dist/cdn/select/snice-select.min.js +2 -2
  148. package/dist/cdn/select/snice-select.min.js.map +1 -1
  149. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  150. package/dist/cdn/slider/snice-slider.js +1 -1
  151. package/dist/cdn/sortable/snice-sortable.js +1 -1
  152. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  153. package/dist/cdn/spinner/snice-spinner.js +1 -1
  154. package/dist/cdn/split-button/snice-split-button.js +1 -1
  155. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  156. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  157. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  158. package/dist/cdn/step-input/snice-step-input.js +1 -1
  159. package/dist/cdn/stepper/snice-stepper.js +1 -1
  160. package/dist/cdn/switch/README.md +1 -1
  161. package/dist/cdn/switch/snice-switch.js +8 -4
  162. package/dist/cdn/switch/snice-switch.js.map +1 -1
  163. package/dist/cdn/switch/snice-switch.min.js +8 -4
  164. package/dist/cdn/switch/snice-switch.min.js.map +1 -1
  165. package/dist/cdn/table/README.md +2 -2
  166. package/dist/cdn/table/snice-table.esm.js +77 -5
  167. package/dist/cdn/table/snice-table.esm.js.map +1 -1
  168. package/dist/cdn/table/snice-table.esm.min.js +68 -47
  169. package/dist/cdn/table/snice-table.esm.min.js.map +1 -1
  170. package/dist/cdn/table/snice-table.js +76 -4
  171. package/dist/cdn/table/snice-table.js.map +1 -1
  172. package/dist/cdn/table/snice-table.min.js +53 -32
  173. package/dist/cdn/table/snice-table.min.js.map +1 -1
  174. package/dist/cdn/tabs/snice-tabs.js +1 -1
  175. package/dist/cdn/tag/snice-tag.js +1 -1
  176. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  177. package/dist/cdn/terminal/snice-terminal.js +1 -1
  178. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  179. package/dist/cdn/textarea/snice-textarea.js +1 -1
  180. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  181. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  182. package/dist/cdn/timeline/snice-timeline.js +1 -1
  183. package/dist/cdn/timer/snice-timer.js +1 -1
  184. package/dist/cdn/toast/snice-toast.js +1 -1
  185. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  186. package/dist/cdn/tree/snice-tree.js +1 -1
  187. package/dist/cdn/treemap/snice-treemap.js +1 -1
  188. package/dist/cdn/user-card/snice-user-card.js +1 -1
  189. package/dist/cdn/video-player/snice-video-player.js +1 -1
  190. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  191. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  192. package/dist/cdn/weather/snice-weather.js +1 -1
  193. package/dist/cdn/work-order/snice-work-order.js +1 -1
  194. package/dist/components/avatar/snice-avatar.d.ts +1 -0
  195. package/dist/components/avatar/snice-avatar.js +8 -2
  196. package/dist/components/avatar/snice-avatar.js.map +1 -1
  197. package/dist/components/avatar/snice-avatar.types.d.ts +2 -0
  198. package/dist/components/button/snice-button.js +1 -1
  199. package/dist/components/button/snice-button.js.map +1 -1
  200. package/dist/components/calendar/snice-calendar.d.ts +38 -1
  201. package/dist/components/calendar/snice-calendar.js +390 -40
  202. package/dist/components/calendar/snice-calendar.js.map +1 -1
  203. package/dist/components/calendar/snice-calendar.types.d.ts +63 -0
  204. package/dist/components/select/snice-select.js +2 -0
  205. package/dist/components/select/snice-select.js.map +1 -1
  206. package/dist/components/switch/snice-switch.js +7 -3
  207. package/dist/components/switch/snice-switch.js.map +1 -1
  208. package/dist/components/table/snice-table.d.ts +9 -0
  209. package/dist/components/table/snice-table.js +72 -2
  210. package/dist/components/table/snice-table.js.map +1 -1
  211. package/dist/components/table/table-keyboard.js +1 -1
  212. package/dist/components/table/table-keyboard.js.map +1 -1
  213. package/dist/index.cjs +703 -264
  214. package/dist/index.cjs.map +1 -1
  215. package/dist/index.d.ts +3 -1
  216. package/dist/index.esm.js +703 -264
  217. package/dist/index.esm.js.map +1 -1
  218. package/dist/index.iife.js +703 -264
  219. package/dist/index.iife.js.map +1 -1
  220. package/dist/parts.d.ts +14 -4
  221. package/dist/react/SniceProvider.js +1 -1
  222. package/dist/react/SniceRouter.js +1 -1
  223. package/dist/react/index.js +1 -1
  224. package/dist/react/matchRoute.js +68 -2
  225. package/dist/react/matchRoute.js.map +1 -1
  226. package/dist/react/route-match.d.ts +7 -0
  227. package/dist/react/useRequestHandler.js +1 -1
  228. package/dist/render-errors.d.ts +9 -0
  229. package/dist/route-match.d.ts +7 -0
  230. package/dist/symbols.cjs +1 -1
  231. package/dist/symbols.esm.js +1 -1
  232. package/dist/template-marker.d.ts +5 -0
  233. package/dist/testing-dom.cjs +1 -1
  234. package/dist/testing-dom.esm.js +1 -1
  235. package/dist/testing.d.ts +3 -0
  236. package/dist/transitions.cjs +1 -1
  237. package/dist/transitions.esm.js +1 -1
  238. package/dist/types/dispatch-options.d.ts +5 -4
  239. package/dist/types/event-timing.d.ts +7 -0
  240. package/dist/types/index.d.ts +1 -0
  241. package/dist/types/on-options.d.ts +21 -6
  242. package/dist/utils.d.ts +3 -0
  243. package/docs/ai/DEVELOPMENT.md +1 -1
  244. package/docs/ai/api.md +7 -2
  245. package/docs/ai/cli.md +14 -0
  246. package/docs/ai/components/avatar.md +1 -0
  247. package/docs/ai/components/calendar.md +24 -1
  248. package/docs/ai/components/switch.md +3 -0
  249. package/docs/ai/components/table.md +1 -1
  250. package/docs/ai/decorators.md +3 -2
  251. package/docs/ai/events.md +45 -8
  252. package/docs/ai/rendering.md +7 -0
  253. package/docs/ai/routing.md +6 -1
  254. package/docs/ai/testing.md +17 -0
  255. package/docs/cli.md +19 -0
  256. package/docs/components/avatar.md +1 -0
  257. package/docs/components/calendar.md +112 -2
  258. package/docs/components/switch.md +7 -1
  259. package/docs/components/table.md +2 -1
  260. package/docs/events.md +90 -10
  261. package/docs/rendering.md +10 -0
  262. package/docs/routing.md +22 -1
  263. package/docs/testing.md +19 -0
  264. package/package.json +2 -2
  265. package/vscode.html-custom-data.json +28 -0
@@ -1 +1 @@
1
- {"version":3,"file":"snice-select.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/form-label-association.js","../../components/form-control-validity.js","../../components/select/snice-option.js","../../components/select/snice-select.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","const labelAssociationRegistries = new WeakMap();\nfunction normalizeAccessibleText(value) {\n return value.replace(/\\s+/gu, ' ').trim();\n}\nfunction nodeContains(node, candidate) {\n return node === candidate || (node.nodeType === Node.ELEMENT_NODE && node.contains(candidate));\n}\nfunction labelRoot(host) {\n const root = host.getRootNode();\n if (root.nodeType === Node.DOCUMENT_NODE)\n return root;\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot)\n return root;\n return null;\n}\nfunction rootElementById(label, id) {\n const root = label.getRootNode();\n if ('getElementById' in root)\n return root.getElementById(id);\n return null;\n}\nfunction collectLabelText(node, host) {\n if (node === host)\n return '';\n if (node.nodeType === Node.TEXT_NODE)\n return node.nodeValue || '';\n if (node.nodeType !== Node.ELEMENT_NODE)\n return '';\n const element = node;\n if (element.hidden || element.getAttribute('aria-hidden') === 'true')\n return '';\n if (['script', 'style', 'template'].includes(element.localName))\n return '';\n if (element.localName === 'br')\n return ' ';\n if (element.localName === 'img')\n return element.getAttribute('alt') || '';\n return Array.from(element.childNodes)\n .map(child => collectLabelText(child, host))\n .join(' ');\n}\nfunction labelAccessibleText(label, host) {\n const labelledBy = label.getAttribute('aria-labelledby');\n if (labelledBy) {\n const referenced = labelledBy\n .split(/\\s+/u)\n .map(id => rootElementById(label, id))\n .filter((element) => Boolean(element) && element !== label)\n .map(element => collectLabelText(element, host));\n const text = normalizeAccessibleText(referenced.join(' '));\n if (text)\n return text;\n }\n if (label.hasAttribute('aria-label')) {\n return normalizeAccessibleText(label.getAttribute('aria-label') || '');\n }\n const text = normalizeAccessibleText(collectLabelText(label, host));\n return text || normalizeAccessibleText(label.getAttribute('title') || '');\n}\nfunction ensureLabelAssociationRegistry(root) {\n const observedNode = root.nodeType === Node.DOCUMENT_NODE\n ? root.documentElement\n : root;\n if (!observedNode || typeof MutationObserver === 'undefined')\n return null;\n const existing = labelAssociationRegistries.get(root);\n if (existing)\n return existing;\n const associations = new Set();\n const observer = new MutationObserver(mutations => {\n for (const association of associations) {\n if (mutations.some(mutation => association.isAffectedBy(mutation))) {\n association.sync();\n }\n }\n });\n observer.observe(observedNode, {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['for', 'id', 'aria-label', 'aria-labelledby', 'aria-hidden', 'hidden', 'alt', 'title']\n });\n const registry = { associations, observer };\n labelAssociationRegistries.set(root, registry);\n return registry;\n}\n/**\n * Bridges native FACE label association into a component's shadow focus target.\n *\n * Associated label text becomes the shadow control's accessible name, and the\n * browser-generated click on a form-associated custom-element host focuses that\n * control. One shared, filtered observer per document or shadow root keeps explicit, wrapping,\n * multiple, and dynamic labels current without installing an observer per\n * component instance. Association is also resolved from the current tree because\n * Firefox and WebKit can retain stale `ElementInternals.labels` entries after a\n * dynamic `id`/`for` change.\n */\nclass FormLabelAssociation {\n constructor(host, getInternals, getTarget, getFallbackName, syncRelatedNames) {\n this.host = host;\n this.getInternals = getInternals;\n this.getTarget = getTarget;\n this.getFallbackName = getFallbackName;\n this.syncRelatedNames = syncRelatedNames;\n this.connected = false;\n this.currentLabels = [];\n this.currentNamingNodes = [];\n this.referencedIds = new Set();\n this.handleHostActivation = (event) => {\n if (event.composedPath()[0] !== this.host)\n return;\n this.currentLabels = this.resolveLabels();\n if (this.currentLabels.length === 0)\n return;\n const target = this.getTarget();\n if (!target) {\n event.preventDefault();\n return;\n }\n target.focus();\n };\n this.handleLabelActivation = (event) => {\n const path = event.composedPath();\n const eventTarget = event.target;\n if (eventTarget === this.host || (eventTarget instanceof Node && this.host.contains(eventTarget)))\n return;\n // Native labels do not redirect activation from an interactive descendant.\n // Preserve that rule while filling the wrapping-FACE activation gap in\n // engines that do not forward the label click to the custom-element host.\n const label = event.currentTarget;\n const interactiveDescendant = path.some(node => node instanceof HTMLElement &&\n node !== label &&\n node.matches('a[href], button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"]), [role=\"button\"], [role=\"link\"]'));\n if (interactiveDescendant)\n return;\n const target = this.getTarget();\n if (!target) {\n // Prevent the browser's FACE label default action from focusing a\n // delegatesFocus shadow descendant when this component is disabled,\n // loading, or otherwise has no eligible interaction target.\n event.preventDefault();\n return;\n }\n target.focus();\n // WebKit may run its FACE label default action after the bubbling click and\n // move focus back to the host. Re-assert the shadow target after that\n // default action while retaining the browser's normal activation event.\n setTimeout(() => {\n const currentTarget = this.getTarget();\n if (this.connected && currentTarget?.isConnected && this.currentLabels.includes(label)) {\n currentTarget.focus();\n }\n }, 0);\n };\n }\n get labels() {\n const root = this.host.getRootNode();\n if (this.host.id && 'querySelectorAll' in root) {\n try {\n const id = CSS.escape(this.host.id);\n const tag = CSS.escape(this.host.localName);\n return root.querySelectorAll(`label[for=\"${id}\"], label:not([for]):has(${tag}#${id})`);\n }\n catch {\n // Fall through for DOM implementations without :has() or CSS.escape().\n }\n }\n return this.getInternals()?.labels ?? null;\n }\n get accessibleName() {\n const labels = this.resolveLabels();\n if (labels.length > 0) {\n return normalizeAccessibleText(labels.map(label => labelAccessibleText(label, this.host)).join(' '));\n }\n return normalizeAccessibleText(this.getFallbackName());\n }\n connect() {\n if (this.connected)\n return;\n this.connected = true;\n this.host.addEventListener('click', this.handleHostActivation);\n this.bindRegistry();\n this.sync();\n }\n disconnect() {\n if (!this.connected)\n return;\n this.connected = false;\n this.host.removeEventListener('click', this.handleHostActivation);\n this.unbindLabelActivation();\n this.releaseRegistry();\n this.currentLabels = [];\n this.currentNamingNodes = [];\n this.referencedIds.clear();\n }\n sync() {\n if (this.connected)\n this.bindRegistry();\n this.unbindLabelActivation();\n this.currentLabels = this.resolveLabels();\n if (this.connected) {\n for (const label of this.currentLabels) {\n label.addEventListener('click', this.handleLabelActivation);\n }\n }\n this.currentNamingNodes = [...this.currentLabels];\n this.referencedIds.clear();\n for (const label of this.currentLabels) {\n for (const id of (label.getAttribute('aria-labelledby') || '').split(/\\s+/u).filter(Boolean)) {\n this.referencedIds.add(id);\n const referenced = rootElementById(label, id);\n if (referenced && referenced !== label)\n this.currentNamingNodes.push(referenced);\n }\n }\n const name = this.currentLabels.length > 0\n ? normalizeAccessibleText(this.currentLabels.map(label => labelAccessibleText(label, this.host)).join(' '))\n : normalizeAccessibleText(this.getFallbackName());\n this.getTarget()?.setAttribute('aria-label', name);\n this.syncRelatedNames?.(name);\n }\n isAffectedBy(mutation) {\n if (mutation.type === 'attributes') {\n if (mutation.target === this.host && mutation.attributeName === 'id')\n return true;\n const target = mutation.target;\n if (target.localName === 'label' && mutation.attributeName === 'for') {\n return this.currentLabels.includes(target)\n || (Boolean(this.host.id) && target.htmlFor === this.host.id);\n }\n if (mutation.attributeName === 'id' && this.referencedIds.has(target.id))\n return true;\n return this.currentNamingNodes.some(node => node === target || node.contains(target));\n }\n if (this.currentNamingNodes.some(node => node === mutation.target || node.contains(mutation.target))) {\n return true;\n }\n if (mutation.type === 'childList') {\n return [...mutation.addedNodes, ...mutation.removedNodes].some(node => {\n if (nodeContains(node, this.host) || nodeContains(this.host, node))\n return true;\n if (this.currentNamingNodes.some(current => nodeContains(node, current)))\n return true;\n if (node.nodeType !== Node.ELEMENT_NODE)\n return false;\n const element = node;\n const labels = element.localName === 'label'\n ? [element]\n : Array.from(element.querySelectorAll('label'));\n if (labels.some(label => label.hasAttribute('for')\n ? Boolean(this.host.id) && label.htmlFor === this.host.id\n : label.contains(this.host)))\n return true;\n return [element, ...Array.from(element.querySelectorAll('[id]'))]\n .some(candidate => this.referencedIds.has(candidate.id));\n });\n }\n return false;\n }\n unbindLabelActivation() {\n for (const label of this.currentLabels) {\n label.removeEventListener('click', this.handleLabelActivation);\n }\n }\n bindRegistry() {\n const root = labelRoot(this.host);\n if (root === this.registryRoot)\n return;\n this.releaseRegistry();\n if (!root)\n return;\n this.registryRoot = root;\n this.registry = ensureLabelAssociationRegistry(root) || undefined;\n this.registry?.associations.add(this);\n }\n releaseRegistry() {\n this.registry?.associations.delete(this);\n if (this.registry && this.registry.associations.size === 0 && this.registryRoot) {\n this.registry.observer.disconnect();\n labelAssociationRegistries.delete(this.registryRoot);\n }\n this.registry = undefined;\n this.registryRoot = undefined;\n }\n resolveLabels() {\n const root = this.host.getRootNode();\n if ('querySelectorAll' in root) {\n return Array.from(root.querySelectorAll('label')).filter(label => {\n if (label.hasAttribute('for')) {\n return Boolean(this.host.id) && label.htmlFor === this.host.id;\n }\n return label.contains(this.host);\n });\n }\n return Array.from(this.getInternals()?.labels || []);\n }\n}\n\nexport { FormLabelAssociation };\n//# sourceMappingURL=form-label-association.js.map\n","const validityKeys = [\n 'badInput',\n 'customError',\n 'patternMismatch',\n 'rangeOverflow',\n 'rangeUnderflow',\n 'stepMismatch',\n 'tooLong',\n 'tooShort',\n 'typeMismatch',\n 'valueMissing'\n];\n/** Copy the actionable flags from a native ValidityState. */\nfunction validityFlagsFrom(validity, overrides = {}) {\n const flags = {};\n for (const key of validityKeys)\n flags[key] = validity[key];\n return Object.assign(flags, overrides);\n}\nfunction hasValidityError(flags) {\n return validityKeys.some(key => Boolean(flags[key]));\n}\n/** Keep ElementInternals form-value updates safe in partial DOM implementations. */\nfunction applyElementInternalsFormValue(internals, value, state) {\n // jsdom and other DOM test implementations can expose the ARIA portion of\n // ElementInternals without the form-associated custom-element methods.\n if (!internals || typeof internals.setFormValue !== 'function')\n return;\n if (state === undefined)\n internals.setFormValue(value);\n else\n internals.setFormValue(value, state);\n}\n/** Keep ElementInternals validity updates identical across form controls. */\nfunction applyElementInternalsValidity(internals, flags, message, anchor) {\n // Some DOM test implementations expose a partial ElementInternals object.\n // Keep the component's native-input/proxy fallback usable in that case.\n if (!internals || typeof internals.setValidity !== 'function')\n return;\n if (!hasValidityError(flags)) {\n internals.setValidity({});\n }\n else if (anchor) {\n internals.setValidity(flags, message, anchor);\n }\n else {\n internals.setValidity(flags, message);\n }\n}\n/**\n * ElementInternals.form is authoritative. The fallback keeps DOM test\n * implementations and older partial implementations useful without changing\n * browser ownership semantics.\n */\nfunction findFormOwner(host, internals) {\n if (internals?.form)\n return internals.form;\n const explicitOwner = host.getAttribute('form');\n if (explicitOwner !== null) {\n const root = host.getRootNode();\n if (!('querySelectorAll' in root))\n return null;\n return Array.from(root.querySelectorAll('form[id]'))\n .find((candidate) => candidate instanceof HTMLFormElement && candidate.id === explicitOwner) ?? null;\n }\n return host.closest('form');\n}\n/**\n * Normalize a finite numeric value to the same min-based step lattice used by\n * native range controls. The nearest in-range step wins; midpoint ties move in\n * the positive direction. Invalid/reversed ranges collapse to their minimum.\n */\nfunction normalizeSteppedValue(value, min, max, step) {\n const lower = Number.isFinite(min) ? min : -Infinity;\n const configuredUpper = Number.isFinite(max) ? max : Infinity;\n const upper = configuredUpper < lower ? lower : configuredUpper;\n const effectiveStep = Number.isFinite(step) && step > 0 ? step : 1;\n const base = Number.isFinite(lower) ? lower : 0;\n const clamped = Math.max(lower, Math.min(upper, value));\n let normalized = base + Math.round((clamped - base) / effectiveStep) * effectiveStep;\n if (normalized > upper) {\n normalized = base + Math.floor((upper - base) / effectiveStep) * effectiveStep;\n }\n if (normalized < lower) {\n normalized = base + Math.ceil((lower - base) / effectiveStep) * effectiveStep;\n }\n normalized = Math.max(lower, Math.min(upper, normalized));\n // Extremely large finite inputs can overflow intermediate step arithmetic.\n // Preserve the finite clamped value instead of exposing Infinity/NaN.\n if (!Number.isFinite(normalized))\n return clamped;\n return Number(normalized.toPrecision(15));\n}\n\nexport { applyElementInternalsFormValue, applyElementInternalsValidity, findFormOwner, hasValidityError, normalizeSteppedValue, validityFlagsFrom };\n//# sourceMappingURL=form-control-validity.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, html, css } from 'snice';\n\nlet SniceOption = (() => {\n let _classDecorators = [element('snice-option')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _icon_decorators;\n let _icon_initializers = [];\n let _icon_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _disabled_decorators = [property({ type: Boolean, })];\n _selected_decorators = [property({ type: Boolean, })];\n _icon_decorators = [property({})];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _selected_decorators, { kind: \"field\", name: \"selected\", static: false, private: false, access: { has: obj => \"selected\" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);\n __esDecorate(null, null, _icon_decorators, { kind: \"field\", name: \"icon\", static: false, private: false, access: { has: obj => \"icon\" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n // Options are data-only elements, no shadow DOM needed\n return html /*html*/ ``;\n }\n styles() {\n return css /*css*/ `:host { display: none; }`;\n }\n init() {\n // If no label is provided, use the text content\n if (!this.label && this.textContent) {\n this.label = this.textContent.trim();\n }\n // If no value is provided, use the label. An explicitly authored empty\n // string is a real value (the standard \"no filter\" sentinel), not a\n // missing one — only fall back when the attribute was never set.\n if (!this.hasAttribute('value') && !this.value && this.label) {\n this.value = this.label;\n }\n }\n // Getter for the option data\n get optionData() {\n return {\n value: this.value,\n label: this.label || this.textContent?.trim() || this.value,\n disabled: this.disabled,\n selected: this.selected,\n icon: this.icon\n };\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.disabled = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.selected = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.icon = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _icon_initializers, ''));\n __runInitializers(this, _icon_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceOption };\n//# sourceMappingURL=snice-option.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, state, property, query, queryAll, request, render, styles, ready, reconnect, dispose, watch, dispatch, html, css } from 'snice';\nimport { FormLabelAssociation } from '../form-label-association.js';\nimport { applyElementInternalsFormValue, hasValidityError, applyElementInternalsValidity, findFormOwner } from '../form-control-validity.js';\nimport './snice-option.js';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:inline-block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);position:relative;width:100%;max-width:18.75rem}[hidden]{display:none!important}img[src=\\\"\\\"]{display:none}.select-wrapper{position:relative;width:100%}.select-label{display:block;margin-bottom:.25rem;font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);line-height:var(--snice-line-height-normal, 1.5);color:var(--snice-color-text,rgb(23 23 23));text-align:left}.select-label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.select-error-text,.select-helper-text{display:block;margin-top:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-normal,400);line-height:var(--snice-line-height-normal, 1.5)}.select-helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-error-text{color:var(--snice-color-danger,rgb(220 38 38))}.select-trigger{box-sizing:border-box;min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:all var(--snice-transition-fast, 150ms) ease;position:relative;text-align:left;font-family:inherit;color:var(--snice-color-text,rgb(23 23 23))}.select-trigger--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem);min-height:2rem}.select-trigger--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md, 1rem);min-height:var(--snice-select-min-height,2.5rem)}.select-trigger--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg, 1.125rem);min-height:3rem}.select-trigger:hover:not(.select-trigger--disabled){border-color:var(--snice-color-border-hover,rgb(180 180 180))}.select-trigger:focus-visible{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:2px;border-color:var(--snice-color-primary,rgb(37 99 235))}.select-trigger--open{border-color:var(--snice-color-primary,rgb(37 99 235))}.select-trigger--disabled{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:not-allowed;opacity:.6}.select-trigger--readonly{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:default}.select-trigger--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.select-placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value--single{display:flex;align-items:center;gap:.5rem}.select-value-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-value--multiple{display:flex;gap:.25rem;flex-wrap:wrap}.select-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:var(--snice-color-primary-subtle,rgb(219 234 254));color:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-sm,.125rem);font-size:var(--snice-font-size-xs, .75rem)}.select-tag-icon{width:.75rem;height:.75rem;object-fit:contain;flex-shrink:0}.select-tag-remove{cursor:pointer;padding:0;background:0 0;border:none;color:inherit;font-size:.75rem;line-height:1}.select-tag-remove:hover{opacity:.7}.select-icons{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem;pointer-events:none;z-index:1}.select-clear{padding:.125rem;background:0 0;border:none;cursor:pointer;color:var(--snice-color-text-secondary,rgb(82 82 82));display:flex;align-items:center;justify-content:center;border-radius:var(--snice-border-radius-sm,.125rem);pointer-events:auto}.select-clear:hover{background:var(--snice-color-surface-container-low,rgb(245 245 245));color:var(--snice-color-text,rgb(23 23 23))}.select-arrow{transition:transform var(--snice-transition-fast, 150ms) ease;color:var(--snice-color-text-secondary,rgb(82 82 82));pointer-events:none}.select-arrow--open{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;margin-top:.25rem;left:0;right:0;background:var(--snice-color-surface-container-high,rgb(252 251 249));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1));z-index:1000;opacity:0;transform:translateY(-8px) scaleY(.95);transform-origin:top;pointer-events:none;transition:opacity var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) ease;display:flex;flex-direction:column;overflow:hidden}.select-dropdown--open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}.select-search{padding:.5rem;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));flex-shrink:0}.select-search-input{width:100%;padding:.375rem .625rem;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-sm,.125rem);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));box-sizing:border-box}.select-search-input:focus-visible{outline:0;border-color:var(--snice-color-primary,rgb(37 99 235))}.select-options{max-height:12.5rem;overflow-y:auto;overflow-x:hidden;padding:.25rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--snice-color-border,rgb(226 226 226)) var(--snice-color-surface-container-low,rgb(245 245 245))}.select-options::-webkit-scrollbar-track{background:var(--snice-color-surface-container-low,rgb(245 245 245));border-radius:var(--snice-border-radius-md,.25rem);margin:.25rem 0}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);border:2px solid var(--snice-color-surface,rgb(255 255 255))}.select-option{padding:.5rem .75rem;cursor:pointer;border-radius:var(--snice-border-radius-sm,.125rem);transition:background var(--snice-transition-fast, 150ms) ease;display:flex;align-items:center;gap:.5rem}.select-option:hover:not(.select-option--disabled){background:var(--snice-color-surface-container-low,rgb(245 245 245))}.select-option--selected{background:var(--snice-color-primary-subtle,rgb(219 234 254));color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.select-option--focused{background:var(--snice-color-surface-container-low,rgb(245 245 245));outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px}.select-option--disabled{opacity:.5;cursor:not-allowed}.select-option-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-option-check{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.select-option-label{flex:1}.select-no-options{padding:1rem;text-align:center;color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-sm, .875rem)}.select-native{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:var(--snice-color-surface-container-low,rgb(245 245 245));border-radius:3px}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:3px}.select-options::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover,rgb(180 180 180))}.select-trigger--loading{cursor:wait;opacity:.7}.select-spinner{display:inline-block;width:.875rem;height:.875rem;margin-right:.25rem}.select-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.select-freetext-input{flex:1;border:none;outline:0;background:0 0;font-family:inherit;font-size:inherit;color:var(--snice-color-text,rgb(23 23 23));padding:0;min-width:0;width:100%}.select-freetext-input::placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-editable-container{position:relative;display:flex;align-items:center;width:100%}.select-editable-input{width:100%;box-sizing:border-box;font-family:inherit;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));color:var(--snice-color-text,rgb(23 23 23));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);transition:all var(--snice-transition-fast, 150ms) ease;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select-editable-input--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem);min-height:2rem}.select-editable-input--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md, 1rem);min-height:2.5rem}.select-editable-input--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg, 1.125rem);min-height:3rem}.select-editable-input:hover:not(:disabled){border-color:var(--snice-color-border-hover,rgb(180 180 180))}.select-editable-input:focus-visible{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.select-editable-input--open{border-color:var(--snice-color-primary,rgb(37 99 235))}.select-editable-input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.select-editable-input:disabled{background:var(--snice-color-surface-container-low,rgb(245 245 245));color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:not-allowed;opacity:.6}.select-editable-input:read-only{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:default}.select-editable-input::placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82));opacity:.7}.select-editable-arrow{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--snice-color-text-secondary,rgb(82 82 82));pointer-events:none;transition:transform var(--snice-transition-fast, 150ms) ease}.select-editable-arrow--open{transform:translateY(-50%) rotate(180deg)}.select-loading-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-sm, .875rem)}.select-loading-spinner{display:inline-block;width:1rem;height:1rem;flex-shrink:0}.select-loading-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid var(--snice-color-border,rgb(226 226 226));border-top-color:var(--snice-color-primary,rgb(37 99 235));border-radius:50%;animation:.6s linear infinite spin}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}\";\n\nlet SniceSelect = (() => {\n let _classDecorators = [element('snice-select', { formAssociated: true, delegatesFocus: true })];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _valueState_decorators;\n let _valueState_initializers = [];\n let _valueState_extraInitializers = [];\n let _formDisabled_decorators;\n let _formDisabled_initializers = [];\n let _formDisabled_extraInitializers = [];\n let _constraintInvalid_decorators;\n let _constraintInvalid_initializers = [];\n let _constraintInvalid_extraInitializers = [];\n let _defaultValue_decorators;\n let _defaultValue_initializers = [];\n let _defaultValue_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _invalid_decorators;\n let _invalid_initializers = [];\n let _invalid_extraInitializers = [];\n let _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _multiple_decorators;\n let _multiple_initializers = [];\n let _multiple_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _allowFreeText_decorators;\n let _allowFreeText_initializers = [];\n let _allowFreeText_extraInitializers = [];\n let _editable_decorators;\n let _editable_initializers = [];\n let _editable_extraInitializers = [];\n let _remote_decorators;\n let _remote_initializers = [];\n let _remote_extraInitializers = [];\n let _searchDebounce_decorators;\n let _searchDebounce_initializers = [];\n let _searchDebounce_extraInitializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _open_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _helperText_decorators;\n let _helperText_initializers = [];\n let _helperText_extraInitializers = [];\n let _errorText_decorators;\n let _errorText_initializers = [];\n let _errorText_extraInitializers = [];\n let _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _maxHeight_decorators;\n let _maxHeight_initializers = [];\n let _maxHeight_extraInitializers = [];\n let _options_decorators;\n let _options_initializers = [];\n let _options_extraInitializers = [];\n let _trigger_decorators;\n let _trigger_initializers = [];\n let _trigger_extraInitializers = [];\n let _dropdown_decorators;\n let _dropdown_initializers = [];\n let _dropdown_extraInitializers = [];\n let _valueDisplay_decorators;\n let _valueDisplay_initializers = [];\n let _valueDisplay_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _searchInput_decorators;\n let _searchInput_initializers = [];\n let _searchInput_extraInitializers = [];\n let _optionsList_decorators;\n let _optionsList_initializers = [];\n let _optionsList_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _arrow_decorators;\n let _arrow_initializers = [];\n let _arrow_extraInitializers = [];\n let _searchContainer_decorators;\n let _searchContainer_initializers = [];\n let _searchContainer_extraInitializers = [];\n let _editableInput_decorators;\n let _editableInput_initializers = [];\n let _editableInput_extraInitializers = [];\n let _optionElements_decorators;\n let _optionElements_initializers = [];\n let _optionElements_extraInitializers = [];\n let _performRemoteSearch_decorators;\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _onReconnect_decorators;\n let _cleanup_decorators;\n let _handleValueChange_decorators;\n let _handleDefaultValueChange_decorators;\n let _handleOptionsPropertyChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleValidationConfigurationChange_decorators;\n let _handleValidationAnchorChange_decorators;\n let _handleInvalidChange_decorators;\n let _handleOpenChange_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchOpenEvent_decorators;\n let _dispatchCloseEvent_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _valueState_decorators = [state()];\n _formDisabled_decorators = [state()];\n _constraintInvalid_decorators = [state()];\n _defaultValue_decorators = [property({ attribute: 'value' })];\n _disabled_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _multiple_decorators = [property({ type: Boolean, })];\n _searchable_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _allowFreeText_decorators = [property({ type: Boolean, attribute: 'allow-free-text' })];\n _editable_decorators = [property({ type: Boolean, })];\n _remote_decorators = [property({ type: Boolean, })];\n _searchDebounce_decorators = [property({ type: Number, attribute: 'search-debounce' })];\n _open_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _label_decorators = [property({})];\n _helperText_decorators = [property({ attribute: 'helper-text' })];\n _errorText_decorators = [property({ attribute: 'error-text' })];\n _placeholder_decorators = [property({})];\n _maxHeight_decorators = [property({ attribute: 'max-height' })];\n _options_decorators = [property({ type: Array, attribute: false })];\n _trigger_decorators = [query('.select-trigger')];\n _dropdown_decorators = [query('.select-dropdown')];\n _valueDisplay_decorators = [query('.select-value')];\n _labelElement_decorators = [query('.select-label')];\n _searchInput_decorators = [query('.select-search-input')];\n _optionsList_decorators = [query('.select-options')];\n _clearButton_decorators = [query('.select-clear')];\n _arrow_decorators = [query('.select-arrow')];\n _searchContainer_decorators = [query('.select-search')];\n _editableInput_decorators = [query('.select-editable-input')];\n _optionElements_decorators = [queryAll('.select-option')];\n _performRemoteSearch_decorators = [request('select/search')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _onReconnect_decorators = [reconnect()];\n _cleanup_decorators = [dispose()];\n _handleValueChange_decorators = [watch('valueState')];\n _handleDefaultValueChange_decorators = [watch('defaultValue')];\n _handleOptionsPropertyChange_decorators = [watch('options')];\n _handleDisabledChange_decorators = [watch('disabled', 'loading', 'formDisabled')];\n _handleValidationConfigurationChange_decorators = [watch('required', 'readonly', 'multiple')];\n _handleValidationAnchorChange_decorators = [watch('editable')];\n _handleInvalidChange_decorators = [watch('invalid')];\n _handleOpenChange_decorators = [watch('open')];\n _dispatchChangeEvent_decorators = [dispatch('select-change', { bubbles: true, composed: true })];\n _dispatchOpenEvent_decorators = [dispatch('select-open', { bubbles: true, composed: true })];\n _dispatchCloseEvent_decorators = [dispatch('select-close', { bubbles: true, composed: true })];\n __esDecorate(this, null, _performRemoteSearch_decorators, { kind: \"method\", name: \"performRemoteSearch\", static: false, private: false, access: { has: obj => \"performRemoteSearch\" in obj, get: obj => obj.performRemoteSearch }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onReconnect_decorators, { kind: \"method\", name: \"onReconnect\", static: false, private: false, access: { has: obj => \"onReconnect\" in obj, get: obj => obj.onReconnect }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDefaultValueChange_decorators, { kind: \"method\", name: \"handleDefaultValueChange\", static: false, private: false, access: { has: obj => \"handleDefaultValueChange\" in obj, get: obj => obj.handleDefaultValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleOptionsPropertyChange_decorators, { kind: \"method\", name: \"handleOptionsPropertyChange\", static: false, private: false, access: { has: obj => \"handleOptionsPropertyChange\" in obj, get: obj => obj.handleOptionsPropertyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValidationConfigurationChange_decorators, { kind: \"method\", name: \"handleValidationConfigurationChange\", static: false, private: false, access: { has: obj => \"handleValidationConfigurationChange\" in obj, get: obj => obj.handleValidationConfigurationChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValidationAnchorChange_decorators, { kind: \"method\", name: \"handleValidationAnchorChange\", static: false, private: false, access: { has: obj => \"handleValidationAnchorChange\" in obj, get: obj => obj.handleValidationAnchorChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleInvalidChange_decorators, { kind: \"method\", name: \"handleInvalidChange\", static: false, private: false, access: { has: obj => \"handleInvalidChange\" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleOpenChange_decorators, { kind: \"method\", name: \"handleOpenChange\", static: false, private: false, access: { has: obj => \"handleOpenChange\" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: \"method\", name: \"dispatchOpenEvent\", static: false, private: false, access: { has: obj => \"dispatchOpenEvent\" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: \"method\", name: \"dispatchCloseEvent\", static: false, private: false, access: { has: obj => \"dispatchCloseEvent\" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _valueState_decorators, { kind: \"field\", name: \"valueState\", static: false, private: false, access: { has: obj => \"valueState\" in obj, get: obj => obj.valueState, set: (obj, value) => { obj.valueState = value; } }, metadata: _metadata }, _valueState_initializers, _valueState_extraInitializers);\n __esDecorate(null, null, _formDisabled_decorators, { kind: \"field\", name: \"formDisabled\", static: false, private: false, access: { has: obj => \"formDisabled\" in obj, get: obj => obj.formDisabled, set: (obj, value) => { obj.formDisabled = value; } }, metadata: _metadata }, _formDisabled_initializers, _formDisabled_extraInitializers);\n __esDecorate(null, null, _constraintInvalid_decorators, { kind: \"field\", name: \"constraintInvalid\", static: false, private: false, access: { has: obj => \"constraintInvalid\" in obj, get: obj => obj.constraintInvalid, set: (obj, value) => { obj.constraintInvalid = value; } }, metadata: _metadata }, _constraintInvalid_initializers, _constraintInvalid_extraInitializers);\n __esDecorate(null, null, _defaultValue_decorators, { kind: \"field\", name: \"defaultValue\", static: false, private: false, access: { has: obj => \"defaultValue\" in obj, get: obj => obj.defaultValue, set: (obj, value) => { obj.defaultValue = value; } }, metadata: _metadata }, _defaultValue_initializers, _defaultValue_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _required_decorators, { kind: \"field\", name: \"required\", static: false, private: false, access: { has: obj => \"required\" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);\n __esDecorate(null, null, _invalid_decorators, { kind: \"field\", name: \"invalid\", static: false, private: false, access: { has: obj => \"invalid\" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);\n __esDecorate(null, null, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _multiple_decorators, { kind: \"field\", name: \"multiple\", static: false, private: false, access: { has: obj => \"multiple\" in obj, get: obj => obj.multiple, set: (obj, value) => { obj.multiple = value; } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _allowFreeText_decorators, { kind: \"field\", name: \"allowFreeText\", static: false, private: false, access: { has: obj => \"allowFreeText\" in obj, get: obj => obj.allowFreeText, set: (obj, value) => { obj.allowFreeText = value; } }, metadata: _metadata }, _allowFreeText_initializers, _allowFreeText_extraInitializers);\n __esDecorate(null, null, _editable_decorators, { kind: \"field\", name: \"editable\", static: false, private: false, access: { has: obj => \"editable\" in obj, get: obj => obj.editable, set: (obj, value) => { obj.editable = value; } }, metadata: _metadata }, _editable_initializers, _editable_extraInitializers);\n __esDecorate(null, null, _remote_decorators, { kind: \"field\", name: \"remote\", static: false, private: false, access: { has: obj => \"remote\" in obj, get: obj => obj.remote, set: (obj, value) => { obj.remote = value; } }, metadata: _metadata }, _remote_initializers, _remote_extraInitializers);\n __esDecorate(null, null, _searchDebounce_decorators, { kind: \"field\", name: \"searchDebounce\", static: false, private: false, access: { has: obj => \"searchDebounce\" in obj, get: obj => obj.searchDebounce, set: (obj, value) => { obj.searchDebounce = value; } }, metadata: _metadata }, _searchDebounce_initializers, _searchDebounce_extraInitializers);\n __esDecorate(null, null, _open_decorators, { kind: \"field\", name: \"open\", static: false, private: false, access: { has: obj => \"open\" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _helperText_decorators, { kind: \"field\", name: \"helperText\", static: false, private: false, access: { has: obj => \"helperText\" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);\n __esDecorate(null, null, _errorText_decorators, { kind: \"field\", name: \"errorText\", static: false, private: false, access: { has: obj => \"errorText\" in obj, get: obj => obj.errorText, set: (obj, value) => { obj.errorText = value; } }, metadata: _metadata }, _errorText_initializers, _errorText_extraInitializers);\n __esDecorate(null, null, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);\n __esDecorate(null, null, _maxHeight_decorators, { kind: \"field\", name: \"maxHeight\", static: false, private: false, access: { has: obj => \"maxHeight\" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);\n __esDecorate(null, null, _options_decorators, { kind: \"field\", name: \"options\", static: false, private: false, access: { has: obj => \"options\" in obj, get: obj => obj.options, set: (obj, value) => { obj.options = value; } }, metadata: _metadata }, _options_initializers, _options_extraInitializers);\n __esDecorate(null, null, _trigger_decorators, { kind: \"field\", name: \"trigger\", static: false, private: false, access: { has: obj => \"trigger\" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);\n __esDecorate(null, null, _dropdown_decorators, { kind: \"field\", name: \"dropdown\", static: false, private: false, access: { has: obj => \"dropdown\" in obj, get: obj => obj.dropdown, set: (obj, value) => { obj.dropdown = value; } }, metadata: _metadata }, _dropdown_initializers, _dropdown_extraInitializers);\n __esDecorate(null, null, _valueDisplay_decorators, { kind: \"field\", name: \"valueDisplay\", static: false, private: false, access: { has: obj => \"valueDisplay\" in obj, get: obj => obj.valueDisplay, set: (obj, value) => { obj.valueDisplay = value; } }, metadata: _metadata }, _valueDisplay_initializers, _valueDisplay_extraInitializers);\n __esDecorate(null, null, _labelElement_decorators, { kind: \"field\", name: \"labelElement\", static: false, private: false, access: { has: obj => \"labelElement\" in obj, get: obj => obj.labelElement, set: (obj, value) => { obj.labelElement = value; } }, metadata: _metadata }, _labelElement_initializers, _labelElement_extraInitializers);\n __esDecorate(null, null, _searchInput_decorators, { kind: \"field\", name: \"searchInput\", static: false, private: false, access: { has: obj => \"searchInput\" in obj, get: obj => obj.searchInput, set: (obj, value) => { obj.searchInput = value; } }, metadata: _metadata }, _searchInput_initializers, _searchInput_extraInitializers);\n __esDecorate(null, null, _optionsList_decorators, { kind: \"field\", name: \"optionsList\", static: false, private: false, access: { has: obj => \"optionsList\" in obj, get: obj => obj.optionsList, set: (obj, value) => { obj.optionsList = value; } }, metadata: _metadata }, _optionsList_initializers, _optionsList_extraInitializers);\n __esDecorate(null, null, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _arrow_decorators, { kind: \"field\", name: \"arrow\", static: false, private: false, access: { has: obj => \"arrow\" in obj, get: obj => obj.arrow, set: (obj, value) => { obj.arrow = value; } }, metadata: _metadata }, _arrow_initializers, _arrow_extraInitializers);\n __esDecorate(null, null, _searchContainer_decorators, { kind: \"field\", name: \"searchContainer\", static: false, private: false, access: { has: obj => \"searchContainer\" in obj, get: obj => obj.searchContainer, set: (obj, value) => { obj.searchContainer = value; } }, metadata: _metadata }, _searchContainer_initializers, _searchContainer_extraInitializers);\n __esDecorate(null, null, _editableInput_decorators, { kind: \"field\", name: \"editableInput\", static: false, private: false, access: { has: obj => \"editableInput\" in obj, get: obj => obj.editableInput, set: (obj, value) => { obj.editableInput = value; } }, metadata: _metadata }, _editableInput_initializers, _editableInput_extraInitializers);\n __esDecorate(null, null, _optionElements_decorators, { kind: \"field\", name: \"optionElements\", static: false, private: false, access: { has: obj => \"optionElements\" in obj, get: obj => obj.optionElements, set: (obj, value) => { obj.optionElements = value; } }, metadata: _metadata }, _optionElements_initializers, _optionElements_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n constructor() {\n super();\n this.internals = __runInitializers(this, _instanceExtraInitializers);\n this.dirtyValue = false;\n this.valueState = __runInitializers(this, _valueState_initializers, '');\n this.formDisabled = (__runInitializers(this, _valueState_extraInitializers), __runInitializers(this, _formDisabled_initializers, false));\n this.constraintInvalid = (__runInitializers(this, _formDisabled_extraInitializers), __runInitializers(this, _constraintInvalid_initializers, false));\n this.customValidationMessage = (__runInitializers(this, _constraintInvalid_extraInitializers), '');\n /** The `value` content attribute and form-reset default. */\n this.defaultValue = __runInitializers(this, _defaultValue_initializers, '');\n this.disabled = (__runInitializers(this, _defaultValue_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.required = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.readonly = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.multiple = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _multiple_initializers, false));\n this.searchable = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.clearable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.allowFreeText = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _allowFreeText_initializers, false));\n this.editable = (__runInitializers(this, _allowFreeText_extraInitializers), __runInitializers(this, _editable_initializers, false));\n this.remote = (__runInitializers(this, _editable_extraInitializers), __runInitializers(this, _remote_initializers, false));\n this.searchDebounce = (__runInitializers(this, _remote_extraInitializers), __runInitializers(this, _searchDebounce_initializers, 300));\n /** Public HTML attribute (`<snice-select open>`); reflects open state. */\n this.open = (__runInitializers(this, _searchDebounce_extraInitializers), __runInitializers(this, _open_initializers, false));\n this.size = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.name = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.label = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));\n this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));\n this.placeholder = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Select an option'));\n this.descId = (__runInitializers(this, _placeholder_extraInitializers), `snice-select-desc-${Math.random().toString(36).slice(2, 10)}`);\n this.maxHeight = __runInitializers(this, _maxHeight_initializers, '200px');\n this.options = (__runInitializers(this, _maxHeight_extraInitializers), __runInitializers(this, _options_initializers, []));\n // Options read from child snice-option elements\n this.childOptions = (__runInitializers(this, _options_extraInitializers), []);\n this.trigger = __runInitializers(this, _trigger_initializers, void 0);\n this.dropdown = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _dropdown_initializers, void 0));\n this.valueDisplay = (__runInitializers(this, _dropdown_extraInitializers), __runInitializers(this, _valueDisplay_initializers, void 0));\n this.labelElement = (__runInitializers(this, _valueDisplay_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.searchInput = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _searchInput_initializers, void 0));\n this.optionsList = (__runInitializers(this, _searchInput_extraInitializers), __runInitializers(this, _optionsList_initializers, void 0));\n this.clearButton = (__runInitializers(this, _optionsList_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.arrow = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _arrow_initializers, void 0));\n this.searchContainer = (__runInitializers(this, _arrow_extraInitializers), __runInitializers(this, _searchContainer_initializers, void 0));\n this.editableInput = (__runInitializers(this, _searchContainer_extraInitializers), __runInitializers(this, _editableInput_initializers, void 0));\n this.optionElements = (__runInitializers(this, _editableInput_extraInitializers), __runInitializers(this, _optionElements_initializers, void 0));\n this.filteredOptions = (__runInitializers(this, _optionElements_extraInitializers), []);\n this.selectedValues = new Set();\n this.focusedIndex = -1;\n this.editableInputValue = '';\n this.remoteSearchTimeout = 0;\n this.remoteSearching = false;\n if (typeof this.attachInternals == 'function') {\n this.internals = this.attachInternals();\n }\n this.labelAssociation = new FormLabelAssociation(this, () => this.internals, () => this.editable ? this.editableInput : this.trigger, () => this.label || 'Select');\n }\n /**\n * Live selected value(s). Assignments do not rewrite the reset default.\n * @public\n */\n get value() {\n return this.valueState;\n }\n set value(value) {\n this.setValue(value, true);\n }\n formAssociatedCallback() {\n this.syncFormState();\n }\n formResetCallback() {\n this.dirtyValue = false;\n this.applyDefaultValue();\n this.resetTransientState();\n }\n formDisabledCallback(disabled) {\n this.formDisabled = disabled;\n if (disabled && this.isOpen)\n this.closeDropdown();\n this.syncValidity();\n }\n formStateRestoreCallback(state) {\n if (typeof state === 'string') {\n this.setValue(state, true);\n this.resetTransientState();\n }\n }\n /** Convention: `open` is a command, `isOpen` is the state. Read-only alias. */\n get isOpen() {\n return this.open;\n }\n get interactionDisabled() {\n return this.disabled || this.formDisabled || this.loading;\n }\n /** Merged options: programmatic `options` array + child `<snice-option>` elements */\n get mergedOptions() {\n // Child options take precedence if both provided (slot wins)\n if (this.childOptions.length > 0 && this.options.length > 0) {\n // Merge: children first, then programmatic options not already present\n const childValues = new Set(this.childOptions.map(o => o.value));\n return [...this.childOptions, ...this.options.filter(o => !childValues.has(o.value))];\n }\n return this.childOptions.length > 0 ? this.childOptions : this.options;\n }\n /**\n * Options that user interactions resolve against. Remote mode renders the\n * dropdown from `filteredOptions` (server results) while `mergedOptions`\n * stays empty, so selection, display, and sync-back must look in both.\n */\n get resolvableOptions() {\n if (!this.remote)\n return this.mergedOptions;\n const merged = this.mergedOptions;\n const mergedValues = new Set(merged.map(o => o.value));\n return [...this.filteredOptions.filter(o => !mergedValues.has(o.value)), ...merged];\n }\n async *performRemoteSearch(query) {\n this.remoteSearching = true;\n this.updateDropdownContent();\n try {\n const params = { query, select: this };\n const response = await (yield params);\n this.remoteSearching = false;\n this.filteredOptions = response || [];\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n catch {\n this.remoteSearching = false;\n this.filteredOptions = [];\n this.updateDropdownContent();\n }\n }\n scheduleRemoteSearch(query) {\n clearTimeout(this.remoteSearchTimeout);\n this.remoteSearchTimeout = window.setTimeout(() => {\n this.performRemoteSearch(query);\n }, this.searchDebounce);\n }\n render() {\n const displayedInvalid = this.invalid || this.constraintInvalid;\n const labelClasses = `select-label select-label--${this.size} ${this.required ? 'select-label--required' : ''}`;\n const triggerClasses = `select-trigger select-trigger--${this.size} ${this.loading ? 'select-trigger--loading' : ''} ${this.editable ? 'select-trigger--editable' : ''}`;\n const searchHidden = !this.searchable || this.editable;\n const accessibleName = this.labelAssociation.accessibleName;\n const optionsName = accessibleName ? `${accessibleName} options` : 'Options';\n return html /*html*/ `\n <div class=\"select-wrapper\">\n <label class=\"${labelClasses}\" part=\"label\" ?hidden=\"${!this.label}\" @click=\"${() => this.focus()}\">\n ${this.label}\n </label>\n\n <if ${this.editable}>\n <div class=\"select-editable-container\">\n <input\n type=\"text\"\n class=\"select-editable-input select-editable-input--${this.size}\"\n placeholder=\"${this.placeholder}\"\n ?disabled=\"${this.interactionDisabled}\"\n ?readonly=\"${this.readonly}\"\n autocomplete=\"off\"\n role=\"combobox\"\n aria-expanded=\"${this.isOpen ? 'true' : 'false'}\"\n aria-autocomplete=\"list\"\n aria-label=\"${accessibleName}\"\n aria-describedby=\"${(this.errorText || this.helperText) ? this.descId : ''}\"\n aria-invalid=\"${displayedInvalid ? 'true' : 'false'}\"\n part=\"input\"\n @input=\"${(e) => this.handleEditableInput(e)}\"\n @focus=\"${() => this.handleEditableFocus()}\"\n @blur=\"${(e) => this.handleEditableBlur(e)}\"\n @keydown=\"${(e) => this.handleEditableKeydown(e)}\"\n @click=\"${() => this.handleEditableClick()}\"\n />\n <span class=\"select-editable-arrow\" part=\"arrow\"\n @mousedown=\"${(e) => this.handleEditableArrowClick(e)}\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </div>\n </if>\n\n <if ${!this.editable}>\n <button\n type=\"button\"\n class=\"${triggerClasses}\"\n .disabled=${this.interactionDisabled}\n aria-haspopup=\"listbox\"\n aria-expanded=\"${this.isOpen ? 'true' : 'false'}\"\n aria-label=\"${accessibleName}\"\n aria-describedby=\"${(this.errorText || this.helperText) ? this.descId : ''}\"\n aria-invalid=\"${displayedInvalid ? 'true' : 'false'}\"\n part=\"trigger\"\n @keydown=\"${(e) => this.handleTriggerOpen(e)}\"\n @click=\"${(e) => this.handleTriggerClick(e)}\">\n\n <div class=\"select-value\" part=\"value\">\n <span class=\"select-placeholder\">${this.placeholder}</span>\n </div>\n\n <span class=\"select-icons\">\n <span role=\"button\" tabindex=\"${this.interactionDisabled ? -1 : 0}\" class=\"select-clear\" aria-label=\"Clear selection\" aria-disabled=\"${this.interactionDisabled ? 'true' : 'false'}\" style=\"display: none;\" @click=\"${(e) => this.handleClearClick(e)}\" @keydown=\"${(e) => { if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handleClearClick(e);\n } }}\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\"/>\n </svg>\n </span>\n <if ${this.loading}>\n <span class=\"select-spinner\" part=\"spinner\"></span>\n </if>\n <if ${!this.loading}>\n <span class=\"select-arrow\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </if>\n </span>\n </button>\n </if>\n\n <div class=\"select-dropdown\"\n role=\"listbox\"\n aria-label=\"${optionsName}\"\n part=\"dropdown\"\n @mousedown=\"${(e) => this.handleDropdownMousedown(e)}\"\n @click=\"${(e) => this.handleOptionsClick(e)}\">\n\n <div class=\"select-search\" part=\"search\" ?hidden=\"${searchHidden}\">\n <input\n type=\"text\"\n class=\"select-search-input\"\n .disabled=${this.interactionDisabled}\n placeholder=\"Search...\"\n aria-label=\"Search options\"\n part=\"search-input\"\n @keydown=\"${(e) => this.handleSearchKeydown(e)}\"\n @input=\"${(e) => this.handleSearchInput(e)}\" />\n </div>\n\n <div class=\"select-options\" part=\"options\">\n <!-- Dynamic options expose part=\"option\" and render in @ready(). -->\n </div>\n </div>\n\n <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>\n <when value=\"error\">\n <span class=\"select-error-text\" part=\"error-text\" id=\"${this.descId}\" role=\"alert\">${this.errorText}</span>\n </when>\n <when value=\"helper\">\n <span class=\"select-helper-text\" part=\"helper-text\" id=\"${this.descId}\">${this.helperText}</span>\n </when>\n <default></default>\n </case>\n </div>\n `;\n }\n createIcon(className, source) {\n const icon = document.createElement('img');\n icon.className = className;\n icon.setAttribute('src', source || '');\n icon.setAttribute('alt', '');\n icon.hidden = !source;\n return icon;\n }\n renderOptions() {\n const fragment = document.createDocumentFragment();\n if (this.remoteSearching) {\n const indicator = document.createElement('div');\n indicator.className = 'select-loading-indicator';\n const spinner = document.createElement('span');\n spinner.className = 'select-loading-spinner';\n const message = document.createElement('span');\n message.textContent = 'Searching...';\n indicator.append(spinner, message);\n fragment.append(indicator);\n return fragment;\n }\n const options = (this.searchable || this.editable || this.remote) ? this.filteredOptions : this.mergedOptions;\n if (options.length === 0) {\n const noOptions = document.createElement('div');\n noOptions.className = 'select-no-options';\n const noMatches = document.createElement('span');\n noMatches.className = 'select-no-options-text';\n noMatches.dataset.search = 'true';\n noMatches.hidden = !(this.searchable || this.editable || this.remote) || this.filteredOptions.length > 0;\n noMatches.textContent = 'No matches found';\n const noAvailable = document.createElement('span');\n noAvailable.className = 'select-no-options-text';\n noAvailable.dataset.search = 'false';\n noAvailable.hidden = (this.searchable || this.editable || this.remote) && this.filteredOptions.length === 0;\n noAvailable.textContent = 'No options available';\n noOptions.append(noMatches, noAvailable);\n fragment.append(noOptions);\n return fragment;\n }\n options.forEach((opt, index) => {\n const isSelected = this.multiple ?\n this.selectedValues.has(opt.value) :\n opt.value === this.value;\n const option = document.createElement('div');\n option.className = 'select-option';\n option.classList.toggle('select-option--selected', isSelected);\n option.classList.toggle('select-option--disabled', Boolean(opt.disabled));\n option.classList.toggle('select-option--focused', index === this.focusedIndex);\n option.classList.toggle('select-option--has-icon', Boolean(opt.icon));\n option.setAttribute('data-value', opt.value);\n option.setAttribute('role', 'option');\n option.setAttribute('aria-selected', String(isSelected));\n option.setAttribute('aria-disabled', String(opt.disabled));\n option.setAttribute('part', 'option');\n const check = document.createElement('span');\n check.className = 'select-option-check';\n check.setAttribute('aria-hidden', 'true');\n check.hidden = !this.multiple;\n const checkMark = document.createElement('span');\n checkMark.className = 'select-option-check-mark';\n checkMark.hidden = !isSelected;\n checkMark.textContent = '✓';\n check.append(checkMark);\n const label = document.createElement('span');\n label.className = 'select-option-label';\n label.textContent = opt.label;\n option.append(check, this.createIcon('select-option-icon', opt.icon), label);\n fragment.append(option);\n });\n return fragment;\n }\n styles() {\n return css `${cssContent}`;\n }\n init() {\n // Read options from child snice-option elements\n this.readOptionsFromChildren();\n if (Object.prototype.hasOwnProperty.call(this, 'value')) {\n const value = this.value;\n delete this.value;\n this.value = String(value ?? '');\n }\n else if (!this.dirtyValue) {\n this.applyDefaultValue();\n }\n // Initialize selected values\n if (this.multiple && this.value) {\n this.selectedValues = new Set(this.value.split(',').map(v => v.trim()));\n }\n // Initialize filtered options\n this.filteredOptions = [...this.mergedOptions];\n // Set initial form value\n this.syncFormState();\n if (this.editable) {\n this.syncEditableInputToValue();\n this.updateEditableState();\n }\n else {\n // Set initial imperative state\n this.updateTriggerState();\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.updateDropdownState();\n this.updateDropdownContent();\n // Watch for changes to child options\n this.observeChildren();\n // Setup global event listeners\n this.setupGlobalListeners();\n this.labelAssociation.connect();\n }\n applyDefaultValue() {\n this.setValue(this.defaultValue, false);\n }\n setValue(value, dirty) {\n if (dirty)\n this.dirtyValue = true;\n this.valueState = String(value ?? '');\n this.syncRenderedValue();\n this.syncFormState();\n }\n syncRenderedValue() {\n if (this.multiple) {\n this.selectedValues = new Set(this.value ? this.value.split(',').map(value => value.trim()) : []);\n }\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n else {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n }\n resetTransientState() {\n clearTimeout(this.remoteSearchTimeout);\n this.open = false;\n this.focusedIndex = -1;\n this.filteredOptions = [...this.mergedOptions];\n if (this.searchInput)\n this.searchInput.value = '';\n this.syncRenderedValue();\n this.updateDropdownContent();\n }\n syncFormValue() {\n applyElementInternalsFormValue(this.internals, this.value, this.value);\n }\n get validationProxy() {\n if (!this.validationInput)\n this.validationInput = document.createElement('input');\n return this.validationInput;\n }\n syncFormState() {\n this.syncFormValue();\n this.syncValidity();\n }\n syncValidity() {\n const barred = this.interactionDisabled || this.readonly;\n const valueMissing = !barred && this.required && (this.multiple ? this.selectedValues.size === 0 : this.value === '');\n const flags = barred ? {} : {\n customError: Boolean(this.customValidationMessage),\n valueMissing\n };\n const hasError = hasValidityError(flags);\n const message = this.customValidationMessage ||\n (valueMissing ? 'Please select an option.' : '') ||\n (hasError ? 'Please select a valid option.' : '');\n this.constraintInvalid = hasError;\n const displayedInvalid = this.invalid || hasError;\n const anchor = this.editable ? this.editableInput : this.trigger;\n this.validationProxy.setCustomValidity(hasError ? message : '');\n this.trigger?.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger?.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.editableInput?.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput?.classList.toggle('select-editable-input--invalid', displayedInvalid);\n applyElementInternalsValidity(this.internals, flags, message, anchor);\n }\n onReconnect() {\n this.setupGlobalListeners();\n this.observeChildren();\n this.labelAssociation.connect();\n }\n cleanup() {\n this.removeGlobalListeners();\n this.childObserver?.disconnect();\n this.labelAssociation.disconnect();\n }\n setupGlobalListeners() {\n // Create bound handlers\n this.outsideClickHandler = (e) => {\n if (!this.isOpen)\n return;\n const path = e.composedPath();\n const associatedLabelClicked = Array.from(this.labels || [])\n .some(label => path.includes(label));\n if (path.includes(this) || associatedLabelClicked)\n return;\n if (this.editable) {\n this.commitEditableValue();\n }\n this.closeDropdown();\n };\n this.globalKeyHandler = (e) => {\n if (!this.isOpen || this.editable)\n return;\n // When focus is in the search input, Space must type a space, not\n // commit the focused option. Other keys (Arrow/Enter/Escape) still\n // navigate options as expected.\n const targetIsSearchInput = e.composedPath()[0] === this.searchInput;\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n case ' ':\n if (e.key === ' ' && targetIsSearchInput)\n return;\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.mergedOptions;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n };\n // Add listeners\n document.addEventListener('click', this.outsideClickHandler);\n document.addEventListener('keydown', this.globalKeyHandler);\n }\n removeGlobalListeners() {\n if (this.outsideClickHandler) {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n if (this.globalKeyHandler) {\n document.removeEventListener('keydown', this.globalKeyHandler);\n }\n }\n // Manual observation of light DOM children (snice-option elements)\n observeChildren() {\n const observer = new MutationObserver((mutations) => {\n this.handleChildrenChange(mutations);\n });\n // Observe the host element (this) for changes to its light DOM children\n observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['value', 'label', 'disabled', 'selected']\n });\n // Store for cleanup\n this.childObserver = observer;\n }\n handleChildrenChange(mutations) {\n // Check if any of the mutations are relevant (snice-option elements or their attributes)\n const relevant = mutations.some(m => {\n if (m.type === 'childList')\n return true;\n if (m.type === 'attributes' && ['value', 'label', 'disabled', 'selected'].includes(m.attributeName)) {\n return m.target.nodeName === 'SNICE-OPTION';\n }\n return false;\n });\n if (relevant) {\n this.readOptionsFromChildren();\n this.filteredOptions = [...this.mergedOptions];\n if (!this.editable) {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.updateDropdownContent();\n }\n }\n readOptionsFromChildren() {\n // Get all snice-option children from light DOM\n const optionElements = Array.from(this.querySelectorAll('snice-option'));\n this.childOptions = optionElements.map(opt => {\n const sniceOption = opt;\n // Use the optionData getter if available, otherwise construct from properties\n if (sniceOption.optionData) {\n return sniceOption.optionData;\n }\n return {\n value: opt.getAttribute('value') || '',\n label: opt.getAttribute('label') || opt.textContent?.trim() || '',\n disabled: opt.hasAttribute('disabled'),\n selected: opt.hasAttribute('selected')\n };\n });\n }\n // ── Editable mode handlers ──\n handleEditableInput(e) {\n const input = e.target;\n this.editableInputValue = input.value;\n // Filter options as user types\n this.filterEditableOptions(this.editableInputValue);\n if (!this.isOpen) {\n this.openDropdown();\n }\n }\n handleEditableFocus() {\n if (!this.isOpen && !this.readonly) {\n this.openDropdown();\n }\n }\n handleEditableBlur(e) {\n // Delay close to allow option clicks via mousedown\n setTimeout(() => {\n if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n }, 200);\n }\n handleEditableClick() {\n if (!this.isOpen && !this.interactionDisabled && !this.readonly) {\n this.openDropdown();\n }\n }\n handleEditableArrowClick(e) {\n e.preventDefault();\n e.stopPropagation();\n if (this.interactionDisabled || this.readonly)\n return;\n if (this.isOpen) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n this.editableInput?.focus();\n }\n }\n handleEditableKeydown(e) {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n }\n else {\n this.focusNextOption();\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (this.isOpen) {\n this.focusPreviousOption();\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (this.isOpen && this.focusedIndex >= 0) {\n const option = this.filteredOptions[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleEditableOptionSelect(option);\n }\n }\n else if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n break;\n case 'Escape':\n if (this.isOpen) {\n this.closeDropdown();\n this.syncEditableInputToValue();\n }\n break;\n case 'Tab':\n if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n break;\n }\n }\n handleEditableOptionSelect(option) {\n this.value = option.value;\n this.editableInputValue = option.label;\n if (this.editableInput) {\n this.editableInput.value = option.label;\n }\n this.closeDropdown();\n this.dispatchChangeEvent(option);\n this.editableInput?.focus();\n }\n commitEditableValue() {\n if (!this.editableInput)\n return;\n const inputText = this.editableInput.value.trim();\n // Try to match an existing option\n const allOptions = this.mergedOptions;\n const match = allOptions.find(opt => opt.label.toLowerCase() === inputText.toLowerCase());\n if (match) {\n this.value = match.value;\n this.editableInputValue = match.label;\n this.editableInput.value = match.label;\n this.dispatchChangeEvent(match);\n }\n else if (this.allowFreeText && inputText) {\n this.value = inputText;\n this.editableInputValue = inputText;\n this.dispatchChangeEvent();\n }\n else {\n // Revert to current value\n this.syncEditableInputToValue();\n }\n }\n filterEditableOptions(query) {\n if (this.remote) {\n this.scheduleRemoteSearch(query);\n return;\n }\n const allOptions = this.mergedOptions;\n if (!query) {\n this.filteredOptions = [...allOptions];\n }\n else {\n const lower = query.toLowerCase();\n this.filteredOptions = allOptions.filter(opt => opt.label.toLowerCase().includes(lower));\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n syncEditableInputToValue() {\n if (!this.editableInput)\n return;\n if (this.value) {\n const match = this.resolvableOptions.find(opt => opt.value === this.value);\n if (match) {\n this.editableInput.value = match.label;\n this.editableInputValue = match.label;\n }\n else if (this.allowFreeText) {\n this.editableInput.value = this.value;\n this.editableInputValue = this.value;\n }\n else {\n this.editableInput.value = '';\n this.editableInputValue = '';\n }\n }\n else {\n this.editableInput.value = '';\n this.editableInputValue = '';\n }\n }\n updateEditableState() {\n if (!this.editableInput)\n return;\n this.editableInput.setAttribute('aria-expanded', String(this.isOpen));\n this.editableInput.classList.toggle('select-editable-input--open', this.isOpen);\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.editableInput.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput.classList.toggle('select-editable-input--invalid', displayedInvalid);\n }\n // ── Dropdown mousedown (prevents blur in editable mode) ──\n handleDropdownMousedown(e) {\n if (this.editable) {\n e.preventDefault();\n }\n }\n // ── Standard (non-editable) mode handlers ──\n handleTriggerOpen(e) {\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n }\n }\n }\n handleSearchKeydown(e) {\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.mergedOptions;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n }\n focusNextOption() {\n const options = (this.searchable || this.editable) ? this.filteredOptions : this.mergedOptions;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n }\n this.updateOptionFocus();\n }\n focusPreviousOption() {\n const options = (this.searchable || this.editable) ? this.filteredOptions : this.mergedOptions;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n }\n this.updateOptionFocus();\n }\n updateOptionFocus() {\n if (this.optionElements) {\n this.optionElements.forEach((el, index) => {\n el.classList.toggle('select-option--focused', index === this.focusedIndex);\n });\n // Scroll focused option into view\n const focusedEl = this.optionElements?.[this.focusedIndex];\n if (focusedEl) {\n focusedEl.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n handleClearClick(e) {\n if (this.interactionDisabled || this.readonly)\n return;\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }\n handleTriggerClick(e) {\n const target = e.target;\n // Don't toggle if clicking on the clear button\n if (target.closest('.select-clear')) {\n return;\n }\n e.stopPropagation();\n if (!this.interactionDisabled && !this.readonly) {\n this.toggleDropdown();\n }\n }\n handleOptionsClick(e) {\n if (this.interactionDisabled || this.readonly)\n return;\n const target = e.target;\n // Handle tag remove click\n if (target.closest('.select-tag-remove')) {\n e.stopPropagation();\n const removeBtn = target.closest('.select-tag-remove');\n const value = removeBtn.getAttribute('data-value');\n if (value && this.multiple) {\n this.selectedValues.delete(value);\n this.value = Array.from(this.selectedValues).join(',');\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n return;\n }\n const optionEl = target.closest('.select-option');\n if (!optionEl)\n return;\n e.stopPropagation();\n const value = optionEl.getAttribute('data-value');\n if (!value)\n return;\n const option = this.resolvableOptions.find(opt => opt.value === value);\n if (option && !option.disabled) {\n if (this.editable) {\n this.handleEditableOptionSelect(option);\n }\n else {\n this.handleOptionSelect(option);\n }\n }\n }\n handleSearchInput(e) {\n const input = e.target;\n const searchTerm = input.value;\n if (this.remote) {\n this.scheduleRemoteSearch(searchTerm);\n return;\n }\n const lower = searchTerm.toLowerCase();\n if (lower) {\n this.filteredOptions = this.mergedOptions.filter(opt => opt.label.toLowerCase().includes(lower));\n }\n else {\n this.filteredOptions = [...this.mergedOptions];\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n handleOptionSelect(option) {\n if (this.multiple) {\n if (this.selectedValues.has(option.value)) {\n this.selectedValues.delete(option.value);\n }\n else {\n this.selectedValues.add(option.value);\n }\n this.value = Array.from(this.selectedValues).join(',');\n this.updateDropdownContent();\n }\n else {\n this.value = option.value;\n this.closeDropdown();\n }\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent(option);\n }\n handleValueChange() {\n this.syncRenderedValue();\n this.syncFormState();\n }\n handleDefaultValueChange() {\n if (!this.dirtyValue)\n this.applyDefaultValue();\n }\n handleOptionsPropertyChange() {\n this.filteredOptions = [...this.mergedOptions];\n this.updateDropdownContent();\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n }\n handleDisabledChange() {\n if (!this.editable) {\n this.updateTriggerState();\n this.updateClearButton();\n }\n // Side effect: close dropdown when disabled\n if (this.interactionDisabled && this.isOpen && !this.remote) {\n this.closeDropdown();\n }\n this.syncValidity();\n }\n handleValidationConfigurationChange() {\n this.syncRenderedValue();\n this.syncValidity();\n }\n handleValidationAnchorChange() {\n queueMicrotask(() => {\n const rendered = this.rendered;\n void rendered.then(() => {\n if (!this.isConnected)\n return;\n this.syncRenderedValue();\n this.syncValidity();\n this.labelAssociation.sync();\n });\n });\n }\n handleInvalidChange() {\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.trigger?.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger?.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.editableInput?.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput?.classList.toggle('select-editable-input--invalid', displayedInvalid);\n }\n handleOpenChange() {\n this.updateDropdownState();\n if (this.editable) {\n this.updateEditableState();\n if (this.isOpen) {\n if (this.remote) {\n // Trigger remote search with current input\n const query = this.editableInput?.value || '';\n this.scheduleRemoteSearch(query);\n }\n else {\n // Reset filter to show all options when opening\n this.filteredOptions = [...this.mergedOptions];\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n }\n if (!this.isOpen) {\n this.focusedIndex = -1;\n }\n }\n else {\n this.updateTriggerState();\n // Side effect: focus search input when opened\n if (this.isOpen && this.searchable && this.searchInput) {\n setTimeout(() => this.searchInput?.focus(), 100);\n }\n // Side effect: trigger initial remote search on open\n if (this.isOpen && this.remote && this.searchable) {\n const query = this.searchInput?.value || '';\n this.scheduleRemoteSearch(query);\n }\n // Side effect: reset search when closed\n if (!this.isOpen) {\n this.focusedIndex = -1;\n if (this.searchInput) {\n this.searchInput.value = '';\n this.filteredOptions = [...this.mergedOptions];\n this.updateDropdownContent();\n }\n }\n }\n }\n updateValueDisplay() {\n if (!this.valueDisplay)\n return;\n const allOptions = this.resolvableOptions;\n const selectedOptions = allOptions.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n if (this.multiple && selectedOptions.length > 0) {\n const values = document.createElement('div');\n values.className = 'select-value--multiple';\n selectedOptions.forEach(opt => {\n const tag = document.createElement('span');\n tag.className = 'select-tag';\n const removeButton = document.createElement('span');\n removeButton.className = 'select-tag-remove';\n removeButton.setAttribute('data-value', opt.value);\n removeButton.setAttribute('aria-label', `Remove ${opt.label}`);\n removeButton.hidden = this.interactionDisabled || this.readonly;\n removeButton.textContent = '×';\n tag.append(this.createIcon('select-tag-icon', opt.icon), document.createTextNode(opt.label), removeButton);\n values.append(tag);\n });\n this.valueDisplay.replaceChildren(values);\n }\n else if (selectedOptions.length > 0) {\n const selected = selectedOptions[0];\n const value = document.createElement('div');\n value.className = 'select-value--single';\n const label = document.createElement('span');\n label.textContent = selected.label;\n value.append(this.createIcon('select-value-icon', selected.icon), label);\n this.valueDisplay.replaceChildren(value);\n }\n else {\n const placeholder = document.createElement('span');\n placeholder.className = 'select-placeholder';\n placeholder.textContent = this.placeholder;\n this.valueDisplay.replaceChildren(placeholder);\n }\n }\n updateClearButton() {\n if (!this.clearButton)\n return;\n const allOptions = this.resolvableOptions;\n const selectedOptions = allOptions.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n const shouldShow = this.clearable && selectedOptions.length > 0 && !this.interactionDisabled && !this.readonly;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n }\n updateDropdownContent() {\n if (!this.optionsList)\n return;\n this.optionsList.replaceChildren(this.renderOptions());\n }\n dispatchChangeEvent(option) {\n return {\n value: this.multiple ? Array.from(this.selectedValues) : this.value,\n option,\n select: this\n };\n }\n dispatchOpenEvent() {\n return { select: this };\n }\n dispatchCloseEvent() {\n return { select: this };\n }\n // Public API\n focus() {\n if (this.editable) {\n this.editableInput?.focus();\n }\n else {\n this.trigger?.focus();\n }\n }\n /** Native-compatible select type. @public */\n get type() {\n return this.multiple ? 'select-multiple' : 'select-one';\n }\n /** Owning form, including association through a `form` attribute. @public */\n get form() {\n return findFormOwner(this, this.internals);\n }\n /** Current constraint-validation state. @public */\n get validity() {\n return this.internals?.validity ?? this.validationProxy.validity;\n }\n /** Current validation message. @public */\n get validationMessage() {\n return this.internals?.validationMessage ?? this.validationProxy.validationMessage;\n }\n /** Whether this select currently participates in constraint validation. @public */\n get willValidate() {\n if (this.interactionDisabled || this.readonly)\n return false;\n return this.internals?.willValidate ?? true;\n }\n /** Labels associated through wrapping `<label>` or explicit `for`/`id`. @public */\n get labels() {\n return this.labelAssociation.labels;\n }\n blur() {\n if (this.editable) {\n this.editableInput?.blur();\n }\n else {\n this.trigger?.blur();\n }\n if (this.isOpen) {\n this.closeDropdown();\n }\n }\n checkValidity() {\n this.syncValidity();\n return this.internals?.checkValidity() ?? this.validationProxy.checkValidity();\n }\n reportValidity() {\n this.syncValidity();\n return this.internals?.reportValidity() ?? this.validationProxy.reportValidity();\n }\n setCustomValidity(message) {\n this.customValidationMessage = String(message);\n this.syncValidity();\n }\n clear() {\n if (this.multiple) {\n this.selectedValues.clear();\n this.value = '';\n }\n else {\n this.value = '';\n }\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n else {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.dispatchChangeEvent();\n }\n openDropdown() {\n if (!this.isOpen && !this.interactionDisabled && !this.readonly) {\n this.open = true;\n this.dispatchOpenEvent();\n }\n }\n closeDropdown() {\n if (this.isOpen) {\n this.open = false;\n this.dispatchCloseEvent();\n }\n }\n toggleDropdown() {\n if (this.isOpen) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n }\n }\n selectOption(value) {\n const option = this.resolvableOptions.find(opt => opt.value === value);\n if (option && !option.disabled) {\n if (this.editable) {\n this.handleEditableOptionSelect(option);\n }\n else {\n this.handleOptionSelect(option);\n }\n }\n }\n updateTriggerState() {\n if (!this.trigger)\n return;\n this.trigger.classList.toggle('select-trigger--open', this.isOpen);\n this.trigger.classList.toggle('select-trigger--disabled', this.interactionDisabled);\n this.trigger.classList.toggle('select-trigger--readonly', this.readonly);\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.trigger.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.trigger.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger.classList.toggle('select-trigger--loading', this.loading);\n this.trigger.setAttribute('aria-expanded', String(this.isOpen));\n this.trigger.disabled = this.interactionDisabled;\n }\n updateDropdownState() {\n if (!this.dropdown)\n return;\n this.dropdown.classList.toggle('select-dropdown--open', this.isOpen);\n if (this.arrow) {\n this.arrow.classList.toggle('select-arrow--open', this.isOpen);\n }\n }\n });\n return _classThis;\n})();\n\nexport { SniceSelect };\n//# sourceMappingURL=snice-select.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","labelAssociationRegistries","WeakMap","normalizeAccessibleText","replace","trim","nodeContains","node","candidate","nodeType","Node","ELEMENT_NODE","contains","rootElementById","label","id","root","getRootNode","getElementById","collectLabelText","host","TEXT_NODE","nodeValue","element","hidden","getAttribute","includes","localName","Array","from","childNodes","map","child","join","labelAccessibleText","labelledBy","text","split","filter","Boolean","hasAttribute","FormLabelAssociation","constructor","getInternals","getTarget","getFallbackName","syncRelatedNames","this","connected","currentLabels","currentNamingNodes","referencedIds","Set","handleHostActivation","event","composedPath","resolveLabels","focus","preventDefault","handleLabelActivation","path","eventTarget","currentTarget","some","HTMLElement","matches","setTimeout","isConnected","labels","CSS","escape","tag","querySelectorAll","accessibleName","connect","addEventListener","bindRegistry","sync","disconnect","removeEventListener","unbindLabelActivation","releaseRegistry","clear","add","referenced","setAttribute","isAffectedBy","mutation","type","attributeName","htmlFor","has","addedNodes","removedNodes","current","DOCUMENT_NODE","ShadowRoot","labelRoot","registryRoot","registry","observedNode","documentElement","MutationObserver","existing","associations","observer","mutations","association","observe","subtree","childList","characterData","attributes","attributeFilter","ensureLabelAssociationRegistry","undefined","delete","size","validityKeys","hasValidityError","flags","_classDescriptor","_classThis","_value_decorators","_label_decorators","_disabled_decorators","_selected_decorators","_icon_decorators","_render_decorators","_styles_decorators","_init_decorators","_classDecorators","_classExtraInitializers","_classSuper","_instanceExtraInitializers","_value_initializers","_value_extraInitializers","_label_initializers","_label_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_selected_initializers","_selected_extraInitializers","_icon_initializers","_icon_extraInitializers","_metadata","Symbol","metadata","create","property","render","styles","ready","static","private","obj","disabled","selected","icon","enumerable","configurable","writable","html","css","textContent","optionData","super","_valueState_decorators","_formDisabled_decorators","_constraintInvalid_decorators","_defaultValue_decorators","_required_decorators","_invalid_decorators","_readonly_decorators","_loading_decorators","_multiple_decorators","_searchable_decorators","_clearable_decorators","_allowFreeText_decorators","_editable_decorators","_remote_decorators","_searchDebounce_decorators","_open_decorators","_size_decorators","_name_decorators","_helperText_decorators","_errorText_decorators","_placeholder_decorators","_maxHeight_decorators","_options_decorators","_trigger_decorators","_dropdown_decorators","_valueDisplay_decorators","_labelElement_decorators","_searchInput_decorators","_optionsList_decorators","_clearButton_decorators","_arrow_decorators","_searchContainer_decorators","_editableInput_decorators","_optionElements_decorators","_performRemoteSearch_decorators","_onReconnect_decorators","_cleanup_decorators","_handleValueChange_decorators","_handleDefaultValueChange_decorators","_handleOptionsPropertyChange_decorators","_handleDisabledChange_decorators","_handleValidationConfigurationChange_decorators","_handleValidationAnchorChange_decorators","_handleInvalidChange_decorators","_handleOpenChange_decorators","_dispatchChangeEvent_decorators","_dispatchOpenEvent_decorators","_dispatchCloseEvent_decorators","formAssociated","delegatesFocus","_valueState_initializers","_valueState_extraInitializers","_formDisabled_initializers","_formDisabled_extraInitializers","_constraintInvalid_initializers","_constraintInvalid_extraInitializers","_defaultValue_initializers","_defaultValue_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_loading_initializers","_loading_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_searchable_initializers","_searchable_extraInitializers","_clearable_initializers","_clearable_extraInitializers","_allowFreeText_initializers","_allowFreeText_extraInitializers","_editable_initializers","_editable_extraInitializers","_remote_initializers","_remote_extraInitializers","_searchDebounce_initializers","_searchDebounce_extraInitializers","_open_initializers","_open_extraInitializers","_size_initializers","_size_extraInitializers","_name_initializers","_name_extraInitializers","_helperText_initializers","_helperText_extraInitializers","_errorText_initializers","_errorText_extraInitializers","_placeholder_initializers","_placeholder_extraInitializers","_maxHeight_initializers","_maxHeight_extraInitializers","_options_initializers","_options_extraInitializers","_trigger_initializers","_trigger_extraInitializers","_dropdown_initializers","_dropdown_extraInitializers","_valueDisplay_initializers","_valueDisplay_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_searchInput_initializers","_searchInput_extraInitializers","_optionsList_initializers","_optionsList_extraInitializers","_clearButton_initializers","_clearButton_extraInitializers","_arrow_initializers","_arrow_extraInitializers","_searchContainer_initializers","_searchContainer_extraInitializers","_editableInput_initializers","_editableInput_extraInitializers","_optionElements_initializers","_optionElements_extraInitializers","state","attribute","Number","query","queryAll","request","reconnect","dispose","watch","dispatch","bubbles","composed","performRemoteSearch","onReconnect","cleanup","handleValueChange","handleDefaultValueChange","handleOptionsPropertyChange","handleDisabledChange","handleValidationConfigurationChange","handleValidationAnchorChange","handleInvalidChange","handleOpenChange","dispatchChangeEvent","dispatchOpenEvent","dispatchCloseEvent","valueState","formDisabled","constraintInvalid","defaultValue","required","invalid","readonly","loading","multiple","searchable","clearable","allowFreeText","editable","remote","searchDebounce","open","helperText","errorText","placeholder","maxHeight","options","trigger","dropdown","valueDisplay","labelElement","searchInput","optionsList","clearButton","arrow","searchContainer","editableInput","optionElements","internals","dirtyValue","customValidationMessage","descId","Math","random","toString","slice","childOptions","filteredOptions","selectedValues","focusedIndex","editableInputValue","remoteSearchTimeout","remoteSearching","attachInternals","labelAssociation","setValue","formAssociatedCallback","syncFormState","formResetCallback","applyDefaultValue","resetTransientState","formDisabledCallback","isOpen","closeDropdown","syncValidity","formStateRestoreCallback","interactionDisabled","mergedOptions","childValues","o","resolvableOptions","merged","mergedValues","updateDropdownContent","params","select","response","scheduleRemoteSearch","clearTimeout","window","displayedInvalid","e","handleEditableInput","handleEditableFocus","handleEditableBlur","handleEditableKeydown","handleEditableClick","handleEditableArrowClick","handleTriggerOpen","handleTriggerClick","handleClearClick","handleDropdownMousedown","handleOptionsClick","handleSearchKeydown","handleSearchInput","createIcon","className","source","document","createElement","renderOptions","fragment","createDocumentFragment","indicator","spinner","message","append","noOptions","noMatches","dataset","search","noAvailable","forEach","opt","index","isSelected","option","classList","toggle","String","check","checkMark","readOptionsFromChildren","hasOwnProperty","v","syncEditableInputToValue","updateEditableState","updateTriggerState","updateValueDisplay","updateClearButton","updateDropdownState","observeChildren","setupGlobalListeners","dirty","syncRenderedValue","syncFormValue","setFormValue","validationProxy","validationInput","barred","valueMissing","customError","hasError","anchor","setCustomValidity","setValidity","applyElementInternalsValidity","removeGlobalListeners","childObserver","outsideClickHandler","associatedLabelClicked","commitEditableValue","globalKeyHandler","targetIsSearchInput","focusNextOption","focusPreviousOption","handleOptionSelect","handleChildrenChange","m","nodeName","filterEditableOptions","openDropdown","stopPropagation","handleEditableOptionSelect","inputText","match","find","toLowerCase","allOptions","lower","updateOptionFocus","el","focusedEl","scrollIntoView","block","closest","toggleDropdown","optionEl","searchTerm","queueMicrotask","rendered","then","selectedOptions","values","removeButton","createTextNode","replaceChildren","style","display","form","explicitOwner","HTMLFormElement","findFormOwner","validity","validationMessage","willValidate","blur","checkValidity","reportValidity","selectOption"],"mappings":"2IAiEO,SAASA,EAAaC,EAAMC,EAAcC,EAAYC,EAAWC,EAAcC,GACpF,SAASC,EAAOC,GAAK,QAAU,IAANA,GAA6B,mBAANA,EAAkB,MAAM,IAAIC,UAAU,qBAAsB,OAAOD,CAAG,CAKtH,IAJA,IAGIE,EAHAC,EAAOP,EAAUO,KAAMC,EAAe,WAATD,EAAoB,MAAiB,WAATA,EAAoB,MAAQ,QACrFE,GAAUX,GAAgBD,EAAOG,EAAkB,OAAIH,EAAOA,EAAKa,UAAY,KAC/EC,EAAab,IAAiBW,EAASG,OAAOC,yBAAyBJ,EAAQT,EAAUc,MAAQ,IAC9FC,GAAO,EACLC,EAAIjB,EAAWkB,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC7C,IAAIE,EAAU,CAAA,EACd,IAAK,IAAIC,KAAKnB,EAAWkB,EAAQC,GAAW,WAANA,EAAiB,CAAA,EAAKnB,EAAUmB,GACtE,IAAK,IAAIA,KAAKnB,EAAUoB,OAAQF,EAAQE,OAAOD,GAAKnB,EAAUoB,OAAOD,GACrED,EAAQG,eAAiB,SAAUjB,GAAK,GAAIW,EAAM,MAAM,IAAIV,UAAU,0DAA2DH,EAAkBoB,KAAKnB,EAAOC,GAAK,MAAQ,EAC5K,IAAImB,GAAS,EAAIxB,EAAWiB,IAAa,aAATT,EAAsB,CAAEiB,IAAKb,EAAWa,IAAKC,IAAKd,EAAWc,KAAQd,EAAWH,GAAMU,GACtH,GAAa,aAATX,EAAqB,CACrB,QAAe,IAAXgB,EAAmB,SACvB,GAAe,OAAXA,GAAqC,iBAAXA,EAAqB,MAAM,IAAIlB,UAAU,oBACnEC,EAAIH,EAAOoB,EAAOC,QAAMb,EAAWa,IAAMlB,IACzCA,EAAIH,EAAOoB,EAAOE,QAAMd,EAAWc,IAAMnB,IACzCA,EAAIH,EAAOoB,EAAOG,QAAOzB,EAAa0B,QAAQrB,EACtD,MACSA,EAAIH,EAAOoB,MACH,UAAThB,EAAkBN,EAAa0B,QAAQrB,GACtCK,EAAWH,GAAOF,EAE/B,CACIG,GAAQG,OAAOgB,eAAenB,EAAQT,EAAUc,KAAMH,GAC1DI,GAAO,CACT,CAEO,SAASc,EAAkBC,EAAS7B,EAAc8B,GAEvD,IADA,IAAIC,EAAWC,UAAUhB,OAAS,EACzBD,EAAI,EAAGA,EAAIf,EAAagB,OAAQD,IACrCe,EAAQC,EAAW/B,EAAae,GAAGkB,KAAKJ,EAASC,GAAS9B,EAAae,GAAGkB,KAAKJ,GAEnF,OAAOE,EAAWD,OAAQ,CAC5B,CAoOkD,mBAApBI,iBAAiCA,gBCvU/D,MAAMC,EAA6B,IAAIC,QACvC,SAASC,EAAwBP,GAC7B,OAAOA,EAAMQ,QAAQ,QAAS,KAAKC,MACvC,CACA,SAASC,EAAaC,EAAMC,GACxB,OAAOD,IAASC,GAAcD,EAAKE,WAAaC,KAAKC,cAAgBJ,EAAKK,SAASJ,EACvF,CASA,SAASK,EAAgBC,EAAOC,GAC5B,MAAMC,EAAOF,EAAMG,cACnB,MAAI,mBAAoBD,EACbA,EAAKE,eAAeH,GACxB,IACX,CACA,SAASI,EAAiBZ,EAAMa,GAC5B,GAAIb,IAASa,EACT,MAAO,GACX,GAAIb,EAAKE,WAAaC,KAAKW,UACvB,OAAOd,EAAKe,WAAa,GAC7B,GAAIf,EAAKE,WAAaC,KAAKC,aACvB,MAAO,GACX,MAAMY,EAAUhB,EAChB,OAAIgB,EAAQC,QAAkD,SAAxCD,EAAQE,aAAa,gBAEvC,CAAC,SAAU,QAAS,YAAYC,SAASH,EAAQI,WAD1C,GAGe,OAAtBJ,EAAQI,UACD,IACe,QAAtBJ,EAAQI,UACDJ,EAAQE,aAAa,QAAU,GACnCG,MAAMC,KAAKN,EAAQO,YACrBC,IAAIC,GAASb,EAAiBa,EAAOZ,IACrCa,KAAK,IACd,CACA,SAASC,EAAoBpB,EAAOM,GAChC,MAAMe,EAAarB,EAAMW,aAAa,mBACtC,GAAIU,EAAY,CACZ,MAKMC,EAAOjC,EALMgC,EACdE,MAAM,QACNN,IAAIhB,GAAMF,EAAgBC,EAAOC,IACjCuB,OAAQf,GAAYgB,QAAQhB,IAAYA,IAAYT,GACpDiB,IAAIR,GAAWJ,EAAiBI,EAASH,IACEa,KAAK,MACrD,GAAIG,EACA,OAAOA,CACf,CACA,OAAItB,EAAM0B,aAAa,cACZrC,EAAwBW,EAAMW,aAAa,eAAiB,IAE1DtB,EAAwBgB,EAAiBL,EAAOM,KAC9CjB,EAAwBW,EAAMW,aAAa,UAAY,GAC1E,CAwCA,MAAMgB,EACF,WAAAC,CAAYtB,EAAMuB,EAAcC,EAAWC,EAAiBC,GACxDC,KAAK3B,KAAOA,EACZ2B,KAAKJ,aAAeA,EACpBI,KAAKH,UAAYA,EACjBG,KAAKF,gBAAkBA,EACvBE,KAAKD,iBAAmBA,EACxBC,KAAKC,WAAY,EACjBD,KAAKE,cAAgB,GACrBF,KAAKG,mBAAqB,GAC1BH,KAAKI,cAAgB,IAAIC,IACzBL,KAAKM,qBAAwBC,IACzB,GAAIA,EAAMC,eAAe,KAAOR,KAAK3B,KACjC,OAEJ,GADA2B,KAAKE,cAAgBF,KAAKS,gBACQ,IAA9BT,KAAKE,cAAcnE,OACnB,OACJ,MAAMR,EAASyE,KAAKH,YACftE,EAILA,EAAOmF,QAHHH,EAAMI,kBAKdX,KAAKY,sBAAyBL,IAC1B,MAAMM,EAAON,EAAMC,eACbM,EAAcP,EAAMhF,OAC1B,GAAIuF,IAAgBd,KAAK3B,MAASyC,aAAuBnD,MAAQqC,KAAK3B,KAAKR,SAASiD,GAChF,OAIJ,MAAM/C,EAAQwC,EAAMQ,cAIpB,GAH8BF,EAAKG,KAAKxD,GAAQA,aAAgByD,aAC5DzD,IAASO,GACTP,EAAK0D,QAAQ,+HAEb,OACJ,MAAM3F,EAASyE,KAAKH,YACftE,GAOLA,EAAOmF,QAIPS,WAAW,KACP,MAAMJ,EAAgBf,KAAKH,YACvBG,KAAKC,WAAac,GAAeK,aAAepB,KAAKE,cAAcvB,SAASZ,IAC5EgD,EAAcL,SAEnB,IAZCH,EAAMI,iBAclB,CACA,UAAIU,GACA,MAAMpD,EAAO+B,KAAK3B,KAAKH,cACvB,GAAI8B,KAAK3B,KAAKL,IAAM,qBAAsBC,EACtC,IACI,MAAMD,EAAKsD,IAAIC,OAAOvB,KAAK3B,KAAKL,IAC1BwD,EAAMF,IAAIC,OAAOvB,KAAK3B,KAAKO,WACjC,OAAOX,EAAKwD,iBAAiB,cAAczD,6BAA8BwD,KAAOxD,KACpF,CACA,MAEA,CAEJ,OAAOgC,KAAKJ,gBAAgByB,QAAU,IAC1C,CACA,kBAAIK,GACA,MAAML,EAASrB,KAAKS,gBACpB,OACWrD,EADPiE,EAAOtF,OAAS,EACesF,EAAOrC,IAAIjB,GAASoB,EAAoBpB,EAAOiC,KAAK3B,OAAOa,KAAK,KAEpEc,KAAKF,kBACxC,CACA,OAAA6B,GACQ3B,KAAKC,YAETD,KAAKC,WAAY,EACjBD,KAAK3B,KAAKuD,iBAAiB,QAAS5B,KAAKM,sBACzCN,KAAK6B,eACL7B,KAAK8B,OACT,CACA,UAAAC,GACS/B,KAAKC,YAEVD,KAAKC,WAAY,EACjBD,KAAK3B,KAAK2D,oBAAoB,QAAShC,KAAKM,sBAC5CN,KAAKiC,wBACLjC,KAAKkC,kBACLlC,KAAKE,cAAgB,GACrBF,KAAKG,mBAAqB,GAC1BH,KAAKI,cAAc+B,QACvB,CACA,IAAAL,GAKI,GAJI9B,KAAKC,WACLD,KAAK6B,eACT7B,KAAKiC,wBACLjC,KAAKE,cAAgBF,KAAKS,gBACtBT,KAAKC,UACL,IAAK,MAAMlC,KAASiC,KAAKE,cACrBnC,EAAM6D,iBAAiB,QAAS5B,KAAKY,uBAG7CZ,KAAKG,mBAAqB,IAAIH,KAAKE,eACnCF,KAAKI,cAAc+B,QACnB,IAAK,MAAMpE,KAASiC,KAAKE,cACrB,IAAK,MAAMlC,KAAOD,EAAMW,aAAa,oBAAsB,IAAIY,MAAM,QAAQC,OAAOC,SAAU,CAC1FQ,KAAKI,cAAcgC,IAAIpE,GACvB,MAAMqE,EAAavE,EAAgBC,EAAOC,GACtCqE,GAAcA,IAAetE,GAC7BiC,KAAKG,mBAAmB/D,KAAKiG,EACrC,CAEJ,MAAMzG,EACAwB,EADO4C,KAAKE,cAAcnE,OAAS,EACXiE,KAAKE,cAAclB,IAAIjB,GAASoB,EAAoBpB,EAAOiC,KAAK3B,OAAOa,KAAK,KAC5Ec,KAAKF,mBACnCE,KAAKH,aAAayC,aAAa,aAAc1G,GAC7CoE,KAAKD,mBAAmBnE,EAC5B,CACA,YAAA2G,CAAaC,GACT,GAAsB,eAAlBA,EAASC,KAAuB,CAChC,GAAID,EAASjH,SAAWyE,KAAK3B,MAAmC,OAA3BmE,EAASE,cAC1C,OAAO,EACX,MAAMnH,EAASiH,EAASjH,OACxB,MAAyB,UAArBA,EAAOqD,WAAoD,QAA3B4D,EAASE,cAClC1C,KAAKE,cAAcvB,SAASpD,IAC3BiE,QAAQQ,KAAK3B,KAAKL,KAAOzC,EAAOoH,UAAY3C,KAAK3B,KAAKL,KAEnC,OAA3BwE,EAASE,gBAA0B1C,KAAKI,cAAcwC,IAAIrH,EAAOyC,MAE9DgC,KAAKG,mBAAmBa,KAAKxD,GAAQA,IAASjC,GAAUiC,EAAKK,SAAStC,GACjF,CACA,QAAIyE,KAAKG,mBAAmBa,KAAKxD,GAAQA,IAASgF,EAASjH,QAAUiC,EAAKK,SAAS2E,EAASjH,UAGtE,cAAlBiH,EAASC,MACF,IAAID,EAASK,cAAeL,EAASM,cAAc9B,KAAKxD,IAC3D,GAAID,EAAaC,EAAMwC,KAAK3B,OAASd,EAAayC,KAAK3B,KAAMb,GACzD,OAAO,EACX,GAAIwC,KAAKG,mBAAmBa,KAAK+B,GAAWxF,EAAaC,EAAMuF,IAC3D,OAAO,EACX,GAAIvF,EAAKE,WAAaC,KAAKC,aACvB,OAAO,EACX,MAAMY,EAAUhB,EAIhB,SAHqC,UAAtBgB,EAAQI,UACjB,CAACJ,GACDK,MAAMC,KAAKN,EAAQiD,iBAAiB,WAC/BT,KAAKjD,GAASA,EAAM0B,aAAa,OACtCD,QAAQQ,KAAK3B,KAAKL,KAAOD,EAAM4E,UAAY3C,KAAK3B,KAAKL,GACrDD,EAAMF,SAASmC,KAAK3B,QAEnB,CAACG,KAAYK,MAAMC,KAAKN,EAAQiD,iBAAiB,UACnDT,KAAKvD,GAAauC,KAAKI,cAAcwC,IAAInF,EAAUO,MAIpE,CACA,qBAAAiE,GACI,IAAK,MAAMlE,KAASiC,KAAKE,cACrBnC,EAAMiE,oBAAoB,QAAShC,KAAKY,sBAEhD,CACA,YAAAiB,GACI,MAAM5D,EAnQd,SAAmBI,GACf,MAAMJ,EAAOI,EAAKH,cAClB,OAAID,EAAKP,WAAaC,KAAKqF,eAED,oBAAfC,YAA8BhF,aAAgBgF,WAD9ChF,EAGJ,IACX,CA4PqBiF,CAAUlD,KAAK3B,MACxBJ,IAAS+B,KAAKmD,eAElBnD,KAAKkC,kBACAjE,IAEL+B,KAAKmD,aAAelF,EACpB+B,KAAKoD,SAtNb,SAAwCnF,GACpC,MAAMoF,EAAepF,EAAKP,WAAaC,KAAKqF,cACtC/E,EAAKqF,gBACLrF,EACN,IAAKoF,GAA4C,oBAArBE,iBACxB,OAAO,KACX,MAAMC,EAAWtG,EAA2BZ,IAAI2B,GAChD,GAAIuF,EACA,OAAOA,EACX,MAAMC,EAAe,IAAIpD,IACnBqD,EAAW,IAAIH,iBAAiBI,IAClC,IAAK,MAAMC,KAAeH,EAClBE,EAAU3C,KAAKwB,GAAYoB,EAAYrB,aAAaC,KACpDoB,EAAY9B,SAIxB4B,EAASG,QAAQR,EAAc,CAC3BS,SAAS,EACTC,WAAW,EACXC,eAAe,EACfC,YAAY,EACZC,gBAAiB,CAAC,MAAO,KAAM,aAAc,kBAAmB,cAAe,SAAU,MAAO,WAEpG,MAAMd,EAAW,CAAEK,eAAcC,YAEjC,OADAxG,EAA2BX,IAAI0B,EAAMmF,GAC9BA,CACX,CA2LwBe,CAA+BlG,SAASmG,EACxDpE,KAAKoD,UAAUK,aAAarB,IAAIpC,OACpC,CACA,eAAAkC,GACIlC,KAAKoD,UAAUK,aAAaY,OAAOrE,MAC/BA,KAAKoD,UAAgD,IAApCpD,KAAKoD,SAASK,aAAaa,MAActE,KAAKmD,eAC/DnD,KAAKoD,SAASM,SAAS3B,aACvB7E,EAA2BmH,OAAOrE,KAAKmD,eAE3CnD,KAAKoD,cAAWgB,EAChBpE,KAAKmD,kBAAeiB,CACxB,CACA,aAAA3D,GACI,MAAMxC,EAAO+B,KAAK3B,KAAKH,cACvB,MAAI,qBAAsBD,EACfY,MAAMC,KAAKb,EAAKwD,iBAAiB,UAAUlC,OAAOxB,GACjDA,EAAM0B,aAAa,OACZD,QAAQQ,KAAK3B,KAAKL,KAAOD,EAAM4E,UAAY3C,KAAK3B,KAAKL,GAEzDD,EAAMF,SAASmC,KAAK3B,OAG5BQ,MAAMC,KAAKkB,KAAKJ,gBAAgByB,QAAU,GACrD,ECxSJ,MAAMkD,EAAe,CACjB,WACA,cACA,kBACA,gBACA,iBACA,eACA,UACA,WACA,eACA,gBASJ,SAASC,EAAiBC,GACtB,OAAOF,EAAavD,KAAK1F,GAAOkE,QAAQiF,EAAMnJ,IAClD,CClBkB,MACd,IACIoJ,EAEAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EACAC,EACAC,EAvBAC,EAAmB,CAAC5G,UAAQ,iBAE5B6G,EAA0B,GAE1BC,EAAcrE,YACdsE,EAA6B,GAE7BC,EAAsB,GACtBC,EAA2B,GAE3BC,EAAsB,GACtBC,EAA2B,GAE3BC,EAAyB,GACzBC,EAA8B,GAE9BC,EAAyB,GACzBC,EAA8B,GAE9BC,EAAqB,GACrBC,EAA0B,IAI9B,cAAeX,SACFX,EAAa3E,IAAK,QAEvB,MAAMkG,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAW1K,OAAO2K,OAAOf,EAAYa,OAAOC,WAAa,WAAQ,EAC1HxB,EAAoB,CAAC0B,WAAS,CAAA,IAC9BzB,EAAoB,CAACyB,WAAS,CAAA,IAC9BxB,EAAuB,CAACwB,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCuF,EAAuB,CAACuB,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCwF,EAAmB,CAACsB,WAAS,CAAA,IAC7BrB,EAAqB,CAACsB,EAAAA,UACtBrB,EAAqB,CAACsB,EAAAA,UACtBrB,EAAmB,CAACsB,EAAAA,SACpB/L,EAAasF,KAAM,KAAMiF,EAAoB,CAAE5J,KAAM,SAAUO,KAAM,SAAU8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,WAAYA,EAAKtK,IAAKsK,GAAOA,EAAIL,QAAUH,SAAUF,GAAa,KAAMX,GAC5M7K,EAAasF,KAAM,KAAMkF,EAAoB,CAAE7J,KAAM,SAAUO,KAAM,SAAU8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,WAAYA,EAAKtK,IAAKsK,GAAOA,EAAIJ,QAAUJ,SAAUF,GAAa,KAAMX,GAC5M7K,EAAasF,KAAM,KAAMmF,EAAkB,CAAE9J,KAAM,SAAUO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAIpK,MAAQ4J,SAAUF,GAAa,KAAMX,GACpM7K,EAAa,KAAM,KAAMkK,EAAmB,CAAEvJ,KAAM,QAASO,KAAM,QAAS8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,UAAWA,EAAKtK,IAAKsK,GAAOA,EAAI/J,MAAON,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI/J,MAAQA,IAAYuJ,SAAUF,GAAaV,EAAqBC,GACnQ/K,EAAa,KAAM,KAAMmK,EAAmB,CAAExJ,KAAM,QAASO,KAAM,QAAS8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,UAAWA,EAAKtK,IAAKsK,GAAOA,EAAI7I,MAAOxB,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI7I,MAAQlB,IAAYuJ,SAAUF,GAAaR,EAAqBC,GACnQjL,EAAa,KAAM,KAAMoK,EAAsB,CAAEzJ,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIC,SAAUtK,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIC,SAAWhK,IAAYuJ,SAAUF,GAAaN,EAAwBC,GACrRnL,EAAa,KAAM,KAAMqK,EAAsB,CAAE1J,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIE,SAAUvK,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIE,SAAWjK,IAAYuJ,SAAUF,GAAaJ,EAAwBC,GACrRrL,EAAa,KAAM,KAAMsK,EAAkB,CAAE3J,KAAM,QAASO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAIG,KAAMxK,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIG,KAAOlK,IAAYuJ,SAAUF,GAAaF,EAAoBC,GAC7PvL,EAAa,KAAMgK,EAAmB,CAAE7H,MAAO8H,GAAcS,EAAkB,CAAE/J,KAAM,QAASO,KAAM+I,EAAW/I,KAAMwK,SAAUF,GAAa,KAAMb,GACpJV,EAAaD,EAAiB7H,MAC1BqJ,GAAWxK,OAAOgB,eAAeiI,EAAYwB,OAAOC,SAAU,CAAEY,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrK,MAAOqJ,IACjIvJ,EAAkBgI,EAAYU,EAC1C,CACQ,MAAAkB,GAEI,OAAOY,EAAAA,IAAc,EACzB,CACA,MAAAX,GACI,OAAOY,EAAAA,GAAY,0BACvB,CACA,IAAA5K,IAESwD,KAAKjC,OAASiC,KAAKqH,cACpBrH,KAAKjC,MAAQiC,KAAKqH,YAAY/J,QAK7B0C,KAAKP,aAAa,UAAaO,KAAKnD,QAASmD,KAAKjC,QACnDiC,KAAKnD,MAAQmD,KAAKjC,MAE1B,CAEA,cAAIuJ,GACA,MAAO,CACHzK,MAAOmD,KAAKnD,MACZkB,MAAOiC,KAAKjC,OAASiC,KAAKqH,aAAa/J,QAAU0C,KAAKnD,MACtDgK,SAAU7G,KAAK6G,SACfC,SAAU9G,KAAK8G,SACfC,KAAM/G,KAAK+G,KAEnB,CACA,WAAApH,GACI4H,SAASxK,WACTiD,KAAKnD,OAASF,EAAkBqD,KAAMuF,GAA6B5I,EAAkBqD,KAAMwF,EAAqB,KAChHxF,KAAKjC,OAASpB,EAAkBqD,KAAMyF,GAA2B9I,EAAkBqD,KAAM0F,EAAqB,KAC9G1F,KAAK6G,UAAYlK,EAAkBqD,KAAM2F,GAA2BhJ,EAAkBqD,KAAM4F,GAAwB,IACpH5F,KAAK8G,UAAYnK,EAAkBqD,KAAM6F,GAA8BlJ,EAAkBqD,KAAM8F,GAAwB,IACvH9F,KAAK+G,MAAQpK,EAAkBqD,KAAM+F,GAA8BpJ,EAAkBqD,KAAMgG,EAAoB,KAC/GrJ,EAAkBqD,KAAMiG,EAC5B,GAGP,EA1FiB,GCKA,MACd,IACIvB,EAEAC,EAGA6C,EAGAC,EAGAC,EAGAC,EAGA7C,EAGA8C,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGA5D,EAGA6D,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EACAzE,EACAC,EACAC,EACAwE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAlIAnF,GAAmB,CAAC5G,EAAAA,QAAQ,eAAgB,CAAEgM,gBAAgB,EAAMC,gBAAgB,KAEpFpF,GAA0B,GAE1BC,GAAcrE,YACdsE,GAA6B,GAE7BmF,GAA2B,GAC3BC,GAAgC,GAEhCC,GAA6B,GAC7BC,GAAkC,GAElCC,GAAkC,GAClCC,GAAuC,GAEvCC,GAA6B,GAC7BC,GAAkC,GAElCrF,GAAyB,GACzBC,GAA8B,GAE9BqF,GAAyB,GACzBC,GAA8B,GAE9BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAA2B,GAC3BC,GAAgC,GAEhCC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAA8B,GAC9BC,GAAmC,GAEnCC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAuB,GACvBC,GAA4B,GAE5BC,GAA+B,GAC/BC,GAAoC,GAEpCC,GAAqB,GACrBC,GAA0B,GAE1BC,GAAqB,GACrBC,GAA0B,GAE1BC,GAAqB,GACrBC,GAA0B,GAE1BnH,GAAsB,GACtBC,GAA2B,GAE3BmH,GAA2B,GAC3BC,GAAgC,GAEhCC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAA6B,GAC7BC,GAAkC,GAElCC,GAA6B,GAC7BC,GAAkC,GAElCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAAsB,GACtBC,GAA2B,GAE3BC,GAAgC,GAChCC,GAAqC,GAErCC,GAA8B,GAC9BC,GAAmC,GAEnCC,GAA+B,GAC/BC,GAAoC,IAkBxC,cAAevJ,UACFX,EAAa3E,IAAK,QAEvB,MAAMkG,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAW1K,OAAO2K,OAAOf,GAAYa,OAAOC,WAAa,WAAQ,EAC1HoB,EAAyB,CAACsH,EAAAA,SAC1BrH,EAA2B,CAACqH,EAAAA,SAC5BpH,EAAgC,CAACoH,EAAAA,SACjCnH,EAA2B,CAACrB,EAAAA,SAAS,CAAEyI,UAAW,WAClDjK,EAAuB,CAACwB,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCoI,EAAuB,CAACtB,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCqI,EAAsB,CAACvB,EAAAA,SAAS,CAAE7D,KAAMjD,WACxCsI,EAAuB,CAACxB,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCuI,EAAsB,CAACzB,EAAAA,SAAS,CAAE7D,KAAMjD,WACxCwI,EAAuB,CAAC1B,EAAAA,SAAS,CAAE7D,KAAMjD,WACzCyI,EAAyB,CAAC3B,EAAAA,SAAS,CAAE7D,KAAMjD,WAC3C0I,EAAwB,CAAC5B,EAAAA,SAAS,CAAE7D,KAAMjD,WAC1C2I,EAA4B,CAAC7B,EAAAA,SAAS,CAAE7D,KAAMjD,QAASuP,UAAW,qBAClE3G,EAAuB,CAAC9B,EAAAA,SAAS,CAAE7D,KAAMjD,WACzC6I,EAAqB,CAAC/B,EAAAA,SAAS,CAAE7D,KAAMjD,WACvC8I,EAA6B,CAAChC,EAAAA,SAAS,CAAE7D,KAAMuM,OAAQD,UAAW,qBAClExG,EAAmB,CAACjC,EAAAA,SAAS,CAAE7D,KAAMjD,WACrCgJ,EAAmB,CAAClC,WAAS,CAAA,IAC7BmC,EAAmB,CAACnC,WAAS,CAAA,IAC7BzB,EAAoB,CAACyB,WAAS,CAAA,IAC9BoC,EAAyB,CAACpC,EAAAA,SAAS,CAAEyI,UAAW,iBAChDpG,EAAwB,CAACrC,EAAAA,SAAS,CAAEyI,UAAW,gBAC/CnG,EAA0B,CAACtC,WAAS,CAAA,IACpCuC,EAAwB,CAACvC,EAAAA,SAAS,CAAEyI,UAAW,gBAC/CjG,EAAsB,CAACxC,EAAAA,SAAS,CAAE7D,KAAM5D,MAAOkQ,WAAW,KAC1DhG,EAAsB,CAACkG,QAAM,oBAC7BjG,EAAuB,CAACiG,QAAM,qBAC9BhG,EAA2B,CAACgG,QAAM,kBAClC/F,EAA2B,CAAC+F,QAAM,kBAClC9F,EAA0B,CAAC8F,QAAM,yBACjC7F,EAA0B,CAAC6F,QAAM,oBACjC5F,EAA0B,CAAC4F,QAAM,kBACjC3F,EAAoB,CAAC2F,QAAM,kBAC3B1F,EAA8B,CAAC0F,QAAM,mBACrCzF,EAA4B,CAACyF,QAAM,2BACnCxF,EAA6B,CAACyF,WAAS,mBACvCxF,EAAkC,CAACyF,UAAQ,kBAC3ClK,EAAqB,CAACsB,EAAAA,UACtBrB,EAAqB,CAACsB,EAAAA,UACtBrB,EAAmB,CAACsB,EAAAA,SACpBkD,EAA0B,CAACyF,EAAAA,aAC3BxF,EAAsB,CAACyF,EAAAA,WACvBxF,EAAgC,CAACyF,QAAM,eACvCxF,EAAuC,CAACwF,QAAM,iBAC9CvF,EAA0C,CAACuF,QAAM,YACjDtF,EAAmC,CAACsF,EAAAA,MAAM,WAAY,UAAW,iBACjErF,EAAkD,CAACqF,EAAAA,MAAM,WAAY,WAAY,aACjFpF,GAA2C,CAACoF,QAAM,aAClDnF,GAAkC,CAACmF,QAAM,YACzClF,GAA+B,CAACkF,QAAM,SACtCjF,GAAkC,CAACkF,EAAAA,SAAS,gBAAiB,CAAEC,SAAS,EAAMC,UAAU,KACxFnF,GAAgC,CAACiF,EAAAA,SAAS,cAAe,CAAEC,SAAS,EAAMC,UAAU,KACpFlF,GAAiC,CAACgF,EAAAA,SAAS,eAAgB,CAAEC,SAAS,EAAMC,UAAU,KACtF/U,EAAasF,KAAM,KAAM0J,EAAiC,CAAErO,KAAM,SAAUO,KAAM,sBAAuB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,wBAAyBA,EAAKtK,IAAKsK,GAAOA,EAAI8I,qBAAuBtJ,SAAUF,GAAa,KAAMX,IAChQ7K,EAAasF,KAAM,KAAMiF,EAAoB,CAAE5J,KAAM,SAAUO,KAAM,SAAU8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,WAAYA,EAAKtK,IAAKsK,GAAOA,EAAIL,QAAUH,SAAUF,GAAa,KAAMX,IAC5M7K,EAAasF,KAAM,KAAMkF,EAAoB,CAAE7J,KAAM,SAAUO,KAAM,SAAU8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,WAAYA,EAAKtK,IAAKsK,GAAOA,EAAIJ,QAAUJ,SAAUF,GAAa,KAAMX,IAC5M7K,EAAasF,KAAM,KAAMmF,EAAkB,CAAE9J,KAAM,SAAUO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAIpK,MAAQ4J,SAAUF,GAAa,KAAMX,IACpM7K,EAAasF,KAAM,KAAM2J,EAAyB,CAAEtO,KAAM,SAAUO,KAAM,cAAe8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gBAAiBA,EAAKtK,IAAKsK,GAAOA,EAAI+I,aAAevJ,SAAUF,GAAa,KAAMX,IAChO7K,EAAasF,KAAM,KAAM4J,EAAqB,CAAEvO,KAAM,SAAUO,KAAM,UAAW8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,YAAaA,EAAKtK,IAAKsK,GAAOA,EAAIgJ,SAAWxJ,SAAUF,GAAa,KAAMX,IAChN7K,EAAasF,KAAM,KAAM6J,EAA+B,CAAExO,KAAM,SAAUO,KAAM,oBAAqB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,sBAAuBA,EAAKtK,IAAKsK,GAAOA,EAAIiJ,mBAAqBzJ,SAAUF,GAAa,KAAMX,IACxP7K,EAAasF,KAAM,KAAM8J,EAAsC,CAAEzO,KAAM,SAAUO,KAAM,2BAA4B8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,6BAA8BA,EAAKtK,IAAKsK,GAAOA,EAAIkJ,0BAA4B1J,SAAUF,GAAa,KAAMX,IACpR7K,EAAasF,KAAM,KAAM+J,EAAyC,CAAE1O,KAAM,SAAUO,KAAM,8BAA+B8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gCAAiCA,EAAKtK,IAAKsK,GAAOA,EAAImJ,6BAA+B3J,SAAUF,GAAa,KAAMX,IAChS7K,EAAasF,KAAM,KAAMgK,EAAkC,CAAE3O,KAAM,SAAUO,KAAM,uBAAwB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,yBAA0BA,EAAKtK,IAAKsK,GAAOA,EAAIoJ,sBAAwB5J,SAAUF,GAAa,KAAMX,IACpQ7K,EAAasF,KAAM,KAAMiK,EAAiD,CAAE5O,KAAM,SAAUO,KAAM,sCAAuC8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,wCAAyCA,EAAKtK,IAAKsK,GAAOA,EAAIqJ,qCAAuC7J,SAAUF,GAAa,KAAMX,IAChU7K,EAAasF,KAAM,KAAMkK,GAA0C,CAAE7O,KAAM,SAAUO,KAAM,+BAAgC8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,iCAAkCA,EAAKtK,IAAKsK,GAAOA,EAAIsJ,8BAAgC9J,SAAUF,GAAa,KAAMX,IACpS7K,EAAasF,KAAM,KAAMmK,GAAiC,CAAE9O,KAAM,SAAUO,KAAM,sBAAuB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,wBAAyBA,EAAKtK,IAAKsK,GAAOA,EAAIuJ,qBAAuB/J,SAAUF,GAAa,KAAMX,IAChQ7K,EAAasF,KAAM,KAAMoK,GAA8B,CAAE/O,KAAM,SAAUO,KAAM,mBAAoB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,qBAAsBA,EAAKtK,IAAKsK,GAAOA,EAAIwJ,kBAAoBhK,SAAUF,GAAa,KAAMX,IACpP7K,EAAasF,KAAM,KAAMqK,GAAiC,CAAEhP,KAAM,SAAUO,KAAM,sBAAuB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,wBAAyBA,EAAKtK,IAAKsK,GAAOA,EAAIyJ,qBAAuBjK,SAAUF,GAAa,KAAMX,IAChQ7K,EAAasF,KAAM,KAAMsK,GAA+B,CAAEjP,KAAM,SAAUO,KAAM,oBAAqB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,sBAAuBA,EAAKtK,IAAKsK,GAAOA,EAAI0J,mBAAqBlK,SAAUF,GAAa,KAAMX,IACxP7K,EAAasF,KAAM,KAAMuK,GAAgC,CAAElP,KAAM,SAAUO,KAAM,qBAAsB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,uBAAwBA,EAAKtK,IAAKsK,GAAOA,EAAI2J,oBAAsBnK,SAAUF,GAAa,KAAMX,IAC5P7K,EAAa,KAAM,KAAM8M,EAAwB,CAAEnM,KAAM,QAASO,KAAM,aAAc8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,eAAgBA,EAAKtK,IAAKsK,GAAOA,EAAI4J,WAAYjU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI4J,WAAa3T,IAAYuJ,SAAUF,GAAawE,GAA0BC,IACjSjQ,EAAa,KAAM,KAAM+M,EAA0B,CAAEpM,KAAM,QAASO,KAAM,eAAgB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,iBAAkBA,EAAKtK,IAAKsK,GAAOA,EAAI6J,aAAclU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI6J,aAAe5T,IAAYuJ,SAAUF,GAAa0E,GAA4BC,IAC7SnQ,EAAa,KAAM,KAAMgN,EAA+B,CAAErM,KAAM,QAASO,KAAM,oBAAqB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,sBAAuBA,EAAKtK,IAAKsK,GAAOA,EAAI8J,kBAAmBnU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI8J,kBAAoB7T,IAAYuJ,SAAUF,GAAa4E,GAAiCC,IAC3UrQ,EAAa,KAAM,KAAMiN,EAA0B,CAAEtM,KAAM,QAASO,KAAM,eAAgB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,iBAAkBA,EAAKtK,IAAKsK,GAAOA,EAAI+J,aAAcpU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI+J,aAAe9T,IAAYuJ,SAAUF,GAAa8E,GAA4BC,IAC7SvQ,EAAa,KAAM,KAAMoK,EAAsB,CAAEzJ,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIC,SAAUtK,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIC,SAAWhK,IAAYuJ,SAAUF,GAAaN,GAAwBC,IACrRnL,EAAa,KAAM,KAAMkN,EAAsB,CAAEvM,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIgK,SAAUrU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIgK,SAAW/T,IAAYuJ,SAAUF,GAAagF,GAAwBC,IACrRzQ,EAAa,KAAM,KAAMmN,EAAqB,CAAExM,KAAM,QAASO,KAAM,UAAW8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,YAAaA,EAAKtK,IAAKsK,GAAOA,EAAIiK,QAAStU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIiK,QAAUhU,IAAYuJ,SAAUF,GAAakF,GAAuBC,IAC/Q3Q,EAAa,KAAM,KAAMoN,EAAsB,CAAEzM,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIkK,SAAUvU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIkK,SAAWjU,IAAYuJ,SAAUF,GAAaoF,GAAwBC,IACrR7Q,EAAa,KAAM,KAAMqN,EAAqB,CAAE1M,KAAM,QAASO,KAAM,UAAW8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,YAAaA,EAAKtK,IAAKsK,GAAOA,EAAImK,QAASxU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAImK,QAAUlU,IAAYuJ,SAAUF,GAAasF,GAAuBC,IAC/Q/Q,EAAa,KAAM,KAAMsN,EAAsB,CAAE3M,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIoK,SAAUzU,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIoK,SAAWnU,IAAYuJ,SAAUF,GAAawF,GAAwBC,IACrRjR,EAAa,KAAM,KAAMuN,EAAwB,CAAE5M,KAAM,QAASO,KAAM,aAAc8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,eAAgBA,EAAKtK,IAAKsK,GAAOA,EAAIqK,WAAY1U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIqK,WAAapU,IAAYuJ,SAAUF,GAAa0F,GAA0BC,IACjSnR,EAAa,KAAM,KAAMwN,EAAuB,CAAE7M,KAAM,QAASO,KAAM,YAAa8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,cAAeA,EAAKtK,IAAKsK,GAAOA,EAAIsK,UAAW3U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIsK,UAAYrU,IAAYuJ,SAAUF,GAAa4F,GAAyBC,IAC3RrR,EAAa,KAAM,KAAMyN,EAA2B,CAAE9M,KAAM,QAASO,KAAM,gBAAiB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,kBAAmBA,EAAKtK,IAAKsK,GAAOA,EAAIuK,cAAe5U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIuK,cAAgBtU,IAAYuJ,SAAUF,GAAa8F,GAA6BC,IACnTvR,EAAa,KAAM,KAAM0N,EAAsB,CAAE/M,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIwK,SAAU7U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIwK,SAAWvU,IAAYuJ,SAAUF,GAAagG,GAAwBC,IACrRzR,EAAa,KAAM,KAAM2N,EAAoB,CAAEhN,KAAM,QAASO,KAAM,SAAU8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,WAAYA,EAAKtK,IAAKsK,GAAOA,EAAIyK,OAAQ9U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIyK,OAASxU,IAAYuJ,SAAUF,GAAakG,GAAsBC,IACzQ3R,EAAa,KAAM,KAAM4N,EAA4B,CAAEjN,KAAM,QAASO,KAAM,iBAAkB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,mBAAoBA,EAAKtK,IAAKsK,GAAOA,EAAI0K,eAAgB/U,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI0K,eAAiBzU,IAAYuJ,SAAUF,GAAaoG,GAA8BC,IACzT7R,EAAa,KAAM,KAAM6N,EAAkB,CAAElN,KAAM,QAASO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAI2K,KAAMhV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI2K,KAAO1U,IAAYuJ,SAAUF,GAAasG,GAAoBC,IAC7P/R,EAAa,KAAM,KAAM8N,EAAkB,CAAEnN,KAAM,QAASO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAItC,KAAM/H,IAAK,CAACqK,EAAK/J,KAAY+J,EAAItC,KAAOzH,IAAYuJ,SAAUF,GAAawG,GAAoBC,IAC7PjS,EAAa,KAAM,KAAM+N,EAAkB,CAAEpN,KAAM,QAASO,KAAM,OAAQ8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,SAAUA,EAAKtK,IAAKsK,GAAOA,EAAIhL,KAAMW,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIhL,KAAOiB,IAAYuJ,SAAUF,GAAa0G,GAAoBC,IAC7PnS,EAAa,KAAM,KAAMmK,EAAmB,CAAExJ,KAAM,QAASO,KAAM,QAAS8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,UAAWA,EAAKtK,IAAKsK,GAAOA,EAAI7I,MAAOxB,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI7I,MAAQlB,IAAYuJ,SAAUF,GAAaR,GAAqBC,IACnQjL,EAAa,KAAM,KAAMgO,EAAwB,CAAErN,KAAM,QAASO,KAAM,aAAc8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,eAAgBA,EAAKtK,IAAKsK,GAAOA,EAAI4K,WAAYjV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI4K,WAAa3U,IAAYuJ,SAAUF,GAAa4G,GAA0BC,IACjSrS,EAAa,KAAM,KAAMiO,EAAuB,CAAEtN,KAAM,QAASO,KAAM,YAAa8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,cAAeA,EAAKtK,IAAKsK,GAAOA,EAAI6K,UAAWlV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI6K,UAAY5U,IAAYuJ,SAAUF,GAAa8G,GAAyBC,IAC3RvS,EAAa,KAAM,KAAMkO,EAAyB,CAAEvN,KAAM,QAASO,KAAM,cAAe8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gBAAiBA,EAAKtK,IAAKsK,GAAOA,EAAI8K,YAAanV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI8K,YAAc7U,IAAYuJ,SAAUF,GAAagH,GAA2BC,IACvSzS,EAAa,KAAM,KAAMmO,EAAuB,CAAExN,KAAM,QAASO,KAAM,YAAa8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,cAAeA,EAAKtK,IAAKsK,GAAOA,EAAI+K,UAAWpV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI+K,UAAY9U,IAAYuJ,SAAUF,GAAakH,GAAyBC,IAC3R3S,EAAa,KAAM,KAAMoO,EAAqB,CAAEzN,KAAM,QAASO,KAAM,UAAW8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,YAAaA,EAAKtK,IAAKsK,GAAOA,EAAIgL,QAASrV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIgL,QAAU/U,IAAYuJ,SAAUF,GAAaoH,GAAuBC,IAC/Q7S,EAAa,KAAM,KAAMqO,EAAqB,CAAE1N,KAAM,QAASO,KAAM,UAAW8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,YAAaA,EAAKtK,IAAKsK,GAAOA,EAAIiL,QAAStV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIiL,QAAUhV,IAAYuJ,SAAUF,GAAasH,GAAuBC,IAC/Q/S,EAAa,KAAM,KAAMsO,EAAsB,CAAE3N,KAAM,QAASO,KAAM,WAAY8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,aAAcA,EAAKtK,IAAKsK,GAAOA,EAAIkL,SAAUvV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIkL,SAAWjV,IAAYuJ,SAAUF,GAAawH,GAAwBC,IACrRjT,EAAa,KAAM,KAAMuO,EAA0B,CAAE5N,KAAM,QAASO,KAAM,eAAgB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,iBAAkBA,EAAKtK,IAAKsK,GAAOA,EAAImL,aAAcxV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAImL,aAAelV,IAAYuJ,SAAUF,GAAa0H,GAA4BC,IAC7SnT,EAAa,KAAM,KAAMwO,EAA0B,CAAE7N,KAAM,QAASO,KAAM,eAAgB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,iBAAkBA,EAAKtK,IAAKsK,GAAOA,EAAIoL,aAAczV,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIoL,aAAenV,IAAYuJ,SAAUF,GAAa4H,GAA4BC,IAC7SrT,EAAa,KAAM,KAAMyO,EAAyB,CAAE9N,KAAM,QAASO,KAAM,cAAe8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gBAAiBA,EAAKtK,IAAKsK,GAAOA,EAAIqL,YAAa1V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIqL,YAAcpV,IAAYuJ,SAAUF,GAAa8H,GAA2BC,IACvSvT,EAAa,KAAM,KAAM0O,EAAyB,CAAE/N,KAAM,QAASO,KAAM,cAAe8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gBAAiBA,EAAKtK,IAAKsK,GAAOA,EAAIsL,YAAa3V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIsL,YAAcrV,IAAYuJ,SAAUF,GAAagI,GAA2BC,IACvSzT,EAAa,KAAM,KAAM2O,EAAyB,CAAEhO,KAAM,QAASO,KAAM,cAAe8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,gBAAiBA,EAAKtK,IAAKsK,GAAOA,EAAIuL,YAAa5V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIuL,YAActV,IAAYuJ,SAAUF,GAAakI,GAA2BC,IACvS3T,EAAa,KAAM,KAAM4O,EAAmB,CAAEjO,KAAM,QAASO,KAAM,QAAS8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,UAAWA,EAAKtK,IAAKsK,GAAOA,EAAIwL,MAAO7V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIwL,MAAQvV,IAAYuJ,SAAUF,GAAaoI,GAAqBC,IACnQ7T,EAAa,KAAM,KAAM6O,EAA6B,CAAElO,KAAM,QAASO,KAAM,kBAAmB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,oBAAqBA,EAAKtK,IAAKsK,GAAOA,EAAIyL,gBAAiB9V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAIyL,gBAAkBxV,IAAYuJ,SAAUF,GAAasI,GAA+BC,IAC/T/T,EAAa,KAAM,KAAM8O,EAA2B,CAAEnO,KAAM,QAASO,KAAM,gBAAiB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,kBAAmBA,EAAKtK,IAAKsK,GAAOA,EAAI0L,cAAe/V,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI0L,cAAgBzV,IAAYuJ,SAAUF,GAAawI,GAA6BC,IACnTjU,EAAa,KAAM,KAAM+O,EAA4B,CAAEpO,KAAM,QAASO,KAAM,iBAAkB8K,QAAQ,EAAOC,SAAS,EAAOzK,OAAQ,CAAE0G,IAAKgE,GAAO,mBAAoBA,EAAKtK,IAAKsK,GAAOA,EAAI2L,eAAgBhW,IAAK,CAACqK,EAAK/J,KAAY+J,EAAI2L,eAAiB1V,IAAYuJ,SAAUF,GAAa0I,GAA8BC,IACzTnU,EAAa,KAAMgK,EAAmB,CAAE7H,MAAO8H,GAAcS,GAAkB,CAAE/J,KAAM,QAASO,KAAM+I,EAAW/I,KAAMwK,SAAUF,GAAa,KAAMb,IACpJV,EAAaD,EAAiB7H,MAC1BqJ,GAAWxK,OAAOgB,eAAeiI,EAAYwB,OAAOC,SAAU,CAAEY,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrK,MAAOqJ,IACjIvJ,EAAkBgI,EAAYU,GAC1C,CACQ,WAAA1F,GACI4H,QACAvH,KAAKwS,UAAY7V,EAAkBqD,KAAMuF,IACzCvF,KAAKyS,YAAa,EAClBzS,KAAKwQ,WAAa7T,EAAkBqD,KAAM0K,GAA0B,IACpE1K,KAAKyQ,cAAgB9T,EAAkBqD,KAAM2K,IAAgChO,EAAkBqD,KAAM4K,IAA4B,IACjI5K,KAAK0Q,mBAAqB/T,EAAkBqD,KAAM6K,IAAkClO,EAAkBqD,KAAM8K,IAAiC,IAC7I9K,KAAK0S,yBAA2B/V,EAAkBqD,KAAM+K,IAAuC,IAE/F/K,KAAK2Q,aAAehU,EAAkBqD,KAAMgL,GAA4B,IACxEhL,KAAK6G,UAAYlK,EAAkBqD,KAAMiL,IAAkCtO,EAAkBqD,KAAM4F,IAAwB,IAC3H5F,KAAK4Q,UAAYjU,EAAkBqD,KAAM6F,IAA8BlJ,EAAkBqD,KAAMkL,IAAwB,IACvHlL,KAAK6Q,SAAWlU,EAAkBqD,KAAMmL,IAA8BxO,EAAkBqD,KAAMoL,IAAuB,IACrHpL,KAAK8Q,UAAYnU,EAAkBqD,KAAMqL,IAA6B1O,EAAkBqD,KAAMsL,IAAwB,IACtHtL,KAAK+Q,SAAWpU,EAAkBqD,KAAMuL,IAA8B5O,EAAkBqD,KAAMwL,IAAuB,IACrHxL,KAAKgR,UAAYrU,EAAkBqD,KAAMyL,IAA6B9O,EAAkBqD,KAAM0L,IAAwB,IACtH1L,KAAKiR,YAActU,EAAkBqD,KAAM2L,IAA8BhP,EAAkBqD,KAAM4L,IAA0B,IAC3H5L,KAAKkR,WAAavU,EAAkBqD,KAAM6L,IAAgClP,EAAkBqD,KAAM8L,IAAyB,IAC3H9L,KAAKmR,eAAiBxU,EAAkBqD,KAAM+L,IAA+BpP,EAAkBqD,KAAMgM,IAA6B,IAClIhM,KAAKoR,UAAYzU,EAAkBqD,KAAMiM,IAAmCtP,EAAkBqD,KAAMkM,IAAwB,IAC5HlM,KAAKqR,QAAU1U,EAAkBqD,KAAMmM,IAA8BxP,EAAkBqD,KAAMoM,IAAsB,IACnHpM,KAAKsR,gBAAkB3U,EAAkBqD,KAAMqM,IAA4B1P,EAAkBqD,KAAMsM,GAA8B,MAEjItM,KAAKuR,MAAQ5U,EAAkBqD,KAAMuM,IAAoC5P,EAAkBqD,KAAMwM,IAAoB,IACrHxM,KAAKsE,MAAQ3H,EAAkBqD,KAAMyM,IAA0B9P,EAAkBqD,KAAM0M,GAAoB,WAC3G1M,KAAKpE,MAAQe,EAAkBqD,KAAM2M,IAA0BhQ,EAAkBqD,KAAM4M,GAAoB,KAC3G5M,KAAKjC,OAASpB,EAAkBqD,KAAM6M,IAA0BlQ,EAAkBqD,KAAM0F,GAAqB,KAC7G1F,KAAKwR,YAAc7U,EAAkBqD,KAAM2F,IAA2BhJ,EAAkBqD,KAAM8M,GAA0B,KACxH9M,KAAKyR,WAAa9U,EAAkBqD,KAAM+M,IAAgCpQ,EAAkBqD,KAAMgN,GAAyB,KAC3HhN,KAAK0R,aAAe/U,EAAkBqD,KAAMiN,IAA+BtQ,EAAkBqD,KAAMkN,GAA2B,qBAC9HlN,KAAK2S,QAAUhW,EAAkBqD,KAAMmN,IAAiC,qBAAqByF,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,OACjI/S,KAAK2R,UAAYhV,EAAkBqD,KAAMoN,GAAyB,SAClEpN,KAAK4R,SAAWjV,EAAkBqD,KAAMqN,IAA+B1Q,EAAkBqD,KAAMsN,GAAuB,KAEtHtN,KAAKgT,cAAgBrW,EAAkBqD,KAAMuN,IAA6B,IAC1EvN,KAAK6R,QAAUlV,EAAkBqD,KAAMwN,QAAuB,GAC9DxN,KAAK8R,UAAYnV,EAAkBqD,KAAMyN,IAA6B9Q,EAAkBqD,KAAM0N,QAAwB,IACtH1N,KAAK+R,cAAgBpV,EAAkBqD,KAAM2N,IAA8BhR,EAAkBqD,KAAM4N,QAA4B,IAC/H5N,KAAKgS,cAAgBrV,EAAkBqD,KAAM6N,IAAkClR,EAAkBqD,KAAM8N,QAA4B,IACnI9N,KAAKiS,aAAetV,EAAkBqD,KAAM+N,IAAkCpR,EAAkBqD,KAAMgO,QAA2B,IACjIhO,KAAKkS,aAAevV,EAAkBqD,KAAMiO,IAAiCtR,EAAkBqD,KAAMkO,QAA2B,IAChIlO,KAAKmS,aAAexV,EAAkBqD,KAAMmO,IAAiCxR,EAAkBqD,KAAMoO,QAA2B,IAChIpO,KAAKoS,OAASzV,EAAkBqD,KAAMqO,IAAiC1R,EAAkBqD,KAAMsO,QAAqB,IACpHtO,KAAKqS,iBAAmB1V,EAAkBqD,KAAMuO,IAA2B5R,EAAkBqD,KAAMwO,QAA+B,IAClIxO,KAAKsS,eAAiB3V,EAAkBqD,KAAMyO,IAAqC9R,EAAkBqD,KAAM0O,QAA6B,IACxI1O,KAAKuS,gBAAkB5V,EAAkBqD,KAAM2O,IAAmChS,EAAkBqD,KAAM4O,QAA8B,IACxI5O,KAAKiT,iBAAmBtW,EAAkBqD,KAAM6O,IAAoC,IACpF7O,KAAKkT,eAAiB,IAAI7S,IAC1BL,KAAKmT,cAAe,EACpBnT,KAAKoT,mBAAqB,GAC1BpT,KAAKqT,oBAAsB,EAC3BrT,KAAKsT,iBAAkB,EACY,mBAAxBtT,KAAKuT,kBACZvT,KAAKwS,UAAYxS,KAAKuT,mBAE1BvT,KAAKwT,iBAAmB,IAAI9T,EAAqBM,KAAM,IAAMA,KAAKwS,UAAW,IAAMxS,KAAKoR,SAAWpR,KAAKsS,cAAgBtS,KAAK6R,QAAS,IAAM7R,KAAKjC,OAAS,SAC9J,CAKA,SAAIlB,GACA,OAAOmD,KAAKwQ,UAChB,CACA,SAAI3T,CAAMA,GACNmD,KAAKyT,SAAS5W,GAAO,EACzB,CACA,sBAAA6W,GACI1T,KAAK2T,eACT,CACA,iBAAAC,GACI5T,KAAKyS,YAAa,EAClBzS,KAAK6T,oBACL7T,KAAK8T,qBACT,CACA,oBAAAC,CAAqBlN,GACjB7G,KAAKyQ,aAAe5J,EAChBA,GAAY7G,KAAKgU,QACjBhU,KAAKiU,gBACTjU,KAAKkU,cACT,CACA,wBAAAC,CAAyBrF,GACA,iBAAVA,IACP9O,KAAKyT,SAAS3E,GAAO,GACrB9O,KAAK8T,sBAEb,CAEA,UAAIE,GACA,OAAOhU,KAAKuR,IAChB,CACA,uBAAI6C,GACA,OAAOpU,KAAK6G,UAAY7G,KAAKyQ,cAAgBzQ,KAAK+Q,OACtD,CAEA,iBAAIsD,GAEA,GAAIrU,KAAKgT,aAAajX,OAAS,GAAKiE,KAAK4R,QAAQ7V,OAAS,EAAG,CAEzD,MAAMuY,EAAc,IAAIjU,IAAIL,KAAKgT,aAAahU,IAAIuV,GAAKA,EAAE1X,QACzD,MAAO,IAAImD,KAAKgT,gBAAiBhT,KAAK4R,QAAQrS,OAAOgV,IAAMD,EAAY1R,IAAI2R,EAAE1X,QACjF,CACA,OAAOmD,KAAKgT,aAAajX,OAAS,EAAIiE,KAAKgT,aAAehT,KAAK4R,OACnE,CAMA,qBAAI4C,GACA,IAAKxU,KAAKqR,OACN,OAAOrR,KAAKqU,cAChB,MAAMI,EAASzU,KAAKqU,cACdK,EAAe,IAAIrU,IAAIoU,EAAOzV,IAAIuV,GAAKA,EAAE1X,QAC/C,MAAO,IAAImD,KAAKiT,gBAAgB1T,OAAOgV,IAAMG,EAAa9R,IAAI2R,EAAE1X,WAAY4X,EAChF,CACA,yBAAO/E,CAAoBT,GACvBjP,KAAKsT,iBAAkB,EACvBtT,KAAK2U,wBACL,IACI,MAAMC,EAAS,CAAE3F,QAAO4F,OAAQ7U,MAC1B8U,cAAwBF,GAC9B5U,KAAKsT,iBAAkB,EACvBtT,KAAKiT,gBAAkB6B,GAAY,GACnC9U,KAAKmT,cAAgB,EACrBnT,KAAK2U,uBACT,CACA,MACI3U,KAAKsT,iBAAkB,EACvBtT,KAAKiT,gBAAkB,GACvBjT,KAAK2U,uBACT,CACJ,CACA,oBAAAI,CAAqB9F,GACjB+F,aAAahV,KAAKqT,qBAClBrT,KAAKqT,oBAAsB4B,OAAO9T,WAAW,KACzCnB,KAAK0P,oBAAoBT,IAC1BjP,KAAKsR,eACZ,CACA,MAAA/K,GACI,MAAM2O,EAAmBlV,KAAK6Q,SAAW7Q,KAAK0Q,kBAIxChP,EAAiB1B,KAAKwT,iBAAiB9R,eAE7C,OAAOyF,MAAc;;wBALA,8BAA8BnH,KAAKsE,QAAQtE,KAAK4Q,SAAW,yBAA2B,gCAOvD5Q,KAAKjC,kBAAkB,IAAMiC,KAAKU;YACtFV,KAAKjC;;;cAGHiC,KAAKoR;;;;oEAIiDpR,KAAKsE;6BAC5CtE,KAAK0R;2BACP1R,KAAKoU;2BACLpU,KAAK8Q;;;+BAGD9Q,KAAKgU,OAAS,OAAS;;4BAE1BtS;kCACO1B,KAAKyR,WAAazR,KAAKwR,WAAcxR,KAAK2S,OAAS;8BACxDuC,EAAmB,OAAS;;wBAEjCC,GAAMnV,KAAKoV,oBAAoBD;wBAChC,IAAMnV,KAAKqV;uBACXF,GAAMnV,KAAKsV,mBAAmBH;0BAC3BA,GAAMnV,KAAKuV,sBAAsBJ;wBACpC,IAAMnV,KAAKwV;;;gCAGFL,GAAMnV,KAAKyV,yBAAyBN;;;;;;;;eAQtDnV,KAAKoR;;;qBAzCe,kCAAkCpR,KAAKsE,QAAQtE,KAAK+Q,QAAU,0BAA4B,MAAM/Q,KAAKoR,SAAW,2BAA6B;wBA6CxJpR,KAAKoU;;6BAEApU,KAAKgU,OAAS,OAAS;0BAC1BtS;gCACO1B,KAAKyR,WAAazR,KAAKwR,WAAcxR,KAAK2S,OAAS;4BACxDuC,EAAmB,OAAS;;wBAE/BC,GAAMnV,KAAK0V,kBAAkBP;sBAC/BA,GAAMnV,KAAK2V,mBAAmBR;;;iDAGJnV,KAAK0R;;;;8CAIR1R,KAAKoU,qBAAsB,EAAK,uEAAuEpU,KAAKoU,oBAAsB,OAAS,2CAA4Ce,GAAMnV,KAAK4V,iBAAiBT,iBAAkBA,IAAsB,UAAVA,EAAE7Z,KAA6B,MAAV6Z,EAAE7Z,MACtS6Z,EAAExU,iBACFX,KAAK4V,iBAAiBT;;;;;oBAMlBnV,KAAK+Q;;;qBAGJ/Q,KAAK+Q;;;;;;;;;;;;;2BApEMrP,EAAiB,GAAGA,YAA2B;;2BAmFnDyT,GAAMnV,KAAK6V,wBAAwBV;uBACvCA,GAAMnV,KAAK8V,mBAAmBX;;+DAtFpBnV,KAAKiR,YAAcjR,KAAKoR;;;;0BA4FhCpR,KAAKoU;;;;0BAIJe,GAAMnV,KAAK+V,oBAAoBZ;wBACjCA,GAAMnV,KAAKgW,kBAAkBb;;;;;;;;gBAQtCnV,KAAKyR,UAAY,QAAUzR,KAAKwR,WAAa,SAAW;;oEAEJxR,KAAK2S,wBAAwB3S,KAAKyR;;;sEAGhCzR,KAAK2S,WAAW3S,KAAKwR;;;;;KAMnF,CACA,UAAAyE,CAAWC,EAAWC,GAClB,MAAMpP,EAAOqP,SAASC,cAAc,OAKpC,OAJAtP,EAAKmP,UAAYA,EACjBnP,EAAKzE,aAAa,MAAO6T,GAAU,IACnCpP,EAAKzE,aAAa,MAAO,IACzByE,EAAKtI,QAAU0X,EACRpP,CACX,CACA,aAAAuP,GACI,MAAMC,EAAWH,SAASI,yBAC1B,GAAIxW,KAAKsT,gBAAiB,CACtB,MAAMmD,EAAYL,SAASC,cAAc,OACzCI,EAAUP,UAAY,2BACtB,MAAMQ,EAAUN,SAASC,cAAc,QACvCK,EAAQR,UAAY,yBACpB,MAAMS,EAAUP,SAASC,cAAc,QAIvC,OAHAM,EAAQtP,YAAc,eACtBoP,EAAUG,OAAOF,EAASC,GAC1BJ,EAASK,OAAOH,GACTF,CACX,CACA,MAAM3E,EAAW5R,KAAKiR,YAAcjR,KAAKoR,UAAYpR,KAAKqR,OAAUrR,KAAKiT,gBAAkBjT,KAAKqU,cAChG,GAAuB,IAAnBzC,EAAQ7V,OAAc,CACtB,MAAM8a,EAAYT,SAASC,cAAc,OACzCQ,EAAUX,UAAY,oBACtB,MAAMY,EAAYV,SAASC,cAAc,QACzCS,EAAUZ,UAAY,yBACtBY,EAAUC,QAAQC,OAAS,OAC3BF,EAAUrY,SAAWuB,KAAKiR,YAAcjR,KAAKoR,UAAYpR,KAAKqR,SAAWrR,KAAKiT,gBAAgBlX,OAAS,EACvG+a,EAAUzP,YAAc,mBACxB,MAAM4P,EAAcb,SAASC,cAAc,QAO3C,OANAY,EAAYf,UAAY,yBACxBe,EAAYF,QAAQC,OAAS,QAC7BC,EAAYxY,QAAUuB,KAAKiR,YAAcjR,KAAKoR,UAAYpR,KAAKqR,SAA2C,IAAhCrR,KAAKiT,gBAAgBlX,OAC/Fkb,EAAY5P,YAAc,uBAC1BwP,EAAUD,OAAOE,EAAWG,GAC5BV,EAASK,OAAOC,GACTN,CACX,CA+BA,OA9BA3E,EAAQsF,QAAQ,CAACC,EAAKC,KAClB,MAAMC,EAAarX,KAAKgR,SACpBhR,KAAKkT,eAAetQ,IAAIuU,EAAIta,OAC5Bsa,EAAIta,QAAUmD,KAAKnD,MACjBya,EAASlB,SAASC,cAAc,OACtCiB,EAAOpB,UAAY,gBACnBoB,EAAOC,UAAUC,OAAO,0BAA2BH,GACnDC,EAAOC,UAAUC,OAAO,0BAA2BhY,QAAQ2X,EAAItQ,WAC/DyQ,EAAOC,UAAUC,OAAO,yBAA0BJ,IAAUpX,KAAKmT,cACjEmE,EAAOC,UAAUC,OAAO,0BAA2BhY,QAAQ2X,EAAIpQ,OAC/DuQ,EAAOhV,aAAa,aAAc6U,EAAIta,OACtCya,EAAOhV,aAAa,OAAQ,UAC5BgV,EAAOhV,aAAa,gBAAiBmV,OAAOJ,IAC5CC,EAAOhV,aAAa,gBAAiBmV,OAAON,EAAItQ,WAChDyQ,EAAOhV,aAAa,OAAQ,UAC5B,MAAMoV,EAAQtB,SAASC,cAAc,QACrCqB,EAAMxB,UAAY,sBAClBwB,EAAMpV,aAAa,cAAe,QAClCoV,EAAMjZ,QAAUuB,KAAKgR,SACrB,MAAM2G,EAAYvB,SAASC,cAAc,QACzCsB,EAAUzB,UAAY,2BACtByB,EAAUlZ,QAAU4Y,EACpBM,EAAUtQ,YAAc,IACxBqQ,EAAMd,OAAOe,GACb,MAAM5Z,EAAQqY,SAASC,cAAc,QACrCtY,EAAMmY,UAAY,sBAClBnY,EAAMsJ,YAAc8P,EAAIpZ,MACxBuZ,EAAOV,OAAOc,EAAO1X,KAAKiW,WAAW,qBAAsBkB,EAAIpQ,MAAOhJ,GACtEwY,EAASK,OAAOU,KAEbf,CACX,CACA,MAAA/P,GACI,OAAOY,EAAAA,GAAI,GArkBN,u2VAskBT,CACA,IAAA5K,GAGI,GADAwD,KAAK4X,0BACDlc,OAAOF,UAAUqc,eAAe7a,KAAKgD,KAAM,SAAU,CACrD,MAAMnD,EAAQmD,KAAKnD,aACZmD,KAAKnD,MACZmD,KAAKnD,MAAQ4a,OAAO5a,GAAS,GACjC,MACUmD,KAAKyS,YACXzS,KAAK6T,oBAGL7T,KAAKgR,UAAYhR,KAAKnD,QACtBmD,KAAKkT,eAAiB,IAAI7S,IAAIL,KAAKnD,MAAMyC,MAAM,KAAKN,IAAI8Y,GAAKA,EAAExa,UAGnE0C,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAEhCrU,KAAK2T,gBACD3T,KAAKoR,UACLpR,KAAK+X,2BACL/X,KAAKgY,wBAILhY,KAAKiY,qBACLjY,KAAKkY,qBACLlY,KAAKmY,qBAETnY,KAAKoY,sBACLpY,KAAK2U,wBAEL3U,KAAKqY,kBAELrY,KAAKsY,uBACLtY,KAAKwT,iBAAiB7R,SAC1B,CACA,iBAAAkS,GACI7T,KAAKyT,SAASzT,KAAK2Q,cAAc,EACrC,CACA,QAAA8C,CAAS5W,EAAO0b,GACRA,IACAvY,KAAKyS,YAAa,GACtBzS,KAAKwQ,WAAaiH,OAAO5a,GAAS,IAClCmD,KAAKwY,oBACLxY,KAAK2T,eACT,CACA,iBAAA6E,GACQxY,KAAKgR,WACLhR,KAAKkT,eAAiB,IAAI7S,IAAIL,KAAKnD,MAAQmD,KAAKnD,MAAMyC,MAAM,KAAKN,IAAInC,GAASA,EAAMS,QAAU,KAE9F0C,KAAKoR,SACLpR,KAAK+X,4BAGL/X,KAAKkY,qBACLlY,KAAKmY,oBAEb,CACA,mBAAArE,GACIkB,aAAahV,KAAKqT,qBAClBrT,KAAKuR,MAAO,EACZvR,KAAKmT,cAAe,EACpBnT,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAC5BrU,KAAKiS,cACLjS,KAAKiS,YAAYpV,MAAQ,IAC7BmD,KAAKwY,oBACLxY,KAAK2U,uBACT,CACA,aAAA8D,GF3nBR,IAAwCjG,EAAW3V,EAAOiS,EAAPjS,EE4nBQmD,KAAKnD,MF5nBNiS,EE4nBa9O,KAAKnD,OF5nBpC2V,EE4nBGxS,KAAKwS,YFznBQ,mBAA3BA,EAAUkG,oBAErBtU,IAAV0K,EACA0D,EAAUkG,aAAa7b,GAEvB2V,EAAUkG,aAAa7b,EAAOiS,GEqnB9B,CACA,mBAAI6J,GAGA,OAFK3Y,KAAK4Y,kBACN5Y,KAAK4Y,gBAAkBxC,SAASC,cAAc,UAC3CrW,KAAK4Y,eAChB,CACA,aAAAjF,GACI3T,KAAKyY,gBACLzY,KAAKkU,cACT,CACA,YAAAA,GACI,MAAM2E,EAAS7Y,KAAKoU,qBAAuBpU,KAAK8Q,SAC1CgI,GAAgBD,GAAU7Y,KAAK4Q,WAAa5Q,KAAKgR,SAAwC,IAA7BhR,KAAKkT,eAAe5O,KAA4B,KAAftE,KAAKnD,OAClG4H,EAAQoU,EAAS,GAAK,CACxBE,YAAavZ,QAAQQ,KAAK0S,yBAC1BoG,gBAEEE,EAAWxU,EAAiBC,GAC5BkS,EAAU3W,KAAK0S,0BAChBoG,EAAe,2BAA6B,MAC5CE,EAAW,gCAAkC,IAClDhZ,KAAK0Q,kBAAoBsI,EACzB,MAAM9D,EAAmBlV,KAAK6Q,SAAWmI,EACnCC,EAASjZ,KAAKoR,SAAWpR,KAAKsS,cAAgBtS,KAAK6R,QACzD7R,KAAK2Y,gBAAgBO,kBAAkBF,EAAWrC,EAAU,IAC5D3W,KAAK6R,SAASvP,aAAa,eAAgBmV,OAAOvC,IAClDlV,KAAK6R,SAAS0F,UAAUC,OAAO,0BAA2BtC,GAC1DlV,KAAKsS,eAAehQ,aAAa,eAAgBmV,OAAOvC,IACxDlV,KAAKsS,eAAeiF,UAAUC,OAAO,iCAAkCtC,GF9oBnF,SAAuC1C,EAAW/N,EAAOkS,EAASsC,GAGzDzG,GAA8C,mBAA1BA,EAAU2G,cAE9B3U,EAAiBC,GAGbwU,EACLzG,EAAU2G,YAAY1U,EAAOkS,EAASsC,GAGtCzG,EAAU2G,YAAY1U,EAAOkS,GAN7BnE,EAAU2G,YAAY,IAQ9B,CEioBYC,CAA8BpZ,KAAKwS,UAAW/N,EAAOkS,EAASsC,EAClE,CACA,WAAAtJ,GACI3P,KAAKsY,uBACLtY,KAAKqY,kBACLrY,KAAKwT,iBAAiB7R,SAC1B,CACA,OAAAiO,GACI5P,KAAKqZ,wBACLrZ,KAAKsZ,eAAevX,aACpB/B,KAAKwT,iBAAiBzR,YAC1B,CACA,oBAAAuW,GAEItY,KAAKuZ,oBAAuBpE,IACxB,IAAKnV,KAAKgU,OACN,OACJ,MAAMnT,EAAOsU,EAAE3U,eACTgZ,EAAyB3a,MAAMC,KAAKkB,KAAKqB,QAAU,IACpDL,KAAKjD,GAAS8C,EAAKlC,SAASZ,IAC7B8C,EAAKlC,SAASqB,OAASwZ,IAEvBxZ,KAAKoR,UACLpR,KAAKyZ,sBAETzZ,KAAKiU,kBAETjU,KAAK0Z,iBAAoBvE,IACrB,IAAKnV,KAAKgU,QAAUhU,KAAKoR,SACrB,OAIJ,MAAMuI,EAAsBxE,EAAE3U,eAAe,KAAOR,KAAKiS,YACzD,OAAQkD,EAAE7Z,KACN,IAAK,SACD0E,KAAKiU,gBACLjU,KAAK6R,SAASnR,QACd,MACJ,IAAK,YACDyU,EAAExU,iBACFX,KAAK4Z,kBACL,MACJ,IAAK,UACDzE,EAAExU,iBACFX,KAAK6Z,sBACL,MACJ,IAAK,QACL,IAAK,IACD,GAAc,MAAV1E,EAAE7Z,KAAeqe,EACjB,OAEJ,GADAxE,EAAExU,iBACEX,KAAKmT,cAAgB,EAAG,CACxB,MACMmE,GADUtX,KAAKiR,WAAajR,KAAKiT,gBAAkBjT,KAAKqU,eACvCrU,KAAKmT,cACxBmE,IAAWA,EAAOzQ,UAClB7G,KAAK8Z,mBAAmBxC,EAEhC,IAKZlB,SAASxU,iBAAiB,QAAS5B,KAAKuZ,qBACxCnD,SAASxU,iBAAiB,UAAW5B,KAAK0Z,iBAC9C,CACA,qBAAAL,GACQrZ,KAAKuZ,qBACLnD,SAASpU,oBAAoB,QAAShC,KAAKuZ,qBAE3CvZ,KAAK0Z,kBACLtD,SAASpU,oBAAoB,UAAWhC,KAAK0Z,iBAErD,CAEA,eAAArB,GACI,MAAM3U,EAAW,IAAIH,iBAAkBI,IACnC3D,KAAK+Z,qBAAqBpW,KAG9BD,EAASG,QAAQ7D,KAAM,CACnB+D,WAAW,EACXD,SAAS,EACTG,YAAY,EACZC,gBAAiB,CAAC,QAAS,QAAS,WAAY,cAGpDlE,KAAKsZ,cAAgB5V,CACzB,CACA,oBAAAqW,CAAqBpW,GAEAA,EAAU3C,KAAKgZ,GACb,cAAXA,EAAEvX,QAES,eAAXuX,EAAEvX,OAAyB,CAAC,QAAS,QAAS,WAAY,YAAY9D,SAASqb,EAAEtX,iBACpD,iBAAtBsX,EAAEze,OAAO0e,YAKpBja,KAAK4X,0BACL5X,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAC3BrU,KAAKoR,WACNpR,KAAKkY,qBACLlY,KAAKmY,qBAETnY,KAAK2U,wBAEb,CACA,uBAAAiD,GAEI,MAAMrF,EAAiB1T,MAAMC,KAAKkB,KAAKyB,iBAAiB,iBACxDzB,KAAKgT,aAAeT,EAAevT,IAAImY,GACfA,EAEJ7P,WAFI6P,EAGG7P,WAEhB,CACHzK,MAAOsa,EAAIzY,aAAa,UAAY,GACpCX,MAAOoZ,EAAIzY,aAAa,UAAYyY,EAAI9P,aAAa/J,QAAU,GAC/DuJ,SAAUsQ,EAAI1X,aAAa,YAC3BqH,SAAUqQ,EAAI1X,aAAa,aAGvC,CAEA,mBAAA2V,CAAoBD,GAEhBnV,KAAKoT,mBADS+B,EAAE5Z,OACgBsB,MAEhCmD,KAAKka,sBAAsBla,KAAKoT,oBAC3BpT,KAAKgU,QACNhU,KAAKma,cAEb,CACA,mBAAA9E,GACSrV,KAAKgU,QAAWhU,KAAK8Q,UACtB9Q,KAAKma,cAEb,CACA,kBAAA7E,CAAmBH,GAEfhU,WAAW,KACHnB,KAAKgU,SACLhU,KAAKyZ,sBACLzZ,KAAKiU,kBAEV,IACP,CACA,mBAAAuB,GACSxV,KAAKgU,QAAWhU,KAAKoU,qBAAwBpU,KAAK8Q,UACnD9Q,KAAKma,cAEb,CACA,wBAAA1E,CAAyBN,GACrBA,EAAExU,iBACFwU,EAAEiF,kBACEpa,KAAKoU,qBAAuBpU,KAAK8Q,WAEjC9Q,KAAKgU,OACLhU,KAAKiU,iBAGLjU,KAAKma,eACLna,KAAKsS,eAAe5R,SAE5B,CACA,qBAAA6U,CAAsBJ,GAClB,OAAQA,EAAE7Z,KACN,IAAK,YACD6Z,EAAExU,iBACGX,KAAKgU,OAINhU,KAAK4Z,kBAHL5Z,KAAKma,eAKT,MACJ,IAAK,UACDhF,EAAExU,iBACEX,KAAKgU,QACLhU,KAAK6Z,sBAET,MACJ,IAAK,QAED,GADA1E,EAAExU,iBACEX,KAAKgU,QAAUhU,KAAKmT,cAAgB,EAAG,CACvC,MAAMmE,EAAStX,KAAKiT,gBAAgBjT,KAAKmT,cACrCmE,IAAWA,EAAOzQ,UAClB7G,KAAKqa,2BAA2B/C,EAExC,MACStX,KAAKgU,SACVhU,KAAKyZ,sBACLzZ,KAAKiU,iBAET,MACJ,IAAK,SACGjU,KAAKgU,SACLhU,KAAKiU,gBACLjU,KAAK+X,4BAET,MACJ,IAAK,MACG/X,KAAKgU,SACLhU,KAAKyZ,sBACLzZ,KAAKiU,iBAIrB,CACA,0BAAAoG,CAA2B/C,GACvBtX,KAAKnD,MAAQya,EAAOza,MACpBmD,KAAKoT,mBAAqBkE,EAAOvZ,MAC7BiC,KAAKsS,gBACLtS,KAAKsS,cAAczV,MAAQya,EAAOvZ,OAEtCiC,KAAKiU,gBACLjU,KAAKqQ,oBAAoBiH,GACzBtX,KAAKsS,eAAe5R,OACxB,CACA,mBAAA+Y,GACI,IAAKzZ,KAAKsS,cACN,OACJ,MAAMgI,EAAYta,KAAKsS,cAAczV,MAAMS,OAGrCid,EADava,KAAKqU,cACCmG,KAAKrD,GAAOA,EAAIpZ,MAAM0c,gBAAkBH,EAAUG,eACvEF,GACAva,KAAKnD,MAAQ0d,EAAM1d,MACnBmD,KAAKoT,mBAAqBmH,EAAMxc,MAChCiC,KAAKsS,cAAczV,MAAQ0d,EAAMxc,MACjCiC,KAAKqQ,oBAAoBkK,IAEpBva,KAAKmR,eAAiBmJ,GAC3Bta,KAAKnD,MAAQyd,EACbta,KAAKoT,mBAAqBkH,EAC1Bta,KAAKqQ,uBAILrQ,KAAK+X,0BAEb,CACA,qBAAAmC,CAAsBjL,GAClB,GAAIjP,KAAKqR,OAEL,YADArR,KAAK+U,qBAAqB9F,GAG9B,MAAMyL,EAAa1a,KAAKqU,cACxB,GAAKpF,EAGA,CACD,MAAM0L,EAAQ1L,EAAMwL,cACpBza,KAAKiT,gBAAkByH,EAAWnb,OAAO4X,GAAOA,EAAIpZ,MAAM0c,cAAc9b,SAASgc,GACrF,MALI3a,KAAKiT,gBAAkB,IAAIyH,GAM/B1a,KAAKmT,cAAe,EACpBnT,KAAK2U,uBACT,CACA,wBAAAoD,GACI,GAAK/X,KAAKsS,cAEV,GAAItS,KAAKnD,MAAO,CACZ,MAAM0d,EAAQva,KAAKwU,kBAAkBgG,KAAKrD,GAAOA,EAAIta,QAAUmD,KAAKnD,OAChE0d,GACAva,KAAKsS,cAAczV,MAAQ0d,EAAMxc,MACjCiC,KAAKoT,mBAAqBmH,EAAMxc,OAE3BiC,KAAKmR,eACVnR,KAAKsS,cAAczV,MAAQmD,KAAKnD,MAChCmD,KAAKoT,mBAAqBpT,KAAKnD,QAG/BmD,KAAKsS,cAAczV,MAAQ,GAC3BmD,KAAKoT,mBAAqB,GAElC,MAEIpT,KAAKsS,cAAczV,MAAQ,GAC3BmD,KAAKoT,mBAAqB,EAElC,CACA,mBAAA4E,GACI,IAAKhY,KAAKsS,cACN,OACJtS,KAAKsS,cAAchQ,aAAa,gBAAiBmV,OAAOzX,KAAKgU,SAC7DhU,KAAKsS,cAAciF,UAAUC,OAAO,8BAA+BxX,KAAKgU,QACxE,MAAMkB,EAAmBlV,KAAK6Q,SAAW7Q,KAAK0Q,kBAC9C1Q,KAAKsS,cAAchQ,aAAa,eAAgBmV,OAAOvC,IACvDlV,KAAKsS,cAAciF,UAAUC,OAAO,iCAAkCtC,EAC1E,CAEA,uBAAAW,CAAwBV,GAChBnV,KAAKoR,UACL+D,EAAExU,gBAEV,CAEA,iBAAA+U,CAAkBP,GACV,CAAC,QAAS,IAAK,YAAa,WAAWxW,SAASwW,EAAE7Z,OAClD6Z,EAAExU,iBACGX,KAAKgU,QACNhU,KAAKma,eAGjB,CACA,mBAAApE,CAAoBZ,GAChB,OAAQA,EAAE7Z,KACN,IAAK,SACD0E,KAAKiU,gBACLjU,KAAK6R,SAASnR,QACd,MACJ,IAAK,YACDyU,EAAExU,iBACFX,KAAK4Z,kBACL,MACJ,IAAK,UACDzE,EAAExU,iBACFX,KAAK6Z,sBACL,MACJ,IAAK,QAED,GADA1E,EAAExU,iBACEX,KAAKmT,cAAgB,EAAG,CACxB,MACMmE,GADUtX,KAAKiR,WAAajR,KAAKiT,gBAAkBjT,KAAKqU,eACvCrU,KAAKmT,cACxBmE,IAAWA,EAAOzQ,UAClB7G,KAAK8Z,mBAAmBxC,EAEhC,EAGZ,CACA,eAAAsC,GACI,MAAMhI,EAAW5R,KAAKiR,YAAcjR,KAAKoR,SAAYpR,KAAKiT,gBAAkBjT,KAAKqU,cAEjF,GAA8B,IADPzC,EAAQrS,OAAO4X,IAAQA,EAAItQ,UAC/B9K,OAAnB,CAMA,IAJAiE,KAAKmT,eACDnT,KAAKmT,cAAgBvB,EAAQ7V,SAC7BiE,KAAKmT,aAAe,GAEjBvB,EAAQ5R,KAAKmT,eAAetM,UAC/B7G,KAAKmT,eACDnT,KAAKmT,cAAgBvB,EAAQ7V,SAC7BiE,KAAKmT,aAAe,GAG5BnT,KAAK4a,mBAXD,CAYR,CACA,mBAAAf,GACI,MAAMjI,EAAW5R,KAAKiR,YAAcjR,KAAKoR,SAAYpR,KAAKiT,gBAAkBjT,KAAKqU,cAEjF,GAA8B,IADPzC,EAAQrS,OAAO4X,IAAQA,EAAItQ,UAC/B9K,OAAnB,CAMA,IAJAiE,KAAKmT,eACDnT,KAAKmT,aAAe,IACpBnT,KAAKmT,aAAevB,EAAQ7V,OAAS,GAElC6V,EAAQ5R,KAAKmT,eAAetM,UAC/B7G,KAAKmT,eACDnT,KAAKmT,aAAe,IACpBnT,KAAKmT,aAAevB,EAAQ7V,OAAS,GAG7CiE,KAAK4a,mBAXD,CAYR,CACA,iBAAAA,GACI,GAAI5a,KAAKuS,eAAgB,CACrBvS,KAAKuS,eAAe2E,QAAQ,CAAC2D,EAAIzD,KAC7ByD,EAAGtD,UAAUC,OAAO,yBAA0BJ,IAAUpX,KAAKmT,gBAGjE,MAAM2H,EAAY9a,KAAKuS,iBAAiBvS,KAAKmT,cACzC2H,GACAA,EAAUC,eAAe,CAAEC,MAAO,WAE1C,CACJ,CACA,gBAAApF,CAAiBT,GACTnV,KAAKoU,qBAAuBpU,KAAK8Q,WAErCqE,EAAExU,iBACFwU,EAAEiF,kBACFpa,KAAKmC,QACT,CACA,kBAAAwT,CAAmBR,GACAA,EAAE5Z,OAEN0f,QAAQ,mBAGnB9F,EAAEiF,kBACGpa,KAAKoU,qBAAwBpU,KAAK8Q,UACnC9Q,KAAKkb,iBAEb,CACA,kBAAApF,CAAmBX,GACf,GAAInV,KAAKoU,qBAAuBpU,KAAK8Q,SACjC,OACJ,MAAMvV,EAAS4Z,EAAE5Z,OAEjB,GAAIA,EAAO0f,QAAQ,sBAAuB,CACtC9F,EAAEiF,kBACF,MACMvd,EADYtB,EAAO0f,QAAQ,sBACTvc,aAAa,cAQrC,YAPI7B,GAASmD,KAAKgR,WACdhR,KAAKkT,eAAe7O,OAAOxH,GAC3BmD,KAAKnD,MAAQgC,MAAMC,KAAKkB,KAAKkT,gBAAgBhU,KAAK,KAClDc,KAAKkY,qBACLlY,KAAKmY,oBACLnY,KAAKqQ,uBAGb,CACA,MAAM8K,EAAW5f,EAAO0f,QAAQ,kBAChC,IAAKE,EACD,OACJhG,EAAEiF,kBACF,MAAMvd,EAAQse,EAASzc,aAAa,cACpC,IAAK7B,EACD,OACJ,MAAMya,EAAStX,KAAKwU,kBAAkBgG,KAAKrD,GAAOA,EAAIta,QAAUA,GAC5Dya,IAAWA,EAAOzQ,WACd7G,KAAKoR,SACLpR,KAAKqa,2BAA2B/C,GAGhCtX,KAAK8Z,mBAAmBxC,GAGpC,CACA,iBAAAtB,CAAkBb,GACd,MACMiG,EADQjG,EAAE5Z,OACSsB,MACzB,GAAImD,KAAKqR,OAEL,YADArR,KAAK+U,qBAAqBqG,GAG9B,MAAMT,EAAQS,EAAWX,cAErBza,KAAKiT,gBADL0H,EACuB3a,KAAKqU,cAAc9U,OAAO4X,GAAOA,EAAIpZ,MAAM0c,cAAc9b,SAASgc,IAGlE,IAAI3a,KAAKqU,eAEpCrU,KAAKmT,cAAe,EACpBnT,KAAK2U,uBACT,CACA,kBAAAmF,CAAmBxC,GACXtX,KAAKgR,UACDhR,KAAKkT,eAAetQ,IAAI0U,EAAOza,OAC/BmD,KAAKkT,eAAe7O,OAAOiT,EAAOza,OAGlCmD,KAAKkT,eAAe9Q,IAAIkV,EAAOza,OAEnCmD,KAAKnD,MAAQgC,MAAMC,KAAKkB,KAAKkT,gBAAgBhU,KAAK,KAClDc,KAAK2U,0BAGL3U,KAAKnD,MAAQya,EAAOza,MACpBmD,KAAKiU,iBAETjU,KAAKkY,qBACLlY,KAAKmY,oBACLnY,KAAKqQ,oBAAoBiH,EAC7B,CACA,iBAAAzH,GACI7P,KAAKwY,oBACLxY,KAAK2T,eACT,CACA,wBAAA7D,GACS9P,KAAKyS,YACNzS,KAAK6T,mBACb,CACA,2BAAA9D,GACI/P,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAChCrU,KAAK2U,wBACD3U,KAAKoR,UACLpR,KAAK+X,0BAEb,CACA,oBAAA/H,GACShQ,KAAKoR,WACNpR,KAAKiY,qBACLjY,KAAKmY,qBAGLnY,KAAKoU,qBAAuBpU,KAAKgU,SAAWhU,KAAKqR,QACjDrR,KAAKiU,gBAETjU,KAAKkU,cACT,CACA,mCAAAjE,GACIjQ,KAAKwY,oBACLxY,KAAKkU,cACT,CACA,4BAAAhE,GACImL,eAAe,KACMrb,KAAKsb,SACRC,KAAK,KACVvb,KAAKoB,cAEVpB,KAAKwY,oBACLxY,KAAKkU,eACLlU,KAAKwT,iBAAiB1R,WAGlC,CACA,mBAAAqO,GACI,MAAM+E,EAAmBlV,KAAK6Q,SAAW7Q,KAAK0Q,kBAC9C1Q,KAAK6R,SAASvP,aAAa,eAAgBmV,OAAOvC,IAClDlV,KAAK6R,SAAS0F,UAAUC,OAAO,0BAA2BtC,GAC1DlV,KAAKsS,eAAehQ,aAAa,eAAgBmV,OAAOvC,IACxDlV,KAAKsS,eAAeiF,UAAUC,OAAO,iCAAkCtC,EAC3E,CACA,gBAAA9E,GACIpQ,KAAKoY,sBACDpY,KAAKoR,UACLpR,KAAKgY,sBACDhY,KAAKgU,SACDhU,KAAKqR,OAGLrR,KAAK+U,qBADS/U,KAAKsS,eAAezV,OAAS,KAK3CmD,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAChCrU,KAAKmT,cAAe,EACpBnT,KAAK2U,0BAGR3U,KAAKgU,SACNhU,KAAKmT,cAAe,KAIxBnT,KAAKiY,qBAEDjY,KAAKgU,QAAUhU,KAAKiR,YAAcjR,KAAKiS,aACvC9Q,WAAW,IAAMnB,KAAKiS,aAAavR,QAAS,KAG5CV,KAAKgU,QAAUhU,KAAKqR,QAAUrR,KAAKiR,YAEnCjR,KAAK+U,qBADS/U,KAAKiS,aAAapV,OAAS,IAIxCmD,KAAKgU,SACNhU,KAAKmT,cAAe,EAChBnT,KAAKiS,cACLjS,KAAKiS,YAAYpV,MAAQ,GACzBmD,KAAKiT,gBAAkB,IAAIjT,KAAKqU,eAChCrU,KAAK2U,0BAIrB,CACA,kBAAAuD,GACI,IAAKlY,KAAK+R,aACN,OACJ,MACMyJ,EADaxb,KAAKwU,kBACWjV,OAAO4X,GAAOnX,KAAKgR,SAAWhR,KAAKkT,eAAetQ,IAAIuU,EAAIta,OAASsa,EAAIta,QAAUmD,KAAKnD,OACzH,GAAImD,KAAKgR,UAAYwK,EAAgBzf,OAAS,EAAG,CAC7C,MAAM0f,EAASrF,SAASC,cAAc,OACtCoF,EAAOvF,UAAY,yBACnBsF,EAAgBtE,QAAQC,IACpB,MAAM3V,EAAM4U,SAASC,cAAc,QACnC7U,EAAI0U,UAAY,aAChB,MAAMwF,EAAetF,SAASC,cAAc,QAC5CqF,EAAaxF,UAAY,oBACzBwF,EAAapZ,aAAa,aAAc6U,EAAIta,OAC5C6e,EAAapZ,aAAa,aAAc,UAAU6U,EAAIpZ,SACtD2d,EAAajd,OAASuB,KAAKoU,qBAAuBpU,KAAK8Q,SACvD4K,EAAarU,YAAc,IAC3B7F,EAAIoV,OAAO5W,KAAKiW,WAAW,kBAAmBkB,EAAIpQ,MAAOqP,SAASuF,eAAexE,EAAIpZ,OAAQ2d,GAC7FD,EAAO7E,OAAOpV,KAElBxB,KAAK+R,aAAa6J,gBAAgBH,EACtC,MACK,GAAID,EAAgBzf,OAAS,EAAG,CACjC,MAAM+K,EAAW0U,EAAgB,GAC3B3e,EAAQuZ,SAASC,cAAc,OACrCxZ,EAAMqZ,UAAY,uBAClB,MAAMnY,EAAQqY,SAASC,cAAc,QACrCtY,EAAMsJ,YAAcP,EAAS/I,MAC7BlB,EAAM+Z,OAAO5W,KAAKiW,WAAW,oBAAqBnP,EAASC,MAAOhJ,GAClEiC,KAAK+R,aAAa6J,gBAAgB/e,EACtC,KACK,CACD,MAAM6U,EAAc0E,SAASC,cAAc,QAC3C3E,EAAYwE,UAAY,qBACxBxE,EAAYrK,YAAcrH,KAAK0R,YAC/B1R,KAAK+R,aAAa6J,gBAAgBlK,EACtC,CACJ,CACA,iBAAAyG,GACI,IAAKnY,KAAKmS,YACN,OACJ,MACMqJ,EADaxb,KAAKwU,kBACWjV,OAAO4X,GAAOnX,KAAKgR,SAAWhR,KAAKkT,eAAetQ,IAAIuU,EAAIta,OAASsa,EAAIta,QAAUmD,KAAKnD,OAEzHmD,KAAKmS,YAAY0J,MAAMC,QADJ9b,KAAKkR,WAAasK,EAAgBzf,OAAS,IAAMiE,KAAKoU,sBAAwBpU,KAAK8Q,SACxD,GAAK,MACvD,CACA,qBAAA6D,GACS3U,KAAKkS,aAEVlS,KAAKkS,YAAY0J,gBAAgB5b,KAAKsW,gBAC1C,CACA,mBAAAjG,CAAoBiH,GAChB,MAAO,CACHza,MAAOmD,KAAKgR,SAAWnS,MAAMC,KAAKkB,KAAKkT,gBAAkBlT,KAAKnD,MAC9Dya,SACAzC,OAAQ7U,KAEhB,CACA,iBAAAsQ,GACI,MAAO,CAAEuE,OAAQ7U,KACrB,CACA,kBAAAuQ,GACI,MAAO,CAAEsE,OAAQ7U,KACrB,CAEA,KAAAU,GACQV,KAAKoR,SACLpR,KAAKsS,eAAe5R,QAGpBV,KAAK6R,SAASnR,OAEtB,CAEA,QAAI+B,GACA,OAAOzC,KAAKgR,SAAW,kBAAoB,YAC/C,CAEA,QAAI+K,GACA,OF3vCZ,SAAuB1d,EAAMmU,GACzB,GAAIA,GAAWuJ,KACX,OAAOvJ,EAAUuJ,KACrB,MAAMC,EAAgB3d,EAAKK,aAAa,QACxC,GAAsB,OAAlBsd,EAAwB,CACxB,MAAM/d,EAAOI,EAAKH,cAClB,MAAM,qBAAsBD,EAErBY,MAAMC,KAAKb,EAAKwD,iBAAiB,aACnC+Y,KAAM/c,GAAcA,aAAqBwe,iBAAmBxe,EAAUO,KAAOge,IAAkB,KAFzF,IAGf,CACA,OAAO3d,EAAK4c,QAAQ,OACxB,CE+uCmBiB,CAAclc,KAAMA,KAAKwS,UACpC,CAEA,YAAI2J,GACA,OAAOnc,KAAKwS,WAAW2J,UAAYnc,KAAK2Y,gBAAgBwD,QAC5D,CAEA,qBAAIC,GACA,OAAOpc,KAAKwS,WAAW4J,mBAAqBpc,KAAK2Y,gBAAgByD,iBACrE,CAEA,gBAAIC,GACA,OAAIrc,KAAKoU,sBAAuBpU,KAAK8Q,WAE9B9Q,KAAKwS,WAAW6J,eAAgB,EAC3C,CAEA,UAAIhb,GACA,OAAOrB,KAAKwT,iBAAiBnS,MACjC,CACA,IAAAib,GACQtc,KAAKoR,SACLpR,KAAKsS,eAAegK,OAGpBtc,KAAK6R,SAASyK,OAEdtc,KAAKgU,QACLhU,KAAKiU,eAEb,CACA,aAAAsI,GAEI,OADAvc,KAAKkU,eACElU,KAAKwS,WAAW+J,iBAAmBvc,KAAK2Y,gBAAgB4D,eACnE,CACA,cAAAC,GAEI,OADAxc,KAAKkU,eACElU,KAAKwS,WAAWgK,kBAAoBxc,KAAK2Y,gBAAgB6D,gBACpE,CACA,iBAAAtD,CAAkBvC,GACd3W,KAAK0S,wBAA0B+E,OAAOd,GACtC3W,KAAKkU,cACT,CACA,KAAA/R,GACQnC,KAAKgR,UACLhR,KAAKkT,eAAe/Q,QACpBnC,KAAKnD,MAAQ,IAGbmD,KAAKnD,MAAQ,GAEbmD,KAAKoR,SACLpR,KAAK+X,4BAGL/X,KAAKkY,qBACLlY,KAAKmY,qBAETnY,KAAKqQ,qBACT,CACA,YAAA8J,GACSna,KAAKgU,QAAWhU,KAAKoU,qBAAwBpU,KAAK8Q,WACnD9Q,KAAKuR,MAAO,EACZvR,KAAKsQ,oBAEb,CACA,aAAA2D,GACQjU,KAAKgU,SACLhU,KAAKuR,MAAO,EACZvR,KAAKuQ,qBAEb,CACA,cAAA2K,GACQlb,KAAKgU,OACLhU,KAAKiU,gBAGLjU,KAAKma,cAEb,CACA,YAAAsC,CAAa5f,GACT,MAAMya,EAAStX,KAAKwU,kBAAkBgG,KAAKrD,GAAOA,EAAIta,QAAUA,GAC5Dya,IAAWA,EAAOzQ,WACd7G,KAAKoR,SACLpR,KAAKqa,2BAA2B/C,GAGhCtX,KAAK8Z,mBAAmBxC,GAGpC,CACA,kBAAAW,GACI,IAAKjY,KAAK6R,QACN,OACJ7R,KAAK6R,QAAQ0F,UAAUC,OAAO,uBAAwBxX,KAAKgU,QAC3DhU,KAAK6R,QAAQ0F,UAAUC,OAAO,2BAA4BxX,KAAKoU,qBAC/DpU,KAAK6R,QAAQ0F,UAAUC,OAAO,2BAA4BxX,KAAK8Q,UAC/D,MAAMoE,EAAmBlV,KAAK6Q,SAAW7Q,KAAK0Q,kBAC9C1Q,KAAK6R,QAAQ0F,UAAUC,OAAO,0BAA2BtC,GACzDlV,KAAK6R,QAAQvP,aAAa,eAAgBmV,OAAOvC,IACjDlV,KAAK6R,QAAQ0F,UAAUC,OAAO,0BAA2BxX,KAAK+Q,SAC9D/Q,KAAK6R,QAAQvP,aAAa,gBAAiBmV,OAAOzX,KAAKgU,SACvDhU,KAAK6R,QAAQhL,SAAW7G,KAAKoU,mBACjC,CACA,mBAAAgE,GACSpY,KAAK8R,WAEV9R,KAAK8R,SAASyF,UAAUC,OAAO,wBAAyBxX,KAAKgU,QACzDhU,KAAKoS,OACLpS,KAAKoS,MAAMmF,UAAUC,OAAO,qBAAsBxX,KAAKgU,QAE/D,GAGP,EA35CiB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"snice-select.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/form-label-association.js","../../components/form-control-validity.js","../../components/select/snice-option.js","../../components/select/snice-select.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","const labelAssociationRegistries = new WeakMap();\nfunction normalizeAccessibleText(value) {\n return value.replace(/\\s+/gu, ' ').trim();\n}\nfunction nodeContains(node, candidate) {\n return node === candidate || (node.nodeType === Node.ELEMENT_NODE && node.contains(candidate));\n}\nfunction labelRoot(host) {\n const root = host.getRootNode();\n if (root.nodeType === Node.DOCUMENT_NODE)\n return root;\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot)\n return root;\n return null;\n}\nfunction rootElementById(label, id) {\n const root = label.getRootNode();\n if ('getElementById' in root)\n return root.getElementById(id);\n return null;\n}\nfunction collectLabelText(node, host) {\n if (node === host)\n return '';\n if (node.nodeType === Node.TEXT_NODE)\n return node.nodeValue || '';\n if (node.nodeType !== Node.ELEMENT_NODE)\n return '';\n const element = node;\n if (element.hidden || element.getAttribute('aria-hidden') === 'true')\n return '';\n if (['script', 'style', 'template'].includes(element.localName))\n return '';\n if (element.localName === 'br')\n return ' ';\n if (element.localName === 'img')\n return element.getAttribute('alt') || '';\n return Array.from(element.childNodes)\n .map(child => collectLabelText(child, host))\n .join(' ');\n}\nfunction labelAccessibleText(label, host) {\n const labelledBy = label.getAttribute('aria-labelledby');\n if (labelledBy) {\n const referenced = labelledBy\n .split(/\\s+/u)\n .map(id => rootElementById(label, id))\n .filter((element) => Boolean(element) && element !== label)\n .map(element => collectLabelText(element, host));\n const text = normalizeAccessibleText(referenced.join(' '));\n if (text)\n return text;\n }\n if (label.hasAttribute('aria-label')) {\n return normalizeAccessibleText(label.getAttribute('aria-label') || '');\n }\n const text = normalizeAccessibleText(collectLabelText(label, host));\n return text || normalizeAccessibleText(label.getAttribute('title') || '');\n}\nfunction ensureLabelAssociationRegistry(root) {\n const observedNode = root.nodeType === Node.DOCUMENT_NODE\n ? root.documentElement\n : root;\n if (!observedNode || typeof MutationObserver === 'undefined')\n return null;\n const existing = labelAssociationRegistries.get(root);\n if (existing)\n return existing;\n const associations = new Set();\n const observer = new MutationObserver(mutations => {\n for (const association of associations) {\n if (mutations.some(mutation => association.isAffectedBy(mutation))) {\n association.sync();\n }\n }\n });\n observer.observe(observedNode, {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['for', 'id', 'aria-label', 'aria-labelledby', 'aria-hidden', 'hidden', 'alt', 'title']\n });\n const registry = { associations, observer };\n labelAssociationRegistries.set(root, registry);\n return registry;\n}\n/**\n * Bridges native FACE label association into a component's shadow focus target.\n *\n * Associated label text becomes the shadow control's accessible name, and the\n * browser-generated click on a form-associated custom-element host focuses that\n * control. One shared, filtered observer per document or shadow root keeps explicit, wrapping,\n * multiple, and dynamic labels current without installing an observer per\n * component instance. Association is also resolved from the current tree because\n * Firefox and WebKit can retain stale `ElementInternals.labels` entries after a\n * dynamic `id`/`for` change.\n */\nclass FormLabelAssociation {\n constructor(host, getInternals, getTarget, getFallbackName, syncRelatedNames) {\n this.host = host;\n this.getInternals = getInternals;\n this.getTarget = getTarget;\n this.getFallbackName = getFallbackName;\n this.syncRelatedNames = syncRelatedNames;\n this.connected = false;\n this.currentLabels = [];\n this.currentNamingNodes = [];\n this.referencedIds = new Set();\n this.handleHostActivation = (event) => {\n if (event.composedPath()[0] !== this.host)\n return;\n this.currentLabels = this.resolveLabels();\n if (this.currentLabels.length === 0)\n return;\n const target = this.getTarget();\n if (!target) {\n event.preventDefault();\n return;\n }\n target.focus();\n };\n this.handleLabelActivation = (event) => {\n const path = event.composedPath();\n const eventTarget = event.target;\n if (eventTarget === this.host || (eventTarget instanceof Node && this.host.contains(eventTarget)))\n return;\n // Native labels do not redirect activation from an interactive descendant.\n // Preserve that rule while filling the wrapping-FACE activation gap in\n // engines that do not forward the label click to the custom-element host.\n const label = event.currentTarget;\n const interactiveDescendant = path.some(node => node instanceof HTMLElement &&\n node !== label &&\n node.matches('a[href], button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"]), [role=\"button\"], [role=\"link\"]'));\n if (interactiveDescendant)\n return;\n const target = this.getTarget();\n if (!target) {\n // Prevent the browser's FACE label default action from focusing a\n // delegatesFocus shadow descendant when this component is disabled,\n // loading, or otherwise has no eligible interaction target.\n event.preventDefault();\n return;\n }\n target.focus();\n // WebKit may run its FACE label default action after the bubbling click and\n // move focus back to the host. Re-assert the shadow target after that\n // default action while retaining the browser's normal activation event.\n setTimeout(() => {\n const currentTarget = this.getTarget();\n if (this.connected && currentTarget?.isConnected && this.currentLabels.includes(label)) {\n currentTarget.focus();\n }\n }, 0);\n };\n }\n get labels() {\n const root = this.host.getRootNode();\n if (this.host.id && 'querySelectorAll' in root) {\n try {\n const id = CSS.escape(this.host.id);\n const tag = CSS.escape(this.host.localName);\n return root.querySelectorAll(`label[for=\"${id}\"], label:not([for]):has(${tag}#${id})`);\n }\n catch {\n // Fall through for DOM implementations without :has() or CSS.escape().\n }\n }\n return this.getInternals()?.labels ?? null;\n }\n get accessibleName() {\n const labels = this.resolveLabels();\n if (labels.length > 0) {\n return normalizeAccessibleText(labels.map(label => labelAccessibleText(label, this.host)).join(' '));\n }\n return normalizeAccessibleText(this.getFallbackName());\n }\n connect() {\n if (this.connected)\n return;\n this.connected = true;\n this.host.addEventListener('click', this.handleHostActivation);\n this.bindRegistry();\n this.sync();\n }\n disconnect() {\n if (!this.connected)\n return;\n this.connected = false;\n this.host.removeEventListener('click', this.handleHostActivation);\n this.unbindLabelActivation();\n this.releaseRegistry();\n this.currentLabels = [];\n this.currentNamingNodes = [];\n this.referencedIds.clear();\n }\n sync() {\n if (this.connected)\n this.bindRegistry();\n this.unbindLabelActivation();\n this.currentLabels = this.resolveLabels();\n if (this.connected) {\n for (const label of this.currentLabels) {\n label.addEventListener('click', this.handleLabelActivation);\n }\n }\n this.currentNamingNodes = [...this.currentLabels];\n this.referencedIds.clear();\n for (const label of this.currentLabels) {\n for (const id of (label.getAttribute('aria-labelledby') || '').split(/\\s+/u).filter(Boolean)) {\n this.referencedIds.add(id);\n const referenced = rootElementById(label, id);\n if (referenced && referenced !== label)\n this.currentNamingNodes.push(referenced);\n }\n }\n const name = this.currentLabels.length > 0\n ? normalizeAccessibleText(this.currentLabels.map(label => labelAccessibleText(label, this.host)).join(' '))\n : normalizeAccessibleText(this.getFallbackName());\n this.getTarget()?.setAttribute('aria-label', name);\n this.syncRelatedNames?.(name);\n }\n isAffectedBy(mutation) {\n if (mutation.type === 'attributes') {\n if (mutation.target === this.host && mutation.attributeName === 'id')\n return true;\n const target = mutation.target;\n if (target.localName === 'label' && mutation.attributeName === 'for') {\n return this.currentLabels.includes(target)\n || (Boolean(this.host.id) && target.htmlFor === this.host.id);\n }\n if (mutation.attributeName === 'id' && this.referencedIds.has(target.id))\n return true;\n return this.currentNamingNodes.some(node => node === target || node.contains(target));\n }\n if (this.currentNamingNodes.some(node => node === mutation.target || node.contains(mutation.target))) {\n return true;\n }\n if (mutation.type === 'childList') {\n return [...mutation.addedNodes, ...mutation.removedNodes].some(node => {\n if (nodeContains(node, this.host) || nodeContains(this.host, node))\n return true;\n if (this.currentNamingNodes.some(current => nodeContains(node, current)))\n return true;\n if (node.nodeType !== Node.ELEMENT_NODE)\n return false;\n const element = node;\n const labels = element.localName === 'label'\n ? [element]\n : Array.from(element.querySelectorAll('label'));\n if (labels.some(label => label.hasAttribute('for')\n ? Boolean(this.host.id) && label.htmlFor === this.host.id\n : label.contains(this.host)))\n return true;\n return [element, ...Array.from(element.querySelectorAll('[id]'))]\n .some(candidate => this.referencedIds.has(candidate.id));\n });\n }\n return false;\n }\n unbindLabelActivation() {\n for (const label of this.currentLabels) {\n label.removeEventListener('click', this.handleLabelActivation);\n }\n }\n bindRegistry() {\n const root = labelRoot(this.host);\n if (root === this.registryRoot)\n return;\n this.releaseRegistry();\n if (!root)\n return;\n this.registryRoot = root;\n this.registry = ensureLabelAssociationRegistry(root) || undefined;\n this.registry?.associations.add(this);\n }\n releaseRegistry() {\n this.registry?.associations.delete(this);\n if (this.registry && this.registry.associations.size === 0 && this.registryRoot) {\n this.registry.observer.disconnect();\n labelAssociationRegistries.delete(this.registryRoot);\n }\n this.registry = undefined;\n this.registryRoot = undefined;\n }\n resolveLabels() {\n const root = this.host.getRootNode();\n if ('querySelectorAll' in root) {\n return Array.from(root.querySelectorAll('label')).filter(label => {\n if (label.hasAttribute('for')) {\n return Boolean(this.host.id) && label.htmlFor === this.host.id;\n }\n return label.contains(this.host);\n });\n }\n return Array.from(this.getInternals()?.labels || []);\n }\n}\n\nexport { FormLabelAssociation };\n//# sourceMappingURL=form-label-association.js.map\n","const validityKeys = [\n 'badInput',\n 'customError',\n 'patternMismatch',\n 'rangeOverflow',\n 'rangeUnderflow',\n 'stepMismatch',\n 'tooLong',\n 'tooShort',\n 'typeMismatch',\n 'valueMissing'\n];\n/** Copy the actionable flags from a native ValidityState. */\nfunction validityFlagsFrom(validity, overrides = {}) {\n const flags = {};\n for (const key of validityKeys)\n flags[key] = validity[key];\n return Object.assign(flags, overrides);\n}\nfunction hasValidityError(flags) {\n return validityKeys.some(key => Boolean(flags[key]));\n}\n/** Keep ElementInternals form-value updates safe in partial DOM implementations. */\nfunction applyElementInternalsFormValue(internals, value, state) {\n // jsdom and other DOM test implementations can expose the ARIA portion of\n // ElementInternals without the form-associated custom-element methods.\n if (!internals || typeof internals.setFormValue !== 'function')\n return;\n if (state === undefined)\n internals.setFormValue(value);\n else\n internals.setFormValue(value, state);\n}\n/** Keep ElementInternals validity updates identical across form controls. */\nfunction applyElementInternalsValidity(internals, flags, message, anchor) {\n // Some DOM test implementations expose a partial ElementInternals object.\n // Keep the component's native-input/proxy fallback usable in that case.\n if (!internals || typeof internals.setValidity !== 'function')\n return;\n if (!hasValidityError(flags)) {\n internals.setValidity({});\n }\n else if (anchor) {\n internals.setValidity(flags, message, anchor);\n }\n else {\n internals.setValidity(flags, message);\n }\n}\n/**\n * ElementInternals.form is authoritative. The fallback keeps DOM test\n * implementations and older partial implementations useful without changing\n * browser ownership semantics.\n */\nfunction findFormOwner(host, internals) {\n if (internals?.form)\n return internals.form;\n const explicitOwner = host.getAttribute('form');\n if (explicitOwner !== null) {\n const root = host.getRootNode();\n if (!('querySelectorAll' in root))\n return null;\n return Array.from(root.querySelectorAll('form[id]'))\n .find((candidate) => candidate instanceof HTMLFormElement && candidate.id === explicitOwner) ?? null;\n }\n return host.closest('form');\n}\n/**\n * Normalize a finite numeric value to the same min-based step lattice used by\n * native range controls. The nearest in-range step wins; midpoint ties move in\n * the positive direction. Invalid/reversed ranges collapse to their minimum.\n */\nfunction normalizeSteppedValue(value, min, max, step) {\n const lower = Number.isFinite(min) ? min : -Infinity;\n const configuredUpper = Number.isFinite(max) ? max : Infinity;\n const upper = configuredUpper < lower ? lower : configuredUpper;\n const effectiveStep = Number.isFinite(step) && step > 0 ? step : 1;\n const base = Number.isFinite(lower) ? lower : 0;\n const clamped = Math.max(lower, Math.min(upper, value));\n let normalized = base + Math.round((clamped - base) / effectiveStep) * effectiveStep;\n if (normalized > upper) {\n normalized = base + Math.floor((upper - base) / effectiveStep) * effectiveStep;\n }\n if (normalized < lower) {\n normalized = base + Math.ceil((lower - base) / effectiveStep) * effectiveStep;\n }\n normalized = Math.max(lower, Math.min(upper, normalized));\n // Extremely large finite inputs can overflow intermediate step arithmetic.\n // Preserve the finite clamped value instead of exposing Infinity/NaN.\n if (!Number.isFinite(normalized))\n return clamped;\n return Number(normalized.toPrecision(15));\n}\n\nexport { applyElementInternalsFormValue, applyElementInternalsValidity, findFormOwner, hasValidityError, normalizeSteppedValue, validityFlagsFrom };\n//# sourceMappingURL=form-control-validity.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, html, css } from 'snice';\n\nlet SniceOption = (() => {\n let _classDecorators = [element('snice-option')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _icon_decorators;\n let _icon_initializers = [];\n let _icon_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _disabled_decorators = [property({ type: Boolean, })];\n _selected_decorators = [property({ type: Boolean, })];\n _icon_decorators = [property({})];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _selected_decorators, { kind: \"field\", name: \"selected\", static: false, private: false, access: { has: obj => \"selected\" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);\n __esDecorate(null, null, _icon_decorators, { kind: \"field\", name: \"icon\", static: false, private: false, access: { has: obj => \"icon\" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n // Options are data-only elements, no shadow DOM needed\n return html /*html*/ ``;\n }\n styles() {\n return css /*css*/ `:host { display: none; }`;\n }\n init() {\n // If no label is provided, use the text content\n if (!this.label && this.textContent) {\n this.label = this.textContent.trim();\n }\n // If no value is provided, use the label. An explicitly authored empty\n // string is a real value (the standard \"no filter\" sentinel), not a\n // missing one — only fall back when the attribute was never set.\n if (!this.hasAttribute('value') && !this.value && this.label) {\n this.value = this.label;\n }\n }\n // Getter for the option data\n get optionData() {\n return {\n value: this.value,\n label: this.label || this.textContent?.trim() || this.value,\n disabled: this.disabled,\n selected: this.selected,\n icon: this.icon\n };\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.disabled = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.selected = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.icon = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _icon_initializers, ''));\n __runInitializers(this, _icon_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceOption };\n//# sourceMappingURL=snice-option.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, state, property, query, queryAll, request, render, styles, ready, reconnect, dispose, watch, dispatch, html, css } from 'snice';\nimport { FormLabelAssociation } from '../form-label-association.js';\nimport { applyElementInternalsFormValue, hasValidityError, applyElementInternalsValidity, findFormOwner } from '../form-control-validity.js';\nimport './snice-option.js';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:inline-block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);position:relative;width:100%;max-width:18.75rem}[hidden]{display:none!important}img[src=\\\"\\\"]{display:none}.select-wrapper{position:relative;width:100%}.select-label{display:block;margin-bottom:.25rem;font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);line-height:var(--snice-line-height-normal, 1.5);color:var(--snice-color-text,rgb(23 23 23));text-align:left}.select-label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.select-error-text,.select-helper-text{display:block;margin-top:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-normal,400);line-height:var(--snice-line-height-normal, 1.5)}.select-helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-error-text{color:var(--snice-color-danger,rgb(220 38 38))}.select-trigger{box-sizing:border-box;min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:all var(--snice-transition-fast, 150ms) ease;position:relative;text-align:left;font-family:inherit;color:var(--snice-color-text,rgb(23 23 23))}.select-trigger--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem);min-height:2rem}.select-trigger--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md, 1rem);min-height:var(--snice-select-min-height,2.5rem)}.select-trigger--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg, 1.125rem);min-height:3rem}.select-trigger:hover:not(.select-trigger--disabled){border-color:var(--snice-color-border-hover,rgb(180 180 180))}.select-trigger:focus-visible{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:2px;border-color:var(--snice-color-primary,rgb(37 99 235))}.select-trigger--open{border-color:var(--snice-color-primary,rgb(37 99 235))}.select-trigger--disabled{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:not-allowed;opacity:.6}.select-trigger--readonly{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:default}.select-trigger--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.select-placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value--single{display:flex;align-items:center;gap:.5rem}.select-value-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-value--multiple{display:flex;gap:.25rem;flex-wrap:wrap}.select-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:var(--snice-color-primary-subtle,rgb(219 234 254));color:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-sm,.125rem);font-size:var(--snice-font-size-xs, .75rem)}.select-tag-icon{width:.75rem;height:.75rem;object-fit:contain;flex-shrink:0}.select-tag-remove{cursor:pointer;padding:0;background:0 0;border:none;color:inherit;font-size:.75rem;line-height:1}.select-tag-remove:hover{opacity:.7}.select-icons{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem;pointer-events:none;z-index:1}.select-clear{padding:.125rem;background:0 0;border:none;cursor:pointer;color:var(--snice-color-text-secondary,rgb(82 82 82));display:flex;align-items:center;justify-content:center;border-radius:var(--snice-border-radius-sm,.125rem);pointer-events:auto}.select-clear:hover{background:var(--snice-color-surface-container-low,rgb(245 245 245));color:var(--snice-color-text,rgb(23 23 23))}.select-arrow{transition:transform var(--snice-transition-fast, 150ms) ease;color:var(--snice-color-text-secondary,rgb(82 82 82));pointer-events:none}.select-arrow--open{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;margin-top:.25rem;left:0;right:0;background:var(--snice-color-surface-container-high,rgb(252 251 249));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1));z-index:1000;opacity:0;transform:translateY(-8px) scaleY(.95);transform-origin:top;pointer-events:none;transition:opacity var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) ease;display:flex;flex-direction:column;overflow:hidden}.select-dropdown--open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}.select-search{padding:.5rem;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));flex-shrink:0}.select-search-input{width:100%;padding:.375rem .625rem;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-sm,.125rem);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));box-sizing:border-box}.select-search-input:focus-visible{outline:0;border-color:var(--snice-color-primary,rgb(37 99 235))}.select-options{max-height:12.5rem;overflow-y:auto;overflow-x:hidden;padding:.25rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--snice-color-border,rgb(226 226 226)) var(--snice-color-surface-container-low,rgb(245 245 245))}.select-options::-webkit-scrollbar-track{background:var(--snice-color-surface-container-low,rgb(245 245 245));border-radius:var(--snice-border-radius-md,.25rem);margin:.25rem 0}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);border:2px solid var(--snice-color-surface,rgb(255 255 255))}.select-option{padding:.5rem .75rem;cursor:pointer;border-radius:var(--snice-border-radius-sm,.125rem);transition:background var(--snice-transition-fast, 150ms) ease;display:flex;align-items:center;gap:.5rem}.select-option:hover:not(.select-option--disabled){background:var(--snice-color-surface-container-low,rgb(245 245 245))}.select-option--selected{background:var(--snice-color-primary-subtle,rgb(219 234 254));color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.select-option--focused{background:var(--snice-color-surface-container-low,rgb(245 245 245));outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px}.select-option--disabled{opacity:.5;cursor:not-allowed}.select-option-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-option-check{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.select-option-label{flex:1}.select-no-options{padding:1rem;text-align:center;color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-sm, .875rem)}.select-native{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:var(--snice-color-surface-container-low,rgb(245 245 245));border-radius:3px}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:3px}.select-options::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover,rgb(180 180 180))}.select-trigger--loading{cursor:wait;opacity:.7}.select-spinner{display:inline-block;width:.875rem;height:.875rem;margin-right:.25rem}.select-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.select-freetext-input{flex:1;border:none;outline:0;background:0 0;font-family:inherit;font-size:inherit;color:var(--snice-color-text,rgb(23 23 23));padding:0;min-width:0;width:100%}.select-freetext-input::placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82))}.select-editable-container{position:relative;display:flex;align-items:center;width:100%}.select-editable-input{width:100%;box-sizing:border-box;font-family:inherit;background:var(--snice-color-surface-container-lowest,rgb(248 247 245));color:var(--snice-color-text,rgb(23 23 23));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);transition:all var(--snice-transition-fast, 150ms) ease;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select-editable-input--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem);min-height:2rem}.select-editable-input--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md, 1rem);min-height:2.5rem}.select-editable-input--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg, 1.125rem);min-height:3rem}.select-editable-input:hover:not(:disabled){border-color:var(--snice-color-border-hover,rgb(180 180 180))}.select-editable-input:focus-visible{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.select-editable-input--open{border-color:var(--snice-color-primary,rgb(37 99 235))}.select-editable-input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.select-editable-input:disabled{background:var(--snice-color-surface-container-low,rgb(245 245 245));color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:not-allowed;opacity:.6}.select-editable-input:read-only{background:var(--snice-color-surface-container-low,rgb(245 245 245));cursor:default}.select-editable-input::placeholder{color:var(--snice-color-text-secondary,rgb(82 82 82));opacity:.7}.select-editable-arrow{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--snice-color-text-secondary,rgb(82 82 82));pointer-events:none;transition:transform var(--snice-transition-fast, 150ms) ease}.select-editable-arrow--open{transform:translateY(-50%) rotate(180deg)}.select-loading-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-sm, .875rem)}.select-loading-spinner{display:inline-block;width:1rem;height:1rem;flex-shrink:0}.select-loading-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid var(--snice-color-border,rgb(226 226 226));border-top-color:var(--snice-color-primary,rgb(37 99 235));border-radius:50%;animation:.6s linear infinite spin}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}\";\n\nlet SniceSelect = (() => {\n let _classDecorators = [element('snice-select', { formAssociated: true, delegatesFocus: true })];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _valueState_decorators;\n let _valueState_initializers = [];\n let _valueState_extraInitializers = [];\n let _formDisabled_decorators;\n let _formDisabled_initializers = [];\n let _formDisabled_extraInitializers = [];\n let _constraintInvalid_decorators;\n let _constraintInvalid_initializers = [];\n let _constraintInvalid_extraInitializers = [];\n let _defaultValue_decorators;\n let _defaultValue_initializers = [];\n let _defaultValue_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _invalid_decorators;\n let _invalid_initializers = [];\n let _invalid_extraInitializers = [];\n let _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _multiple_decorators;\n let _multiple_initializers = [];\n let _multiple_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _allowFreeText_decorators;\n let _allowFreeText_initializers = [];\n let _allowFreeText_extraInitializers = [];\n let _editable_decorators;\n let _editable_initializers = [];\n let _editable_extraInitializers = [];\n let _remote_decorators;\n let _remote_initializers = [];\n let _remote_extraInitializers = [];\n let _searchDebounce_decorators;\n let _searchDebounce_initializers = [];\n let _searchDebounce_extraInitializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _open_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _helperText_decorators;\n let _helperText_initializers = [];\n let _helperText_extraInitializers = [];\n let _errorText_decorators;\n let _errorText_initializers = [];\n let _errorText_extraInitializers = [];\n let _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _maxHeight_decorators;\n let _maxHeight_initializers = [];\n let _maxHeight_extraInitializers = [];\n let _options_decorators;\n let _options_initializers = [];\n let _options_extraInitializers = [];\n let _trigger_decorators;\n let _trigger_initializers = [];\n let _trigger_extraInitializers = [];\n let _dropdown_decorators;\n let _dropdown_initializers = [];\n let _dropdown_extraInitializers = [];\n let _valueDisplay_decorators;\n let _valueDisplay_initializers = [];\n let _valueDisplay_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _searchInput_decorators;\n let _searchInput_initializers = [];\n let _searchInput_extraInitializers = [];\n let _optionsList_decorators;\n let _optionsList_initializers = [];\n let _optionsList_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _arrow_decorators;\n let _arrow_initializers = [];\n let _arrow_extraInitializers = [];\n let _searchContainer_decorators;\n let _searchContainer_initializers = [];\n let _searchContainer_extraInitializers = [];\n let _editableInput_decorators;\n let _editableInput_initializers = [];\n let _editableInput_extraInitializers = [];\n let _optionElements_decorators;\n let _optionElements_initializers = [];\n let _optionElements_extraInitializers = [];\n let _performRemoteSearch_decorators;\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _onReconnect_decorators;\n let _cleanup_decorators;\n let _handleValueChange_decorators;\n let _handleDefaultValueChange_decorators;\n let _handleOptionsPropertyChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleValidationConfigurationChange_decorators;\n let _handleValidationAnchorChange_decorators;\n let _handleInvalidChange_decorators;\n let _handleOpenChange_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchOpenEvent_decorators;\n let _dispatchCloseEvent_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _valueState_decorators = [state()];\n _formDisabled_decorators = [state()];\n _constraintInvalid_decorators = [state()];\n _defaultValue_decorators = [property({ attribute: 'value' })];\n _disabled_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _multiple_decorators = [property({ type: Boolean, })];\n _searchable_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _allowFreeText_decorators = [property({ type: Boolean, attribute: 'allow-free-text' })];\n _editable_decorators = [property({ type: Boolean, })];\n _remote_decorators = [property({ type: Boolean, })];\n _searchDebounce_decorators = [property({ type: Number, attribute: 'search-debounce' })];\n _open_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _label_decorators = [property({})];\n _helperText_decorators = [property({ attribute: 'helper-text' })];\n _errorText_decorators = [property({ attribute: 'error-text' })];\n _placeholder_decorators = [property({})];\n _maxHeight_decorators = [property({ attribute: 'max-height' })];\n _options_decorators = [property({ type: Array, attribute: false })];\n _trigger_decorators = [query('.select-trigger')];\n _dropdown_decorators = [query('.select-dropdown')];\n _valueDisplay_decorators = [query('.select-value')];\n _labelElement_decorators = [query('.select-label')];\n _searchInput_decorators = [query('.select-search-input')];\n _optionsList_decorators = [query('.select-options')];\n _clearButton_decorators = [query('.select-clear')];\n _arrow_decorators = [query('.select-arrow')];\n _searchContainer_decorators = [query('.select-search')];\n _editableInput_decorators = [query('.select-editable-input')];\n _optionElements_decorators = [queryAll('.select-option')];\n _performRemoteSearch_decorators = [request('select/search')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _onReconnect_decorators = [reconnect()];\n _cleanup_decorators = [dispose()];\n _handleValueChange_decorators = [watch('valueState')];\n _handleDefaultValueChange_decorators = [watch('defaultValue')];\n _handleOptionsPropertyChange_decorators = [watch('options')];\n _handleDisabledChange_decorators = [watch('disabled', 'loading', 'formDisabled')];\n _handleValidationConfigurationChange_decorators = [watch('required', 'readonly', 'multiple')];\n _handleValidationAnchorChange_decorators = [watch('editable')];\n _handleInvalidChange_decorators = [watch('invalid')];\n _handleOpenChange_decorators = [watch('open')];\n _dispatchChangeEvent_decorators = [dispatch('select-change', { bubbles: true, composed: true })];\n _dispatchOpenEvent_decorators = [dispatch('select-open', { bubbles: true, composed: true })];\n _dispatchCloseEvent_decorators = [dispatch('select-close', { bubbles: true, composed: true })];\n __esDecorate(this, null, _performRemoteSearch_decorators, { kind: \"method\", name: \"performRemoteSearch\", static: false, private: false, access: { has: obj => \"performRemoteSearch\" in obj, get: obj => obj.performRemoteSearch }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onReconnect_decorators, { kind: \"method\", name: \"onReconnect\", static: false, private: false, access: { has: obj => \"onReconnect\" in obj, get: obj => obj.onReconnect }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDefaultValueChange_decorators, { kind: \"method\", name: \"handleDefaultValueChange\", static: false, private: false, access: { has: obj => \"handleDefaultValueChange\" in obj, get: obj => obj.handleDefaultValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleOptionsPropertyChange_decorators, { kind: \"method\", name: \"handleOptionsPropertyChange\", static: false, private: false, access: { has: obj => \"handleOptionsPropertyChange\" in obj, get: obj => obj.handleOptionsPropertyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValidationConfigurationChange_decorators, { kind: \"method\", name: \"handleValidationConfigurationChange\", static: false, private: false, access: { has: obj => \"handleValidationConfigurationChange\" in obj, get: obj => obj.handleValidationConfigurationChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValidationAnchorChange_decorators, { kind: \"method\", name: \"handleValidationAnchorChange\", static: false, private: false, access: { has: obj => \"handleValidationAnchorChange\" in obj, get: obj => obj.handleValidationAnchorChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleInvalidChange_decorators, { kind: \"method\", name: \"handleInvalidChange\", static: false, private: false, access: { has: obj => \"handleInvalidChange\" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleOpenChange_decorators, { kind: \"method\", name: \"handleOpenChange\", static: false, private: false, access: { has: obj => \"handleOpenChange\" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: \"method\", name: \"dispatchOpenEvent\", static: false, private: false, access: { has: obj => \"dispatchOpenEvent\" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: \"method\", name: \"dispatchCloseEvent\", static: false, private: false, access: { has: obj => \"dispatchCloseEvent\" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _valueState_decorators, { kind: \"field\", name: \"valueState\", static: false, private: false, access: { has: obj => \"valueState\" in obj, get: obj => obj.valueState, set: (obj, value) => { obj.valueState = value; } }, metadata: _metadata }, _valueState_initializers, _valueState_extraInitializers);\n __esDecorate(null, null, _formDisabled_decorators, { kind: \"field\", name: \"formDisabled\", static: false, private: false, access: { has: obj => \"formDisabled\" in obj, get: obj => obj.formDisabled, set: (obj, value) => { obj.formDisabled = value; } }, metadata: _metadata }, _formDisabled_initializers, _formDisabled_extraInitializers);\n __esDecorate(null, null, _constraintInvalid_decorators, { kind: \"field\", name: \"constraintInvalid\", static: false, private: false, access: { has: obj => \"constraintInvalid\" in obj, get: obj => obj.constraintInvalid, set: (obj, value) => { obj.constraintInvalid = value; } }, metadata: _metadata }, _constraintInvalid_initializers, _constraintInvalid_extraInitializers);\n __esDecorate(null, null, _defaultValue_decorators, { kind: \"field\", name: \"defaultValue\", static: false, private: false, access: { has: obj => \"defaultValue\" in obj, get: obj => obj.defaultValue, set: (obj, value) => { obj.defaultValue = value; } }, metadata: _metadata }, _defaultValue_initializers, _defaultValue_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _required_decorators, { kind: \"field\", name: \"required\", static: false, private: false, access: { has: obj => \"required\" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);\n __esDecorate(null, null, _invalid_decorators, { kind: \"field\", name: \"invalid\", static: false, private: false, access: { has: obj => \"invalid\" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);\n __esDecorate(null, null, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _multiple_decorators, { kind: \"field\", name: \"multiple\", static: false, private: false, access: { has: obj => \"multiple\" in obj, get: obj => obj.multiple, set: (obj, value) => { obj.multiple = value; } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _allowFreeText_decorators, { kind: \"field\", name: \"allowFreeText\", static: false, private: false, access: { has: obj => \"allowFreeText\" in obj, get: obj => obj.allowFreeText, set: (obj, value) => { obj.allowFreeText = value; } }, metadata: _metadata }, _allowFreeText_initializers, _allowFreeText_extraInitializers);\n __esDecorate(null, null, _editable_decorators, { kind: \"field\", name: \"editable\", static: false, private: false, access: { has: obj => \"editable\" in obj, get: obj => obj.editable, set: (obj, value) => { obj.editable = value; } }, metadata: _metadata }, _editable_initializers, _editable_extraInitializers);\n __esDecorate(null, null, _remote_decorators, { kind: \"field\", name: \"remote\", static: false, private: false, access: { has: obj => \"remote\" in obj, get: obj => obj.remote, set: (obj, value) => { obj.remote = value; } }, metadata: _metadata }, _remote_initializers, _remote_extraInitializers);\n __esDecorate(null, null, _searchDebounce_decorators, { kind: \"field\", name: \"searchDebounce\", static: false, private: false, access: { has: obj => \"searchDebounce\" in obj, get: obj => obj.searchDebounce, set: (obj, value) => { obj.searchDebounce = value; } }, metadata: _metadata }, _searchDebounce_initializers, _searchDebounce_extraInitializers);\n __esDecorate(null, null, _open_decorators, { kind: \"field\", name: \"open\", static: false, private: false, access: { has: obj => \"open\" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _helperText_decorators, { kind: \"field\", name: \"helperText\", static: false, private: false, access: { has: obj => \"helperText\" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);\n __esDecorate(null, null, _errorText_decorators, { kind: \"field\", name: \"errorText\", static: false, private: false, access: { has: obj => \"errorText\" in obj, get: obj => obj.errorText, set: (obj, value) => { obj.errorText = value; } }, metadata: _metadata }, _errorText_initializers, _errorText_extraInitializers);\n __esDecorate(null, null, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);\n __esDecorate(null, null, _maxHeight_decorators, { kind: \"field\", name: \"maxHeight\", static: false, private: false, access: { has: obj => \"maxHeight\" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);\n __esDecorate(null, null, _options_decorators, { kind: \"field\", name: \"options\", static: false, private: false, access: { has: obj => \"options\" in obj, get: obj => obj.options, set: (obj, value) => { obj.options = value; } }, metadata: _metadata }, _options_initializers, _options_extraInitializers);\n __esDecorate(null, null, _trigger_decorators, { kind: \"field\", name: \"trigger\", static: false, private: false, access: { has: obj => \"trigger\" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);\n __esDecorate(null, null, _dropdown_decorators, { kind: \"field\", name: \"dropdown\", static: false, private: false, access: { has: obj => \"dropdown\" in obj, get: obj => obj.dropdown, set: (obj, value) => { obj.dropdown = value; } }, metadata: _metadata }, _dropdown_initializers, _dropdown_extraInitializers);\n __esDecorate(null, null, _valueDisplay_decorators, { kind: \"field\", name: \"valueDisplay\", static: false, private: false, access: { has: obj => \"valueDisplay\" in obj, get: obj => obj.valueDisplay, set: (obj, value) => { obj.valueDisplay = value; } }, metadata: _metadata }, _valueDisplay_initializers, _valueDisplay_extraInitializers);\n __esDecorate(null, null, _labelElement_decorators, { kind: \"field\", name: \"labelElement\", static: false, private: false, access: { has: obj => \"labelElement\" in obj, get: obj => obj.labelElement, set: (obj, value) => { obj.labelElement = value; } }, metadata: _metadata }, _labelElement_initializers, _labelElement_extraInitializers);\n __esDecorate(null, null, _searchInput_decorators, { kind: \"field\", name: \"searchInput\", static: false, private: false, access: { has: obj => \"searchInput\" in obj, get: obj => obj.searchInput, set: (obj, value) => { obj.searchInput = value; } }, metadata: _metadata }, _searchInput_initializers, _searchInput_extraInitializers);\n __esDecorate(null, null, _optionsList_decorators, { kind: \"field\", name: \"optionsList\", static: false, private: false, access: { has: obj => \"optionsList\" in obj, get: obj => obj.optionsList, set: (obj, value) => { obj.optionsList = value; } }, metadata: _metadata }, _optionsList_initializers, _optionsList_extraInitializers);\n __esDecorate(null, null, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _arrow_decorators, { kind: \"field\", name: \"arrow\", static: false, private: false, access: { has: obj => \"arrow\" in obj, get: obj => obj.arrow, set: (obj, value) => { obj.arrow = value; } }, metadata: _metadata }, _arrow_initializers, _arrow_extraInitializers);\n __esDecorate(null, null, _searchContainer_decorators, { kind: \"field\", name: \"searchContainer\", static: false, private: false, access: { has: obj => \"searchContainer\" in obj, get: obj => obj.searchContainer, set: (obj, value) => { obj.searchContainer = value; } }, metadata: _metadata }, _searchContainer_initializers, _searchContainer_extraInitializers);\n __esDecorate(null, null, _editableInput_decorators, { kind: \"field\", name: \"editableInput\", static: false, private: false, access: { has: obj => \"editableInput\" in obj, get: obj => obj.editableInput, set: (obj, value) => { obj.editableInput = value; } }, metadata: _metadata }, _editableInput_initializers, _editableInput_extraInitializers);\n __esDecorate(null, null, _optionElements_decorators, { kind: \"field\", name: \"optionElements\", static: false, private: false, access: { has: obj => \"optionElements\" in obj, get: obj => obj.optionElements, set: (obj, value) => { obj.optionElements = value; } }, metadata: _metadata }, _optionElements_initializers, _optionElements_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n constructor() {\n super();\n this.internals = __runInitializers(this, _instanceExtraInitializers);\n this.dirtyValue = false;\n this.valueState = __runInitializers(this, _valueState_initializers, '');\n this.formDisabled = (__runInitializers(this, _valueState_extraInitializers), __runInitializers(this, _formDisabled_initializers, false));\n this.constraintInvalid = (__runInitializers(this, _formDisabled_extraInitializers), __runInitializers(this, _constraintInvalid_initializers, false));\n this.customValidationMessage = (__runInitializers(this, _constraintInvalid_extraInitializers), '');\n /** The `value` content attribute and form-reset default. */\n this.defaultValue = __runInitializers(this, _defaultValue_initializers, '');\n this.disabled = (__runInitializers(this, _defaultValue_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.required = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.readonly = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.multiple = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _multiple_initializers, false));\n this.searchable = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.clearable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.allowFreeText = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _allowFreeText_initializers, false));\n this.editable = (__runInitializers(this, _allowFreeText_extraInitializers), __runInitializers(this, _editable_initializers, false));\n this.remote = (__runInitializers(this, _editable_extraInitializers), __runInitializers(this, _remote_initializers, false));\n this.searchDebounce = (__runInitializers(this, _remote_extraInitializers), __runInitializers(this, _searchDebounce_initializers, 300));\n /** Public HTML attribute (`<snice-select open>`); reflects open state. */\n this.open = (__runInitializers(this, _searchDebounce_extraInitializers), __runInitializers(this, _open_initializers, false));\n this.size = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.name = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.label = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));\n this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));\n this.placeholder = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Select an option'));\n this.descId = (__runInitializers(this, _placeholder_extraInitializers), `snice-select-desc-${Math.random().toString(36).slice(2, 10)}`);\n this.maxHeight = __runInitializers(this, _maxHeight_initializers, '200px');\n this.options = (__runInitializers(this, _maxHeight_extraInitializers), __runInitializers(this, _options_initializers, []));\n // Options read from child snice-option elements\n this.childOptions = (__runInitializers(this, _options_extraInitializers), []);\n this.trigger = __runInitializers(this, _trigger_initializers, void 0);\n this.dropdown = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _dropdown_initializers, void 0));\n this.valueDisplay = (__runInitializers(this, _dropdown_extraInitializers), __runInitializers(this, _valueDisplay_initializers, void 0));\n this.labelElement = (__runInitializers(this, _valueDisplay_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.searchInput = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _searchInput_initializers, void 0));\n this.optionsList = (__runInitializers(this, _searchInput_extraInitializers), __runInitializers(this, _optionsList_initializers, void 0));\n this.clearButton = (__runInitializers(this, _optionsList_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.arrow = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _arrow_initializers, void 0));\n this.searchContainer = (__runInitializers(this, _arrow_extraInitializers), __runInitializers(this, _searchContainer_initializers, void 0));\n this.editableInput = (__runInitializers(this, _searchContainer_extraInitializers), __runInitializers(this, _editableInput_initializers, void 0));\n this.optionElements = (__runInitializers(this, _editableInput_extraInitializers), __runInitializers(this, _optionElements_initializers, void 0));\n this.filteredOptions = (__runInitializers(this, _optionElements_extraInitializers), []);\n this.selectedValues = new Set();\n this.focusedIndex = -1;\n this.editableInputValue = '';\n this.remoteSearchTimeout = 0;\n this.remoteSearching = false;\n if (typeof this.attachInternals == 'function') {\n this.internals = this.attachInternals();\n }\n this.labelAssociation = new FormLabelAssociation(this, () => this.internals, () => this.editable ? this.editableInput : this.trigger, () => this.label || 'Select');\n }\n /**\n * Live selected value(s). Assignments do not rewrite the reset default.\n * @public\n */\n get value() {\n return this.valueState;\n }\n set value(value) {\n this.setValue(value, true);\n }\n formAssociatedCallback() {\n this.syncFormState();\n }\n formResetCallback() {\n this.dirtyValue = false;\n this.applyDefaultValue();\n this.resetTransientState();\n }\n formDisabledCallback(disabled) {\n this.formDisabled = disabled;\n if (disabled && this.isOpen)\n this.closeDropdown();\n this.syncValidity();\n }\n formStateRestoreCallback(state) {\n if (typeof state === 'string') {\n this.setValue(state, true);\n this.resetTransientState();\n }\n }\n /** Convention: `open` is a command, `isOpen` is the state. Read-only alias. */\n get isOpen() {\n return this.open;\n }\n get interactionDisabled() {\n return this.disabled || this.formDisabled || this.loading;\n }\n /** Merged options: programmatic `options` array + child `<snice-option>` elements */\n get mergedOptions() {\n // Child options take precedence if both provided (slot wins)\n if (this.childOptions.length > 0 && this.options.length > 0) {\n // Merge: children first, then programmatic options not already present\n const childValues = new Set(this.childOptions.map(o => o.value));\n return [...this.childOptions, ...this.options.filter(o => !childValues.has(o.value))];\n }\n return this.childOptions.length > 0 ? this.childOptions : this.options;\n }\n /**\n * Options that user interactions resolve against. Remote mode renders the\n * dropdown from `filteredOptions` (server results) while `mergedOptions`\n * stays empty, so selection, display, and sync-back must look in both.\n */\n get resolvableOptions() {\n if (!this.remote)\n return this.mergedOptions;\n const merged = this.mergedOptions;\n const mergedValues = new Set(merged.map(o => o.value));\n return [...this.filteredOptions.filter(o => !mergedValues.has(o.value)), ...merged];\n }\n async *performRemoteSearch(query) {\n this.remoteSearching = true;\n this.updateDropdownContent();\n try {\n const params = { query, select: this };\n const response = await (yield params);\n this.remoteSearching = false;\n this.filteredOptions = response || [];\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n catch {\n this.remoteSearching = false;\n this.filteredOptions = [];\n this.updateDropdownContent();\n }\n }\n scheduleRemoteSearch(query) {\n clearTimeout(this.remoteSearchTimeout);\n this.remoteSearchTimeout = window.setTimeout(() => {\n this.performRemoteSearch(query);\n }, this.searchDebounce);\n }\n render() {\n const displayedInvalid = this.invalid || this.constraintInvalid;\n const labelClasses = `select-label select-label--${this.size} ${this.required ? 'select-label--required' : ''}`;\n const triggerClasses = `select-trigger select-trigger--${this.size} ${this.loading ? 'select-trigger--loading' : ''} ${this.editable ? 'select-trigger--editable' : ''}`;\n const searchHidden = !this.searchable || this.editable;\n const accessibleName = this.labelAssociation.accessibleName;\n const optionsName = accessibleName ? `${accessibleName} options` : 'Options';\n return html /*html*/ `\n <div class=\"select-wrapper\">\n <label class=\"${labelClasses}\" part=\"label\" ?hidden=\"${!this.label}\" @click=\"${() => this.focus()}\">\n ${this.label}\n </label>\n\n <if ${this.editable}>\n <div class=\"select-editable-container\">\n <input\n type=\"text\"\n class=\"select-editable-input select-editable-input--${this.size}\"\n placeholder=\"${this.placeholder}\"\n ?disabled=\"${this.interactionDisabled}\"\n ?readonly=\"${this.readonly}\"\n autocomplete=\"off\"\n role=\"combobox\"\n aria-expanded=\"${this.isOpen ? 'true' : 'false'}\"\n aria-autocomplete=\"list\"\n aria-label=\"${accessibleName}\"\n aria-describedby=\"${(this.errorText || this.helperText) ? this.descId : ''}\"\n aria-invalid=\"${displayedInvalid ? 'true' : 'false'}\"\n part=\"input\"\n @input=\"${(e) => this.handleEditableInput(e)}\"\n @focus=\"${() => this.handleEditableFocus()}\"\n @blur=\"${(e) => this.handleEditableBlur(e)}\"\n @keydown=\"${(e) => this.handleEditableKeydown(e)}\"\n @click=\"${() => this.handleEditableClick()}\"\n />\n <span class=\"select-editable-arrow\" part=\"arrow\"\n @mousedown=\"${(e) => this.handleEditableArrowClick(e)}\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </div>\n </if>\n\n <if ${!this.editable}>\n <button\n type=\"button\"\n class=\"${triggerClasses}\"\n .disabled=${this.interactionDisabled}\n aria-haspopup=\"listbox\"\n aria-expanded=\"${this.isOpen ? 'true' : 'false'}\"\n aria-label=\"${accessibleName}\"\n aria-describedby=\"${(this.errorText || this.helperText) ? this.descId : ''}\"\n aria-invalid=\"${displayedInvalid ? 'true' : 'false'}\"\n part=\"trigger\"\n @keydown=\"${(e) => this.handleTriggerOpen(e)}\"\n @click=\"${(e) => this.handleTriggerClick(e)}\">\n\n <div class=\"select-value\" part=\"value\">\n <span class=\"select-placeholder\">${this.placeholder}</span>\n </div>\n\n <span class=\"select-icons\">\n <span role=\"button\" tabindex=\"${this.interactionDisabled ? -1 : 0}\" class=\"select-clear\" aria-label=\"Clear selection\" aria-disabled=\"${this.interactionDisabled ? 'true' : 'false'}\" style=\"display: none;\" @click=\"${(e) => this.handleClearClick(e)}\" @keydown=\"${(e) => { if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handleClearClick(e);\n } }}\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\"/>\n </svg>\n </span>\n <if ${this.loading}>\n <span class=\"select-spinner\" part=\"spinner\"></span>\n </if>\n <if ${!this.loading}>\n <span class=\"select-arrow\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </if>\n </span>\n </button>\n </if>\n\n <div class=\"select-dropdown\"\n role=\"listbox\"\n aria-label=\"${optionsName}\"\n part=\"dropdown\"\n @mousedown=\"${(e) => this.handleDropdownMousedown(e)}\"\n @click=\"${(e) => this.handleOptionsClick(e)}\">\n\n <div class=\"select-search\" part=\"search\" ?hidden=\"${searchHidden}\">\n <input\n type=\"text\"\n class=\"select-search-input\"\n .disabled=${this.interactionDisabled}\n placeholder=\"Search...\"\n aria-label=\"Search options\"\n part=\"search-input\"\n @keydown=\"${(e) => this.handleSearchKeydown(e)}\"\n @input=\"${(e) => this.handleSearchInput(e)}\" />\n </div>\n\n <div class=\"select-options\" part=\"options\">\n <!-- Dynamic options expose part=\"option\" and render in @ready(). -->\n </div>\n </div>\n\n <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>\n <when value=\"error\">\n <span class=\"select-error-text\" part=\"error-text\" id=\"${this.descId}\" role=\"alert\">${this.errorText}</span>\n </when>\n <when value=\"helper\">\n <span class=\"select-helper-text\" part=\"helper-text\" id=\"${this.descId}\">${this.helperText}</span>\n </when>\n <default></default>\n </case>\n </div>\n `;\n }\n createIcon(className, source) {\n const icon = document.createElement('img');\n icon.className = className;\n icon.setAttribute('src', source || '');\n icon.setAttribute('alt', '');\n icon.hidden = !source;\n return icon;\n }\n renderOptions() {\n const fragment = document.createDocumentFragment();\n if (this.remoteSearching) {\n const indicator = document.createElement('div');\n indicator.className = 'select-loading-indicator';\n const spinner = document.createElement('span');\n spinner.className = 'select-loading-spinner';\n const message = document.createElement('span');\n message.textContent = 'Searching...';\n indicator.append(spinner, message);\n fragment.append(indicator);\n return fragment;\n }\n const options = (this.searchable || this.editable || this.remote) ? this.filteredOptions : this.mergedOptions;\n if (options.length === 0) {\n const noOptions = document.createElement('div');\n noOptions.className = 'select-no-options';\n const noMatches = document.createElement('span');\n noMatches.className = 'select-no-options-text';\n noMatches.dataset.search = 'true';\n noMatches.hidden = !(this.searchable || this.editable || this.remote) || this.filteredOptions.length > 0;\n noMatches.textContent = 'No matches found';\n const noAvailable = document.createElement('span');\n noAvailable.className = 'select-no-options-text';\n noAvailable.dataset.search = 'false';\n noAvailable.hidden = (this.searchable || this.editable || this.remote) && this.filteredOptions.length === 0;\n noAvailable.textContent = 'No options available';\n noOptions.append(noMatches, noAvailable);\n fragment.append(noOptions);\n return fragment;\n }\n options.forEach((opt, index) => {\n const isSelected = this.multiple ?\n this.selectedValues.has(opt.value) :\n opt.value === this.value;\n const option = document.createElement('div');\n option.className = 'select-option';\n option.classList.toggle('select-option--selected', isSelected);\n option.classList.toggle('select-option--disabled', Boolean(opt.disabled));\n option.classList.toggle('select-option--focused', index === this.focusedIndex);\n option.classList.toggle('select-option--has-icon', Boolean(opt.icon));\n option.setAttribute('data-value', opt.value);\n option.setAttribute('role', 'option');\n option.setAttribute('aria-selected', String(isSelected));\n option.setAttribute('aria-disabled', String(opt.disabled));\n option.setAttribute('part', 'option');\n const check = document.createElement('span');\n check.className = 'select-option-check';\n check.setAttribute('aria-hidden', 'true');\n check.hidden = !this.multiple;\n const checkMark = document.createElement('span');\n checkMark.className = 'select-option-check-mark';\n checkMark.hidden = !isSelected;\n checkMark.textContent = '✓';\n check.append(checkMark);\n const label = document.createElement('span');\n label.className = 'select-option-label';\n label.textContent = opt.label;\n option.append(check, this.createIcon('select-option-icon', opt.icon), label);\n fragment.append(option);\n });\n return fragment;\n }\n styles() {\n return css `${cssContent}`;\n }\n init() {\n // Read options from child snice-option elements\n this.readOptionsFromChildren();\n if (Object.prototype.hasOwnProperty.call(this, 'value')) {\n const value = this.value;\n delete this.value;\n this.value = String(value ?? '');\n }\n else if (!this.dirtyValue) {\n this.applyDefaultValue();\n }\n // Initialize selected values\n if (this.multiple && this.value) {\n this.selectedValues = new Set(this.value.split(',').map(v => v.trim()));\n }\n // Initialize filtered options\n this.filteredOptions = [...this.mergedOptions];\n // Set initial form value\n this.syncFormState();\n if (this.editable) {\n this.syncEditableInputToValue();\n this.updateEditableState();\n }\n else {\n // Set initial imperative state\n this.updateTriggerState();\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.updateDropdownState();\n this.updateDropdownContent();\n // Watch for changes to child options\n this.observeChildren();\n // Setup global event listeners\n this.setupGlobalListeners();\n this.labelAssociation.connect();\n }\n applyDefaultValue() {\n this.setValue(this.defaultValue, false);\n }\n setValue(value, dirty) {\n if (dirty)\n this.dirtyValue = true;\n this.valueState = String(value ?? '');\n this.syncRenderedValue();\n this.syncFormState();\n }\n syncRenderedValue() {\n if (this.multiple) {\n this.selectedValues = new Set(this.value ? this.value.split(',').map(value => value.trim()) : []);\n }\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n else {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n }\n resetTransientState() {\n clearTimeout(this.remoteSearchTimeout);\n this.open = false;\n this.focusedIndex = -1;\n this.filteredOptions = [...this.mergedOptions];\n if (this.searchInput)\n this.searchInput.value = '';\n this.syncRenderedValue();\n this.updateDropdownContent();\n }\n syncFormValue() {\n applyElementInternalsFormValue(this.internals, this.value, this.value);\n }\n get validationProxy() {\n if (!this.validationInput)\n this.validationInput = document.createElement('input');\n return this.validationInput;\n }\n syncFormState() {\n this.syncFormValue();\n this.syncValidity();\n }\n syncValidity() {\n const barred = this.interactionDisabled || this.readonly;\n const valueMissing = !barred && this.required && (this.multiple ? this.selectedValues.size === 0 : this.value === '');\n const flags = barred ? {} : {\n customError: Boolean(this.customValidationMessage),\n valueMissing\n };\n const hasError = hasValidityError(flags);\n const message = this.customValidationMessage ||\n (valueMissing ? 'Please select an option.' : '') ||\n (hasError ? 'Please select a valid option.' : '');\n this.constraintInvalid = hasError;\n const displayedInvalid = this.invalid || hasError;\n const anchor = this.editable ? this.editableInput : this.trigger;\n this.validationProxy.setCustomValidity(hasError ? message : '');\n this.trigger?.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger?.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.editableInput?.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput?.classList.toggle('select-editable-input--invalid', displayedInvalid);\n applyElementInternalsValidity(this.internals, flags, message, anchor);\n }\n onReconnect() {\n this.setupGlobalListeners();\n this.observeChildren();\n this.labelAssociation.connect();\n }\n cleanup() {\n this.removeGlobalListeners();\n this.childObserver?.disconnect();\n this.labelAssociation.disconnect();\n }\n setupGlobalListeners() {\n // Create bound handlers\n this.outsideClickHandler = (e) => {\n if (!this.isOpen)\n return;\n const path = e.composedPath();\n const associatedLabelClicked = Array.from(this.labels || [])\n .some(label => path.includes(label));\n if (path.includes(this) || associatedLabelClicked)\n return;\n if (this.editable) {\n this.commitEditableValue();\n }\n this.closeDropdown();\n };\n this.globalKeyHandler = (e) => {\n if (!this.isOpen || this.editable)\n return;\n // When focus is in the search input, Space must type a space, not\n // commit the focused option. Other keys (Arrow/Enter/Escape) still\n // navigate options as expected.\n const targetIsSearchInput = e.composedPath()[0] === this.searchInput;\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n case ' ':\n if (e.key === ' ' && targetIsSearchInput)\n return;\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.mergedOptions;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n };\n // Add listeners\n document.addEventListener('click', this.outsideClickHandler);\n document.addEventListener('keydown', this.globalKeyHandler);\n }\n removeGlobalListeners() {\n if (this.outsideClickHandler) {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n if (this.globalKeyHandler) {\n document.removeEventListener('keydown', this.globalKeyHandler);\n }\n }\n // Manual observation of light DOM children (snice-option elements)\n observeChildren() {\n const observer = new MutationObserver((mutations) => {\n this.handleChildrenChange(mutations);\n });\n // Observe the host element (this) for changes to its light DOM children\n observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['value', 'label', 'disabled', 'selected']\n });\n // Store for cleanup\n this.childObserver = observer;\n }\n handleChildrenChange(mutations) {\n // Check if any of the mutations are relevant (snice-option elements or their attributes)\n const relevant = mutations.some(m => {\n if (m.type === 'childList')\n return true;\n if (m.type === 'attributes' && ['value', 'label', 'disabled', 'selected'].includes(m.attributeName)) {\n return m.target.nodeName === 'SNICE-OPTION';\n }\n return false;\n });\n if (relevant) {\n this.readOptionsFromChildren();\n this.filteredOptions = [...this.mergedOptions];\n if (!this.editable) {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.updateDropdownContent();\n }\n }\n readOptionsFromChildren() {\n // Get all snice-option children from light DOM\n const optionElements = Array.from(this.querySelectorAll('snice-option'));\n this.childOptions = optionElements.map(opt => {\n const sniceOption = opt;\n // Use the optionData getter if available, otherwise construct from properties\n if (sniceOption.optionData) {\n return sniceOption.optionData;\n }\n return {\n value: opt.getAttribute('value') || '',\n label: opt.getAttribute('label') || opt.textContent?.trim() || '',\n disabled: opt.hasAttribute('disabled'),\n selected: opt.hasAttribute('selected')\n };\n });\n }\n // ── Editable mode handlers ──\n handleEditableInput(e) {\n if (this.interactionDisabled || this.readonly)\n return;\n const input = e.target;\n this.editableInputValue = input.value;\n // Filter options as user types\n this.filterEditableOptions(this.editableInputValue);\n if (!this.isOpen) {\n this.openDropdown();\n }\n }\n handleEditableFocus() {\n if (!this.isOpen && !this.readonly) {\n this.openDropdown();\n }\n }\n handleEditableBlur(e) {\n // Delay close to allow option clicks via mousedown\n setTimeout(() => {\n if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n }, 200);\n }\n handleEditableClick() {\n if (!this.isOpen && !this.interactionDisabled && !this.readonly) {\n this.openDropdown();\n }\n }\n handleEditableArrowClick(e) {\n e.preventDefault();\n e.stopPropagation();\n if (this.interactionDisabled || this.readonly)\n return;\n if (this.isOpen) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n this.editableInput?.focus();\n }\n }\n handleEditableKeydown(e) {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n }\n else {\n this.focusNextOption();\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (this.isOpen) {\n this.focusPreviousOption();\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (this.isOpen && this.focusedIndex >= 0) {\n const option = this.filteredOptions[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleEditableOptionSelect(option);\n }\n }\n else if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n break;\n case 'Escape':\n if (this.isOpen) {\n this.closeDropdown();\n this.syncEditableInputToValue();\n }\n break;\n case 'Tab':\n if (this.isOpen) {\n this.commitEditableValue();\n this.closeDropdown();\n }\n break;\n }\n }\n handleEditableOptionSelect(option) {\n this.value = option.value;\n this.editableInputValue = option.label;\n if (this.editableInput) {\n this.editableInput.value = option.label;\n }\n this.closeDropdown();\n this.dispatchChangeEvent(option);\n this.editableInput?.focus();\n }\n commitEditableValue() {\n if (!this.editableInput)\n return;\n const inputText = this.editableInput.value.trim();\n // Try to match an existing option\n const allOptions = this.mergedOptions;\n const match = allOptions.find(opt => opt.label.toLowerCase() === inputText.toLowerCase());\n if (match) {\n this.value = match.value;\n this.editableInputValue = match.label;\n this.editableInput.value = match.label;\n this.dispatchChangeEvent(match);\n }\n else if (this.allowFreeText && inputText) {\n this.value = inputText;\n this.editableInputValue = inputText;\n this.dispatchChangeEvent();\n }\n else {\n // Revert to current value\n this.syncEditableInputToValue();\n }\n }\n filterEditableOptions(query) {\n if (this.remote) {\n this.scheduleRemoteSearch(query);\n return;\n }\n const allOptions = this.mergedOptions;\n if (!query) {\n this.filteredOptions = [...allOptions];\n }\n else {\n const lower = query.toLowerCase();\n this.filteredOptions = allOptions.filter(opt => opt.label.toLowerCase().includes(lower));\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n syncEditableInputToValue() {\n if (!this.editableInput)\n return;\n if (this.value) {\n const match = this.resolvableOptions.find(opt => opt.value === this.value);\n if (match) {\n this.editableInput.value = match.label;\n this.editableInputValue = match.label;\n }\n else if (this.allowFreeText) {\n this.editableInput.value = this.value;\n this.editableInputValue = this.value;\n }\n else {\n this.editableInput.value = '';\n this.editableInputValue = '';\n }\n }\n else {\n this.editableInput.value = '';\n this.editableInputValue = '';\n }\n }\n updateEditableState() {\n if (!this.editableInput)\n return;\n this.editableInput.setAttribute('aria-expanded', String(this.isOpen));\n this.editableInput.classList.toggle('select-editable-input--open', this.isOpen);\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.editableInput.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput.classList.toggle('select-editable-input--invalid', displayedInvalid);\n }\n // ── Dropdown mousedown (prevents blur in editable mode) ──\n handleDropdownMousedown(e) {\n if (this.editable) {\n e.preventDefault();\n }\n }\n // ── Standard (non-editable) mode handlers ──\n handleTriggerOpen(e) {\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n }\n }\n }\n handleSearchKeydown(e) {\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.mergedOptions;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n }\n focusNextOption() {\n const options = (this.searchable || this.editable) ? this.filteredOptions : this.mergedOptions;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n }\n this.updateOptionFocus();\n }\n focusPreviousOption() {\n const options = (this.searchable || this.editable) ? this.filteredOptions : this.mergedOptions;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n }\n this.updateOptionFocus();\n }\n updateOptionFocus() {\n if (this.optionElements) {\n this.optionElements.forEach((el, index) => {\n el.classList.toggle('select-option--focused', index === this.focusedIndex);\n });\n // Scroll focused option into view\n const focusedEl = this.optionElements?.[this.focusedIndex];\n if (focusedEl) {\n focusedEl.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n handleClearClick(e) {\n if (this.interactionDisabled || this.readonly)\n return;\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }\n handleTriggerClick(e) {\n const target = e.target;\n // Don't toggle if clicking on the clear button\n if (target.closest('.select-clear')) {\n return;\n }\n e.stopPropagation();\n if (!this.interactionDisabled && !this.readonly) {\n this.toggleDropdown();\n }\n }\n handleOptionsClick(e) {\n if (this.interactionDisabled || this.readonly)\n return;\n const target = e.target;\n // Handle tag remove click\n if (target.closest('.select-tag-remove')) {\n e.stopPropagation();\n const removeBtn = target.closest('.select-tag-remove');\n const value = removeBtn.getAttribute('data-value');\n if (value && this.multiple) {\n this.selectedValues.delete(value);\n this.value = Array.from(this.selectedValues).join(',');\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n return;\n }\n const optionEl = target.closest('.select-option');\n if (!optionEl)\n return;\n e.stopPropagation();\n const value = optionEl.getAttribute('data-value');\n if (!value)\n return;\n const option = this.resolvableOptions.find(opt => opt.value === value);\n if (option && !option.disabled) {\n if (this.editable) {\n this.handleEditableOptionSelect(option);\n }\n else {\n this.handleOptionSelect(option);\n }\n }\n }\n handleSearchInput(e) {\n const input = e.target;\n const searchTerm = input.value;\n if (this.remote) {\n this.scheduleRemoteSearch(searchTerm);\n return;\n }\n const lower = searchTerm.toLowerCase();\n if (lower) {\n this.filteredOptions = this.mergedOptions.filter(opt => opt.label.toLowerCase().includes(lower));\n }\n else {\n this.filteredOptions = [...this.mergedOptions];\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n handleOptionSelect(option) {\n if (this.multiple) {\n if (this.selectedValues.has(option.value)) {\n this.selectedValues.delete(option.value);\n }\n else {\n this.selectedValues.add(option.value);\n }\n this.value = Array.from(this.selectedValues).join(',');\n this.updateDropdownContent();\n }\n else {\n this.value = option.value;\n this.closeDropdown();\n }\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent(option);\n }\n handleValueChange() {\n this.syncRenderedValue();\n this.syncFormState();\n }\n handleDefaultValueChange() {\n if (!this.dirtyValue)\n this.applyDefaultValue();\n }\n handleOptionsPropertyChange() {\n this.filteredOptions = [...this.mergedOptions];\n this.updateDropdownContent();\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n }\n handleDisabledChange() {\n if (!this.editable) {\n this.updateTriggerState();\n this.updateClearButton();\n }\n // Side effect: close dropdown when disabled\n if (this.interactionDisabled && this.isOpen && !this.remote) {\n this.closeDropdown();\n }\n this.syncValidity();\n }\n handleValidationConfigurationChange() {\n this.syncRenderedValue();\n this.syncValidity();\n }\n handleValidationAnchorChange() {\n queueMicrotask(() => {\n const rendered = this.rendered;\n void rendered.then(() => {\n if (!this.isConnected)\n return;\n this.syncRenderedValue();\n this.syncValidity();\n this.labelAssociation.sync();\n });\n });\n }\n handleInvalidChange() {\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.trigger?.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger?.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.editableInput?.setAttribute('aria-invalid', String(displayedInvalid));\n this.editableInput?.classList.toggle('select-editable-input--invalid', displayedInvalid);\n }\n handleOpenChange() {\n this.updateDropdownState();\n if (this.editable) {\n this.updateEditableState();\n if (this.isOpen) {\n if (this.remote) {\n // Trigger remote search with current input\n const query = this.editableInput?.value || '';\n this.scheduleRemoteSearch(query);\n }\n else {\n // Reset filter to show all options when opening\n this.filteredOptions = [...this.mergedOptions];\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n }\n if (!this.isOpen) {\n this.focusedIndex = -1;\n }\n }\n else {\n this.updateTriggerState();\n // Side effect: focus search input when opened\n if (this.isOpen && this.searchable && this.searchInput) {\n setTimeout(() => this.searchInput?.focus(), 100);\n }\n // Side effect: trigger initial remote search on open\n if (this.isOpen && this.remote && this.searchable) {\n const query = this.searchInput?.value || '';\n this.scheduleRemoteSearch(query);\n }\n // Side effect: reset search when closed\n if (!this.isOpen) {\n this.focusedIndex = -1;\n if (this.searchInput) {\n this.searchInput.value = '';\n this.filteredOptions = [...this.mergedOptions];\n this.updateDropdownContent();\n }\n }\n }\n }\n updateValueDisplay() {\n if (!this.valueDisplay)\n return;\n const allOptions = this.resolvableOptions;\n const selectedOptions = allOptions.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n if (this.multiple && selectedOptions.length > 0) {\n const values = document.createElement('div');\n values.className = 'select-value--multiple';\n selectedOptions.forEach(opt => {\n const tag = document.createElement('span');\n tag.className = 'select-tag';\n const removeButton = document.createElement('span');\n removeButton.className = 'select-tag-remove';\n removeButton.setAttribute('data-value', opt.value);\n removeButton.setAttribute('aria-label', `Remove ${opt.label}`);\n removeButton.hidden = this.interactionDisabled || this.readonly;\n removeButton.textContent = '×';\n tag.append(this.createIcon('select-tag-icon', opt.icon), document.createTextNode(opt.label), removeButton);\n values.append(tag);\n });\n this.valueDisplay.replaceChildren(values);\n }\n else if (selectedOptions.length > 0) {\n const selected = selectedOptions[0];\n const value = document.createElement('div');\n value.className = 'select-value--single';\n const label = document.createElement('span');\n label.textContent = selected.label;\n value.append(this.createIcon('select-value-icon', selected.icon), label);\n this.valueDisplay.replaceChildren(value);\n }\n else {\n const placeholder = document.createElement('span');\n placeholder.className = 'select-placeholder';\n placeholder.textContent = this.placeholder;\n this.valueDisplay.replaceChildren(placeholder);\n }\n }\n updateClearButton() {\n if (!this.clearButton)\n return;\n const allOptions = this.resolvableOptions;\n const selectedOptions = allOptions.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n const shouldShow = this.clearable && selectedOptions.length > 0 && !this.interactionDisabled && !this.readonly;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n }\n updateDropdownContent() {\n if (!this.optionsList)\n return;\n this.optionsList.replaceChildren(this.renderOptions());\n }\n dispatchChangeEvent(option) {\n return {\n value: this.multiple ? Array.from(this.selectedValues) : this.value,\n option,\n select: this\n };\n }\n dispatchOpenEvent() {\n return { select: this };\n }\n dispatchCloseEvent() {\n return { select: this };\n }\n // Public API\n focus() {\n if (this.editable) {\n this.editableInput?.focus();\n }\n else {\n this.trigger?.focus();\n }\n }\n /** Native-compatible select type. @public */\n get type() {\n return this.multiple ? 'select-multiple' : 'select-one';\n }\n /** Owning form, including association through a `form` attribute. @public */\n get form() {\n return findFormOwner(this, this.internals);\n }\n /** Current constraint-validation state. @public */\n get validity() {\n return this.internals?.validity ?? this.validationProxy.validity;\n }\n /** Current validation message. @public */\n get validationMessage() {\n return this.internals?.validationMessage ?? this.validationProxy.validationMessage;\n }\n /** Whether this select currently participates in constraint validation. @public */\n get willValidate() {\n if (this.interactionDisabled || this.readonly)\n return false;\n return this.internals?.willValidate ?? true;\n }\n /** Labels associated through wrapping `<label>` or explicit `for`/`id`. @public */\n get labels() {\n return this.labelAssociation.labels;\n }\n blur() {\n if (this.editable) {\n this.editableInput?.blur();\n }\n else {\n this.trigger?.blur();\n }\n if (this.isOpen) {\n this.closeDropdown();\n }\n }\n checkValidity() {\n this.syncValidity();\n return this.internals?.checkValidity() ?? this.validationProxy.checkValidity();\n }\n reportValidity() {\n this.syncValidity();\n return this.internals?.reportValidity() ?? this.validationProxy.reportValidity();\n }\n setCustomValidity(message) {\n this.customValidationMessage = String(message);\n this.syncValidity();\n }\n clear() {\n if (this.multiple) {\n this.selectedValues.clear();\n this.value = '';\n }\n else {\n this.value = '';\n }\n if (this.editable) {\n this.syncEditableInputToValue();\n }\n else {\n this.updateValueDisplay();\n this.updateClearButton();\n }\n this.dispatchChangeEvent();\n }\n openDropdown() {\n if (!this.isOpen && !this.interactionDisabled && !this.readonly) {\n this.open = true;\n this.dispatchOpenEvent();\n }\n }\n closeDropdown() {\n if (this.isOpen) {\n this.open = false;\n this.dispatchCloseEvent();\n }\n }\n toggleDropdown() {\n if (this.isOpen) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n }\n }\n selectOption(value) {\n const option = this.resolvableOptions.find(opt => opt.value === value);\n if (option && !option.disabled) {\n if (this.editable) {\n this.handleEditableOptionSelect(option);\n }\n else {\n this.handleOptionSelect(option);\n }\n }\n }\n updateTriggerState() {\n if (!this.trigger)\n return;\n this.trigger.classList.toggle('select-trigger--open', this.isOpen);\n this.trigger.classList.toggle('select-trigger--disabled', this.interactionDisabled);\n this.trigger.classList.toggle('select-trigger--readonly', this.readonly);\n const displayedInvalid = this.invalid || this.constraintInvalid;\n this.trigger.classList.toggle('select-trigger--invalid', displayedInvalid);\n this.trigger.setAttribute('aria-invalid', String(displayedInvalid));\n this.trigger.classList.toggle('select-trigger--loading', this.loading);\n this.trigger.setAttribute('aria-expanded', String(this.isOpen));\n this.trigger.disabled = this.interactionDisabled;\n }\n updateDropdownState() {\n if (!this.dropdown)\n return;\n this.dropdown.classList.toggle('select-dropdown--open', this.isOpen);\n if (this.arrow) {\n this.arrow.classList.toggle('select-arrow--open', this.isOpen);\n }\n }\n });\n return _classThis;\n})();\n\nexport { SniceSelect };\n//# sourceMappingURL=snice-select.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","labelAssociationRegistries","WeakMap","normalizeAccessibleText","replace","trim","nodeContains","node","candidate","nodeType","Node","ELEMENT_NODE","contains","rootElementById","label","id","root","getRootNode","getElementById","collectLabelText","host","TEXT_NODE","nodeValue","element","hidden","getAttribute","includes","localName","Array","from","childNodes","map","child","join","labelAccessibleText","labelledBy","text","split","filter","Boolean","hasAttribute","FormLabelAssociation","constructor","getInternals","getTarget","getFallbackName","syncRelatedNames","this","connected","currentLabels","currentNamingNodes","referencedIds","Set","handleHostActivation","event","composedPath","resolveLabels","focus","preventDefault","handleLabelActivation","path","eventTarget","currentTarget","some","HTMLElement","matches","setTimeout","isConnected","labels","CSS","escape","tag","querySelectorAll","accessibleName","connect","addEventListener","bindRegistry","sync","disconnect","removeEventListener","unbindLabelActivation","releaseRegistry","clear","add","referenced","setAttribute","isAffectedBy","mutation","type","attributeName","htmlFor","has","addedNodes","removedNodes","current","DOCUMENT_NODE","ShadowRoot","labelRoot","registryRoot","registry","observedNode","documentElement","MutationObserver","existing","associations","observer","mutations","association","observe","subtree","childList","characterData","attributes","attributeFilter","ensureLabelAssociationRegistry","undefined","delete","size","validityKeys","hasValidityError","flags","_classDescriptor","_classThis","_value_decorators","_label_decorators","_disabled_decorators","_selected_decorators","_icon_decorators","_render_decorators","_styles_decorators","_init_decorators","_classDecorators","_classExtraInitializers","_classSuper","_instanceExtraInitializers","_value_initializers","_value_extraInitializers","_label_initializers","_label_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_selected_initializers","_selected_extraInitializers","_icon_initializers","_icon_extraInitializers","_metadata","Symbol","metadata","create","property","render","styles","ready","static","private","obj","disabled","selected","icon","enumerable","configurable","writable","html","css","textContent","optionData","super","_valueState_decorators","_formDisabled_decorators","_constraintInvalid_decorators","_defaultValue_decorators","_required_decorators","_invalid_decorators","_readonly_decorators","_loading_decorators","_multiple_decorators","_searchable_decorators","_clearable_decorators","_allowFreeText_decorators","_editable_decorators","_remote_decorators","_searchDebounce_decorators","_open_decorators","_size_decorators","_name_decorators","_helperText_decorators","_errorText_decorators","_placeholder_decorators","_maxHeight_decorators","_options_decorators","_trigger_decorators","_dropdown_decorators","_valueDisplay_decorators","_labelElement_decorators","_searchInput_decorators","_optionsList_decorators","_clearButton_decorators","_arrow_decorators","_searchContainer_decorators","_editableInput_decorators","_optionElements_decorators","_performRemoteSearch_decorators","_onReconnect_decorators","_cleanup_decorators","_handleValueChange_decorators","_handleDefaultValueChange_decorators","_handleOptionsPropertyChange_decorators","_handleDisabledChange_decorators","_handleValidationConfigurationChange_decorators","_handleValidationAnchorChange_decorators","_handleInvalidChange_decorators","_handleOpenChange_decorators","_dispatchChangeEvent_decorators","_dispatchOpenEvent_decorators","_dispatchCloseEvent_decorators","formAssociated","delegatesFocus","_valueState_initializers","_valueState_extraInitializers","_formDisabled_initializers","_formDisabled_extraInitializers","_constraintInvalid_initializers","_constraintInvalid_extraInitializers","_defaultValue_initializers","_defaultValue_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_loading_initializers","_loading_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_searchable_initializers","_searchable_extraInitializers","_clearable_initializers","_clearable_extraInitializers","_allowFreeText_initializers","_allowFreeText_extraInitializers","_editable_initializers","_editable_extraInitializers","_remote_initializers","_remote_extraInitializers","_searchDebounce_initializers","_searchDebounce_extraInitializers","_open_initializers","_open_extraInitializers","_size_initializers","_size_extraInitializers","_name_initializers","_name_extraInitializers","_helperText_initializers","_helperText_extraInitializers","_errorText_initializers","_errorText_extraInitializers","_placeholder_initializers","_placeholder_extraInitializers","_maxHeight_initializers","_maxHeight_extraInitializers","_options_initializers","_options_extraInitializers","_trigger_initializers","_trigger_extraInitializers","_dropdown_initializers","_dropdown_extraInitializers","_valueDisplay_initializers","_valueDisplay_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_searchInput_initializers","_searchInput_extraInitializers","_optionsList_initializers","_optionsList_extraInitializers","_clearButton_initializers","_clearButton_extraInitializers","_arrow_initializers","_arrow_extraInitializers","_searchContainer_initializers","_searchContainer_extraInitializers","_editableInput_initializers","_editableInput_extraInitializers","_optionElements_initializers","_optionElements_extraInitializers","state","attribute","Number","query","queryAll","request","reconnect","dispose","watch","dispatch","bubbles","composed","performRemoteSearch","onReconnect","cleanup","handleValueChange","handleDefaultValueChange","handleOptionsPropertyChange","handleDisabledChange","handleValidationConfigurationChange","handleValidationAnchorChange","handleInvalidChange","handleOpenChange","dispatchChangeEvent","dispatchOpenEvent","dispatchCloseEvent","valueState","formDisabled","constraintInvalid","defaultValue","required","invalid","readonly","loading","multiple","searchable","clearable","allowFreeText","editable","remote","searchDebounce","open","helperText","errorText","placeholder","maxHeight","options","trigger","dropdown","valueDisplay","labelElement","searchInput","optionsList","clearButton","arrow","searchContainer","editableInput","optionElements","internals","dirtyValue","customValidationMessage","descId","Math","random","toString","slice","childOptions","filteredOptions","selectedValues","focusedIndex","editableInputValue","remoteSearchTimeout","remoteSearching","attachInternals","labelAssociation","setValue","formAssociatedCallback","syncFormState","formResetCallback","applyDefaultValue","resetTransientState","formDisabledCallback","isOpen","closeDropdown","syncValidity","formStateRestoreCallback","interactionDisabled","mergedOptions","childValues","o","resolvableOptions","merged","mergedValues","updateDropdownContent","params","select","response","scheduleRemoteSearch","clearTimeout","window","displayedInvalid","e","handleEditableInput","handleEditableFocus","handleEditableBlur","handleEditableKeydown","handleEditableClick","handleEditableArrowClick","handleTriggerOpen","handleTriggerClick","handleClearClick","handleDropdownMousedown","handleOptionsClick","handleSearchKeydown","handleSearchInput","createIcon","className","source","document","createElement","renderOptions","fragment","createDocumentFragment","indicator","spinner","message","append","noOptions","noMatches","dataset","search","noAvailable","forEach","opt","index","isSelected","option","classList","toggle","String","check","checkMark","readOptionsFromChildren","hasOwnProperty","v","syncEditableInputToValue","updateEditableState","updateTriggerState","updateValueDisplay","updateClearButton","updateDropdownState","observeChildren","setupGlobalListeners","dirty","syncRenderedValue","syncFormValue","setFormValue","validationProxy","validationInput","barred","valueMissing","customError","hasError","anchor","setCustomValidity","setValidity","applyElementInternalsValidity","removeGlobalListeners","childObserver","outsideClickHandler","associatedLabelClicked","commitEditableValue","globalKeyHandler","targetIsSearchInput","focusNextOption","focusPreviousOption","handleOptionSelect","handleChildrenChange","m","nodeName","filterEditableOptions","openDropdown","stopPropagation","handleEditableOptionSelect","inputText","match","find","toLowerCase","allOptions","lower","updateOptionFocus","el","focusedEl","scrollIntoView","block","closest","toggleDropdown","optionEl","searchTerm","queueMicrotask","rendered","then","selectedOptions","values","removeButton","createTextNode","replaceChildren","style","display","form","explicitOwner","HTMLFormElement","findFormOwner","validity","validationMessage","willValidate","blur","checkValidity","reportValidity","selectOption"],"mappings":"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","x_google_ignoreList":[0]}