atomicuilibrary 0.1.0 → 0.1.3

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 (618) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dom-BvBb0kmW.js +267 -0
  3. package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
  4. package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
  5. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  6. package/dist/cjs/library-card.cjs.entry.js +2 -2
  7. package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
  8. package/dist/cjs/lm-panel_3.cjs.entry.js +4 -4
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/my-component.cjs.entry.js +1 -1
  11. package/dist/cjs/my-step.cjs.entry.js +2 -2
  12. package/dist/cjs/nav-bar.cjs.entry.js +4 -4
  13. package/dist/cjs/smart-step.cjs.entry.js +3 -3
  14. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  15. package/dist/cjs/ui-accordion_11.cjs.entry.js +132 -50
  16. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  17. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  19. package/dist/cjs/ui-aside-panel.cjs.entry.js +10 -11
  20. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  21. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  22. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-callout-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/ui-card.cjs.entry.js +4 -3
  25. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-checkbox.cjs.entry.js +3 -3
  27. package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
  28. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  30. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-dialog-box.cjs.entry.js +85 -11
  32. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  33. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  36. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  37. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  39. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  40. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  42. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  43. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  44. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  46. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  47. package/dist/cjs/ui-list-group_2.cjs.entry.js +349 -60
  48. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  49. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  50. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  51. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  52. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  53. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  54. package/dist/cjs/{ui-pagination_4.cjs.entry.js → ui-pagination_3.cjs.entry.js} +35 -506
  55. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  56. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  57. package/dist/cjs/ui-progress.cjs.entry.js +66 -9
  58. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  59. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  61. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  63. package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
  64. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  65. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  66. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  67. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  68. package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
  69. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  70. package/dist/cjs/ui-tabs.cjs.entry.js +2 -2
  71. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  72. package/dist/cjs/ui-timeline.cjs.entry.js +10 -2
  73. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  74. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
  76. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  77. package/dist/cjs/ui-transfer-list.cjs.entry.js +6 -6
  78. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  79. package/dist/cjs/ui-workspace-manager.cjs.entry.js +2 -2
  80. package/dist/collection/assets/js/component-config.js +1 -0
  81. package/dist/collection/assets/js/demo-loader.js +2 -0
  82. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  83. package/dist/collection/assets/js/demos/accordion-demo.js +66 -66
  84. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +102 -102
  85. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  86. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  87. package/dist/collection/assets/js/demos/aside-panel-demo.js +51 -51
  88. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  89. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  90. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  91. package/dist/collection/assets/js/demos/button-demo.js +117 -107
  92. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  93. package/dist/collection/assets/js/demos/callout-banner-demo.js +23 -23
  94. package/dist/collection/assets/js/demos/card-demo.js +23 -22
  95. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  96. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  97. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  98. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  99. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  100. package/dist/collection/assets/js/demos/context-menu-demo.js +43 -43
  101. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  102. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  103. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  104. package/dist/collection/assets/js/demos/dock-demo.js +12 -12
  105. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  106. package/dist/collection/assets/js/demos/documentation-demo.js +34 -34
  107. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  108. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  109. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  110. package/dist/collection/assets/js/demos/empty-state-demo.js +294 -78
  111. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  112. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  113. package/dist/collection/assets/js/demos/home-components.js +2 -2
  114. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  115. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  116. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  117. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  118. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  119. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  120. package/dist/collection/assets/js/demos/list-demo.js +185 -122
  121. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  122. package/dist/collection/assets/js/demos/masonry-demo.js +568 -140
  123. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  124. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  125. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  126. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  127. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  128. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  129. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  130. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  131. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  132. package/dist/collection/assets/js/demos/progress-demo.js +170 -156
  133. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  134. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  135. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  136. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  137. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  138. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  139. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  140. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  141. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  142. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  143. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  144. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  145. package/dist/collection/assets/js/demos/splitter-demo.js +14 -14
  146. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  147. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  148. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  149. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  150. package/dist/collection/assets/js/demos/tag-demo.js +62 -62
  151. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  152. package/dist/collection/assets/js/demos/timeline-demo.js +10 -10
  153. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  154. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  155. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  156. package/dist/collection/assets/js/demos/tooltip-demo.js +92 -90
  157. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  158. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  159. package/dist/collection/assets/js/demos/tree-demo.js +50 -66
  160. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  161. package/dist/collection/collection-manifest.json +1 -2
  162. package/dist/collection/components/accordion/accordion.css +275 -9
  163. package/dist/collection/components/accordion/accordion.js +7 -6
  164. package/dist/collection/components/advanced-data-table/advanced-data-table.css +5 -5
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  166. package/dist/collection/components/anchor/anchor.css +1 -0
  167. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  168. package/dist/collection/components/aside-panel/aside-panel.css +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.js +10 -11
  170. package/dist/collection/components/avatar/avatar.css +6 -6
  171. package/dist/collection/components/avatar/avatar.js +63 -11
  172. package/dist/collection/components/badge/badge.css +27 -17
  173. package/dist/collection/components/badge/badge.js +6 -3
  174. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  175. package/dist/collection/components/button/button.css +1 -0
  176. package/dist/collection/components/button/button.js +3 -3
  177. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  178. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  179. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  180. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  181. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  182. package/dist/collection/components/card/card.css +221 -9
  183. package/dist/collection/components/card/card.js +3 -2
  184. package/dist/collection/components/checkbox/checkbox.js +3 -3
  185. package/dist/collection/components/code-editor/code-editor.js +1 -1
  186. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  187. package/dist/collection/components/color-picker/color-picker.css +110 -6
  188. package/dist/collection/components/color-picker/color-picker.js +302 -26
  189. package/dist/collection/components/context-menu/context-menu.css +9 -9
  190. package/dist/collection/components/dialog-box/dialog-box.js +116 -14
  191. package/dist/collection/components/dialog-header/dialog-header.js +1 -1
  192. package/dist/collection/components/dock/dock.css +116 -3
  193. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  194. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  195. package/dist/collection/components/dropdown/dropdown.css +101 -8
  196. package/dist/collection/components/dropdown/dropdown.js +94 -28
  197. package/dist/collection/components/empty-state/empty-state.js +1 -1
  198. package/dist/collection/components/fab/fab.css +87 -15
  199. package/dist/collection/components/fab/fab.js +3 -3
  200. package/dist/collection/components/fab-item/fab-item.js +1 -1
  201. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  202. package/dist/collection/components/file-upload/file-upload.js +171 -50
  203. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  204. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  205. package/dist/collection/components/icon/icon.js +1 -1
  206. package/dist/collection/components/input/input.css +9 -0
  207. package/dist/collection/components/input/input.js +20 -9
  208. package/dist/collection/components/label/label.css +583 -0
  209. package/dist/collection/components/label/label.js +1669 -0
  210. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  211. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  212. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  213. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  215. package/dist/collection/components/library/category-section.js +1 -1
  216. package/dist/collection/components/library/library-card.js +1 -1
  217. package/dist/collection/components/library/library.js +1 -1
  218. package/dist/collection/components/list/list.css +46 -5
  219. package/dist/collection/components/list/list.js +76 -42
  220. package/dist/collection/components/list-group/list-group.css +0 -2
  221. package/dist/collection/components/list-group/list-group.js +11 -5
  222. package/dist/collection/components/list-item/list-item.css +403 -131
  223. package/dist/collection/components/list-item/list-item.js +345 -61
  224. package/dist/collection/components/loader/loader.css +1 -1
  225. package/dist/collection/components/loader/loader.js +2 -2
  226. package/dist/collection/components/meter-group/meter-group.css +5 -0
  227. package/dist/collection/components/meter-group/meter-group.js +3 -2
  228. package/dist/collection/components/my-step/my-step.js +1 -1
  229. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  230. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  231. package/dist/collection/components/number-input/number-input.js +6 -2
  232. package/dist/collection/components/otp-input/otp-input.css +10 -0
  233. package/dist/collection/components/otp-input/otp-input.js +3 -3
  234. package/dist/collection/components/pagination/pagination.js +1 -1
  235. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  236. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  237. package/dist/collection/components/popover/popover.css +35 -7
  238. package/dist/collection/components/popover/popover.js +64 -9
  239. package/dist/collection/components/progress/progress.css +176 -32
  240. package/dist/collection/components/progress/progress.js +66 -8
  241. package/dist/collection/components/radio/radio.css +2 -0
  242. package/dist/collection/components/radio/radio.js +2 -2
  243. package/dist/collection/components/range-slider/range-slider.css +284 -31
  244. package/dist/collection/components/range-slider/range-slider.js +5 -5
  245. package/dist/collection/components/rating/rating.css +151 -65
  246. package/dist/collection/components/rating/rating.js +31 -13
  247. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  248. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  249. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  250. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  251. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  252. package/dist/collection/components/speedometer/speedometer.css +26 -6
  253. package/dist/collection/components/speedometer/speedometer.js +26 -15
  254. package/dist/collection/components/stack/stack.js +2 -2
  255. package/dist/collection/components/step/step.js +1 -1
  256. package/dist/collection/components/stepper/stepper.js +1 -1
  257. package/dist/collection/components/switch/switch.css +367 -8
  258. package/dist/collection/components/switch/switch.js +13 -12
  259. package/dist/collection/components/tag/tag.css +38 -12
  260. package/dist/collection/components/tag/tag.js +58 -13
  261. package/dist/collection/components/tag-group/tag-group.css +0 -1
  262. package/dist/collection/components/tag-group/tag-group.js +3 -3
  263. package/dist/collection/components/timeline/timeline.css +380 -317
  264. package/dist/collection/components/timeline/timeline.js +8 -0
  265. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  266. package/dist/collection/components/timer/timer.js +1 -1
  267. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  268. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  269. package/dist/collection/components/toolbar/toolbar.js +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +4 -4
  271. package/dist/collection/components/top-bar/top-bar.js +2 -2
  272. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  273. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  274. package/dist/collection/components/tree/tree.css +35 -21
  275. package/dist/collection/components/tree/tree.js +28 -13
  276. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +34 -16
  277. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +46 -11
  278. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  279. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  280. package/dist/collection/utils/dom.js +151 -151
  281. package/dist/components/avatar-group.js +1 -1
  282. package/dist/components/avatar.js +1 -1
  283. package/dist/components/badge.js +1 -1
  284. package/dist/components/button-toggle.js +1 -1
  285. package/dist/components/button.js +1 -0
  286. package/dist/components/category-section2.js +1 -1
  287. package/dist/components/checkbox.js +1 -1
  288. package/dist/components/context-menu.js +1 -1
  289. package/dist/components/dialog-header.js +1 -1
  290. package/dist/components/dom.js +1 -1
  291. package/dist/components/dropdown.js +1 -1
  292. package/dist/components/icon.js +2 -2
  293. package/dist/components/input.js +1 -1
  294. package/dist/components/layout-manager.js +1 -1
  295. package/dist/components/library-card2.js +1 -1
  296. package/dist/components/list-group.js +1 -1
  297. package/dist/components/list-item.js +1 -1
  298. package/dist/components/lm-container2.js +1 -1
  299. package/dist/components/lm-floating-window2.js +1 -1
  300. package/dist/components/lm-panel2.js +1 -1
  301. package/dist/components/lm-splitter2.js +1 -1
  302. package/dist/components/lm-tabs2.js +1 -1
  303. package/dist/components/loader.js +1 -1
  304. package/dist/components/my-step.js +1 -1
  305. package/dist/components/nav-bar.js +1 -1
  306. package/dist/components/pagination.js +1 -1
  307. package/dist/components/popover.js +1 -0
  308. package/dist/components/radio.js +1 -1
  309. package/dist/components/range-slider.js +1 -1
  310. package/dist/components/rating.js +1 -1
  311. package/dist/components/resizable-panel.js +1 -1
  312. package/dist/components/skeleton-loader.js +1 -1
  313. package/dist/components/smart-step.js +1 -1
  314. package/dist/components/stack.js +1 -1
  315. package/dist/components/switch.js +1 -1
  316. package/dist/components/tag-group.js +1 -1
  317. package/dist/components/tag.js +1 -1
  318. package/dist/components/timeline-item.js +1 -1
  319. package/dist/components/toggle-group.js +1 -1
  320. package/dist/components/tooltip.js +1 -1
  321. package/dist/components/ui-accordion.js +1 -1
  322. package/dist/components/ui-advanced-data-table.js +1 -1
  323. package/dist/components/ui-anchor.js +1 -1
  324. package/dist/components/ui-animate-on-scroll.js +1 -1
  325. package/dist/components/ui-aside-panel.js +1 -1
  326. package/dist/components/ui-badge.js +1 -1
  327. package/dist/components/ui-breadcrumb-item.js +1 -1
  328. package/dist/components/ui-breadcrumb.js +1 -1
  329. package/dist/components/ui-button-toggle-group.js +1 -1
  330. package/dist/components/ui-button.js +1 -1
  331. package/dist/components/ui-callout-banner.js +1 -1
  332. package/dist/components/ui-card.js +1 -1
  333. package/dist/components/ui-carousel.js +1 -1
  334. package/dist/components/ui-code-editor.js +1 -1
  335. package/dist/components/ui-code-preview.js +1 -1
  336. package/dist/components/ui-color-picker.js +1 -1
  337. package/dist/components/ui-command-palette.js +1 -1
  338. package/dist/components/ui-dialog-box.js +1 -1
  339. package/dist/components/ui-dock-host.js +1 -1
  340. package/dist/components/ui-dock.js +1 -1
  341. package/dist/components/ui-drag-drop.js +1 -1
  342. package/dist/components/ui-empty-state.js +1 -1
  343. package/dist/components/ui-fab-item.js +1 -1
  344. package/dist/components/ui-fab.js +1 -1
  345. package/dist/components/ui-file-upload.js +1 -1
  346. package/dist/components/ui-horizontal-nav.js +1 -1
  347. package/dist/components/ui-knob.js +1 -1
  348. package/dist/components/{ui-color-controller.d.ts → ui-label.d.ts} +4 -4
  349. package/dist/components/ui-label.js +1 -0
  350. package/dist/components/ui-library.js +1 -1
  351. package/dist/components/ui-list.js +1 -1
  352. package/dist/components/ui-masonry.js +1 -1
  353. package/dist/components/ui-meter-group.js +1 -1
  354. package/dist/components/ui-navigation-bar.js +1 -1
  355. package/dist/components/ui-navigation-item.js +1 -1
  356. package/dist/components/ui-number-input.js +1 -1
  357. package/dist/components/ui-otp-input.js +1 -1
  358. package/dist/components/ui-panel.js +1 -1
  359. package/dist/components/ui-pattern-input.js +1 -1
  360. package/dist/components/ui-popover.js +1 -1
  361. package/dist/components/ui-progress.js +1 -1
  362. package/dist/components/ui-scroll-top.js +1 -1
  363. package/dist/components/ui-smart-stepper.js +1 -1
  364. package/dist/components/ui-snackbar.js +1 -1
  365. package/dist/components/ui-speed-dial.js +1 -1
  366. package/dist/components/ui-speedometer.js +1 -1
  367. package/dist/components/ui-splitter.js +1 -1
  368. package/dist/components/ui-step.js +1 -1
  369. package/dist/components/ui-stepper.js +1 -1
  370. package/dist/components/ui-tabs.js +1 -1
  371. package/dist/components/ui-timeline.js +1 -1
  372. package/dist/components/ui-timer.js +1 -1
  373. package/dist/components/ui-toolbar.js +1 -1
  374. package/dist/components/ui-top-bar.js +1 -1
  375. package/dist/components/ui-transfer-list.js +1 -1
  376. package/dist/components/ui-tree.js +1 -1
  377. package/dist/components/ui-workspace-manager.js +1 -1
  378. package/dist/esm/category-section.entry.js +2 -2
  379. package/dist/esm/dom-DFBTWhGw.js +262 -0
  380. package/dist/esm/exploration-project-tailwind.js +3 -3
  381. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  382. package/dist/esm/layout-manager.entry.js +3 -3
  383. package/dist/esm/library-card.entry.js +2 -2
  384. package/dist/esm/lm-container_2.entry.js +2 -2
  385. package/dist/esm/lm-panel_3.entry.js +4 -4
  386. package/dist/esm/loader.js +3 -3
  387. package/dist/esm/my-component.entry.js +1 -1
  388. package/dist/esm/my-step.entry.js +2 -2
  389. package/dist/esm/nav-bar.entry.js +4 -4
  390. package/dist/esm/smart-step.entry.js +3 -3
  391. package/dist/esm/timeline-item.entry.js +2 -2
  392. package/dist/esm/ui-accordion_11.entry.js +132 -50
  393. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  394. package/dist/esm/ui-anchor.entry.js +2 -2
  395. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  396. package/dist/esm/ui-aside-panel.entry.js +10 -11
  397. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  398. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  399. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  400. package/dist/esm/ui-callout-banner.entry.js +2 -2
  401. package/dist/esm/ui-card.entry.js +4 -3
  402. package/dist/esm/ui-carousel.entry.js +1 -1
  403. package/dist/esm/ui-checkbox.entry.js +3 -3
  404. package/dist/esm/ui-code-editor.entry.js +2 -2
  405. package/dist/esm/ui-code-preview.entry.js +2 -2
  406. package/dist/esm/ui-color-picker.entry.js +256 -22
  407. package/dist/esm/ui-command-palette.entry.js +1 -1
  408. package/dist/esm/ui-dialog-box.entry.js +85 -11
  409. package/dist/esm/ui-dialog-content.entry.js +1 -1
  410. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  411. package/dist/esm/ui-divider.entry.js +1 -1
  412. package/dist/esm/ui-dock-host.entry.js +4 -4
  413. package/dist/esm/ui-dock.entry.js +2 -2
  414. package/dist/esm/ui-drag-drop.entry.js +2 -2
  415. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  416. package/dist/esm/ui-empty-state.entry.js +2 -2
  417. package/dist/esm/ui-fab-item.entry.js +2 -2
  418. package/dist/esm/ui-fab.entry.js +4 -4
  419. package/dist/esm/ui-file-upload.entry.js +143 -44
  420. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  421. package/dist/esm/ui-knob.entry.js +1 -1
  422. package/dist/esm/ui-label.entry.js +471 -0
  423. package/dist/esm/ui-library.entry.js +2 -2
  424. package/dist/esm/ui-list-group_2.entry.js +349 -60
  425. package/dist/esm/ui-list.entry.js +76 -42
  426. package/dist/esm/ui-masonry.entry.js +1 -1
  427. package/dist/esm/ui-meter-group.entry.js +5 -4
  428. package/dist/esm/ui-navigation-item.entry.js +5 -5
  429. package/dist/esm/ui-number-input.entry.js +7 -3
  430. package/dist/esm/ui-otp-input.entry.js +5 -5
  431. package/dist/esm/{ui-pagination_4.entry.js → ui-pagination_3.entry.js} +36 -506
  432. package/dist/esm/ui-panel.entry.js +1 -1
  433. package/dist/esm/ui-pattern-input.entry.js +46 -11
  434. package/dist/esm/ui-progress.entry.js +66 -9
  435. package/dist/esm/ui-range-slider.entry.js +2 -2
  436. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  437. package/dist/esm/ui-scroll-top.entry.js +1 -1
  438. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  439. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  440. package/dist/esm/ui-snackbar.entry.js +1 -1
  441. package/dist/esm/ui-speed-dial.entry.js +1 -1
  442. package/dist/esm/ui-speedometer.entry.js +28 -17
  443. package/dist/esm/ui-splitter.entry.js +1 -1
  444. package/dist/esm/ui-step.entry.js +2 -2
  445. package/dist/esm/ui-stepper.entry.js +1 -1
  446. package/dist/esm/ui-switch.entry.js +14 -13
  447. package/dist/esm/ui-tabs.entry.js +2 -2
  448. package/dist/esm/ui-tag.entry.js +58 -13
  449. package/dist/esm/ui-timeline.entry.js +10 -2
  450. package/dist/esm/ui-timer.entry.js +2 -2
  451. package/dist/esm/ui-toolbar.entry.js +2 -2
  452. package/dist/esm/ui-tooltip.entry.js +4 -4
  453. package/dist/esm/ui-top-bar.entry.js +1 -1
  454. package/dist/esm/ui-transfer-list.entry.js +6 -6
  455. package/dist/esm/ui-tree.entry.js +30 -15
  456. package/dist/esm/ui-workspace-manager.entry.js +2 -2
  457. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  458. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  459. package/dist/exploration-project-tailwind/{p-7ba2258a.entry.js → p-024a299a.entry.js} +1 -1
  460. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  461. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  462. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  463. package/dist/exploration-project-tailwind/{p-036d2a44.entry.js → p-198c83e5.entry.js} +1 -1
  464. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  465. package/dist/exploration-project-tailwind/{p-81ebba11.entry.js → p-25530d0d.entry.js} +1 -1
  466. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  467. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  468. package/dist/exploration-project-tailwind/{p-e8c6d395.entry.js → p-2b6aa7bc.entry.js} +1 -1
  469. package/dist/exploration-project-tailwind/{p-70bacda8.entry.js → p-2cfba753.entry.js} +1 -1
  470. package/dist/exploration-project-tailwind/{p-cbee2607.entry.js → p-2fe22958.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/{p-20ecc116.entry.js → p-3012e780.entry.js} +1 -1
  472. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  473. package/dist/exploration-project-tailwind/{p-8b57fe4e.entry.js → p-3ab43638.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  475. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  477. package/dist/exploration-project-tailwind/{p-e22317c1.entry.js → p-3efb44c8.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-4288c158.entry.js → p-46071679.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  484. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  485. package/dist/exploration-project-tailwind/{p-4aaa8e40.entry.js → p-4c46ac0b.entry.js} +1 -1
  486. package/dist/exploration-project-tailwind/{p-98e91da5.entry.js → p-5042ddaa.entry.js} +1 -1
  487. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  489. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/{p-fb4aca69.entry.js → p-62889cfe.entry.js} +1 -1
  491. package/dist/exploration-project-tailwind/{p-c02284ea.entry.js → p-66f71613.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-7889bfc4.entry.js → p-67c440b2.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-c1c8ac28.entry.js → p-6f09503f.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  495. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-97af03cc.entry.js → p-7ed3bba2.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/{p-d59da767.entry.js → p-864cebb7.entry.js} +1 -1
  499. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  500. package/dist/exploration-project-tailwind/{p-54965530.entry.js → p-97086868.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-d114a347.entry.js → p-9c5ced88.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  503. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  504. package/dist/exploration-project-tailwind/{p-790556f0.entry.js → p-9e4c45f5.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  507. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  508. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  509. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-6ddbee42.entry.js → p-ae617f62.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-05a436d3.entry.js → p-aef76052.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  513. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/{p-d2e45c5e.entry.js → p-bc49a088.entry.js} +1 -1
  515. package/dist/exploration-project-tailwind/{p-6b838549.entry.js → p-bd9a631f.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  517. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  518. package/dist/exploration-project-tailwind/{p-8578b616.entry.js → p-c4f3d990.entry.js} +1 -1
  519. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  520. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  522. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/p-cb6e38a6.entry.js +1 -0
  524. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  527. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  530. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  535. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  536. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  537. package/dist/types/components/avatar/avatar.d.ts +3 -0
  538. package/dist/types/components/avatar/types.d.ts +2 -0
  539. package/dist/types/components/badge/badge.d.ts +1 -0
  540. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  541. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  542. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  543. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  544. package/dist/types/components/label/label.d.ts +290 -0
  545. package/dist/types/components/label/types.d.ts +39 -0
  546. package/dist/types/components/list/list.d.ts +2 -1
  547. package/dist/types/components/list-group/list-group.d.ts +1 -0
  548. package/dist/types/components/list-item/list-item.d.ts +45 -17
  549. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  550. package/dist/types/components/popover/popover.d.ts +3 -0
  551. package/dist/types/components/progress/progress.d.ts +7 -0
  552. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  553. package/dist/types/components/rating/rating.d.ts +1 -0
  554. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  555. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  556. package/dist/types/components/tag/tag.d.ts +4 -0
  557. package/dist/types/components/tree/tree.d.ts +1 -0
  558. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  559. package/dist/types/components.d.ts +742 -425
  560. package/dist/types/types/common.d.ts +2 -2
  561. package/dist/types/types/common.type.d.ts +2 -0
  562. package/dist/types/utils/dom.d.ts +4 -4
  563. package/package.json +4 -5
  564. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  565. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  566. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  567. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  568. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  569. package/dist/collection/components/color-controller/color-controller.css +0 -108
  570. package/dist/collection/components/color-controller/color-controller.js +0 -224
  571. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  572. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  573. package/dist/components/ui-color-controller.js +0 -1
  574. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  575. package/dist/components/ui-smart-location-dropdown.js +0 -1
  576. package/dist/esm/dom-BMFah5q3.js +0 -262
  577. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  578. package/dist/esm/ui-color-controller.entry.js +0 -148
  579. package/dist/esm/ui-popover.entry.js +0 -515
  580. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  581. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  582. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  583. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  584. package/dist/exploration-project-tailwind/p-16bdd162.entry.js +0 -1
  585. package/dist/exploration-project-tailwind/p-2347d21b.entry.js +0 -1
  586. package/dist/exploration-project-tailwind/p-3d381f75.entry.js +0 -1
  587. package/dist/exploration-project-tailwind/p-4417a9d8.entry.js +0 -1
  588. package/dist/exploration-project-tailwind/p-44742ddd.entry.js +0 -1
  589. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  590. package/dist/exploration-project-tailwind/p-4bef8bed.entry.js +0 -1
  591. package/dist/exploration-project-tailwind/p-4efd63ce.entry.js +0 -1
  592. package/dist/exploration-project-tailwind/p-5c835d90.entry.js +0 -1
  593. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  594. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  595. package/dist/exploration-project-tailwind/p-71d95bb1.entry.js +0 -1
  596. package/dist/exploration-project-tailwind/p-9bd14f69.entry.js +0 -1
  597. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  598. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  599. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  600. package/dist/exploration-project-tailwind/p-a27f59d2.entry.js +0 -1
  601. package/dist/exploration-project-tailwind/p-a7b07cf4.entry.js +0 -1
  602. package/dist/exploration-project-tailwind/p-bd89d060.entry.js +0 -1
  603. package/dist/exploration-project-tailwind/p-c63c522e.entry.js +0 -1
  604. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  605. package/dist/exploration-project-tailwind/p-d6ce9721.entry.js +0 -1
  606. package/dist/exploration-project-tailwind/p-dc92a343.entry.js +0 -1
  607. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  608. package/dist/exploration-project-tailwind/p-e76318c7.entry.js +0 -1
  609. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  610. package/dist/exploration-project-tailwind/p-eab5ad36.entry.js +0 -1
  611. package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +0 -1
  612. package/dist/exploration-project-tailwind/p-f1beee72.entry.js +0 -1
  613. package/dist/exploration-project-tailwind/p-f543392f.entry.js +0 -1
  614. package/dist/exploration-project-tailwind/p-f61cfb7c.entry.js +0 -1
  615. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  616. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  617. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  618. /package/dist/collection/components/{smart-location-dropdown → label}/types.js +0 -0
@@ -1,1190 +0,0 @@
1
- import { h } from "@stencil/core";
2
- import { calculateUniversalPlacement } from "../../utils/dom";
3
- export class SmartLocationDropdown {
4
- hostElement;
5
- /** Location options as JSON string or array */
6
- options = [];
7
- /** Selected value(s): single => 'id', multi => comma-separated ids */
8
- value = '';
9
- /** Enables multiple location selection */
10
- multiSelect = false;
11
- /** Placeholder text for trigger */
12
- placeholder = 'Select location';
13
- /** Enables searching */
14
- searchable = true;
15
- /** Search placeholder */
16
- searchPlaceholder = 'Search country, state, city, postal code...';
17
- /** Disables control */
18
- disabled = false;
19
- /** Show clear action */
20
- clearable = true;
21
- /** Maximum dropdown height in px */
22
- maxHeight = 360;
23
- /** Search debounce in ms */
24
- debounceMs = 250;
25
- /** Max selected items in multi mode (0 = no limit) */
26
- maxSelections = 0;
27
- /** Max results rendered */
28
- resultLimit = 250;
29
- /** Show recent selections section */
30
- showRecent = true;
31
- /** Show favorites section */
32
- showFavorites = true;
33
- /** Persist recent/favorites in local storage */
34
- persistState = true;
35
- /** Storage key for persistent state */
36
- storageKey = 'ui-smart-location-dropdown-state';
37
- /** Display full hierarchy path in options and selected tags */
38
- showPath = true;
39
- /** Show location type badges */
40
- showTypeBadge = true;
41
- /** Allow custom value creation from search */
42
- allowCustomValue = false;
43
- /** Force menu position to ignore transformed/positioned parent offsets */
44
- ignoreParentPosition = true;
45
- /** Portal menu to document.body (off by default to preserve shadow styling) */
46
- portal = false;
47
- /** Optional async remote location loader */
48
- loadLocations;
49
- /** Minimum characters required before async loader executes */
50
- remoteMinChars = 2;
51
- isOpen = false;
52
- parsedOptions = [];
53
- remoteOptions = [];
54
- selectedIds = new Set();
55
- searchQuery = '';
56
- loading = false;
57
- loadError = '';
58
- highlightedIndex = -1;
59
- menuLeft = 0;
60
- menuTop = 0;
61
- menuWidth = 0;
62
- dropdownPosition = 'bottom';
63
- recentIds = [];
64
- favoriteIds = [];
65
- locationChange;
66
- locationSearch;
67
- locationOpen;
68
- locationClose;
69
- locationLoadError;
70
- locationCreate;
71
- searchDebounceTimer;
72
- searchInputRef;
73
- menuElement;
74
- optionsRefs = [];
75
- rafId;
76
- isPortaled = false;
77
- searchToken = 0;
78
- watchOptions(newValue) {
79
- this.parsedOptions = this.normalizeOptions(newValue);
80
- }
81
- watchValue(newValue) {
82
- this.selectedIds = this.parseSelectedIds(newValue);
83
- }
84
- componentWillLoad() {
85
- this.parsedOptions = this.normalizeOptions(this.options);
86
- this.selectedIds = this.parseSelectedIds(this.value);
87
- this.restorePersistentState();
88
- }
89
- disconnectedCallback() {
90
- if (this.searchDebounceTimer) {
91
- clearTimeout(this.searchDebounceTimer);
92
- }
93
- this.cleanupPortal();
94
- if (this.rafId) {
95
- cancelAnimationFrame(this.rafId);
96
- this.rafId = 0;
97
- }
98
- }
99
- handleOutsideClick(event) {
100
- const path = typeof event.composedPath === 'function' ? event.composedPath() : [];
101
- const clickedHost = path.includes(this.hostElement) || this.hostElement.contains(event.target);
102
- const clickedMenu = !!this.menuElement && (path.includes(this.menuElement) || this.menuElement.contains(event.target));
103
- if (!clickedHost && !clickedMenu) {
104
- this.closeDropdown();
105
- }
106
- }
107
- handleResize() {
108
- if (this.isOpen) {
109
- this.calculatePosition();
110
- }
111
- }
112
- handleScroll() {
113
- if (this.isOpen) {
114
- this.calculatePosition();
115
- }
116
- }
117
- normalizeOptions(raw) {
118
- const parsed = typeof raw === 'string' ? this.tryParse(raw) : raw || [];
119
- const output = [];
120
- const walk = (items, depth, parentId, parentPath = []) => {
121
- items.forEach(item => {
122
- if (item == null || item.id == null || !item.label)
123
- return;
124
- const idStr = String(item.id);
125
- const type = item.type || this.inferType(depth);
126
- const path = [...parentPath, item.label];
127
- const searchText = [item.label, item.code || '', type, path.join(' '), (item.tags || []).join(' ')].join(' ').toLowerCase();
128
- output.push({
129
- ...item,
130
- idStr,
131
- parentIdStr: parentId,
132
- type,
133
- depth,
134
- pathLabels: path,
135
- searchText,
136
- });
137
- if (item.children && item.children.length > 0) {
138
- walk(item.children, depth + 1, idStr, path);
139
- }
140
- });
141
- };
142
- walk(parsed, 0);
143
- return output;
144
- }
145
- tryParse(value) {
146
- if (!value)
147
- return [];
148
- try {
149
- const parsed = JSON.parse(value);
150
- return Array.isArray(parsed) ? parsed : [];
151
- }
152
- catch (error) {
153
- console.error('Invalid JSON for location options', error);
154
- return [];
155
- }
156
- }
157
- inferType(depth) {
158
- if (depth <= 0)
159
- return 'country';
160
- if (depth === 1)
161
- return 'state';
162
- if (depth === 2)
163
- return 'city';
164
- if (depth === 3)
165
- return 'district';
166
- return 'custom';
167
- }
168
- parseSelectedIds(value) {
169
- if (!value)
170
- return new Set();
171
- if (this.multiSelect) {
172
- return new Set(value.split(',').map(v => v.trim()).filter(Boolean));
173
- }
174
- return new Set([value]);
175
- }
176
- get selectedOptions() {
177
- const map = new Map(this.getMergedOptions().map(o => [o.idStr, o]));
178
- return Array.from(this.selectedIds)
179
- .map(id => map.get(id))
180
- .filter((o) => !!o);
181
- }
182
- getMergedOptions() {
183
- const merged = [...this.parsedOptions];
184
- const existing = new Set(merged.map(o => o.idStr));
185
- this.remoteOptions.forEach(o => {
186
- if (!existing.has(o.idStr)) {
187
- merged.push(o);
188
- }
189
- });
190
- return merged;
191
- }
192
- get filteredOptions() {
193
- const all = this.getMergedOptions();
194
- const query = this.searchQuery.trim().toLowerCase();
195
- let list = query ? all.filter(option => option.searchText.includes(query)) : all;
196
- if (!query) {
197
- const pinned = this.favoriteIds
198
- .map(id => list.find(o => o.idStr === id))
199
- .filter((o) => !!o);
200
- const recent = this.recentIds
201
- .map(id => list.find(o => o.idStr === id && !this.favoriteIds.includes(id)))
202
- .filter((o) => !!o);
203
- const used = new Set([...pinned.map(o => o.idStr), ...recent.map(o => o.idStr)]);
204
- const rest = list.filter(o => !used.has(o.idStr));
205
- list = [...pinned, ...recent, ...rest];
206
- }
207
- return list.slice(0, this.resultLimit);
208
- }
209
- get typeLabelMap() {
210
- return {
211
- country: 'Country',
212
- state: 'State',
213
- province: 'Province',
214
- city: 'City',
215
- district: 'District',
216
- postal: 'Postal',
217
- custom: 'Custom',
218
- };
219
- }
220
- toggleDropdown = () => {
221
- if (this.disabled)
222
- return;
223
- if (this.isOpen) {
224
- this.closeDropdown();
225
- return;
226
- }
227
- this.isOpen = true;
228
- this.locationOpen.emit();
229
- this.highlightedIndex = this.filteredOptions.length > 0 ? 0 : -1;
230
- this.schedulePositionUpdate();
231
- if (this.searchable) {
232
- window.setTimeout(() => this.searchInputRef?.focus(), 25);
233
- }
234
- };
235
- closeDropdown = () => {
236
- if (!this.isOpen)
237
- return;
238
- this.isOpen = false;
239
- this.locationClose.emit();
240
- this.highlightedIndex = -1;
241
- this.searchQuery = '';
242
- this.remoteOptions = [];
243
- this.loadError = '';
244
- this.cleanupPortal();
245
- };
246
- schedulePositionUpdate() {
247
- if (this.rafId) {
248
- cancelAnimationFrame(this.rafId);
249
- }
250
- this.rafId = requestAnimationFrame(() => {
251
- this.calculatePosition();
252
- this.rafId = 0;
253
- });
254
- }
255
- calculatePosition() {
256
- if (!this.isOpen || !this.menuElement)
257
- return;
258
- const trigger = this.hostElement.shadowRoot?.querySelector('.location-trigger');
259
- if (!trigger)
260
- return;
261
- if (this.portal && !this.isPortaled && this.menuElement.parentElement !== document.body) {
262
- document.body.appendChild(this.menuElement);
263
- this.isPortaled = true;
264
- }
265
- const placement = calculateUniversalPlacement(trigger, {
266
- menuWidth: trigger.offsetWidth,
267
- menuHeight: this.maxHeight,
268
- gap: 4,
269
- placement: 'auto',
270
- useTransformedAncestorOffset: !this.ignoreParentPosition,
271
- });
272
- this.menuLeft = placement.left;
273
- this.menuTop = placement.top;
274
- this.menuWidth = placement.width;
275
- this.dropdownPosition = placement.placement;
276
- }
277
- cleanupPortal() {
278
- if (this.portal && this.isPortaled && this.menuElement && this.menuElement.parentElement === document.body) {
279
- this.hostElement.appendChild(this.menuElement);
280
- this.isPortaled = false;
281
- }
282
- }
283
- onSearchInput_Custom = (value) => {
284
- this.searchQuery = value || '';
285
- if (this.searchDebounceTimer) {
286
- clearTimeout(this.searchDebounceTimer);
287
- }
288
- this.searchDebounceTimer = window.setTimeout(() => {
289
- this.runRemoteSearch(this.searchQuery);
290
- this.emitSearchEvent();
291
- this.highlightedIndex = this.filteredOptions.length > 0 ? 0 : -1;
292
- }, this.debounceMs);
293
- };
294
- async runRemoteSearch(query) {
295
- if (!this.loadLocations)
296
- return;
297
- if ((query || '').trim().length < this.remoteMinChars) {
298
- this.remoteOptions = [];
299
- this.loading = false;
300
- this.loadError = '';
301
- return;
302
- }
303
- const token = ++this.searchToken;
304
- this.loading = true;
305
- this.loadError = '';
306
- try {
307
- const remote = await this.loadLocations(query.trim());
308
- if (token !== this.searchToken)
309
- return;
310
- this.remoteOptions = this.normalizeOptions(remote || []);
311
- }
312
- catch (error) {
313
- if (token !== this.searchToken)
314
- return;
315
- const message = error instanceof Error ? error.message : 'Failed to load locations';
316
- this.remoteOptions = [];
317
- this.loadError = message;
318
- this.locationLoadError.emit({ query, message });
319
- }
320
- finally {
321
- if (token === this.searchToken) {
322
- this.loading = false;
323
- this.emitSearchEvent();
324
- }
325
- }
326
- }
327
- emitSearchEvent() {
328
- this.locationSearch.emit({
329
- query: this.searchQuery,
330
- localResults: this.parsedOptions.filter(o => o.searchText.includes(this.searchQuery.toLowerCase())).length,
331
- remoteResults: this.remoteOptions.length,
332
- loading: this.loading,
333
- });
334
- }
335
- handleKeyDown = (event) => {
336
- if (this.disabled)
337
- return;
338
- const options = this.filteredOptions;
339
- switch (event.key) {
340
- case 'Enter':
341
- case ' ': {
342
- if (!this.isOpen) {
343
- event.preventDefault();
344
- this.toggleDropdown();
345
- return;
346
- }
347
- if (this.highlightedIndex >= 0 && options[this.highlightedIndex]) {
348
- event.preventDefault();
349
- this.selectOption(options[this.highlightedIndex], 'select');
350
- return;
351
- }
352
- if (this.allowCustomValue && this.searchQuery.trim()) {
353
- event.preventDefault();
354
- this.createCustomLocation(this.searchQuery.trim());
355
- }
356
- return;
357
- }
358
- case 'ArrowDown':
359
- event.preventDefault();
360
- if (!this.isOpen) {
361
- this.toggleDropdown();
362
- }
363
- else if (options.length > 0) {
364
- this.highlightedIndex = Math.min(options.length - 1, this.highlightedIndex + 1);
365
- this.scrollToHighlighted();
366
- }
367
- return;
368
- case 'ArrowUp':
369
- event.preventDefault();
370
- if (this.isOpen && options.length > 0) {
371
- this.highlightedIndex = Math.max(0, this.highlightedIndex - 1);
372
- this.scrollToHighlighted();
373
- }
374
- return;
375
- case 'Escape':
376
- if (this.isOpen) {
377
- event.preventDefault();
378
- this.closeDropdown();
379
- }
380
- return;
381
- case 'Backspace':
382
- if (this.multiSelect && !this.searchQuery && this.selectedIds.size > 0) {
383
- const last = Array.from(this.selectedIds).at(-1);
384
- if (last) {
385
- this.removeSelectedId(last, 'remove');
386
- }
387
- }
388
- return;
389
- default:
390
- return;
391
- }
392
- };
393
- scrollToHighlighted() {
394
- const optionElement = this.optionsRefs[this.highlightedIndex];
395
- optionElement?.scrollIntoView({ block: 'nearest' });
396
- }
397
- selectOption(option, trigger) {
398
- if (option.disabled)
399
- return;
400
- if (this.multiSelect) {
401
- const next = new Set(this.selectedIds);
402
- if (next.has(option.idStr)) {
403
- next.delete(option.idStr);
404
- }
405
- else {
406
- if (this.maxSelections > 0 && next.size >= this.maxSelections) {
407
- return;
408
- }
409
- next.add(option.idStr);
410
- }
411
- this.selectedIds = next;
412
- }
413
- else {
414
- this.selectedIds = new Set([option.idStr]);
415
- this.closeDropdown();
416
- }
417
- this.touchRecent(option.idStr);
418
- this.syncValueAndEmit(trigger);
419
- }
420
- removeSelectedId(id, trigger) {
421
- if (!this.selectedIds.has(id))
422
- return;
423
- const next = new Set(this.selectedIds);
424
- next.delete(id);
425
- this.selectedIds = next;
426
- this.syncValueAndEmit(trigger);
427
- }
428
- clearSelection = (event) => {
429
- event?.stopPropagation();
430
- if (this.selectedIds.size === 0)
431
- return;
432
- this.selectedIds = new Set();
433
- this.syncValueAndEmit('clear');
434
- };
435
- toggleFavorite = (id, event) => {
436
- event.stopPropagation();
437
- const exists = this.favoriteIds.includes(id);
438
- this.favoriteIds = exists ? this.favoriteIds.filter(x => x !== id) : [id, ...this.favoriteIds].slice(0, 50);
439
- this.persistCurrentState();
440
- };
441
- touchRecent(id) {
442
- this.recentIds = [id, ...this.recentIds.filter(x => x !== id)].slice(0, 50);
443
- this.persistCurrentState();
444
- }
445
- persistCurrentState() {
446
- if (!this.persistState || typeof localStorage === 'undefined')
447
- return;
448
- try {
449
- localStorage.setItem(this.storageKey, JSON.stringify({ recentIds: this.recentIds, favoriteIds: this.favoriteIds }));
450
- }
451
- catch {
452
- // ignore storage errors
453
- }
454
- }
455
- restorePersistentState() {
456
- if (!this.persistState || typeof localStorage === 'undefined')
457
- return;
458
- try {
459
- const raw = localStorage.getItem(this.storageKey);
460
- if (!raw)
461
- return;
462
- const parsed = JSON.parse(raw);
463
- this.recentIds = Array.isArray(parsed?.recentIds) ? parsed.recentIds.map((x) => String(x)).slice(0, 50) : [];
464
- this.favoriteIds = Array.isArray(parsed?.favoriteIds) ? parsed.favoriteIds.map((x) => String(x)).slice(0, 50) : [];
465
- }
466
- catch {
467
- this.recentIds = [];
468
- this.favoriteIds = [];
469
- }
470
- }
471
- syncValueAndEmit(trigger) {
472
- const selectedIds = Array.from(this.selectedIds);
473
- this.value = this.multiSelect ? selectedIds.join(',') : selectedIds[0] || '';
474
- this.locationChange.emit({
475
- value: this.value,
476
- selected: this.selectedOptions,
477
- trigger,
478
- query: this.searchQuery,
479
- });
480
- }
481
- createCustomLocation(label) {
482
- const id = `custom:${label.toLowerCase().replace(/\s+/g, '-')}`;
483
- const custom = {
484
- id,
485
- label,
486
- type: 'custom',
487
- };
488
- this.locationCreate.emit(custom);
489
- const normalized = this.normalizeOptions([custom]);
490
- this.remoteOptions = [...normalized, ...this.remoteOptions.filter(o => o.idStr !== id)];
491
- if (normalized[0]) {
492
- this.selectOption(normalized[0], 'select');
493
- }
494
- }
495
- getDisplayText() {
496
- const selected = this.selectedOptions;
497
- if (selected.length === 0)
498
- return this.placeholder;
499
- if (!this.multiSelect) {
500
- return this.showPath ? selected[0].pathLabels.join(' / ') : selected[0].label;
501
- }
502
- if (selected.length === 1) {
503
- return this.showPath ? selected[0].pathLabels.join(' / ') : selected[0].label;
504
- }
505
- return `${selected.length} locations selected`;
506
- }
507
- renderSelectedChips() {
508
- if (!this.multiSelect || this.selectedOptions.length === 0)
509
- return null;
510
- const maxVisible = 3;
511
- const visible = this.selectedOptions.slice(0, maxVisible);
512
- const remaining = this.selectedOptions.length - visible.length;
513
- return (h("div", { class: "selected-chips" }, visible.map(option => (h("span", { class: "selected-chip", key: `chip-${option.idStr}` }, h("span", { class: "chip-label" }, this.showPath ? option.pathLabels.join(' / ') : option.label), h("ui-button", { class: "chip-remove", onButtonClick: () => this.removeSelectedId(option.idStr, 'remove'), "aria-label": `Remove ${option.label}`, variant: "plain", icon: "x", iconLibrary: "lucide", iconOnly: true })))), remaining > 0 && h("span", { class: "selected-more" }, "+", remaining)));
514
- }
515
- renderOption(option, index) {
516
- const selected = this.selectedIds.has(option.idStr);
517
- const highlighted = this.highlightedIndex === index;
518
- const favorite = this.favoriteIds.includes(option.idStr);
519
- const label = this.showPath ? option.pathLabels.join(' / ') : option.label;
520
- return (h("div", { class: {
521
- 'location-option': true,
522
- 'location-option-selected': selected,
523
- 'location-option-highlighted': highlighted,
524
- 'location-option-disabled': !!option.disabled,
525
- }, role: "option", "aria-selected": selected ? 'true' : 'false', onMouseEnter: () => (this.highlightedIndex = index), onClick: () => this.selectOption(option, 'select'), ref: el => (this.optionsRefs[index] = el) }, h("div", { class: "location-option-main" }, this.multiSelect && h("ui-icon", { name: selected ? 'check-square' : 'square', library: "lucide", size: "18px" }), h("div", { class: "location-option-text" }, h("span", { class: "location-label" }, label), option.code && h("span", { class: "location-code" }, option.code))), h("div", { class: "location-option-meta" }, this.showTypeBadge && h("span", { class: "location-type" }, this.typeLabelMap[option.type]), this.showFavorites && (h("ui-button", { class: { 'fav-btn': true, active: favorite }, onButtonClick: e => this.toggleFavorite(option.idStr, e.detail), "aria-label": favorite ? `Remove ${option.label} from favorites` : `Add ${option.label} to favorites`, variant: "plain", icon: "star", iconLibrary: "lucide", iconOnly: true })))));
526
- }
527
- render() {
528
- const filtered = this.filteredOptions;
529
- const hasSelection = this.selectedIds.size > 0;
530
- const canCreate = this.allowCustomValue && !!this.searchQuery.trim() && filtered.length === 0;
531
- return (h("div", { key: 'b1807bf502b50ae9fc48efa846426ab643d6516d', class: { 'location-dropdown': true, open: this.isOpen, disabled: this.disabled } }, h("div", { key: 'de7b775e9b312bd39da8927975e588648b4ca809', class: "location-trigger", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", tabIndex: this.disabled ? -1 : 0, onClick: this.toggleDropdown, onKeyDown: this.handleKeyDown }, h("span", { key: 'e608f40b0ef1251ae3f9c303338ff415eb31b0cd', class: { 'trigger-text': true, placeholder: !hasSelection } }, this.getDisplayText()), h("div", { key: 'afbfc578336c32718d974e0ca2b28df8ae1bae2f', class: "trigger-icons" }, hasSelection && this.clearable && !this.disabled && (h("ui-button", { key: '65ce58563ea6447785f79325425f410ccac696b5', class: "clear-btn", onButtonClick: this.clearSelection, "aria-label": "Clear selected locations", variant: "plain", icon: "x", iconLibrary: "lucide", iconOnly: true })), h("ui-icon", { key: 'c30d26150e745053e5c64c7747692dc0e16de079', name: "chevron-down", library: "lucide", size: "16px", class: { arrow: true, open: this.isOpen } }))), this.renderSelectedChips(), this.isOpen && (h("div", { key: '17e2bda731910b2eacdcfa94c40697cb8cad6792', class: { menu: true, top: this.dropdownPosition === 'top' }, role: "listbox", ref: el => (this.menuElement = el), style: {
532
- maxHeight: `${this.maxHeight}px`,
533
- left: `${this.menuLeft}px`,
534
- width: `${this.menuWidth}px`,
535
- position: 'fixed',
536
- zIndex: '10020',
537
- top: `${this.menuTop}px`,
538
- } }, this.searchable && (h("div", { key: '927ac16ca61d07d1e0d9acf9cc6712ccd5e3be8a', class: "search-row" }, h("ui-input", { key: '95af520eb196a47d11ac31489237314049532bc2', ref: el => (this.searchInputRef = el), class: "search-input", value: this.searchQuery, placeholder: this.searchPlaceholder, onInputChange: (e) => this.onSearchInput_Custom(e.detail), onKeyDown: this.handleKeyDown, variant: "plain" }))), this.loading && h("div", { key: 'c5b48b1d0f1e08353dc8def6b7b962c15918f724', class: "status loading" }, "Loading locations..."), !this.loading && this.loadError && h("div", { key: '3a8f50555d86a4cf07fd27b810fe9c74168cac0e', class: "status error" }, this.loadError), !this.loading && filtered.length > 0 && (h("div", { key: '07298b5d440946c7a6d11e3ebae2d3c28d16c467', class: "options-list" }, filtered.map((option, index) => this.renderOption(option, index)))), !this.loading && filtered.length === 0 && !canCreate && h("div", { key: 'a01eb5729544c38466b7c16de2fe6e11baba36e4', class: "status empty" }, "No locations found"), canCreate && (h("ui-button", { key: '06c249712c8bf168d522678abe6fd68ae4d25949', class: "create-btn", onButtonClick: () => this.createCustomLocation(this.searchQuery.trim()), variant: "plain", align: "start", fullWidth: true, icon: "plus", iconLibrary: "lucide", label: `Create "${this.searchQuery.trim()}"` })), (this.showFavorites || this.showRecent) && !this.searchQuery && (h("div", { key: '0cfe965844fa111cb8888b1392e3dcac8b35c51a', class: "footer-meta" }, this.showFavorites && h("span", { key: '0b5f1c8816ed31ab7cdc5988f1271a2c7b384372' }, "Favorites: ", this.favoriteIds.length), this.showRecent && h("span", { key: 'aec4a486adee16e6100efa773475fc03d8b2f155' }, "Recent: ", this.recentIds.length)))))));
539
- }
540
- static get is() { return "ui-smart-location-dropdown"; }
541
- static get encapsulation() { return "shadow"; }
542
- static get originalStyleUrls() {
543
- return {
544
- "$": ["smart-location-dropdown.scss"]
545
- };
546
- }
547
- static get styleUrls() {
548
- return {
549
- "$": ["smart-location-dropdown.css"]
550
- };
551
- }
552
- static get properties() {
553
- return {
554
- "options": {
555
- "type": "string",
556
- "mutable": false,
557
- "complexType": {
558
- "original": "string | LocationOption[]",
559
- "resolved": "LocationOption[] | string",
560
- "references": {
561
- "LocationOption": {
562
- "location": "import",
563
- "path": "./types",
564
- "id": "src/components/smart-location-dropdown/types.ts::LocationOption",
565
- "referenceLocation": "LocationOption"
566
- }
567
- }
568
- },
569
- "required": false,
570
- "optional": false,
571
- "docs": {
572
- "tags": [],
573
- "text": "Location options as JSON string or array"
574
- },
575
- "getter": false,
576
- "setter": false,
577
- "reflect": false,
578
- "attribute": "options",
579
- "defaultValue": "[]"
580
- },
581
- "value": {
582
- "type": "string",
583
- "mutable": true,
584
- "complexType": {
585
- "original": "string",
586
- "resolved": "string",
587
- "references": {}
588
- },
589
- "required": false,
590
- "optional": false,
591
- "docs": {
592
- "tags": [],
593
- "text": "Selected value(s): single => 'id', multi => comma-separated ids"
594
- },
595
- "getter": false,
596
- "setter": false,
597
- "reflect": false,
598
- "attribute": "value",
599
- "defaultValue": "''"
600
- },
601
- "multiSelect": {
602
- "type": "boolean",
603
- "mutable": false,
604
- "complexType": {
605
- "original": "boolean",
606
- "resolved": "boolean",
607
- "references": {}
608
- },
609
- "required": false,
610
- "optional": false,
611
- "docs": {
612
- "tags": [],
613
- "text": "Enables multiple location selection"
614
- },
615
- "getter": false,
616
- "setter": false,
617
- "reflect": false,
618
- "attribute": "multi-select",
619
- "defaultValue": "false"
620
- },
621
- "placeholder": {
622
- "type": "string",
623
- "mutable": false,
624
- "complexType": {
625
- "original": "string",
626
- "resolved": "string",
627
- "references": {}
628
- },
629
- "required": false,
630
- "optional": false,
631
- "docs": {
632
- "tags": [],
633
- "text": "Placeholder text for trigger"
634
- },
635
- "getter": false,
636
- "setter": false,
637
- "reflect": false,
638
- "attribute": "placeholder",
639
- "defaultValue": "'Select location'"
640
- },
641
- "searchable": {
642
- "type": "boolean",
643
- "mutable": false,
644
- "complexType": {
645
- "original": "boolean",
646
- "resolved": "boolean",
647
- "references": {}
648
- },
649
- "required": false,
650
- "optional": false,
651
- "docs": {
652
- "tags": [],
653
- "text": "Enables searching"
654
- },
655
- "getter": false,
656
- "setter": false,
657
- "reflect": false,
658
- "attribute": "searchable",
659
- "defaultValue": "true"
660
- },
661
- "searchPlaceholder": {
662
- "type": "string",
663
- "mutable": false,
664
- "complexType": {
665
- "original": "string",
666
- "resolved": "string",
667
- "references": {}
668
- },
669
- "required": false,
670
- "optional": false,
671
- "docs": {
672
- "tags": [],
673
- "text": "Search placeholder"
674
- },
675
- "getter": false,
676
- "setter": false,
677
- "reflect": false,
678
- "attribute": "search-placeholder",
679
- "defaultValue": "'Search country, state, city, postal code...'"
680
- },
681
- "disabled": {
682
- "type": "boolean",
683
- "mutable": false,
684
- "complexType": {
685
- "original": "boolean",
686
- "resolved": "boolean",
687
- "references": {}
688
- },
689
- "required": false,
690
- "optional": false,
691
- "docs": {
692
- "tags": [],
693
- "text": "Disables control"
694
- },
695
- "getter": false,
696
- "setter": false,
697
- "reflect": false,
698
- "attribute": "disabled",
699
- "defaultValue": "false"
700
- },
701
- "clearable": {
702
- "type": "boolean",
703
- "mutable": false,
704
- "complexType": {
705
- "original": "boolean",
706
- "resolved": "boolean",
707
- "references": {}
708
- },
709
- "required": false,
710
- "optional": false,
711
- "docs": {
712
- "tags": [],
713
- "text": "Show clear action"
714
- },
715
- "getter": false,
716
- "setter": false,
717
- "reflect": false,
718
- "attribute": "clearable",
719
- "defaultValue": "true"
720
- },
721
- "maxHeight": {
722
- "type": "number",
723
- "mutable": false,
724
- "complexType": {
725
- "original": "number",
726
- "resolved": "number",
727
- "references": {}
728
- },
729
- "required": false,
730
- "optional": false,
731
- "docs": {
732
- "tags": [],
733
- "text": "Maximum dropdown height in px"
734
- },
735
- "getter": false,
736
- "setter": false,
737
- "reflect": false,
738
- "attribute": "max-height",
739
- "defaultValue": "360"
740
- },
741
- "debounceMs": {
742
- "type": "number",
743
- "mutable": false,
744
- "complexType": {
745
- "original": "number",
746
- "resolved": "number",
747
- "references": {}
748
- },
749
- "required": false,
750
- "optional": false,
751
- "docs": {
752
- "tags": [],
753
- "text": "Search debounce in ms"
754
- },
755
- "getter": false,
756
- "setter": false,
757
- "reflect": false,
758
- "attribute": "debounce-ms",
759
- "defaultValue": "250"
760
- },
761
- "maxSelections": {
762
- "type": "number",
763
- "mutable": false,
764
- "complexType": {
765
- "original": "number",
766
- "resolved": "number",
767
- "references": {}
768
- },
769
- "required": false,
770
- "optional": false,
771
- "docs": {
772
- "tags": [],
773
- "text": "Max selected items in multi mode (0 = no limit)"
774
- },
775
- "getter": false,
776
- "setter": false,
777
- "reflect": false,
778
- "attribute": "max-selections",
779
- "defaultValue": "0"
780
- },
781
- "resultLimit": {
782
- "type": "number",
783
- "mutable": false,
784
- "complexType": {
785
- "original": "number",
786
- "resolved": "number",
787
- "references": {}
788
- },
789
- "required": false,
790
- "optional": false,
791
- "docs": {
792
- "tags": [],
793
- "text": "Max results rendered"
794
- },
795
- "getter": false,
796
- "setter": false,
797
- "reflect": false,
798
- "attribute": "result-limit",
799
- "defaultValue": "250"
800
- },
801
- "showRecent": {
802
- "type": "boolean",
803
- "mutable": false,
804
- "complexType": {
805
- "original": "boolean",
806
- "resolved": "boolean",
807
- "references": {}
808
- },
809
- "required": false,
810
- "optional": false,
811
- "docs": {
812
- "tags": [],
813
- "text": "Show recent selections section"
814
- },
815
- "getter": false,
816
- "setter": false,
817
- "reflect": false,
818
- "attribute": "show-recent",
819
- "defaultValue": "true"
820
- },
821
- "showFavorites": {
822
- "type": "boolean",
823
- "mutable": false,
824
- "complexType": {
825
- "original": "boolean",
826
- "resolved": "boolean",
827
- "references": {}
828
- },
829
- "required": false,
830
- "optional": false,
831
- "docs": {
832
- "tags": [],
833
- "text": "Show favorites section"
834
- },
835
- "getter": false,
836
- "setter": false,
837
- "reflect": false,
838
- "attribute": "show-favorites",
839
- "defaultValue": "true"
840
- },
841
- "persistState": {
842
- "type": "boolean",
843
- "mutable": false,
844
- "complexType": {
845
- "original": "boolean",
846
- "resolved": "boolean",
847
- "references": {}
848
- },
849
- "required": false,
850
- "optional": false,
851
- "docs": {
852
- "tags": [],
853
- "text": "Persist recent/favorites in local storage"
854
- },
855
- "getter": false,
856
- "setter": false,
857
- "reflect": false,
858
- "attribute": "persist-state",
859
- "defaultValue": "true"
860
- },
861
- "storageKey": {
862
- "type": "string",
863
- "mutable": false,
864
- "complexType": {
865
- "original": "string",
866
- "resolved": "string",
867
- "references": {}
868
- },
869
- "required": false,
870
- "optional": false,
871
- "docs": {
872
- "tags": [],
873
- "text": "Storage key for persistent state"
874
- },
875
- "getter": false,
876
- "setter": false,
877
- "reflect": false,
878
- "attribute": "storage-key",
879
- "defaultValue": "'ui-smart-location-dropdown-state'"
880
- },
881
- "showPath": {
882
- "type": "boolean",
883
- "mutable": false,
884
- "complexType": {
885
- "original": "boolean",
886
- "resolved": "boolean",
887
- "references": {}
888
- },
889
- "required": false,
890
- "optional": false,
891
- "docs": {
892
- "tags": [],
893
- "text": "Display full hierarchy path in options and selected tags"
894
- },
895
- "getter": false,
896
- "setter": false,
897
- "reflect": false,
898
- "attribute": "show-path",
899
- "defaultValue": "true"
900
- },
901
- "showTypeBadge": {
902
- "type": "boolean",
903
- "mutable": false,
904
- "complexType": {
905
- "original": "boolean",
906
- "resolved": "boolean",
907
- "references": {}
908
- },
909
- "required": false,
910
- "optional": false,
911
- "docs": {
912
- "tags": [],
913
- "text": "Show location type badges"
914
- },
915
- "getter": false,
916
- "setter": false,
917
- "reflect": false,
918
- "attribute": "show-type-badge",
919
- "defaultValue": "true"
920
- },
921
- "allowCustomValue": {
922
- "type": "boolean",
923
- "mutable": false,
924
- "complexType": {
925
- "original": "boolean",
926
- "resolved": "boolean",
927
- "references": {}
928
- },
929
- "required": false,
930
- "optional": false,
931
- "docs": {
932
- "tags": [],
933
- "text": "Allow custom value creation from search"
934
- },
935
- "getter": false,
936
- "setter": false,
937
- "reflect": false,
938
- "attribute": "allow-custom-value",
939
- "defaultValue": "false"
940
- },
941
- "ignoreParentPosition": {
942
- "type": "boolean",
943
- "mutable": false,
944
- "complexType": {
945
- "original": "boolean",
946
- "resolved": "boolean",
947
- "references": {}
948
- },
949
- "required": false,
950
- "optional": false,
951
- "docs": {
952
- "tags": [],
953
- "text": "Force menu position to ignore transformed/positioned parent offsets"
954
- },
955
- "getter": false,
956
- "setter": false,
957
- "reflect": false,
958
- "attribute": "ignore-parent-position",
959
- "defaultValue": "true"
960
- },
961
- "portal": {
962
- "type": "boolean",
963
- "mutable": false,
964
- "complexType": {
965
- "original": "boolean",
966
- "resolved": "boolean",
967
- "references": {}
968
- },
969
- "required": false,
970
- "optional": false,
971
- "docs": {
972
- "tags": [],
973
- "text": "Portal menu to document.body (off by default to preserve shadow styling)"
974
- },
975
- "getter": false,
976
- "setter": false,
977
- "reflect": false,
978
- "attribute": "portal",
979
- "defaultValue": "false"
980
- },
981
- "loadLocations": {
982
- "type": "unknown",
983
- "mutable": false,
984
- "complexType": {
985
- "original": "LocationLoader",
986
- "resolved": "(query: string) => Promise<LocationOption[]>",
987
- "references": {
988
- "LocationLoader": {
989
- "location": "import",
990
- "path": "./types",
991
- "id": "src/components/smart-location-dropdown/types.ts::LocationLoader",
992
- "referenceLocation": "LocationLoader"
993
- }
994
- }
995
- },
996
- "required": false,
997
- "optional": true,
998
- "docs": {
999
- "tags": [],
1000
- "text": "Optional async remote location loader"
1001
- },
1002
- "getter": false,
1003
- "setter": false
1004
- },
1005
- "remoteMinChars": {
1006
- "type": "number",
1007
- "mutable": false,
1008
- "complexType": {
1009
- "original": "number",
1010
- "resolved": "number",
1011
- "references": {}
1012
- },
1013
- "required": false,
1014
- "optional": false,
1015
- "docs": {
1016
- "tags": [],
1017
- "text": "Minimum characters required before async loader executes"
1018
- },
1019
- "getter": false,
1020
- "setter": false,
1021
- "reflect": false,
1022
- "attribute": "remote-min-chars",
1023
- "defaultValue": "2"
1024
- }
1025
- };
1026
- }
1027
- static get states() {
1028
- return {
1029
- "isOpen": {},
1030
- "parsedOptions": {},
1031
- "remoteOptions": {},
1032
- "selectedIds": {},
1033
- "searchQuery": {},
1034
- "loading": {},
1035
- "loadError": {},
1036
- "highlightedIndex": {},
1037
- "menuLeft": {},
1038
- "menuTop": {},
1039
- "menuWidth": {},
1040
- "dropdownPosition": {},
1041
- "recentIds": {},
1042
- "favoriteIds": {}
1043
- };
1044
- }
1045
- static get events() {
1046
- return [{
1047
- "method": "locationChange",
1048
- "name": "locationChange",
1049
- "bubbles": true,
1050
- "cancelable": true,
1051
- "composed": true,
1052
- "docs": {
1053
- "tags": [],
1054
- "text": ""
1055
- },
1056
- "complexType": {
1057
- "original": "LocationSelectionChangeEvent",
1058
- "resolved": "LocationSelectionChangeEvent",
1059
- "references": {
1060
- "LocationSelectionChangeEvent": {
1061
- "location": "import",
1062
- "path": "./types",
1063
- "id": "src/components/smart-location-dropdown/types.ts::LocationSelectionChangeEvent",
1064
- "referenceLocation": "LocationSelectionChangeEvent"
1065
- }
1066
- }
1067
- }
1068
- }, {
1069
- "method": "locationSearch",
1070
- "name": "locationSearch",
1071
- "bubbles": true,
1072
- "cancelable": true,
1073
- "composed": true,
1074
- "docs": {
1075
- "tags": [],
1076
- "text": ""
1077
- },
1078
- "complexType": {
1079
- "original": "LocationSearchEvent",
1080
- "resolved": "LocationSearchEvent",
1081
- "references": {
1082
- "LocationSearchEvent": {
1083
- "location": "import",
1084
- "path": "./types",
1085
- "id": "src/components/smart-location-dropdown/types.ts::LocationSearchEvent",
1086
- "referenceLocation": "LocationSearchEvent"
1087
- }
1088
- }
1089
- }
1090
- }, {
1091
- "method": "locationOpen",
1092
- "name": "locationOpen",
1093
- "bubbles": true,
1094
- "cancelable": true,
1095
- "composed": true,
1096
- "docs": {
1097
- "tags": [],
1098
- "text": ""
1099
- },
1100
- "complexType": {
1101
- "original": "void",
1102
- "resolved": "void",
1103
- "references": {}
1104
- }
1105
- }, {
1106
- "method": "locationClose",
1107
- "name": "locationClose",
1108
- "bubbles": true,
1109
- "cancelable": true,
1110
- "composed": true,
1111
- "docs": {
1112
- "tags": [],
1113
- "text": ""
1114
- },
1115
- "complexType": {
1116
- "original": "void",
1117
- "resolved": "void",
1118
- "references": {}
1119
- }
1120
- }, {
1121
- "method": "locationLoadError",
1122
- "name": "locationLoadError",
1123
- "bubbles": true,
1124
- "cancelable": true,
1125
- "composed": true,
1126
- "docs": {
1127
- "tags": [],
1128
- "text": ""
1129
- },
1130
- "complexType": {
1131
- "original": "{ query: string; message: string }",
1132
- "resolved": "{ query: string; message: string; }",
1133
- "references": {}
1134
- }
1135
- }, {
1136
- "method": "locationCreate",
1137
- "name": "locationCreate",
1138
- "bubbles": true,
1139
- "cancelable": true,
1140
- "composed": true,
1141
- "docs": {
1142
- "tags": [],
1143
- "text": ""
1144
- },
1145
- "complexType": {
1146
- "original": "LocationOption",
1147
- "resolved": "LocationOption",
1148
- "references": {
1149
- "LocationOption": {
1150
- "location": "import",
1151
- "path": "./types",
1152
- "id": "src/components/smart-location-dropdown/types.ts::LocationOption",
1153
- "referenceLocation": "LocationOption"
1154
- }
1155
- }
1156
- }
1157
- }];
1158
- }
1159
- static get elementRef() { return "hostElement"; }
1160
- static get watchers() {
1161
- return [{
1162
- "propName": "options",
1163
- "methodName": "watchOptions"
1164
- }, {
1165
- "propName": "value",
1166
- "methodName": "watchValue"
1167
- }];
1168
- }
1169
- static get listeners() {
1170
- return [{
1171
- "name": "click",
1172
- "method": "handleOutsideClick",
1173
- "target": "document",
1174
- "capture": false,
1175
- "passive": false
1176
- }, {
1177
- "name": "resize",
1178
- "method": "handleResize",
1179
- "target": "window",
1180
- "capture": false,
1181
- "passive": true
1182
- }, {
1183
- "name": "scroll",
1184
- "method": "handleScroll",
1185
- "target": "window",
1186
- "capture": true,
1187
- "passive": true
1188
- }];
1189
- }
1190
- }