@datum-cloud/datum-ui 1.3.2 → 1.5.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 (1055) hide show
  1. package/README.md +54 -46
  2. package/dist/_shadcn/hooks/use-mobile.d.ts +0 -1
  3. package/dist/_shadcn/hooks/use-theme.d.ts +0 -1
  4. package/dist/_shadcn/lib/utils.d.ts +1 -6
  5. package/dist/_shadcn/ui/alert.d.ts +2 -3
  6. package/dist/_shadcn/ui/avatar.d.ts +4 -5
  7. package/dist/_shadcn/ui/badge.d.ts +1 -2
  8. package/dist/_shadcn/ui/breadcrumb.d.ts +9 -10
  9. package/dist/_shadcn/ui/button-group.d.ts +1 -2
  10. package/dist/_shadcn/ui/button.d.ts +1 -2
  11. package/dist/_shadcn/ui/card.d.ts +7 -8
  12. package/dist/_shadcn/ui/chart.d.ts +8 -9
  13. package/dist/_shadcn/ui/checkbox.d.ts +0 -1
  14. package/dist/_shadcn/ui/collapsible.d.ts +1 -2
  15. package/dist/_shadcn/ui/command.d.ts +12 -13
  16. package/dist/_shadcn/ui/dialog.d.ts +10 -11
  17. package/dist/_shadcn/ui/dropdown-menu.d.ts +5 -6
  18. package/dist/_shadcn/ui/hover-card.d.ts +1 -2
  19. package/dist/_shadcn/ui/input-group.d.ts +2 -3
  20. package/dist/_shadcn/ui/input.d.ts +4 -5
  21. package/dist/_shadcn/ui/label.d.ts +1 -2
  22. package/dist/_shadcn/ui/map/controls.d.ts +20 -0
  23. package/dist/_shadcn/ui/map/draw.d.ts +15 -0
  24. package/dist/_shadcn/ui/map/hooks.d.ts +7 -0
  25. package/dist/_shadcn/ui/map/layers.d.ts +45 -0
  26. package/dist/_shadcn/ui/map/lazy.d.ts +20 -0
  27. package/dist/_shadcn/ui/map/primitives.d.ts +36 -0
  28. package/dist/_shadcn/ui/map/shared.d.ts +5 -0
  29. package/dist/_shadcn/ui/map-leaflet-imports.d.ts +0 -1
  30. package/dist/_shadcn/ui/map.d.ts +6 -115
  31. package/dist/_shadcn/ui/place-autocomplete.d.ts +0 -1
  32. package/dist/_shadcn/ui/popover.d.ts +5 -6
  33. package/dist/_shadcn/ui/radio-group.d.ts +0 -1
  34. package/dist/_shadcn/ui/select.d.ts +10 -11
  35. package/dist/_shadcn/ui/separator.d.ts +1 -2
  36. package/dist/_shadcn/ui/sheet.d.ts +11 -12
  37. package/dist/_shadcn/ui/skeleton.d.ts +0 -1
  38. package/dist/_shadcn/ui/sonner.d.ts +1 -2
  39. package/dist/_shadcn/ui/spinner.d.ts +0 -1
  40. package/dist/_shadcn/ui/switch.d.ts +0 -1
  41. package/dist/_shadcn/ui/table.d.ts +9 -10
  42. package/dist/_shadcn/ui/tabs.d.ts +1 -2
  43. package/dist/_shadcn/ui/textarea.d.ts +0 -1
  44. package/dist/_shadcn/ui/tooltip.d.ts +5 -6
  45. package/dist/_shadcn/ui/visuallyhidden.d.ts +0 -1
  46. package/dist/{action-row-BhMyMSep.mjs → action-row-DTvs91_3.mjs} +1 -1
  47. package/dist/alert/index.mjs +1 -1
  48. package/dist/{alert-o1rpjbOJ.mjs → alert-SAPwee1h.mjs} +3 -3
  49. package/dist/app-navigation/index.mjs +3 -4
  50. package/dist/app-navigation--mry98XV.mjs +576 -0
  51. package/dist/assistant/index.mjs +987 -0
  52. package/dist/autocomplete/index.mjs +1 -1
  53. package/dist/{autocomplete-Bg187x6x.mjs → autocomplete-G24AgvxU.mjs} +20 -29
  54. package/dist/autosearch/index.mjs +14 -21
  55. package/dist/avatar/index.mjs +27 -1
  56. package/dist/avatar-stack/index.mjs +1 -1
  57. package/dist/{avatar-stack-dsUoEFWs.mjs → avatar-stack-D1-BA7hA.mjs} +3 -3
  58. package/dist/badge/index.mjs +1 -1
  59. package/dist/{badge-DO2_XsXD.mjs → badge-BTNW_FEU.mjs} +1 -1
  60. package/dist/breadcrumb/index.mjs +1 -1
  61. package/dist/{breadcrumb-2S5MuWmM.mjs → breadcrumb-DmdhC8bE.mjs} +14 -14
  62. package/dist/button/index.mjs +2 -2
  63. package/dist/{button-B_N7A8gv.mjs → button-A1qTjZ8U.mjs} +25 -11
  64. package/dist/{button-BLYlDzP-.mjs → button-H_8dI-Ib.mjs} +3 -9
  65. package/dist/button-group/index.mjs +1 -1
  66. package/dist/{button-group-B5s-1BCV.mjs → button-group-DFrTH4L8.mjs} +1 -1
  67. package/dist/calendar/index.mjs +110 -1
  68. package/dist/{calendar-date-picker-DAVXW7Jg.mjs → calendar-date-picker-C52Y05ZN.mjs} +4 -4
  69. package/dist/card/index.mjs +1 -1
  70. package/dist/{card-C5ykfNwX.mjs → card-Cphn2nA3.mjs} +10 -11
  71. package/dist/chart/index.mjs +1 -1
  72. package/dist/{chart-CyOC7Ha-.mjs → chart-DeCrbcpY.mjs} +3 -3
  73. package/dist/checkbox/index.mjs +1 -1
  74. package/dist/{checkbox-BZr9bkke.mjs → checkbox-C6P12fio.mjs} +2 -3
  75. package/dist/{close.icon-ClpRDt_H.mjs → close.icon-DdXKQ4m0.mjs} +1 -1
  76. package/dist/code-editor/index.mjs +1 -1
  77. package/dist/{col-DlpHgWOq.mjs → col-BYGWTB4j.mjs} +17 -4
  78. package/dist/collapsible/index.mjs +6 -1
  79. package/dist/command/index.mjs +1 -1
  80. package/dist/{command-B1sx-XVY.mjs → command-C0aGIYnQ.mjs} +19 -19
  81. package/dist/components/base/alert/alert.d.ts +2 -2
  82. package/dist/components/base/alert/index.d.ts +0 -1
  83. package/dist/components/base/avatar/index.d.ts +0 -1
  84. package/dist/components/base/badge/badge.d.ts +0 -1
  85. package/dist/components/base/badge/index.d.ts +0 -1
  86. package/dist/components/base/breadcrumb/index.d.ts +0 -1
  87. package/dist/components/base/button/button.d.ts +0 -1
  88. package/dist/components/base/button/icon-only.d.ts +14 -0
  89. package/dist/components/base/button/index.d.ts +0 -1
  90. package/dist/components/base/button/link-button.d.ts +0 -1
  91. package/dist/components/base/button-group/index.d.ts +0 -1
  92. package/dist/components/base/calendar/calendar.d.ts +0 -1
  93. package/dist/components/base/calendar/index.d.ts +0 -1
  94. package/dist/components/base/card/card.d.ts +0 -1
  95. package/dist/components/base/card/index.d.ts +0 -1
  96. package/dist/components/base/chart/index.d.ts +0 -1
  97. package/dist/components/base/checkbox/checkbox.d.ts +0 -1
  98. package/dist/components/base/checkbox/index.d.ts +0 -1
  99. package/dist/components/base/collapsible/index.d.ts +0 -1
  100. package/dist/components/base/command/index.d.ts +0 -1
  101. package/dist/components/base/date-picker/index.d.ts +0 -1
  102. package/dist/components/base/date-picker/types.d.ts +0 -1
  103. package/dist/components/base/date-picker/use-date-constraints.d.ts +0 -1
  104. package/dist/components/base/dialog/dialog.d.ts +0 -1
  105. package/dist/components/base/dialog/index.d.ts +0 -1
  106. package/dist/components/base/hooks/index.d.ts +2 -0
  107. package/dist/components/base/hooks/use-controllable-state.d.ts +10 -0
  108. package/dist/components/base/hover-card/index.d.ts +0 -1
  109. package/dist/components/base/index.d.ts +1 -1
  110. package/dist/components/base/input/index.d.ts +0 -1
  111. package/dist/components/base/input/input.d.ts +0 -1
  112. package/dist/components/base/input-group/index.d.ts +0 -1
  113. package/dist/components/base/label/index.d.ts +0 -1
  114. package/dist/components/base/label/label.d.ts +0 -1
  115. package/dist/components/base/loader-overlay/index.d.ts +1 -0
  116. package/dist/components/base/loader-overlay/loader-overlay.d.ts +4 -0
  117. package/dist/components/base/map/index.d.ts +0 -1
  118. package/dist/components/base/mobile-sheet/context.d.ts +0 -1
  119. package/dist/components/base/mobile-sheet/index.d.ts +1 -1
  120. package/dist/components/base/mobile-sheet/mobile-sheet.d.ts +0 -1
  121. package/dist/components/base/mobile-sheet/responsive-sheet-trigger.d.ts +25 -0
  122. package/dist/components/base/option-picker/index.d.ts +0 -1
  123. package/dist/components/base/option-picker/option-list.d.ts +0 -1
  124. package/dist/components/base/option-picker/types.d.ts +28 -1
  125. package/dist/components/base/option-picker/use-option-picker.d.ts +0 -1
  126. package/dist/components/base/place-autocomplete/index.d.ts +0 -1
  127. package/dist/components/base/popover/index.d.ts +0 -1
  128. package/dist/components/base/radio-group/index.d.ts +0 -1
  129. package/dist/components/base/radio-group/radio-group.d.ts +0 -1
  130. package/dist/components/base/responsive-dropdown/index.d.ts +0 -1
  131. package/dist/components/base/responsive-dropdown/responsive-dropdown.d.ts +0 -1
  132. package/dist/components/base/responsive-popover/index.d.ts +0 -1
  133. package/dist/components/base/responsive-popover/responsive-popover.d.ts +4 -3
  134. package/dist/components/base/select/index.d.ts +0 -1
  135. package/dist/components/base/select/select.d.ts +3 -4
  136. package/dist/components/base/separator/index.d.ts +0 -1
  137. package/dist/components/base/sheet/index.d.ts +0 -1
  138. package/dist/components/base/sheet/sheet.d.ts +0 -1
  139. package/dist/components/base/sidebar/context.d.ts +32 -0
  140. package/dist/components/base/sidebar/group.d.ts +10 -0
  141. package/dist/components/base/sidebar/index.d.ts +0 -1
  142. package/dist/components/base/sidebar/menu.d.ts +33 -0
  143. package/dist/components/base/sidebar/shell.d.ts +18 -0
  144. package/dist/components/base/sidebar/sidebar.d.ts +4 -84
  145. package/dist/components/base/skeleton/index.d.ts +0 -1
  146. package/dist/components/base/skeleton/skeleton.d.ts +0 -1
  147. package/dist/components/base/spinner/index.d.ts +0 -1
  148. package/dist/components/base/switch/index.d.ts +0 -1
  149. package/dist/components/base/switch/switch.d.ts +0 -1
  150. package/dist/components/base/table/index.d.ts +0 -1
  151. package/dist/components/base/tabs/index.d.ts +0 -1
  152. package/dist/components/base/tabs/tabs.d.ts +0 -1
  153. package/dist/components/base/textarea/index.d.ts +0 -1
  154. package/dist/components/base/textarea/textarea.d.ts +0 -1
  155. package/dist/components/base/tooltip/index.d.ts +0 -1
  156. package/dist/components/base/tooltip/tooltip.d.ts +0 -1
  157. package/dist/components/base/typography/index.d.ts +0 -1
  158. package/dist/components/base/typography/typography.d.ts +0 -1
  159. package/dist/components/base/visuallyhidden/index.d.ts +0 -1
  160. package/dist/components/features/_shared/index.d.ts +2 -0
  161. package/dist/components/features/_shared/timezone.d.ts +13 -0
  162. package/dist/components/features/_shared/use-deprecation-warning.d.ts +8 -0
  163. package/dist/components/features/app-navigation/app-navigation.d.ts +1 -2
  164. package/dist/components/features/app-navigation/index.d.ts +0 -1
  165. package/dist/components/features/app-navigation/nav-menu/active-path.d.ts +33 -0
  166. package/dist/components/features/app-navigation/nav-menu/index.d.ts +4 -0
  167. package/dist/components/features/app-navigation/nav-menu/nav-menu-context.d.ts +47 -0
  168. package/dist/components/features/app-navigation/nav-menu/nav-menu-item.d.ts +13 -0
  169. package/dist/components/features/app-navigation/{nav-menu.d.ts → nav-menu/nav-menu.d.ts} +7 -20
  170. package/dist/components/features/app-navigation/nav-menu/parts.d.ts +31 -0
  171. package/dist/components/features/app-navigation/nav-menu/types.d.ts +18 -0
  172. package/dist/components/features/assistant/components/assistant-workspace.d.ts +48 -0
  173. package/dist/components/features/assistant/components/brain-glyph.d.ts +8 -0
  174. package/dist/components/features/assistant/components/composer/equalizer.d.ts +6 -0
  175. package/dist/components/features/assistant/components/composer/index.d.ts +3 -0
  176. package/dist/components/features/assistant/components/composer/model-selector.d.ts +10 -0
  177. package/dist/components/features/assistant/components/composer/prompt-card.d.ts +21 -0
  178. package/dist/components/features/assistant/components/conversation/conversation.d.ts +15 -0
  179. package/dist/components/features/assistant/components/conversation/index.d.ts +3 -0
  180. package/dist/components/features/assistant/components/conversation/scroll-to-bottom-button.d.ts +5 -0
  181. package/dist/components/features/assistant/components/conversation/turn-rail.d.ts +12 -0
  182. package/dist/components/features/assistant/components/empty-state.d.ts +10 -0
  183. package/dist/components/features/assistant/components/message/assistant-message.d.ts +9 -0
  184. package/dist/components/features/assistant/components/message/index.d.ts +4 -0
  185. package/dist/components/features/assistant/components/message/loading-dots.d.ts +4 -0
  186. package/dist/components/features/assistant/components/message/thinking-block.d.ts +4 -0
  187. package/dist/components/features/assistant/components/message/user-message.d.ts +4 -0
  188. package/dist/components/features/assistant/components/sidebar/chat-rail.d.ts +7 -0
  189. package/dist/components/features/assistant/components/sidebar/history-panel.d.ts +9 -0
  190. package/dist/components/features/assistant/components/sidebar/index.d.ts +2 -0
  191. package/dist/components/features/assistant/context/assistant-config.d.ts +19 -0
  192. package/dist/components/features/assistant/context/index.d.ts +1 -0
  193. package/dist/components/features/assistant/hooks/index.d.ts +1 -0
  194. package/dist/components/features/assistant/hooks/use-turn-rail.d.ts +16 -0
  195. package/dist/components/features/assistant/index.d.ts +11 -0
  196. package/dist/components/features/assistant/types.d.ts +59 -0
  197. package/dist/components/features/assistant/utils/format-relative-time.d.ts +2 -0
  198. package/dist/components/features/assistant/utils/index.d.ts +2 -0
  199. package/dist/components/features/assistant/utils/sanitize-html.d.ts +2 -0
  200. package/dist/components/features/autocomplete/autocomplete.d.ts +0 -1
  201. package/dist/components/features/autocomplete/autocomplete.types.d.ts +0 -1
  202. package/dist/components/features/autocomplete/index.d.ts +0 -1
  203. package/dist/components/features/autocomplete/trigger.d.ts +6 -2
  204. package/dist/components/features/autosearch/autosearch.d.ts +0 -1
  205. package/dist/components/features/autosearch/autosearch.types.d.ts +1 -2
  206. package/dist/components/features/autosearch/index.d.ts +0 -1
  207. package/dist/components/features/avatar-stack/avatar-stack.d.ts +0 -1
  208. package/dist/components/features/avatar-stack/index.d.ts +0 -1
  209. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts +0 -1
  210. package/dist/components/features/calendar-date-picker/index.d.ts +0 -1
  211. package/dist/components/features/calendar-date-picker/types.d.ts +3 -8
  212. package/dist/components/features/code-editor/code-editor-tabs.d.ts +0 -1
  213. package/dist/components/features/code-editor/code-editor.d.ts +0 -1
  214. package/dist/components/features/code-editor/index.d.ts +0 -1
  215. package/dist/components/features/code-editor/lib/editor.d.ts +0 -1
  216. package/dist/components/features/code-editor/types.d.ts +0 -1
  217. package/dist/components/features/data-table/adapters/nuqs-adapter.d.ts +0 -1
  218. package/dist/components/features/data-table/columns/selection-column.d.ts +2 -3
  219. package/dist/components/features/data-table/components/active-filters.d.ts +0 -1
  220. package/dist/components/features/data-table/components/bulk-actions.d.ts +0 -1
  221. package/dist/components/features/data-table/components/column-header.d.ts +0 -1
  222. package/dist/components/features/data-table/components/content.d.ts +0 -1
  223. package/dist/components/features/data-table/components/inline-content.d.ts +0 -1
  224. package/dist/components/features/data-table/components/loading.d.ts +0 -1
  225. package/dist/components/features/data-table/components/pagination.d.ts +0 -1
  226. package/dist/components/features/data-table/components/row-actions.d.ts +0 -1
  227. package/dist/components/features/data-table/components/search.d.ts +0 -1
  228. package/dist/components/features/data-table/constants.d.ts +0 -1
  229. package/dist/components/features/data-table/core/client-provider.d.ts +0 -1
  230. package/dist/components/features/data-table/core/data-table-context.d.ts +0 -1
  231. package/dist/components/features/data-table/core/filter-engine.d.ts +1 -3
  232. package/dist/components/features/data-table/core/server-provider.d.ts +0 -1
  233. package/dist/components/features/data-table/core/store.d.ts +0 -1
  234. package/dist/components/features/data-table/data-table.d.ts +0 -1
  235. package/dist/components/features/data-table/filters/checkbox-filter.d.ts +0 -1
  236. package/dist/components/features/data-table/filters/date-picker-filter.d.ts +0 -1
  237. package/dist/components/features/data-table/filters/select-filter.d.ts +0 -1
  238. package/dist/components/features/data-table/hooks/index.d.ts +0 -1
  239. package/dist/components/features/data-table/hooks/use-data-table-client.d.ts +2 -3
  240. package/dist/components/features/data-table/hooks/use-data-table-server.d.ts +2 -3
  241. package/dist/components/features/data-table/hooks/use-selectors.d.ts +1 -1
  242. package/dist/components/features/data-table/index.d.ts +1 -2
  243. package/dist/components/features/data-table/types.d.ts +36 -19
  244. package/dist/components/features/date-picker/index.d.ts +0 -1
  245. package/dist/components/features/date-time-picker/date-time-picker.d.ts +0 -1
  246. package/dist/components/features/date-time-picker/index.d.ts +0 -1
  247. package/dist/components/features/date-time-picker/types.d.ts +0 -1
  248. package/dist/components/features/date-time-picker/utils/format.d.ts +0 -1
  249. package/dist/components/features/date-time-picker/utils/index.d.ts +0 -1
  250. package/dist/components/features/date-time-picker/utils/timezone.d.ts +1 -5
  251. package/dist/components/features/dropdown/dropdown.d.ts +0 -1
  252. package/dist/components/features/dropdown/index.d.ts +0 -1
  253. package/dist/components/features/dropzone/dropzone.d.ts +0 -1
  254. package/dist/components/features/dropzone/index.d.ts +0 -1
  255. package/dist/components/features/empty-content/empty-content.d.ts +1 -2
  256. package/dist/components/features/empty-content/index.d.ts +0 -1
  257. package/dist/components/features/file-input-button/file-input-button.d.ts +0 -1
  258. package/dist/components/features/file-input-button/index.d.ts +0 -1
  259. package/dist/components/features/form/adapter-context.d.ts +0 -1
  260. package/dist/components/features/form/adapter-types.d.ts +0 -1
  261. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts +13 -1
  262. package/dist/components/features/form/adapters/conform/conform-provider.d.ts +0 -1
  263. package/dist/components/features/form/adapters/conform/index.d.ts +0 -1
  264. package/dist/components/features/form/adapters/rhf/index.d.ts +0 -1
  265. package/dist/components/features/form/adapters/rhf/rhf-adapter.d.ts +0 -1
  266. package/dist/components/features/form/adapters/rhf/rhf-provider.d.ts +0 -1
  267. package/dist/components/features/form/components/form-autocomplete.d.ts +1 -2
  268. package/dist/components/features/form/components/form-autosearch.d.ts +0 -1
  269. package/dist/components/features/form/components/form-button.d.ts +0 -1
  270. package/dist/components/features/form/components/form-checkbox.d.ts +0 -1
  271. package/dist/components/features/form/components/form-combobox.d.ts +1 -2
  272. package/dist/components/features/form/components/form-copy-box.d.ts +0 -1
  273. package/dist/components/features/form/components/form-custom.d.ts +0 -1
  274. package/dist/components/features/form/components/form-date-picker.d.ts +0 -1
  275. package/dist/components/features/form/components/form-date-time-picker.d.ts +0 -1
  276. package/dist/components/features/form/components/form-description.d.ts +0 -1
  277. package/dist/components/features/form/components/form-dialog.d.ts +0 -1
  278. package/dist/components/features/form/components/form-error.d.ts +0 -1
  279. package/dist/components/features/form/components/form-field-array.d.ts +0 -1
  280. package/dist/components/features/form/components/form-field.d.ts +0 -1
  281. package/dist/components/features/form/components/form-input-group.d.ts +0 -1
  282. package/dist/components/features/form/components/form-input.d.ts +0 -1
  283. package/dist/components/features/form/components/form-radio-group.d.ts +0 -1
  284. package/dist/components/features/form/components/form-root.d.ts +0 -1
  285. package/dist/components/features/form/components/form-select.d.ts +0 -1
  286. package/dist/components/features/form/components/form-submit.d.ts +0 -1
  287. package/dist/components/features/form/components/form-switch.d.ts +0 -1
  288. package/dist/components/features/form/components/form-textarea.d.ts +0 -1
  289. package/dist/components/features/form/components/form-time-picker.d.ts +0 -1
  290. package/dist/components/features/form/components/form-transfer.d.ts +0 -1
  291. package/dist/components/features/form/components/form-when.d.ts +0 -1
  292. package/dist/components/features/form/components/index.d.ts +0 -1
  293. package/dist/components/features/form/components/stepper/form-step.d.ts +0 -1
  294. package/dist/components/features/form/components/stepper/form-stepper.d.ts +0 -1
  295. package/dist/components/features/form/components/stepper/index.d.ts +0 -1
  296. package/dist/components/features/form/components/stepper/stepper-controls.d.ts +0 -1
  297. package/dist/components/features/form/components/stepper/stepper-navigation.d.ts +0 -1
  298. package/dist/components/features/form/context/field-context.d.ts +0 -1
  299. package/dist/components/features/form/context/form-context.d.ts +0 -1
  300. package/dist/components/features/form/context/index.d.ts +0 -1
  301. package/dist/components/features/form/hooks/index.d.ts +0 -1
  302. package/dist/components/features/form/hooks/use-display-touched.d.ts +0 -1
  303. package/dist/components/features/form/hooks/use-field-context.d.ts +0 -1
  304. package/dist/components/features/form/hooks/use-field.d.ts +0 -1
  305. package/dist/components/features/form/hooks/use-form-context.d.ts +0 -1
  306. package/dist/components/features/form/hooks/use-form-state.d.ts +0 -1
  307. package/dist/components/features/form/hooks/use-stepper.d.ts +0 -1
  308. package/dist/components/features/form/hooks/use-watch.d.ts +0 -1
  309. package/dist/components/features/form/index.d.ts +0 -1
  310. package/dist/components/features/form/stepper/index.d.ts +0 -1
  311. package/dist/components/features/form/types/context.d.ts +18 -0
  312. package/dist/components/features/form/types/core.d.ts +20 -0
  313. package/dist/components/features/form/types/dialog.d.ts +83 -0
  314. package/dist/components/features/form/types/field.d.ts +113 -0
  315. package/dist/components/features/form/types/index.d.ts +9 -651
  316. package/dist/components/features/form/types/inputs.d.ts +157 -0
  317. package/dist/components/features/form/types/root.d.ts +86 -0
  318. package/dist/components/features/form/types/stepper.d.ts +98 -0
  319. package/dist/components/features/form/types/telemetry.d.ts +44 -0
  320. package/dist/components/features/form/utils/get-field-constraints.d.ts +0 -1
  321. package/dist/components/features/form/utils/get-schema-defaults.d.ts +0 -1
  322. package/dist/components/features/form/utils/zod-helpers.d.ts +0 -1
  323. package/dist/components/features/grid/components/col.d.ts +0 -1
  324. package/dist/components/features/grid/components/index.d.ts +0 -1
  325. package/dist/components/features/grid/components/row.d.ts +0 -1
  326. package/dist/components/features/grid/constants/grid.constants.d.ts +0 -1
  327. package/dist/components/features/grid/index.d.ts +0 -1
  328. package/dist/components/features/grid/types/grid.types.d.ts +0 -1
  329. package/dist/components/features/grid/utils/responsive.d.ts +9 -1
  330. package/dist/components/features/grouped-table/components/grouped-skeleton.d.ts +0 -1
  331. package/dist/components/features/grouped-table/components/grouped-toolbar.d.ts +0 -1
  332. package/dist/components/features/grouped-table/grouped-table.d.ts +0 -1
  333. package/dist/components/features/grouped-table/index.d.ts +0 -1
  334. package/dist/components/features/grouped-table/lib/bucket-rows.d.ts +0 -1
  335. package/dist/components/features/grouped-table/lib/compose-columns.d.ts +3 -4
  336. package/dist/components/features/grouped-table/lib/sort-rows.d.ts +0 -1
  337. package/dist/components/features/grouped-table/lib/use-controllable-state.d.ts +7 -6
  338. package/dist/components/features/grouped-table/types.d.ts +3 -4
  339. package/dist/components/features/grouped-table/use-grouped-expansion.d.ts +0 -1
  340. package/dist/components/features/index.d.ts +6 -1
  341. package/dist/components/features/input-number/index.d.ts +0 -1
  342. package/dist/components/features/input-number/input-number.d.ts +0 -1
  343. package/dist/components/features/input-with-addons/index.d.ts +0 -1
  344. package/dist/components/features/input-with-addons/input-with-addons.d.ts +0 -1
  345. package/dist/components/features/loader-overlay/index.d.ts +0 -1
  346. package/dist/components/features/loader-overlay/loader-overlay.d.ts +6 -5
  347. package/dist/components/features/logo/index.d.ts +0 -1
  348. package/dist/components/features/logo/logo-flat.d.ts +0 -1
  349. package/dist/components/features/logo/logo-icon.d.ts +0 -1
  350. package/dist/components/features/logo/logo-stacked.d.ts +0 -1
  351. package/dist/components/features/logo/logo-text.d.ts +0 -1
  352. package/dist/components/features/logo/logo.d.ts +0 -1
  353. package/dist/components/features/logo/logo.styles.d.ts +0 -1
  354. package/dist/components/features/logo/themed/index.d.ts +0 -1
  355. package/dist/components/features/logo/themed/logo-themed.d.ts +0 -1
  356. package/dist/components/features/more-actions/action-row.d.ts +0 -1
  357. package/dist/components/features/more-actions/index.d.ts +0 -1
  358. package/dist/components/features/more-actions/more-actions.d.ts +14 -3
  359. package/dist/components/features/more-actions/types.d.ts +0 -1
  360. package/dist/components/features/multi-select/index.d.ts +0 -1
  361. package/dist/components/features/multi-select/multi-select-options.d.ts +21 -0
  362. package/dist/components/features/multi-select/multi-select-shared.d.ts +21 -0
  363. package/dist/components/features/multi-select/multi-select.d.ts +6 -19
  364. package/dist/components/features/multi-select/selected-badge-list.d.ts +29 -0
  365. package/dist/components/features/nprogress/index.d.ts +0 -1
  366. package/dist/components/features/page-title/index.d.ts +0 -1
  367. package/dist/components/features/page-title/page-title.d.ts +0 -1
  368. package/dist/components/features/picker/components/calendar.d.ts +0 -1
  369. package/dist/components/features/picker/components/content.d.ts +0 -1
  370. package/dist/components/features/picker/components/context.d.ts +0 -1
  371. package/dist/components/features/picker/components/footer.d.ts +0 -1
  372. package/dist/components/features/picker/components/index.d.ts +0 -1
  373. package/dist/components/features/picker/components/presets.d.ts +0 -1
  374. package/dist/components/features/picker/components/root.d.ts +0 -1
  375. package/dist/components/features/picker/components/time-input-field.d.ts +0 -1
  376. package/dist/components/features/picker/components/time-input.d.ts +0 -1
  377. package/dist/components/features/picker/components/timezone-indicator.d.ts +0 -1
  378. package/dist/components/features/picker/components/timezone-select.d.ts +0 -1
  379. package/dist/components/features/picker/components/trigger.d.ts +0 -1
  380. package/dist/components/features/picker/hooks/index.d.ts +0 -1
  381. package/dist/components/features/picker/hooks/use-keyboard-shortcuts.d.ts +16 -10
  382. package/dist/components/features/picker/hooks/use-picker-state.d.ts +0 -1
  383. package/dist/components/features/picker/hooks/use-presets.d.ts +0 -1
  384. package/dist/components/features/picker/hooks/use-time-slots.d.ts +0 -1
  385. package/dist/components/features/picker/index.d.ts +0 -1
  386. package/dist/components/features/picker/internal/use-deprecation-warning.d.ts +1 -9
  387. package/dist/components/features/picker/presets/defaults.d.ts +0 -1
  388. package/dist/components/features/picker/presets/index.d.ts +0 -1
  389. package/dist/components/features/picker/types.d.ts +0 -1
  390. package/dist/components/features/picker/utils/commit.d.ts +0 -1
  391. package/dist/components/features/picker/utils/compare.d.ts +0 -1
  392. package/dist/components/features/picker/utils/format-value.d.ts +0 -1
  393. package/dist/components/features/picker/utils/format.d.ts +0 -1
  394. package/dist/components/features/picker/utils/index.d.ts +0 -1
  395. package/dist/components/features/picker/utils/range.d.ts +0 -1
  396. package/dist/components/features/picker/utils/timezone.d.ts +7 -3
  397. package/dist/components/features/picker/wrappers/date-picker.d.ts +0 -1
  398. package/dist/components/features/picker/wrappers/date-range-picker.d.ts +0 -1
  399. package/dist/components/features/picker/wrappers/date-range-time-picker.d.ts +0 -1
  400. package/dist/components/features/picker/wrappers/date-time-picker.d.ts +0 -1
  401. package/dist/components/features/picker/wrappers/date-time-range-picker.d.ts +0 -1
  402. package/dist/components/features/picker/wrappers/index.d.ts +0 -1
  403. package/dist/components/features/picker/wrappers/internal/default-footer.d.ts +0 -1
  404. package/dist/components/features/picker/wrappers/time-picker.d.ts +0 -1
  405. package/dist/components/features/picker/wrappers/time-range-picker.d.ts +0 -1
  406. package/dist/components/features/picker/wrappers/types.d.ts +0 -1
  407. package/dist/components/features/rich-text-editor/index.d.ts +0 -1
  408. package/dist/components/features/rich-text-editor/rich-text-content.d.ts +0 -1
  409. package/dist/components/features/rich-text-editor/rich-text-editor.d.ts +0 -1
  410. package/dist/components/features/rich-text-editor/toolbar/bold-toolbar.d.ts +0 -1
  411. package/dist/components/features/rich-text-editor/toolbar/italic-toolbar.d.ts +0 -1
  412. package/dist/components/features/rich-text-editor/toolbar/link-toolbar.d.ts +0 -1
  413. package/dist/components/features/rich-text-editor/toolbar/strike-toolbar.d.ts +0 -1
  414. package/dist/components/features/rich-text-editor/toolbar/toolbar-button.d.ts +0 -1
  415. package/dist/components/features/rich-text-editor/toolbar/toolbar.d.ts +0 -1
  416. package/dist/components/features/rich-text-editor/toolbar/underline-toolbar.d.ts +0 -1
  417. package/dist/components/features/rich-text-editor/types.d.ts +0 -1
  418. package/dist/components/features/stepper/index.d.ts +0 -1
  419. package/dist/components/features/stepper/parts.d.ts +25 -0
  420. package/dist/components/features/stepper/stepper.d.ts +0 -7
  421. package/dist/components/features/stepper/utils.d.ts +8 -0
  422. package/dist/components/features/tag-input/index.d.ts +0 -1
  423. package/dist/components/features/tag-input/parse.d.ts +56 -0
  424. package/dist/components/features/tag-input/tag-input-field.d.ts +16 -0
  425. package/dist/components/features/tag-input/tag-input.d.ts +3 -3
  426. package/dist/components/features/tag-input/use-tags-input.d.ts +38 -0
  427. package/dist/components/features/task-queue/constants.d.ts +0 -1
  428. package/dist/components/features/task-queue/core/index.d.ts +0 -1
  429. package/dist/components/features/task-queue/core/task-panel-actions.d.ts +0 -1
  430. package/dist/components/features/task-queue/core/task-panel-counter.d.ts +0 -1
  431. package/dist/components/features/task-queue/core/task-panel-header.d.ts +0 -1
  432. package/dist/components/features/task-queue/core/task-panel-item.d.ts +0 -1
  433. package/dist/components/features/task-queue/core/task-panel.d.ts +0 -1
  434. package/dist/components/features/task-queue/core/task-queue-dropdown.d.ts +0 -1
  435. package/dist/components/features/task-queue/core/task-queue-trigger.d.ts +0 -1
  436. package/dist/components/features/task-queue/core/task-summary-dialog.d.ts +0 -1
  437. package/dist/components/features/task-queue/engine/executor.d.ts +2 -3
  438. package/dist/components/features/task-queue/engine/index.d.ts +0 -1
  439. package/dist/components/features/task-queue/engine/queue.d.ts +52 -8
  440. package/dist/components/features/task-queue/engine/storage/detect-storage.d.ts +0 -1
  441. package/dist/components/features/task-queue/engine/storage/index.d.ts +0 -1
  442. package/dist/components/features/task-queue/engine/storage/local-storage.d.ts +9 -5
  443. package/dist/components/features/task-queue/engine/storage/memory-storage.d.ts +0 -1
  444. package/dist/components/features/task-queue/engine/storage/redis-storage.d.ts +11 -6
  445. package/dist/components/features/task-queue/engine/storage/serialize.d.ts +12 -0
  446. package/dist/components/features/task-queue/engine/storage/storage.d.ts +0 -1
  447. package/dist/components/features/task-queue/engine/summary-store.d.ts +17 -0
  448. package/dist/components/features/task-queue/hooks/index.d.ts +0 -1
  449. package/dist/components/features/task-queue/hooks/use-task-queue.d.ts +0 -1
  450. package/dist/components/features/task-queue/hooks/use-task-scope.d.ts +0 -1
  451. package/dist/components/features/task-queue/index.d.ts +0 -1
  452. package/dist/components/features/task-queue/provider/index.d.ts +0 -1
  453. package/dist/components/features/task-queue/provider/task-queue-provider.d.ts +0 -1
  454. package/dist/components/features/task-queue/types.d.ts +66 -25
  455. package/dist/components/features/task-queue/utils/index.d.ts +0 -1
  456. package/dist/components/features/time-picker/index.d.ts +0 -1
  457. package/dist/components/features/time-picker/time-picker.d.ts +0 -1
  458. package/dist/components/features/time-picker/types.d.ts +0 -1
  459. package/dist/components/features/time-range-picker/components/absolute-range-panel.d.ts +0 -1
  460. package/dist/components/features/time-range-picker/components/index.d.ts +0 -1
  461. package/dist/components/features/time-range-picker/components/quick-ranges-panel.d.ts +0 -1
  462. package/dist/components/features/time-range-picker/components/timezone-selector.d.ts +0 -1
  463. package/dist/components/features/time-range-picker/index.d.ts +0 -1
  464. package/dist/components/features/time-range-picker/presets.d.ts +0 -1
  465. package/dist/components/features/time-range-picker/time-range-picker.d.ts +0 -1
  466. package/dist/components/features/time-range-picker/types.d.ts +0 -1
  467. package/dist/components/features/time-range-picker/utils/format-display.d.ts +0 -1
  468. package/dist/components/features/time-range-picker/utils/index.d.ts +0 -1
  469. package/dist/components/features/time-range-picker/utils/timezone.d.ts +2 -15
  470. package/dist/components/features/time-range-picker/utils/to-api-format.d.ts +0 -1
  471. package/dist/components/features/toast/headless-toast.d.ts +7 -2
  472. package/dist/components/features/toast/index.d.ts +0 -1
  473. package/dist/components/features/toast/toast.d.ts +0 -1
  474. package/dist/components/features/toast/toaster.d.ts +0 -1
  475. package/dist/components/features/toast/types.d.ts +7 -3
  476. package/dist/components/features/toast/use-toast.d.ts +0 -1
  477. package/dist/components/features/transfer/components/index.d.ts +0 -1
  478. package/dist/components/features/transfer/components/transfer-group.d.ts +0 -1
  479. package/dist/components/features/transfer/components/transfer-item.d.ts +0 -1
  480. package/dist/components/features/transfer/components/transfer-panel.d.ts +0 -1
  481. package/dist/components/features/transfer/components/transfer-search.d.ts +0 -1
  482. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts +0 -1
  483. package/dist/components/features/transfer/index.d.ts +0 -1
  484. package/dist/components/features/transfer/transfer.d.ts +0 -1
  485. package/dist/components/features/transfer/types.d.ts +0 -1
  486. package/dist/components/icons/close.icon.d.ts +0 -1
  487. package/dist/components/icons/icon-wrapper.d.ts +0 -1
  488. package/dist/components/icons/index.d.ts +0 -1
  489. package/dist/components/icons/spinner.icon.d.ts +0 -1
  490. package/dist/components/index.d.ts +0 -1
  491. package/dist/components/themes/client-only.d.ts +0 -1
  492. package/dist/components/themes/index.d.ts +0 -1
  493. package/dist/components/themes/script.d.ts +0 -1
  494. package/dist/components/themes/theme-script.d.ts +0 -1
  495. package/dist/components/themes/theme.provider.d.ts +0 -1
  496. package/dist/components/themes/types.d.ts +0 -1
  497. package/dist/components/toast.d.ts +0 -1
  498. package/dist/data-table/index.mjs +1 -1
  499. package/dist/{data-table-BYhWsINw.mjs → data-table-CfeovSJV.mjs} +35 -42
  500. package/dist/date-picker/index.mjs +3 -2
  501. package/dist/date-time-picker/index.mjs +1 -1
  502. package/dist/{date-time-picker-BWrS9k-c.mjs → date-time-picker-BbtA6JJJ.mjs} +2 -2
  503. package/dist/dialog/index.mjs +1 -1
  504. package/dist/{dialog-Lg6iiEcv.mjs → dialog-CmkrpaYy.mjs} +20 -20
  505. package/dist/{dialog-ZmYSe4-x.mjs → dialog-N2pkQIc4.mjs} +4 -4
  506. package/dist/dropdown/index.mjs +1 -1
  507. package/dist/{dropdown-DIeMiG4G.mjs → dropdown-B0znsOlu.mjs} +1 -1
  508. package/dist/dropdown-menu-b8zY5Cs6.mjs +82 -0
  509. package/dist/dropzone/index.mjs +1 -1
  510. package/dist/{dropzone-ZJhq4Ec9.mjs → dropzone-C_vA4q0u.mjs} +11 -11
  511. package/dist/empty-content/index.mjs +1 -1
  512. package/dist/{empty-content-C4Z0QVfg.mjs → empty-content-BpS0PONb.mjs} +7 -7
  513. package/dist/exports/map.d.ts +0 -1
  514. package/dist/form/adapters/conform/index.mjs +73 -17
  515. package/dist/form/adapters/rhf/index.mjs +24 -9
  516. package/dist/form/index.mjs +1 -1
  517. package/dist/form/stepper/index.mjs +34 -15
  518. package/dist/{form-JM1Rqh6g.mjs → form-2pTdgtYr.mjs} +57 -41
  519. package/dist/grid/index.mjs +1 -1
  520. package/dist/grouped-table/index.mjs +1 -351
  521. package/dist/grouped-table-CPF8Jijv.mjs +342 -0
  522. package/dist/hooks/index.d.ts +1 -1
  523. package/dist/hooks/index.mjs +3 -2
  524. package/dist/hooks/use-breakpoint.d.ts +0 -1
  525. package/dist/hooks/use-copy-to-clipboard.d.ts +0 -1
  526. package/dist/hooks/use-debounce.d.ts +0 -1
  527. package/dist/hooks/use-debounced-search-input.d.ts +16 -0
  528. package/dist/hooks/use-theme.d.ts +0 -1
  529. package/dist/icons/index.mjs +2 -2
  530. package/dist/index.d.ts +0 -1
  531. package/dist/index.mjs +75 -66
  532. package/dist/input/index.mjs +1 -1
  533. package/dist/{input-BJBQxFli.mjs → input-DR-XbgpD.mjs} +2 -2
  534. package/dist/input-group/index.mjs +1 -1
  535. package/dist/{input-group-Cr_BOTbn.mjs → input-group-DieA8aBt.mjs} +3 -3
  536. package/dist/{input-DBzgl-pN.mjs → input-j4tbmYYz.mjs} +2 -2
  537. package/dist/input-number/index.mjs +1 -1
  538. package/dist/{input-number-BSRdHUdT.mjs → input-number-TXmW-X9o.mjs} +38 -23
  539. package/dist/input-with-addons/index.mjs +1 -1
  540. package/dist/label/index.mjs +1 -1
  541. package/dist/{label-CiVSCTp9.mjs → label-Bk6FXsju.mjs} +4 -5
  542. package/dist/{map-_GaPwJUi.mjs → layers-DJYz6fyE.mjs} +334 -357
  543. package/dist/loader-overlay/index.mjs +1 -1
  544. package/dist/{loader-overlay-CumsP4Xh.mjs → loader-overlay-DD94azZX.mjs} +3 -3
  545. package/dist/logo/index.mjs +2 -2
  546. package/dist/logo/themed/index.mjs +2 -2
  547. package/dist/{logo-BhV6hnzH.mjs → logo-C3FxD7jb.mjs} +1 -1
  548. package/dist/{logo-text-DMp3dH-h.mjs → logo-text-Dpm5O6Kg.mjs} +1 -1
  549. package/dist/map/index.mjs +1 -1
  550. package/dist/mobile-sheet/index.mjs +2 -2
  551. package/dist/{mobile-sheet-Cx8B89jB.mjs → mobile-sheet-D9L-JOee.mjs} +40 -5
  552. package/dist/more-actions/index.mjs +2 -2
  553. package/dist/{more-actions-B6sw_I8O.mjs → more-actions-G9hs0rpJ.mjs} +9 -6
  554. package/dist/multi-select/index.mjs +1 -1
  555. package/dist/multi-select-DIWTdi0i.mjs +310 -0
  556. package/dist/page-title/index.mjs +1 -1
  557. package/dist/{page-title-Wj1lF0BP.mjs → page-title-ipRWEOeM.mjs} +1 -1
  558. package/dist/picker/index.mjs +1 -272
  559. package/dist/picker-CRUSdzpo.mjs +1945 -0
  560. package/dist/popover/index.mjs +33 -1
  561. package/dist/radio-group/index.mjs +1 -1
  562. package/dist/{radio-group-kjKWAwdr.mjs → radio-group-LduBVTnh.mjs} +3 -4
  563. package/dist/responsive-dropdown/index.mjs +1 -1
  564. package/dist/responsive-dropdown-fCmduKaz.mjs +35 -0
  565. package/dist/responsive-popover/index.mjs +1 -1
  566. package/dist/responsive-popover-DJZgXWIE.mjs +42 -0
  567. package/dist/rich-text-editor/index.mjs +1 -1
  568. package/dist/{rich-text-editor-B3i5csUE.mjs → rich-text-editor-DRIwcleW.mjs} +89 -48
  569. package/dist/select/index.mjs +1 -1
  570. package/dist/{select-DNnPDWSW.mjs → select-DCU44UO6.mjs} +2 -2
  571. package/dist/{select-B8z0c7UD.mjs → select-daE2Nn0Z.mjs} +20 -20
  572. package/dist/separator/index.mjs +1 -1
  573. package/dist/{separator-BONRV3sq.mjs → separator-vbPD_WFQ.mjs} +2 -2
  574. package/dist/sheet/index.mjs +2 -2
  575. package/dist/{sheet-C6-WAHk2.mjs → sheet-BZViad2U.mjs} +3 -3
  576. package/dist/{sheet-CIdmO-NE.mjs → sheet-DXCZyMHI.mjs} +18 -18
  577. package/dist/sidebar/index.mjs +1 -1
  578. package/dist/{sidebar-DPQbMC3f.mjs → sidebar-Df6Po0K8.mjs} +184 -177
  579. package/dist/skeleton/index.mjs +25 -1
  580. package/dist/{spinner.icon-DSvVwPjx.mjs → spinner.icon-BYUMQ8H-.mjs} +1 -1
  581. package/dist/stepper/index.mjs +1 -1
  582. package/dist/{stepper-DV9FH5Cy.mjs → stepper-DJkYcilu.mjs} +175 -156
  583. package/dist/styles/root.css +4 -0
  584. package/dist/styles/shadcn/shadcn.css +212 -212
  585. package/dist/styles/shadcn/style.css +2 -0
  586. package/dist/switch/index.mjs +1 -1
  587. package/dist/switch-DPHr3TcN.mjs +28 -0
  588. package/dist/table/index.mjs +65 -1
  589. package/dist/tabs/index.mjs +1 -1
  590. package/dist/tag-input/index.mjs +1 -1
  591. package/dist/tag-input-CSav22U5.mjs +433 -0
  592. package/dist/task-queue/index.mjs +1 -1
  593. package/dist/{task-queue-dropdown-B63xh0f-.mjs → task-queue-dropdown-DfdGiyfA.mjs} +451 -147
  594. package/dist/textarea/index.mjs +1 -1
  595. package/dist/{textarea-BzQxX-oL.mjs → textarea-B6YhjFVC.mjs} +1 -1
  596. package/dist/theme/index.mjs +1 -1
  597. package/dist/{themes-CAmRnjUM.mjs → themes-BK5atywZ.mjs} +61 -23
  598. package/dist/time-picker/index.mjs +1 -1
  599. package/dist/{time-picker-B52KLKGe.mjs → time-picker-Bgt6R1fU.mjs} +2 -2
  600. package/dist/{to-api-format-tidT5mxa.mjs → to-api-format-CgKtSuWO.mjs} +68 -94
  601. package/dist/toast/index.mjs +2 -2
  602. package/dist/{toast-qSJgeN-g.mjs → toast-BUPlDkN3.mjs} +47 -10
  603. package/dist/tooltip/index.mjs +1 -1
  604. package/dist/{tooltip-BqrOCH8l.mjs → tooltip-BhatUaar.mjs} +10 -11
  605. package/dist/transfer/index.mjs +1 -1
  606. package/dist/{transfer-Dp6tTYeN.mjs → transfer-CEq9AhL7.mjs} +13 -6
  607. package/dist/{types-B7jxIH5I.mjs → types-DrN0rei5.mjs} +48 -22
  608. package/dist/typography/index.mjs +1 -1
  609. package/dist/{typography-Bcq9Tkwi.mjs → typography-BXIBvq3-.mjs} +1 -1
  610. package/dist/use-controllable-state-Dna7u3r9.mjs +26 -0
  611. package/dist/{use-copy-to-clipboard-BOCe6C1j.mjs → use-copy-to-clipboard-DZDq_85T.mjs} +8 -2
  612. package/dist/use-debounced-search-input-yu_F0QBt.mjs +37 -0
  613. package/dist/{use-deprecation-warning-BjKiPZ98.mjs → use-deprecation-warning-DXrGc0jX.mjs} +1 -1
  614. package/dist/{use-display-touched-B31H1Ziq.mjs → use-display-touched-CMEEv7aT.mjs} +2 -27
  615. package/dist/{use-option-picker-Cqzcr5f2.mjs → use-option-picker-CV-9CyBV.mjs} +46 -24
  616. package/dist/{toast-0C5jhuto.mjs → use-toast-Bpq0yJIT.mjs} +10 -3
  617. package/dist/utils/cn.d.ts +1 -3
  618. package/dist/utils/index.d.ts +0 -1
  619. package/dist/utils/index.mjs +2 -2
  620. package/dist/utils/timezone.d.ts +0 -1
  621. package/dist/zod-helpers-YEhVo2S-.mjs +27 -0
  622. package/package.json +68 -45
  623. package/dist/_shadcn/hooks/use-mobile.d.ts.map +0 -1
  624. package/dist/_shadcn/hooks/use-theme.d.ts.map +0 -1
  625. package/dist/_shadcn/lib/utils.d.ts.map +0 -1
  626. package/dist/_shadcn/ui/alert.d.ts.map +0 -1
  627. package/dist/_shadcn/ui/avatar.d.ts.map +0 -1
  628. package/dist/_shadcn/ui/badge.d.ts.map +0 -1
  629. package/dist/_shadcn/ui/breadcrumb.d.ts.map +0 -1
  630. package/dist/_shadcn/ui/button-group.d.ts.map +0 -1
  631. package/dist/_shadcn/ui/button.d.ts.map +0 -1
  632. package/dist/_shadcn/ui/card.d.ts.map +0 -1
  633. package/dist/_shadcn/ui/chart.d.ts.map +0 -1
  634. package/dist/_shadcn/ui/checkbox.d.ts.map +0 -1
  635. package/dist/_shadcn/ui/collapsible.d.ts.map +0 -1
  636. package/dist/_shadcn/ui/command.d.ts.map +0 -1
  637. package/dist/_shadcn/ui/dialog.d.ts.map +0 -1
  638. package/dist/_shadcn/ui/dropdown-menu.d.ts.map +0 -1
  639. package/dist/_shadcn/ui/hover-card.d.ts.map +0 -1
  640. package/dist/_shadcn/ui/input-group.d.ts.map +0 -1
  641. package/dist/_shadcn/ui/input.d.ts.map +0 -1
  642. package/dist/_shadcn/ui/label.d.ts.map +0 -1
  643. package/dist/_shadcn/ui/map-leaflet-imports.d.ts.map +0 -1
  644. package/dist/_shadcn/ui/map.d.ts.map +0 -1
  645. package/dist/_shadcn/ui/place-autocomplete.d.ts.map +0 -1
  646. package/dist/_shadcn/ui/popover.d.ts.map +0 -1
  647. package/dist/_shadcn/ui/radio-group.d.ts.map +0 -1
  648. package/dist/_shadcn/ui/select.d.ts.map +0 -1
  649. package/dist/_shadcn/ui/separator.d.ts.map +0 -1
  650. package/dist/_shadcn/ui/sheet.d.ts.map +0 -1
  651. package/dist/_shadcn/ui/skeleton.d.ts.map +0 -1
  652. package/dist/_shadcn/ui/sonner.d.ts.map +0 -1
  653. package/dist/_shadcn/ui/spinner.d.ts.map +0 -1
  654. package/dist/_shadcn/ui/switch.d.ts.map +0 -1
  655. package/dist/_shadcn/ui/table.d.ts.map +0 -1
  656. package/dist/_shadcn/ui/tabs.d.ts.map +0 -1
  657. package/dist/_shadcn/ui/textarea.d.ts.map +0 -1
  658. package/dist/_shadcn/ui/tooltip.d.ts.map +0 -1
  659. package/dist/_shadcn/ui/visuallyhidden.d.ts.map +0 -1
  660. package/dist/app-navigation-D2EAiTGO.mjs +0 -482
  661. package/dist/avatar-DbTh2mk4.mjs +0 -28
  662. package/dist/calendar-BQF1XDjq.mjs +0 -77
  663. package/dist/calendar-ByqfbFGx.mjs +0 -111
  664. package/dist/cn-dlASUkDY.mjs +0 -8
  665. package/dist/collapsible-BeCdkxTJ.mjs +0 -7
  666. package/dist/components/base/alert/alert.d.ts.map +0 -1
  667. package/dist/components/base/alert/index.d.ts.map +0 -1
  668. package/dist/components/base/avatar/index.d.ts.map +0 -1
  669. package/dist/components/base/badge/badge.d.ts.map +0 -1
  670. package/dist/components/base/badge/index.d.ts.map +0 -1
  671. package/dist/components/base/breadcrumb/index.d.ts.map +0 -1
  672. package/dist/components/base/button/button.d.ts.map +0 -1
  673. package/dist/components/base/button/index.d.ts.map +0 -1
  674. package/dist/components/base/button/link-button.d.ts.map +0 -1
  675. package/dist/components/base/button-group/index.d.ts.map +0 -1
  676. package/dist/components/base/calendar/calendar.d.ts.map +0 -1
  677. package/dist/components/base/calendar/index.d.ts.map +0 -1
  678. package/dist/components/base/card/card.d.ts.map +0 -1
  679. package/dist/components/base/card/index.d.ts.map +0 -1
  680. package/dist/components/base/chart/index.d.ts.map +0 -1
  681. package/dist/components/base/checkbox/checkbox.d.ts.map +0 -1
  682. package/dist/components/base/checkbox/index.d.ts.map +0 -1
  683. package/dist/components/base/collapsible/index.d.ts.map +0 -1
  684. package/dist/components/base/command/index.d.ts.map +0 -1
  685. package/dist/components/base/date-picker/index.d.ts.map +0 -1
  686. package/dist/components/base/date-picker/types.d.ts.map +0 -1
  687. package/dist/components/base/date-picker/use-date-constraints.d.ts.map +0 -1
  688. package/dist/components/base/dialog/dialog.d.ts.map +0 -1
  689. package/dist/components/base/dialog/index.d.ts.map +0 -1
  690. package/dist/components/base/hover-card/index.d.ts.map +0 -1
  691. package/dist/components/base/index.d.ts.map +0 -1
  692. package/dist/components/base/input/index.d.ts.map +0 -1
  693. package/dist/components/base/input/input.d.ts.map +0 -1
  694. package/dist/components/base/input-group/index.d.ts.map +0 -1
  695. package/dist/components/base/label/index.d.ts.map +0 -1
  696. package/dist/components/base/label/label.d.ts.map +0 -1
  697. package/dist/components/base/map/index.d.ts.map +0 -1
  698. package/dist/components/base/mobile-sheet/context.d.ts.map +0 -1
  699. package/dist/components/base/mobile-sheet/index.d.ts.map +0 -1
  700. package/dist/components/base/mobile-sheet/mobile-sheet.d.ts.map +0 -1
  701. package/dist/components/base/option-picker/index.d.ts.map +0 -1
  702. package/dist/components/base/option-picker/option-list.d.ts.map +0 -1
  703. package/dist/components/base/option-picker/types.d.ts.map +0 -1
  704. package/dist/components/base/option-picker/use-option-picker.d.ts.map +0 -1
  705. package/dist/components/base/place-autocomplete/index.d.ts.map +0 -1
  706. package/dist/components/base/popover/index.d.ts.map +0 -1
  707. package/dist/components/base/radio-group/index.d.ts.map +0 -1
  708. package/dist/components/base/radio-group/radio-group.d.ts.map +0 -1
  709. package/dist/components/base/responsive-dropdown/index.d.ts.map +0 -1
  710. package/dist/components/base/responsive-dropdown/responsive-dropdown.d.ts.map +0 -1
  711. package/dist/components/base/responsive-popover/index.d.ts.map +0 -1
  712. package/dist/components/base/responsive-popover/responsive-popover.d.ts.map +0 -1
  713. package/dist/components/base/select/index.d.ts.map +0 -1
  714. package/dist/components/base/select/select.d.ts.map +0 -1
  715. package/dist/components/base/separator/index.d.ts.map +0 -1
  716. package/dist/components/base/sheet/index.d.ts.map +0 -1
  717. package/dist/components/base/sheet/sheet.d.ts.map +0 -1
  718. package/dist/components/base/sidebar/index.d.ts.map +0 -1
  719. package/dist/components/base/sidebar/sidebar.d.ts.map +0 -1
  720. package/dist/components/base/skeleton/index.d.ts.map +0 -1
  721. package/dist/components/base/skeleton/skeleton.d.ts.map +0 -1
  722. package/dist/components/base/spinner/index.d.ts.map +0 -1
  723. package/dist/components/base/switch/index.d.ts.map +0 -1
  724. package/dist/components/base/switch/switch.d.ts.map +0 -1
  725. package/dist/components/base/table/index.d.ts.map +0 -1
  726. package/dist/components/base/tabs/index.d.ts.map +0 -1
  727. package/dist/components/base/tabs/tabs.d.ts.map +0 -1
  728. package/dist/components/base/textarea/index.d.ts.map +0 -1
  729. package/dist/components/base/textarea/textarea.d.ts.map +0 -1
  730. package/dist/components/base/tooltip/index.d.ts.map +0 -1
  731. package/dist/components/base/tooltip/tooltip.d.ts.map +0 -1
  732. package/dist/components/base/typography/index.d.ts.map +0 -1
  733. package/dist/components/base/typography/typography.d.ts.map +0 -1
  734. package/dist/components/base/visuallyhidden/index.d.ts.map +0 -1
  735. package/dist/components/features/app-navigation/app-navigation.d.ts.map +0 -1
  736. package/dist/components/features/app-navigation/index.d.ts.map +0 -1
  737. package/dist/components/features/app-navigation/nav-menu.d.ts.map +0 -1
  738. package/dist/components/features/autocomplete/autocomplete.d.ts.map +0 -1
  739. package/dist/components/features/autocomplete/autocomplete.types.d.ts.map +0 -1
  740. package/dist/components/features/autocomplete/index.d.ts.map +0 -1
  741. package/dist/components/features/autocomplete/trigger.d.ts.map +0 -1
  742. package/dist/components/features/autosearch/autosearch.d.ts.map +0 -1
  743. package/dist/components/features/autosearch/autosearch.types.d.ts.map +0 -1
  744. package/dist/components/features/autosearch/index.d.ts.map +0 -1
  745. package/dist/components/features/avatar-stack/avatar-stack.d.ts.map +0 -1
  746. package/dist/components/features/avatar-stack/index.d.ts.map +0 -1
  747. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts.map +0 -1
  748. package/dist/components/features/calendar-date-picker/calendar-header.d.ts +0 -13
  749. package/dist/components/features/calendar-date-picker/calendar-header.d.ts.map +0 -1
  750. package/dist/components/features/calendar-date-picker/calendar-presets.d.ts +0 -9
  751. package/dist/components/features/calendar-date-picker/calendar-presets.d.ts.map +0 -1
  752. package/dist/components/features/calendar-date-picker/date-trigger.d.ts +0 -24
  753. package/dist/components/features/calendar-date-picker/date-trigger.d.ts.map +0 -1
  754. package/dist/components/features/calendar-date-picker/index.d.ts.map +0 -1
  755. package/dist/components/features/calendar-date-picker/types.d.ts.map +0 -1
  756. package/dist/components/features/calendar-date-picker/use-calendar-date-picker.d.ts +0 -48
  757. package/dist/components/features/calendar-date-picker/use-calendar-date-picker.d.ts.map +0 -1
  758. package/dist/components/features/code-editor/code-editor-tabs.d.ts.map +0 -1
  759. package/dist/components/features/code-editor/code-editor.d.ts.map +0 -1
  760. package/dist/components/features/code-editor/index.d.ts.map +0 -1
  761. package/dist/components/features/code-editor/lib/editor.d.ts.map +0 -1
  762. package/dist/components/features/code-editor/types.d.ts.map +0 -1
  763. package/dist/components/features/data-table/adapters/nuqs-adapter.d.ts.map +0 -1
  764. package/dist/components/features/data-table/columns/selection-column.d.ts.map +0 -1
  765. package/dist/components/features/data-table/components/active-filters.d.ts.map +0 -1
  766. package/dist/components/features/data-table/components/bulk-actions.d.ts.map +0 -1
  767. package/dist/components/features/data-table/components/column-header.d.ts.map +0 -1
  768. package/dist/components/features/data-table/components/content.d.ts.map +0 -1
  769. package/dist/components/features/data-table/components/inline-content.d.ts.map +0 -1
  770. package/dist/components/features/data-table/components/loading.d.ts.map +0 -1
  771. package/dist/components/features/data-table/components/pagination.d.ts.map +0 -1
  772. package/dist/components/features/data-table/components/row-actions.d.ts.map +0 -1
  773. package/dist/components/features/data-table/components/search.d.ts.map +0 -1
  774. package/dist/components/features/data-table/constants.d.ts.map +0 -1
  775. package/dist/components/features/data-table/core/client-provider.d.ts.map +0 -1
  776. package/dist/components/features/data-table/core/data-table-context.d.ts.map +0 -1
  777. package/dist/components/features/data-table/core/filter-engine.d.ts.map +0 -1
  778. package/dist/components/features/data-table/core/server-provider.d.ts.map +0 -1
  779. package/dist/components/features/data-table/core/store.d.ts.map +0 -1
  780. package/dist/components/features/data-table/data-table.d.ts.map +0 -1
  781. package/dist/components/features/data-table/filters/checkbox-filter.d.ts.map +0 -1
  782. package/dist/components/features/data-table/filters/date-picker-filter.d.ts.map +0 -1
  783. package/dist/components/features/data-table/filters/select-filter.d.ts.map +0 -1
  784. package/dist/components/features/data-table/hooks/index.d.ts.map +0 -1
  785. package/dist/components/features/data-table/hooks/use-data-table-client.d.ts.map +0 -1
  786. package/dist/components/features/data-table/hooks/use-data-table-server.d.ts.map +0 -1
  787. package/dist/components/features/data-table/hooks/use-selectors.d.ts.map +0 -1
  788. package/dist/components/features/data-table/index.d.ts.map +0 -1
  789. package/dist/components/features/data-table/types.d.ts.map +0 -1
  790. package/dist/components/features/date-picker/index.d.ts.map +0 -1
  791. package/dist/components/features/date-time-picker/date-time-picker.d.ts.map +0 -1
  792. package/dist/components/features/date-time-picker/index.d.ts.map +0 -1
  793. package/dist/components/features/date-time-picker/types.d.ts.map +0 -1
  794. package/dist/components/features/date-time-picker/utils/format.d.ts.map +0 -1
  795. package/dist/components/features/date-time-picker/utils/index.d.ts.map +0 -1
  796. package/dist/components/features/date-time-picker/utils/timezone.d.ts.map +0 -1
  797. package/dist/components/features/dropdown/dropdown.d.ts.map +0 -1
  798. package/dist/components/features/dropdown/index.d.ts.map +0 -1
  799. package/dist/components/features/dropzone/dropzone.d.ts.map +0 -1
  800. package/dist/components/features/dropzone/index.d.ts.map +0 -1
  801. package/dist/components/features/empty-content/empty-content.d.ts.map +0 -1
  802. package/dist/components/features/empty-content/index.d.ts.map +0 -1
  803. package/dist/components/features/file-input-button/file-input-button.d.ts.map +0 -1
  804. package/dist/components/features/file-input-button/index.d.ts.map +0 -1
  805. package/dist/components/features/form/adapter-context.d.ts.map +0 -1
  806. package/dist/components/features/form/adapter-types.d.ts.map +0 -1
  807. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts.map +0 -1
  808. package/dist/components/features/form/adapters/conform/conform-provider.d.ts.map +0 -1
  809. package/dist/components/features/form/adapters/conform/index.d.ts.map +0 -1
  810. package/dist/components/features/form/adapters/rhf/index.d.ts.map +0 -1
  811. package/dist/components/features/form/adapters/rhf/rhf-adapter.d.ts.map +0 -1
  812. package/dist/components/features/form/adapters/rhf/rhf-provider.d.ts.map +0 -1
  813. package/dist/components/features/form/components/form-autocomplete.d.ts.map +0 -1
  814. package/dist/components/features/form/components/form-autosearch.d.ts.map +0 -1
  815. package/dist/components/features/form/components/form-button.d.ts.map +0 -1
  816. package/dist/components/features/form/components/form-checkbox.d.ts.map +0 -1
  817. package/dist/components/features/form/components/form-combobox.d.ts.map +0 -1
  818. package/dist/components/features/form/components/form-copy-box.d.ts.map +0 -1
  819. package/dist/components/features/form/components/form-custom.d.ts.map +0 -1
  820. package/dist/components/features/form/components/form-date-picker.d.ts.map +0 -1
  821. package/dist/components/features/form/components/form-date-time-picker.d.ts.map +0 -1
  822. package/dist/components/features/form/components/form-description.d.ts.map +0 -1
  823. package/dist/components/features/form/components/form-dialog.d.ts.map +0 -1
  824. package/dist/components/features/form/components/form-error.d.ts.map +0 -1
  825. package/dist/components/features/form/components/form-field-array.d.ts.map +0 -1
  826. package/dist/components/features/form/components/form-field.d.ts.map +0 -1
  827. package/dist/components/features/form/components/form-input-group.d.ts.map +0 -1
  828. package/dist/components/features/form/components/form-input.d.ts.map +0 -1
  829. package/dist/components/features/form/components/form-radio-group.d.ts.map +0 -1
  830. package/dist/components/features/form/components/form-root.d.ts.map +0 -1
  831. package/dist/components/features/form/components/form-select.d.ts.map +0 -1
  832. package/dist/components/features/form/components/form-submit.d.ts.map +0 -1
  833. package/dist/components/features/form/components/form-switch.d.ts.map +0 -1
  834. package/dist/components/features/form/components/form-textarea.d.ts.map +0 -1
  835. package/dist/components/features/form/components/form-time-picker.d.ts.map +0 -1
  836. package/dist/components/features/form/components/form-transfer.d.ts.map +0 -1
  837. package/dist/components/features/form/components/form-when.d.ts.map +0 -1
  838. package/dist/components/features/form/components/index.d.ts.map +0 -1
  839. package/dist/components/features/form/components/stepper/form-step.d.ts.map +0 -1
  840. package/dist/components/features/form/components/stepper/form-stepper.d.ts.map +0 -1
  841. package/dist/components/features/form/components/stepper/index.d.ts.map +0 -1
  842. package/dist/components/features/form/components/stepper/stepper-controls.d.ts.map +0 -1
  843. package/dist/components/features/form/components/stepper/stepper-navigation.d.ts.map +0 -1
  844. package/dist/components/features/form/context/field-context.d.ts.map +0 -1
  845. package/dist/components/features/form/context/form-context.d.ts.map +0 -1
  846. package/dist/components/features/form/context/index.d.ts.map +0 -1
  847. package/dist/components/features/form/hooks/index.d.ts.map +0 -1
  848. package/dist/components/features/form/hooks/use-display-touched.d.ts.map +0 -1
  849. package/dist/components/features/form/hooks/use-field-context.d.ts.map +0 -1
  850. package/dist/components/features/form/hooks/use-field.d.ts.map +0 -1
  851. package/dist/components/features/form/hooks/use-form-context.d.ts.map +0 -1
  852. package/dist/components/features/form/hooks/use-form-state.d.ts.map +0 -1
  853. package/dist/components/features/form/hooks/use-stepper.d.ts.map +0 -1
  854. package/dist/components/features/form/hooks/use-watch.d.ts.map +0 -1
  855. package/dist/components/features/form/index.d.ts.map +0 -1
  856. package/dist/components/features/form/stepper/index.d.ts.map +0 -1
  857. package/dist/components/features/form/types/index.d.ts.map +0 -1
  858. package/dist/components/features/form/utils/get-field-constraints.d.ts.map +0 -1
  859. package/dist/components/features/form/utils/get-schema-defaults.d.ts.map +0 -1
  860. package/dist/components/features/form/utils/zod-helpers.d.ts.map +0 -1
  861. package/dist/components/features/grid/components/col.d.ts.map +0 -1
  862. package/dist/components/features/grid/components/index.d.ts.map +0 -1
  863. package/dist/components/features/grid/components/row.d.ts.map +0 -1
  864. package/dist/components/features/grid/constants/grid.constants.d.ts.map +0 -1
  865. package/dist/components/features/grid/index.d.ts.map +0 -1
  866. package/dist/components/features/grid/types/grid.types.d.ts.map +0 -1
  867. package/dist/components/features/grid/utils/responsive.d.ts.map +0 -1
  868. package/dist/components/features/grouped-table/components/grouped-skeleton.d.ts.map +0 -1
  869. package/dist/components/features/grouped-table/components/grouped-toolbar.d.ts.map +0 -1
  870. package/dist/components/features/grouped-table/grouped-table.d.ts.map +0 -1
  871. package/dist/components/features/grouped-table/index.d.ts.map +0 -1
  872. package/dist/components/features/grouped-table/lib/bucket-rows.d.ts.map +0 -1
  873. package/dist/components/features/grouped-table/lib/compose-columns.d.ts.map +0 -1
  874. package/dist/components/features/grouped-table/lib/sort-rows.d.ts.map +0 -1
  875. package/dist/components/features/grouped-table/lib/use-controllable-state.d.ts.map +0 -1
  876. package/dist/components/features/grouped-table/types.d.ts.map +0 -1
  877. package/dist/components/features/grouped-table/use-grouped-expansion.d.ts.map +0 -1
  878. package/dist/components/features/index.d.ts.map +0 -1
  879. package/dist/components/features/input-number/index.d.ts.map +0 -1
  880. package/dist/components/features/input-number/input-number.d.ts.map +0 -1
  881. package/dist/components/features/input-with-addons/index.d.ts.map +0 -1
  882. package/dist/components/features/input-with-addons/input-with-addons.d.ts.map +0 -1
  883. package/dist/components/features/loader-overlay/index.d.ts.map +0 -1
  884. package/dist/components/features/loader-overlay/loader-overlay.d.ts.map +0 -1
  885. package/dist/components/features/logo/index.d.ts.map +0 -1
  886. package/dist/components/features/logo/logo-flat.d.ts.map +0 -1
  887. package/dist/components/features/logo/logo-icon.d.ts.map +0 -1
  888. package/dist/components/features/logo/logo-stacked.d.ts.map +0 -1
  889. package/dist/components/features/logo/logo-text.d.ts.map +0 -1
  890. package/dist/components/features/logo/logo.d.ts.map +0 -1
  891. package/dist/components/features/logo/logo.styles.d.ts.map +0 -1
  892. package/dist/components/features/logo/themed/index.d.ts.map +0 -1
  893. package/dist/components/features/logo/themed/logo-themed.d.ts.map +0 -1
  894. package/dist/components/features/more-actions/action-row.d.ts.map +0 -1
  895. package/dist/components/features/more-actions/index.d.ts.map +0 -1
  896. package/dist/components/features/more-actions/more-actions.d.ts.map +0 -1
  897. package/dist/components/features/more-actions/types.d.ts.map +0 -1
  898. package/dist/components/features/multi-select/index.d.ts.map +0 -1
  899. package/dist/components/features/multi-select/multi-select.d.ts.map +0 -1
  900. package/dist/components/features/nprogress/index.d.ts.map +0 -1
  901. package/dist/components/features/page-title/index.d.ts.map +0 -1
  902. package/dist/components/features/page-title/page-title.d.ts.map +0 -1
  903. package/dist/components/features/picker/components/calendar.d.ts.map +0 -1
  904. package/dist/components/features/picker/components/content.d.ts.map +0 -1
  905. package/dist/components/features/picker/components/context.d.ts.map +0 -1
  906. package/dist/components/features/picker/components/footer.d.ts.map +0 -1
  907. package/dist/components/features/picker/components/index.d.ts.map +0 -1
  908. package/dist/components/features/picker/components/presets.d.ts.map +0 -1
  909. package/dist/components/features/picker/components/root.d.ts.map +0 -1
  910. package/dist/components/features/picker/components/time-input-field.d.ts.map +0 -1
  911. package/dist/components/features/picker/components/time-input.d.ts.map +0 -1
  912. package/dist/components/features/picker/components/timezone-indicator.d.ts.map +0 -1
  913. package/dist/components/features/picker/components/timezone-select.d.ts.map +0 -1
  914. package/dist/components/features/picker/components/trigger.d.ts.map +0 -1
  915. package/dist/components/features/picker/hooks/index.d.ts.map +0 -1
  916. package/dist/components/features/picker/hooks/use-keyboard-shortcuts.d.ts.map +0 -1
  917. package/dist/components/features/picker/hooks/use-picker-state.d.ts.map +0 -1
  918. package/dist/components/features/picker/hooks/use-presets.d.ts.map +0 -1
  919. package/dist/components/features/picker/hooks/use-time-slots.d.ts.map +0 -1
  920. package/dist/components/features/picker/index.d.ts.map +0 -1
  921. package/dist/components/features/picker/internal/use-deprecation-warning.d.ts.map +0 -1
  922. package/dist/components/features/picker/presets/defaults.d.ts.map +0 -1
  923. package/dist/components/features/picker/presets/index.d.ts.map +0 -1
  924. package/dist/components/features/picker/types.d.ts.map +0 -1
  925. package/dist/components/features/picker/utils/commit.d.ts.map +0 -1
  926. package/dist/components/features/picker/utils/compare.d.ts.map +0 -1
  927. package/dist/components/features/picker/utils/format-value.d.ts.map +0 -1
  928. package/dist/components/features/picker/utils/format.d.ts.map +0 -1
  929. package/dist/components/features/picker/utils/index.d.ts.map +0 -1
  930. package/dist/components/features/picker/utils/range.d.ts.map +0 -1
  931. package/dist/components/features/picker/utils/timezone.d.ts.map +0 -1
  932. package/dist/components/features/picker/wrappers/date-picker.d.ts.map +0 -1
  933. package/dist/components/features/picker/wrappers/date-range-picker.d.ts.map +0 -1
  934. package/dist/components/features/picker/wrappers/date-range-time-picker.d.ts.map +0 -1
  935. package/dist/components/features/picker/wrappers/date-time-picker.d.ts.map +0 -1
  936. package/dist/components/features/picker/wrappers/date-time-range-picker.d.ts.map +0 -1
  937. package/dist/components/features/picker/wrappers/index.d.ts.map +0 -1
  938. package/dist/components/features/picker/wrappers/internal/default-footer.d.ts.map +0 -1
  939. package/dist/components/features/picker/wrappers/time-picker.d.ts.map +0 -1
  940. package/dist/components/features/picker/wrappers/time-range-picker.d.ts.map +0 -1
  941. package/dist/components/features/picker/wrappers/types.d.ts.map +0 -1
  942. package/dist/components/features/rich-text-editor/index.d.ts.map +0 -1
  943. package/dist/components/features/rich-text-editor/rich-text-content.d.ts.map +0 -1
  944. package/dist/components/features/rich-text-editor/rich-text-editor.d.ts.map +0 -1
  945. package/dist/components/features/rich-text-editor/toolbar/bold-toolbar.d.ts.map +0 -1
  946. package/dist/components/features/rich-text-editor/toolbar/italic-toolbar.d.ts.map +0 -1
  947. package/dist/components/features/rich-text-editor/toolbar/link-toolbar.d.ts.map +0 -1
  948. package/dist/components/features/rich-text-editor/toolbar/strike-toolbar.d.ts.map +0 -1
  949. package/dist/components/features/rich-text-editor/toolbar/toolbar-button.d.ts.map +0 -1
  950. package/dist/components/features/rich-text-editor/toolbar/toolbar.d.ts.map +0 -1
  951. package/dist/components/features/rich-text-editor/toolbar/underline-toolbar.d.ts.map +0 -1
  952. package/dist/components/features/rich-text-editor/types.d.ts.map +0 -1
  953. package/dist/components/features/stepper/index.d.ts.map +0 -1
  954. package/dist/components/features/stepper/stepper.d.ts.map +0 -1
  955. package/dist/components/features/tag-input/index.d.ts.map +0 -1
  956. package/dist/components/features/tag-input/tag-input.d.ts.map +0 -1
  957. package/dist/components/features/task-queue/constants.d.ts.map +0 -1
  958. package/dist/components/features/task-queue/core/index.d.ts.map +0 -1
  959. package/dist/components/features/task-queue/core/task-panel-actions.d.ts.map +0 -1
  960. package/dist/components/features/task-queue/core/task-panel-counter.d.ts.map +0 -1
  961. package/dist/components/features/task-queue/core/task-panel-header.d.ts.map +0 -1
  962. package/dist/components/features/task-queue/core/task-panel-item.d.ts.map +0 -1
  963. package/dist/components/features/task-queue/core/task-panel.d.ts.map +0 -1
  964. package/dist/components/features/task-queue/core/task-queue-dropdown.d.ts.map +0 -1
  965. package/dist/components/features/task-queue/core/task-queue-trigger.d.ts.map +0 -1
  966. package/dist/components/features/task-queue/core/task-summary-dialog.d.ts.map +0 -1
  967. package/dist/components/features/task-queue/engine/executor.d.ts.map +0 -1
  968. package/dist/components/features/task-queue/engine/index.d.ts.map +0 -1
  969. package/dist/components/features/task-queue/engine/queue.d.ts.map +0 -1
  970. package/dist/components/features/task-queue/engine/storage/detect-storage.d.ts.map +0 -1
  971. package/dist/components/features/task-queue/engine/storage/index.d.ts.map +0 -1
  972. package/dist/components/features/task-queue/engine/storage/local-storage.d.ts.map +0 -1
  973. package/dist/components/features/task-queue/engine/storage/memory-storage.d.ts.map +0 -1
  974. package/dist/components/features/task-queue/engine/storage/redis-storage.d.ts.map +0 -1
  975. package/dist/components/features/task-queue/engine/storage/storage.d.ts.map +0 -1
  976. package/dist/components/features/task-queue/hooks/index.d.ts.map +0 -1
  977. package/dist/components/features/task-queue/hooks/use-task-queue.d.ts.map +0 -1
  978. package/dist/components/features/task-queue/hooks/use-task-scope.d.ts.map +0 -1
  979. package/dist/components/features/task-queue/index.d.ts.map +0 -1
  980. package/dist/components/features/task-queue/provider/index.d.ts.map +0 -1
  981. package/dist/components/features/task-queue/provider/task-queue-provider.d.ts.map +0 -1
  982. package/dist/components/features/task-queue/types.d.ts.map +0 -1
  983. package/dist/components/features/task-queue/utils/index.d.ts.map +0 -1
  984. package/dist/components/features/time-picker/index.d.ts.map +0 -1
  985. package/dist/components/features/time-picker/time-picker.d.ts.map +0 -1
  986. package/dist/components/features/time-picker/types.d.ts.map +0 -1
  987. package/dist/components/features/time-picker/use-time-slots.d.ts +0 -10
  988. package/dist/components/features/time-picker/use-time-slots.d.ts.map +0 -1
  989. package/dist/components/features/time-range-picker/components/absolute-range-panel.d.ts.map +0 -1
  990. package/dist/components/features/time-range-picker/components/index.d.ts.map +0 -1
  991. package/dist/components/features/time-range-picker/components/quick-ranges-panel.d.ts.map +0 -1
  992. package/dist/components/features/time-range-picker/components/timezone-selector.d.ts.map +0 -1
  993. package/dist/components/features/time-range-picker/index.d.ts.map +0 -1
  994. package/dist/components/features/time-range-picker/presets.d.ts.map +0 -1
  995. package/dist/components/features/time-range-picker/time-range-picker.d.ts.map +0 -1
  996. package/dist/components/features/time-range-picker/types.d.ts.map +0 -1
  997. package/dist/components/features/time-range-picker/utils/format-display.d.ts.map +0 -1
  998. package/dist/components/features/time-range-picker/utils/index.d.ts.map +0 -1
  999. package/dist/components/features/time-range-picker/utils/timezone.d.ts.map +0 -1
  1000. package/dist/components/features/time-range-picker/utils/to-api-format.d.ts.map +0 -1
  1001. package/dist/components/features/toast/headless-toast.d.ts.map +0 -1
  1002. package/dist/components/features/toast/index.d.ts.map +0 -1
  1003. package/dist/components/features/toast/toast.d.ts.map +0 -1
  1004. package/dist/components/features/toast/toaster.d.ts.map +0 -1
  1005. package/dist/components/features/toast/types.d.ts.map +0 -1
  1006. package/dist/components/features/toast/use-toast.d.ts.map +0 -1
  1007. package/dist/components/features/transfer/components/index.d.ts.map +0 -1
  1008. package/dist/components/features/transfer/components/transfer-group.d.ts.map +0 -1
  1009. package/dist/components/features/transfer/components/transfer-item.d.ts.map +0 -1
  1010. package/dist/components/features/transfer/components/transfer-panel.d.ts.map +0 -1
  1011. package/dist/components/features/transfer/components/transfer-search.d.ts.map +0 -1
  1012. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts +0 -26
  1013. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts.map +0 -1
  1014. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts.map +0 -1
  1015. package/dist/components/features/transfer/index.d.ts.map +0 -1
  1016. package/dist/components/features/transfer/transfer.d.ts.map +0 -1
  1017. package/dist/components/features/transfer/types.d.ts.map +0 -1
  1018. package/dist/components/icons/close.icon.d.ts.map +0 -1
  1019. package/dist/components/icons/icon-wrapper.d.ts.map +0 -1
  1020. package/dist/components/icons/index.d.ts.map +0 -1
  1021. package/dist/components/icons/spinner.icon.d.ts.map +0 -1
  1022. package/dist/components/index.d.ts.map +0 -1
  1023. package/dist/components/themes/client-only.d.ts.map +0 -1
  1024. package/dist/components/themes/index.d.ts.map +0 -1
  1025. package/dist/components/themes/script.d.ts.map +0 -1
  1026. package/dist/components/themes/theme-script.d.ts.map +0 -1
  1027. package/dist/components/themes/theme.provider.d.ts.map +0 -1
  1028. package/dist/components/themes/types.d.ts.map +0 -1
  1029. package/dist/components/toast.d.ts.map +0 -1
  1030. package/dist/date-range-picker-CuU5mdxt.mjs +0 -77
  1031. package/dist/date-time-picker-BczLnnE6.mjs +0 -109
  1032. package/dist/date-time-range-picker-DHItep1U.mjs +0 -82
  1033. package/dist/default-footer-DzYzX_OT.mjs +0 -1037
  1034. package/dist/exports/map.d.ts.map +0 -1
  1035. package/dist/hooks/index.d.ts.map +0 -1
  1036. package/dist/hooks/use-breakpoint.d.ts.map +0 -1
  1037. package/dist/hooks/use-copy-to-clipboard.d.ts.map +0 -1
  1038. package/dist/hooks/use-debounce.d.ts.map +0 -1
  1039. package/dist/hooks/use-theme.d.ts.map +0 -1
  1040. package/dist/index.d.ts.map +0 -1
  1041. package/dist/multi-select-C9ocz07C.mjs +0 -235
  1042. package/dist/popover-CBXjbpUR.mjs +0 -34
  1043. package/dist/responsive-dropdown-Hxq7qwAW.mjs +0 -54
  1044. package/dist/responsive-popover-CVFh3i33.mjs +0 -61
  1045. package/dist/skeleton-CGU89HPB.mjs +0 -26
  1046. package/dist/switch-Doft2t6-.mjs +0 -29
  1047. package/dist/table-BR3mwU8X.mjs +0 -66
  1048. package/dist/tag-input-DZJUc1hL.mjs +0 -297
  1049. package/dist/time-input-DI8l2oeN.mjs +0 -196
  1050. package/dist/time-picker-Dm7jOOcX.mjs +0 -45
  1051. package/dist/timezone-indicator-B4GVkwmg.mjs +0 -27
  1052. package/dist/utils/cn.d.ts.map +0 -1
  1053. package/dist/utils/index.d.ts.map +0 -1
  1054. package/dist/utils/timezone.d.ts.map +0 -1
  1055. package/dist/{utils-BAytYO8b.mjs → utils-U06Eu2KT.mjs} +1 -1
@@ -1,122 +1,15 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as ButtonGroup } from "./button-group-B5s-1BCV.mjs";
2
+ import { t as ButtonGroup } from "./button-group-DFrTH4L8.mjs";
3
3
  import { t as Button } from "./button-CsdF61EI.mjs";
4
- import { i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B1sx-XVY.mjs";
5
- import { i as InputGroupInput, n as InputGroupAddon, t as InputGroup } from "./input-group-Cr_BOTbn.mjs";
4
+ import { i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-C0aGIYnQ.mjs";
5
+ import { i as InputGroupInput, n as InputGroupAddon, t as InputGroup } from "./input-group-DieA8aBt.mjs";
6
6
  import { t as Spinner } from "./spinner-C5Xv-i2C.mjs";
7
- import { CheckIcon, ChevronRightIcon, CircleIcon, LayersIcon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
7
+ import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, n as DropdownMenuCheckboxItem, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "./dropdown-menu-b8zY5Cs6.mjs";
8
+ import { CircleIcon, LayersIcon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
8
9
  import * as React from "react";
9
10
  import { Suspense, createContext, lazy, useContext, useEffect, useRef, useState } from "react";
10
11
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
12
12
  import { renderToString } from "react-dom/server.browser";
13
- //#region ../shadcn/hooks/use-theme.ts
14
- /**
15
- * Lightweight theme detection hook for shadcn components.
16
- * Detects dark mode via the `dark` class on <html> (Tailwind convention)
17
- * or falls back to prefers-color-scheme media query.
18
- */
19
- function useTheme() {
20
- const [resolvedTheme, setResolvedTheme] = React.useState("light");
21
- React.useEffect(() => {
22
- const detect = () => {
23
- if (document.documentElement.classList.contains("dark")) return "dark";
24
- if (window.matchMedia("(prefers-color-scheme: dark)").matches) return "dark";
25
- return "light";
26
- };
27
- setResolvedTheme(detect());
28
- const observer = new MutationObserver(() => setResolvedTheme(detect()));
29
- observer.observe(document.documentElement, {
30
- attributes: true,
31
- attributeFilter: ["class"]
32
- });
33
- const mql = window.matchMedia("(prefers-color-scheme: dark)");
34
- const onChange = () => setResolvedTheme(detect());
35
- mql.addEventListener("change", onChange);
36
- return () => {
37
- observer.disconnect();
38
- mql.removeEventListener("change", onChange);
39
- };
40
- }, []);
41
- return { resolvedTheme };
42
- }
43
- //#endregion
44
- //#region ../shadcn/ui/dropdown-menu.tsx
45
- /**
46
- * Vanilla shadcn/ui DropdownMenu Component
47
- * Pure shadcn dropdown without Datum customizations
48
- * For Datum-specific features (destructive MenuItem), import from @/modules/datum-ui
49
- */
50
- const DropdownMenu = DropdownMenuPrimitive.Root;
51
- const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
52
- const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
53
- const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
54
- ref,
55
- className: cn("focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", inset && "pl-8", className),
56
- ...props,
57
- children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
58
- }));
59
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
60
- const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
61
- ref,
62
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", className),
63
- ...props
64
- }));
65
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
66
- const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
67
- ref,
68
- sideOffset,
69
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", className),
70
- ...props
71
- }) }));
72
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
73
- const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
74
- ref,
75
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", inset && "pl-8", className),
76
- ...props
77
- }));
78
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
79
- const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
80
- ref,
81
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
82
- checked,
83
- ...props,
84
- children: [/* @__PURE__ */ jsx("span", {
85
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
86
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "h-4 w-4" }) })
87
- }), children]
88
- }));
89
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
90
- const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
91
- ref,
92
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
93
- ...props,
94
- children: [/* @__PURE__ */ jsx("span", {
95
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
96
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "h-2 w-2 fill-current" }) })
97
- }), children]
98
- }));
99
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
100
- const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, {
101
- ref,
102
- className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className),
103
- ...props
104
- }));
105
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
106
- const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, {
107
- ref,
108
- className: cn("bg-muted -mx-1 my-1 h-px", className),
109
- ...props
110
- }));
111
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
112
- const DropdownMenuShortcut = ({ className, ...props }) => {
113
- return /* @__PURE__ */ jsx("span", {
114
- className: cn("ml-auto text-xs tracking-widest opacity-60", className),
115
- ...props
116
- });
117
- };
118
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
119
- //#endregion
120
13
  //#region ../shadcn/ui/place-autocomplete.tsx
121
14
  function formatAddress(properties) {
122
15
  const parts = [];
@@ -146,7 +39,7 @@ function buildSearchUrl({ query, bbox, lang, lat, limit, locationBiasScale, lon,
146
39
  function useDebounce(value, delay = 300) {
147
40
  const [debouncedValue, setDebouncedValue] = React.useState(value);
148
41
  React.useEffect(() => {
149
- const timer = setTimeout(() => setDebouncedValue(value), delay);
42
+ const timer = setTimeout(setDebouncedValue, delay, value);
150
43
  return () => clearTimeout(timer);
151
44
  }, [value, delay]);
152
45
  return debouncedValue;
@@ -157,11 +50,13 @@ function usePlaceSearch({ debounceMs, query, ...props }) {
157
50
  const [error, setError] = React.useState(null);
158
51
  const [hasSearched, setHasSearched] = React.useState(false);
159
52
  const debouncedQuery = useDebounce(query, debounceMs);
53
+ const bboxKey = props.bbox?.join(",");
160
54
  React.useEffect(() => {
161
55
  if (!debouncedQuery.trim()) {
162
56
  setResults([]);
163
57
  setIsLoading(false);
164
58
  setHasSearched(false);
59
+ setError(null);
165
60
  return;
166
61
  }
167
62
  const abortController = new AbortController();
@@ -177,11 +72,11 @@ function usePlaceSearch({ debounceMs, query, ...props }) {
177
72
  const response = await fetch(url, { signal: abortController.signal });
178
73
  if (!response.ok) throw new Error(`Photon API error: ${response.status} ${response.statusText}`);
179
74
  const data = await response.json();
180
- const addressOsmIds = /* @__PURE__ */ new Set();
75
+ const seenOsmKeys = /* @__PURE__ */ new Set();
181
76
  setResults(data.features.filter((feature) => {
182
- const id = feature.properties.osm_id;
183
- if (addressOsmIds.has(id)) return false;
184
- addressOsmIds.add(id);
77
+ const key = `${feature.properties.osm_type}:${feature.properties.osm_id}`;
78
+ if (seenOsmKeys.has(key)) return false;
79
+ seenOsmKeys.add(key);
185
80
  return true;
186
81
  }));
187
82
  } catch (err) {
@@ -199,7 +94,7 @@ function usePlaceSearch({ debounceMs, query, ...props }) {
199
94
  debouncedQuery,
200
95
  props.lang,
201
96
  props.limit,
202
- props.bbox,
97
+ bboxKey,
203
98
  props.lat,
204
99
  props.lon,
205
100
  props.zoom,
@@ -215,6 +110,8 @@ function usePlaceSearch({ debounceMs, query, ...props }) {
215
110
  function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon, zoom, locationBiasScale, className, value: controlledValue, defaultValue = "", onChange: controlledOnChange, onPlaceSelect, onResultsChange, ...props }) {
216
111
  const [internalValue, setInternalValue] = React.useState(defaultValue);
217
112
  const [searchQuery, setSearchQuery] = React.useState("");
113
+ const [isOpen, setIsOpen] = React.useState(false);
114
+ const containerRef = React.useRef(null);
218
115
  const isControlled = controlledValue !== void 0;
219
116
  const displayValue = isControlled ? controlledValue : internalValue;
220
117
  const { results, isLoading, error, hasSearched } = usePlaceSearch({
@@ -231,14 +128,26 @@ function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon,
231
128
  React.useEffect(() => {
232
129
  onResultsChange?.(results);
233
130
  }, [results, onResultsChange]);
131
+ React.useEffect(() => {
132
+ if (!isOpen) return;
133
+ function handlePointerDown(event) {
134
+ if (containerRef.current && !containerRef.current.contains(event.target)) setIsOpen(false);
135
+ }
136
+ document.addEventListener("mousedown", handlePointerDown);
137
+ return () => document.removeEventListener("mousedown", handlePointerDown);
138
+ }, [isOpen]);
234
139
  const hasNoResults = hasSearched && !isLoading && !error && results.length === 0;
235
- const showCommandList = error || hasNoResults || results.length > 0;
140
+ const showCommandList = isOpen && (Boolean(error) || hasNoResults || results.length > 0);
236
141
  return /* @__PURE__ */ jsx(Command, {
237
142
  className: cn("h-fit overflow-visible", className),
238
143
  shouldFilter: false,
239
144
  loop: true,
240
145
  children: /* @__PURE__ */ jsxs("div", {
146
+ ref: containerRef,
241
147
  className: "relative",
148
+ onKeyDown: (event) => {
149
+ if (event.key === "Escape") setIsOpen(false);
150
+ },
242
151
  children: [/* @__PURE__ */ jsxs(InputGroup, {
243
152
  className: cn("border-input! bg-popover! ring-0!", showCommandList && "rounded-b-none"),
244
153
  children: [
@@ -250,8 +159,10 @@ function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon,
250
159
  const newValue = event.target.value;
251
160
  if (!isControlled) setInternalValue(newValue);
252
161
  setSearchQuery(newValue);
162
+ setIsOpen(true);
253
163
  controlledOnChange?.(newValue);
254
164
  },
165
+ onFocus: () => setIsOpen(true),
255
166
  ...props
256
167
  }),
257
168
  isLoading && /* @__PURE__ */ jsx(InputGroupAddon, {
@@ -263,20 +174,21 @@ function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon,
263
174
  "data-state": showCommandList ? "open" : "closed",
264
175
  className: cn("bg-popover border-input absolute top-full right-0 left-0 rounded-b-md border border-t-0 shadow-md", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[state=open]:slide-in-from-top-2 data-[state=closed]:slide-out-to-top-2"),
265
176
  children: [
266
- error && /* @__PURE__ */ jsxs(CommandEmpty, { children: ["Error: ", error.message] }),
177
+ error && /* @__PURE__ */ jsxs(CommandEmpty, { children: ["Error:", error.message] }),
267
178
  hasNoResults && /* @__PURE__ */ jsxs(CommandEmpty, { children: [
268
- "Can't find ",
179
+ "Can't find",
269
180
  displayValue,
270
181
  "."
271
182
  ] }),
272
183
  results.length > 0 && /* @__PURE__ */ jsx(CommandGroup, { children: results.map((feature) => {
273
184
  const formattedAddress = formatAddress(feature.properties);
274
185
  return /* @__PURE__ */ jsxs(CommandItem, {
275
- value: String(feature.properties.osm_id),
186
+ value: `${feature.properties.osm_type}:${feature.properties.osm_id}`,
276
187
  onSelect: () => {
277
188
  const formattedAddress = formatAddress(feature.properties);
278
189
  if (!isControlled) setInternalValue(formattedAddress);
279
190
  setSearchQuery("");
191
+ setIsOpen(false);
280
192
  controlledOnChange?.(formattedAddress);
281
193
  onPlaceSelect?.(feature);
282
194
  },
@@ -290,7 +202,7 @@ function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon,
290
202
  children: formattedAddress
291
203
  })]
292
204
  })]
293
- }, feature.properties.osm_id);
205
+ }, `${feature.properties.osm_type}:${feature.properties.osm_id}`);
294
206
  }) })
295
207
  ]
296
208
  })]
@@ -298,13 +210,73 @@ function PlaceAutocomplete({ debounceMs = 300, lang, limit = 5, bbox, lat, lon,
298
210
  });
299
211
  }
300
212
  //#endregion
301
- //#region ../shadcn/ui/map.tsx
302
- let _useMap;
303
- let _useMapEvents;
304
- if (typeof window !== "undefined") import("./map-leaflet-imports-S3kx8Q-S.mjs").then((mod) => {
305
- _useMap = mod.useMap;
306
- _useMapEvents = mod.useMapEvents;
307
- });
213
+ //#region ../shadcn/ui/map/hooks.tsx
214
+ function useMapDrawHandleIcon() {
215
+ const { L } = useLeaflet();
216
+ if (!L) return null;
217
+ return L.divIcon({
218
+ iconAnchor: [8, 8],
219
+ html: renderToString(/* @__PURE__ */ jsx(CircleIcon, { className: "fill-primary stroke-primary size-4 transition-transform hover:scale-110" }))
220
+ });
221
+ }
222
+ function useLeaflet() {
223
+ const [L, setL] = useState(null);
224
+ const [LeafletDraw, setLeafletDraw] = useState(null);
225
+ useEffect(() => {
226
+ async function loadLeaflet() {
227
+ const leaflet = await import("leaflet");
228
+ const leafletFullscreen = await import("leaflet.fullscreen");
229
+ const leafletDraw = await import("leaflet-draw");
230
+ const L_object = leaflet.default;
231
+ if (L_object.Control && !L_object.Control.FullScreen) L_object.Control.FullScreen = leafletFullscreen.default || leafletFullscreen;
232
+ setLeafletDraw(leafletDraw);
233
+ setL(L_object);
234
+ }
235
+ if (L && LeafletDraw) return;
236
+ if (typeof window === "undefined") return;
237
+ loadLeaflet();
238
+ }, [L, LeafletDraw]);
239
+ return {
240
+ L,
241
+ LeafletDraw
242
+ };
243
+ }
244
+ function useDebounceLoadingState(delay = 200) {
245
+ const [isLoading, setIsLoading] = useState(false);
246
+ const [showLoading, setShowLoading] = useState(false);
247
+ const timeoutRef = useRef(null);
248
+ useEffect(() => {
249
+ if (isLoading) timeoutRef.current = setTimeout(() => {
250
+ setShowLoading(true);
251
+ }, delay);
252
+ else {
253
+ if (timeoutRef.current) {
254
+ clearTimeout(timeoutRef.current);
255
+ timeoutRef.current = null;
256
+ }
257
+ setShowLoading(false);
258
+ }
259
+ return () => {
260
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
261
+ };
262
+ }, [isLoading, delay]);
263
+ return [showLoading, setIsLoading];
264
+ }
265
+ //#endregion
266
+ //#region ../shadcn/ui/map/shared.ts
267
+ const holder = {};
268
+ function setLeafletHooks(map, mapEvents) {
269
+ holder.map = map;
270
+ holder.mapEvents = mapEvents;
271
+ }
272
+ function _useMap() {
273
+ return holder.map();
274
+ }
275
+ function _useMapEvents(handlers) {
276
+ return holder.mapEvents(handlers);
277
+ }
278
+ //#endregion
279
+ //#region ../shadcn/ui/map/lazy.tsx
308
280
  function createLazyComponent(factory) {
309
281
  const LazyComponent = lazy(factory);
310
282
  return (props) => {
@@ -316,7 +288,11 @@ function createLazyComponent(factory) {
316
288
  return /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(LazyComponent, { ...props }) });
317
289
  };
318
290
  }
319
- const LeafletMapContainer = createLazyComponent(() => import("react-leaflet").then((mod) => ({ default: mod.MapContainer })));
291
+ const LeafletMapContainer = createLazyComponent(async () => {
292
+ const [reactLeaflet] = await Promise.all([import("react-leaflet"), import("./map-leaflet-imports-S3kx8Q-S.mjs")]);
293
+ setLeafletHooks(reactLeaflet.useMap, reactLeaflet.useMapEvents);
294
+ return { default: reactLeaflet.MapContainer };
295
+ });
320
296
  const LeafletTileLayer = createLazyComponent(() => import("react-leaflet").then((mod) => ({ default: mod.TileLayer })));
321
297
  const LeafletMarker = createLazyComponent(() => import("react-leaflet").then((mod) => ({ default: mod.Marker })));
322
298
  const LeafletPopup = createLazyComponent(() => import("react-leaflet").then((mod) => ({ default: mod.Popup })));
@@ -339,155 +315,8 @@ function Map({ zoom = 15, maxZoom = 18, className, ...props }) {
339
315
  ...props
340
316
  });
341
317
  }
342
- const MapLayersContext = createContext(null);
343
- function useMapLayersContext() {
344
- return useContext(MapLayersContext);
345
- }
346
- function MapTileLayer({ name = "Default", url, attribution, darkUrl, darkAttribution, ...props }) {
347
- const map = _useMap();
348
- if (map.attributionControl) map.attributionControl.setPrefix("");
349
- const context = useContext(MapLayersContext);
350
- const DEFAULT_URL = "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";
351
- const DEFAULT_DARK_URL = "https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";
352
- const { resolvedTheme } = useTheme();
353
- const resolvedUrl = resolvedTheme === "dark" ? darkUrl ?? url ?? DEFAULT_DARK_URL : url ?? DEFAULT_URL;
354
- const resolvedAttribution = resolvedTheme === "dark" && darkAttribution ? darkAttribution : attribution ?? "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>, &copy; <a href=\"https://carto.com/attributions\">CARTO</a>";
355
- useEffect(() => {
356
- if (context) context.registerTileLayer({
357
- name,
358
- url: resolvedUrl,
359
- attribution: resolvedAttribution
360
- });
361
- }, [
362
- context,
363
- name,
364
- url,
365
- attribution
366
- ]);
367
- if (context && context.selectedTileLayer !== name) return null;
368
- return /* @__PURE__ */ jsx(LeafletTileLayer, {
369
- url: resolvedUrl,
370
- attribution: resolvedAttribution,
371
- ...props
372
- });
373
- }
374
- function MapLayerGroup({ name, disabled, ...props }) {
375
- const context = useMapLayersContext();
376
- useEffect(() => {
377
- if (context) context.registerLayerGroup({
378
- name,
379
- disabled
380
- });
381
- }, [
382
- context,
383
- name,
384
- disabled
385
- ]);
386
- if (context && !context.activeLayerGroups.includes(name)) return null;
387
- return /* @__PURE__ */ jsx(LeafletLayerGroup, { ...props });
388
- }
389
- function MapFeatureGroup({ name, disabled, ...props }) {
390
- const context = useMapLayersContext();
391
- useEffect(() => {
392
- if (context) context.registerLayerGroup({
393
- name,
394
- disabled
395
- });
396
- }, [
397
- context,
398
- name,
399
- disabled
400
- ]);
401
- if (context && !context.activeLayerGroups.includes(name)) return null;
402
- return /* @__PURE__ */ jsx(LeafletFeatureGroup, { ...props });
403
- }
404
- function MapLayers({ defaultTileLayer, defaultLayerGroups = [], ...props }) {
405
- const [tileLayers, setTileLayers] = useState([]);
406
- const [selectedTileLayer, setSelectedTileLayer] = useState(defaultTileLayer || "");
407
- const [layerGroups, setLayerGroups] = useState([]);
408
- const [activeLayerGroups, setActiveLayerGroups] = useState(defaultLayerGroups);
409
- function registerTileLayer(tileLayer) {
410
- setTileLayers((prevTileLayers) => {
411
- if (prevTileLayers.some((layer) => layer.name === tileLayer.name)) return prevTileLayers;
412
- return [...prevTileLayers, tileLayer];
413
- });
414
- }
415
- function registerLayerGroup(layerGroup) {
416
- setLayerGroups((prevLayerGroups) => {
417
- if (prevLayerGroups.some((group) => group.name === layerGroup.name)) return prevLayerGroups;
418
- return [...prevLayerGroups, layerGroup];
419
- });
420
- }
421
- useEffect(() => {
422
- if (defaultTileLayer && tileLayers.length > 0 && !tileLayers.some((tileLayer) => tileLayer.name === defaultTileLayer)) throw new Error(`Invalid defaultTileLayer "${defaultTileLayer}" provided to MapLayers. It must match a MapTileLayer's name prop.`);
423
- if (tileLayers.length > 0 && !selectedTileLayer) setSelectedTileLayer(defaultTileLayer && tileLayers.some((layer) => layer.name === defaultTileLayer) ? defaultTileLayer : tileLayers[0].name);
424
- if (defaultLayerGroups.length > 0 && layerGroups.length > 0 && defaultLayerGroups.some((name) => !layerGroups.some((group) => group.name === name))) throw new Error(`Invalid defaultLayerGroups value provided to MapLayers. All names must match a MapLayerGroup's name prop.`);
425
- }, [
426
- tileLayers,
427
- defaultTileLayer,
428
- selectedTileLayer,
429
- layerGroups,
430
- defaultLayerGroups
431
- ]);
432
- return /* @__PURE__ */ jsx(MapLayersContext.Provider, {
433
- value: {
434
- registerTileLayer,
435
- tileLayers,
436
- selectedTileLayer,
437
- setSelectedTileLayer,
438
- registerLayerGroup,
439
- layerGroups,
440
- activeLayerGroups,
441
- setActiveLayerGroups
442
- },
443
- ...props
444
- });
445
- }
446
- function MapLayersControl({ tileLayersLabel = "Map Type", layerGroupsLabel = "Layers", position = "top-1 right-1", className, ...props }) {
447
- const layersContext = useMapLayersContext();
448
- if (!layersContext) throw new Error("MapLayersControl must be used within MapLayers");
449
- const { tileLayers, selectedTileLayer, setSelectedTileLayer, layerGroups, activeLayerGroups, setActiveLayerGroups } = layersContext;
450
- if (tileLayers.length === 0 && layerGroups.length === 0) return null;
451
- function handleLayerGroupToggle(name, checked) {
452
- setActiveLayerGroups(checked ? [...activeLayerGroups, name] : activeLayerGroups.filter((groupName) => groupName !== name));
453
- }
454
- const showTileLayersDropdown = tileLayers.length > 1;
455
- const showLayerGroupsDropdown = layerGroups.length > 0;
456
- if (!showTileLayersDropdown && !showLayerGroupsDropdown) return null;
457
- return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
458
- asChild: true,
459
- children: /* @__PURE__ */ jsx(Button, {
460
- type: "button",
461
- variant: "secondary",
462
- size: "sm",
463
- "aria-label": "Select layers",
464
- title: "Select layers",
465
- className: cn("absolute z-1000 border", position, className),
466
- ...props,
467
- children: /* @__PURE__ */ jsx(LayersIcon, {})
468
- })
469
- }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
470
- align: "end",
471
- className: "z-1000",
472
- children: [
473
- showTileLayersDropdown && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DropdownMenuLabel, { children: tileLayersLabel }), /* @__PURE__ */ jsx(DropdownMenuRadioGroup, {
474
- value: selectedTileLayer,
475
- onValueChange: setSelectedTileLayer,
476
- children: tileLayers.map((tileLayer) => /* @__PURE__ */ jsx(DropdownMenuRadioItem, {
477
- value: tileLayer.name,
478
- children: tileLayer.name
479
- }, tileLayer.name))
480
- })] }),
481
- showTileLayersDropdown && showLayerGroupsDropdown && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
482
- showLayerGroupsDropdown && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DropdownMenuLabel, { children: layerGroupsLabel }), layerGroups.map((layerGroup) => /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
483
- checked: activeLayerGroups.includes(layerGroup.name),
484
- disabled: layerGroup.disabled,
485
- onCheckedChange: (checked) => handleLayerGroupToggle(layerGroup.name, checked),
486
- children: layerGroup.name
487
- }, layerGroup.name))] })
488
- ]
489
- })] });
490
- }
318
+ //#endregion
319
+ //#region ../shadcn/ui/map/primitives.tsx
491
320
  function MapMarker({ icon = /* @__PURE__ */ jsx(MapPinIcon, { className: "size-6" }), iconAnchor = [12, 12], bgPos, popupAnchor, tooltipAnchor, ...props }) {
492
321
  const { L } = useLeaflet();
493
322
  if (!L) return null;
@@ -575,6 +404,24 @@ function MapTooltip({ className, children, side = "top", sideOffset = 15, ...pro
575
404
  children: [children, /* @__PURE__ */ jsx("div", { className: cn("bg-foreground fill-foreground absolute z-50 size-2.5 rotate-45 rounded-[2px]", ARROW_POSITION_CLASSES[side]) })]
576
405
  });
577
406
  }
407
+ //#endregion
408
+ //#region ../shadcn/ui/map/controls.tsx
409
+ function MapControlContainer({ className, ...props }) {
410
+ const { L } = useLeaflet();
411
+ const containerRef = useRef(null);
412
+ useEffect(() => {
413
+ if (!L) return;
414
+ const element = containerRef.current;
415
+ if (!element) return;
416
+ L.DomEvent.disableClickPropagation(element);
417
+ L.DomEvent.disableScrollPropagation(element);
418
+ }, [L]);
419
+ return /* @__PURE__ */ jsx("div", {
420
+ ref: containerRef,
421
+ className: cn("absolute z-1000 size-fit cursor-default", className),
422
+ ...props
423
+ });
424
+ }
578
425
  function MapZoomControl({ position = "top-1 left-1", className, ...props }) {
579
426
  const map = _useMap();
580
427
  const [zoomLevel, setZoomLevel] = useState(map.getZoom());
@@ -637,6 +484,7 @@ function MapFullscreenControl({ position = "top-1 right-1", className, ...props
637
484
  type: "button",
638
485
  size: "icon",
639
486
  variant: "outline",
487
+ disabled: !L,
640
488
  onClick: () => map.toggleFullscreen(),
641
489
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
642
490
  title: isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
@@ -656,28 +504,42 @@ function MapLocateControl({ watch = false, onLocationFound, onLocationError, pos
656
504
  const map = _useMap();
657
505
  const [isLocating, setIsLocating] = useDebounceLoadingState(200);
658
506
  const [location, setLocation] = useState(null);
507
+ const locationHandlersRef = useRef(null);
508
+ function detachLocationHandlers() {
509
+ if (locationHandlersRef.current) {
510
+ map.off("locationfound", locationHandlersRef.current.found);
511
+ map.off("locationerror", locationHandlersRef.current.error);
512
+ locationHandlersRef.current = null;
513
+ }
514
+ }
659
515
  function startLocating() {
516
+ detachLocationHandlers();
660
517
  setIsLocating(true);
518
+ const found = (event) => {
519
+ setLocation(event.latlng);
520
+ setIsLocating(false);
521
+ onLocationFound?.(event);
522
+ };
523
+ const error = (event) => {
524
+ setLocation(null);
525
+ setIsLocating(false);
526
+ onLocationError?.(event);
527
+ };
528
+ locationHandlersRef.current = {
529
+ found,
530
+ error
531
+ };
532
+ map.on("locationfound", found);
533
+ map.on("locationerror", error);
661
534
  map.locate({
662
535
  setView: true,
663
536
  maxZoom: map.getMaxZoom(),
664
537
  watch
665
538
  });
666
- map.on("locationfound", (location) => {
667
- setLocation(location.latlng);
668
- setIsLocating(false);
669
- onLocationFound?.(location);
670
- });
671
- map.on("locationerror", (error) => {
672
- setLocation(null);
673
- setIsLocating(false);
674
- onLocationError?.(error);
675
- });
676
539
  }
677
540
  function stopLocating() {
678
541
  map.stopLocate();
679
- map.off("locationfound");
680
- map.off("locationerror");
542
+ detachLocationHandlers();
681
543
  setLocation(null);
682
544
  setIsLocating(false);
683
545
  }
@@ -707,6 +569,8 @@ function MapSearchControl({ position = "top-1 left-1", className, ...props }) {
707
569
  children: /* @__PURE__ */ jsx(PlaceAutocomplete, { ...props })
708
570
  });
709
571
  }
572
+ //#endregion
573
+ //#region ../shadcn/ui/map/draw.tsx
710
574
  const MapDrawContext = createContext(null);
711
575
  function useMapDrawContext() {
712
576
  return useContext(MapDrawContext);
@@ -778,13 +642,15 @@ function MapDrawShapeButton({ drawMode, createDrawTool, className, ...props }) {
778
642
  const controlRef = useRef(null);
779
643
  const { activeMode, setActiveMode } = drawContext;
780
644
  const isActive = activeMode === drawMode;
645
+ const createDrawToolRef = useRef(createDrawTool);
646
+ createDrawToolRef.current = createDrawTool;
781
647
  useEffect(() => {
782
648
  if (!L || !isActive) {
783
649
  controlRef.current?.disable();
784
650
  controlRef.current = null;
785
651
  return;
786
652
  }
787
- const control = createDrawTool(L, map);
653
+ const control = createDrawToolRef.current(L, map);
788
654
  control.enable();
789
655
  controlRef.current = control;
790
656
  return () => {
@@ -794,8 +660,7 @@ function MapDrawShapeButton({ drawMode, createDrawTool, className, ...props }) {
794
660
  }, [
795
661
  L,
796
662
  map,
797
- isActive,
798
- createDrawTool
663
+ isActive
799
664
  ]);
800
665
  function handleClick() {
801
666
  setActiveMode(isActive ? null : drawMode);
@@ -905,13 +770,15 @@ function MapDrawActionButton({ drawAction, createDrawTool, controlRef, className
905
770
  const { featureGroup, activeMode, setActiveMode, layersCount } = drawContext;
906
771
  const isActive = activeMode === drawAction;
907
772
  const hasFeatures = layersCount > 0;
773
+ const createDrawToolRef = useRef(createDrawTool);
774
+ createDrawToolRef.current = createDrawTool;
908
775
  useEffect(() => {
909
776
  if (!L || !featureGroup || !isActive) {
910
777
  controlRef.current?.disable?.();
911
778
  controlRef.current = null;
912
779
  return;
913
780
  }
914
- const control = createDrawTool(L, map, featureGroup);
781
+ const control = createDrawToolRef.current(L, map, featureGroup);
915
782
  control.enable?.();
916
783
  controlRef.current = control;
917
784
  return () => {
@@ -922,8 +789,7 @@ function MapDrawActionButton({ drawAction, createDrawTool, controlRef, className
922
789
  L,
923
790
  map,
924
791
  isActive,
925
- featureGroup,
926
- createDrawTool
792
+ featureGroup
927
793
  ]);
928
794
  function handleClick() {
929
795
  controlRef.current?.save();
@@ -1015,72 +881,183 @@ function MapDrawUndo({ className, ...props }) {
1015
881
  children: /* @__PURE__ */ jsx(Undo2Icon, {})
1016
882
  });
1017
883
  }
1018
- function MapControlContainer({ className, ...props }) {
1019
- const { L } = useLeaflet();
1020
- const containerRef = useRef(null);
884
+ //#endregion
885
+ //#region ../shadcn/hooks/use-theme.ts
886
+ /**
887
+ * Lightweight theme detection hook for shadcn components.
888
+ * Detects dark mode via the `dark` class on <html> (Tailwind convention)
889
+ * or falls back to prefers-color-scheme media query.
890
+ */
891
+ function useTheme() {
892
+ const [resolvedTheme, setResolvedTheme] = React.useState("light");
893
+ React.useEffect(() => {
894
+ const detect = () => {
895
+ if (document.documentElement.classList.contains("dark")) return "dark";
896
+ if (window.matchMedia("(prefers-color-scheme: dark)").matches) return "dark";
897
+ return "light";
898
+ };
899
+ setResolvedTheme(detect());
900
+ const observer = new MutationObserver(() => setResolvedTheme(detect()));
901
+ observer.observe(document.documentElement, {
902
+ attributes: true,
903
+ attributeFilter: ["class"]
904
+ });
905
+ const mql = window.matchMedia("(prefers-color-scheme: dark)");
906
+ const onChange = () => setResolvedTheme(detect());
907
+ mql.addEventListener("change", onChange);
908
+ return () => {
909
+ observer.disconnect();
910
+ mql.removeEventListener("change", onChange);
911
+ };
912
+ }, []);
913
+ return { resolvedTheme };
914
+ }
915
+ //#endregion
916
+ //#region ../shadcn/ui/map/layers.tsx
917
+ const MapLayersContext = createContext(null);
918
+ function useMapLayersContext() {
919
+ return useContext(MapLayersContext);
920
+ }
921
+ function MapTileLayer({ name = "Default", url, attribution, darkUrl, darkAttribution, ...props }) {
922
+ const map = _useMap();
923
+ if (map.attributionControl) map.attributionControl.setPrefix("");
924
+ const context = useContext(MapLayersContext);
925
+ const DEFAULT_URL = "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";
926
+ const DEFAULT_DARK_URL = "https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";
927
+ const { resolvedTheme } = useTheme();
928
+ const resolvedUrl = resolvedTheme === "dark" ? darkUrl ?? url ?? DEFAULT_DARK_URL : url ?? DEFAULT_URL;
929
+ const resolvedAttribution = resolvedTheme === "dark" && darkAttribution ? darkAttribution : attribution ?? "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>, &copy; <a href=\"https://carto.com/attributions\">CARTO</a>";
1021
930
  useEffect(() => {
1022
- if (!L) return;
1023
- const element = containerRef.current;
1024
- if (!element) return;
1025
- L.DomEvent.disableClickPropagation(element);
1026
- L.DomEvent.disableScrollPropagation(element);
1027
- }, [L]);
1028
- return /* @__PURE__ */ jsx("div", {
1029
- ref: containerRef,
1030
- className: cn("absolute z-1000 size-fit cursor-default", className),
931
+ if (context) context.registerTileLayer({
932
+ name,
933
+ url: resolvedUrl,
934
+ attribution: resolvedAttribution
935
+ });
936
+ }, [
937
+ context,
938
+ name,
939
+ resolvedUrl,
940
+ resolvedAttribution
941
+ ]);
942
+ if (context && context.selectedTileLayer !== name) return null;
943
+ return /* @__PURE__ */ jsx(LeafletTileLayer, {
944
+ url: resolvedUrl,
945
+ attribution: resolvedAttribution,
1031
946
  ...props
1032
947
  });
1033
948
  }
1034
- function useMapDrawHandleIcon() {
1035
- const { L } = useLeaflet();
1036
- if (!L) return null;
1037
- return L.divIcon({
1038
- iconAnchor: [8, 8],
1039
- html: renderToString(/* @__PURE__ */ jsx(CircleIcon, { className: "fill-primary stroke-primary size-4 transition-transform hover:scale-110" }))
1040
- });
949
+ function MapLayerGroup({ name, disabled, ...props }) {
950
+ const context = useMapLayersContext();
951
+ useEffect(() => {
952
+ if (context) context.registerLayerGroup({
953
+ name,
954
+ disabled
955
+ });
956
+ }, [
957
+ context,
958
+ name,
959
+ disabled
960
+ ]);
961
+ if (context && !context.activeLayerGroups.includes(name)) return null;
962
+ return /* @__PURE__ */ jsx(LeafletLayerGroup, { ...props });
1041
963
  }
1042
- function useLeaflet() {
1043
- const [L, setL] = useState(null);
1044
- const [LeafletDraw, setLeafletDraw] = useState(null);
964
+ function MapFeatureGroup({ name, disabled, ...props }) {
965
+ const context = useMapLayersContext();
1045
966
  useEffect(() => {
1046
- async function loadLeaflet() {
1047
- const leaflet = await import("leaflet");
1048
- const leafletFullscreen = await import("leaflet.fullscreen");
1049
- const leafletDraw = await import("leaflet-draw");
1050
- const L_object = leaflet.default;
1051
- if (L_object.Control && !L_object.Control.FullScreen) L_object.Control.FullScreen = leafletFullscreen.default || leafletFullscreen;
1052
- setLeafletDraw(leafletDraw);
1053
- setL(L_object);
1054
- }
1055
- if (L && LeafletDraw) return;
1056
- if (typeof window === "undefined") return;
1057
- loadLeaflet();
1058
- }, [L, LeafletDraw]);
1059
- return {
1060
- L,
1061
- LeafletDraw
1062
- };
967
+ if (context) context.registerLayerGroup({
968
+ name,
969
+ disabled
970
+ });
971
+ }, [
972
+ context,
973
+ name,
974
+ disabled
975
+ ]);
976
+ if (context && !context.activeLayerGroups.includes(name)) return null;
977
+ return /* @__PURE__ */ jsx(LeafletFeatureGroup, { ...props });
1063
978
  }
1064
- function useDebounceLoadingState(delay = 200) {
1065
- const [isLoading, setIsLoading] = useState(false);
1066
- const [showLoading, setShowLoading] = useState(false);
1067
- const timeoutRef = useRef(null);
979
+ function MapLayers({ defaultTileLayer, defaultLayerGroups = [], ...props }) {
980
+ const [tileLayers, setTileLayers] = useState([]);
981
+ const [selectedTileLayer, setSelectedTileLayer] = useState(defaultTileLayer || "");
982
+ const [layerGroups, setLayerGroups] = useState([]);
983
+ const [activeLayerGroups, setActiveLayerGroups] = useState(defaultLayerGroups);
984
+ function registerTileLayer(tileLayer) {
985
+ setTileLayers((prevTileLayers) => {
986
+ if (prevTileLayers.some((layer) => layer.name === tileLayer.name)) return prevTileLayers;
987
+ return [...prevTileLayers, tileLayer];
988
+ });
989
+ }
990
+ function registerLayerGroup(layerGroup) {
991
+ setLayerGroups((prevLayerGroups) => {
992
+ if (prevLayerGroups.some((group) => group.name === layerGroup.name)) return prevLayerGroups;
993
+ return [...prevLayerGroups, layerGroup];
994
+ });
995
+ }
1068
996
  useEffect(() => {
1069
- if (isLoading) timeoutRef.current = setTimeout(() => {
1070
- setShowLoading(true);
1071
- }, delay);
1072
- else {
1073
- if (timeoutRef.current) {
1074
- clearTimeout(timeoutRef.current);
1075
- timeoutRef.current = null;
1076
- }
1077
- setShowLoading(false);
1078
- }
1079
- return () => {
1080
- if (timeoutRef.current) clearTimeout(timeoutRef.current);
1081
- };
1082
- }, [isLoading, delay]);
1083
- return [showLoading, setIsLoading];
997
+ if (tileLayers.length > 0 && !selectedTileLayer) setSelectedTileLayer(defaultTileLayer && tileLayers.some((layer) => layer.name === defaultTileLayer) ? defaultTileLayer : tileLayers[0].name);
998
+ }, [
999
+ tileLayers,
1000
+ defaultTileLayer,
1001
+ selectedTileLayer
1002
+ ]);
1003
+ return /* @__PURE__ */ jsx(MapLayersContext.Provider, {
1004
+ value: {
1005
+ registerTileLayer,
1006
+ tileLayers,
1007
+ selectedTileLayer,
1008
+ setSelectedTileLayer,
1009
+ registerLayerGroup,
1010
+ layerGroups,
1011
+ activeLayerGroups,
1012
+ setActiveLayerGroups
1013
+ },
1014
+ ...props
1015
+ });
1016
+ }
1017
+ function MapLayersControl({ tileLayersLabel = "Map Type", layerGroupsLabel = "Layers", position = "top-1 right-1", className, ...props }) {
1018
+ const layersContext = useMapLayersContext();
1019
+ if (!layersContext) throw new Error("MapLayersControl must be used within MapLayers");
1020
+ const { tileLayers, selectedTileLayer, setSelectedTileLayer, layerGroups, activeLayerGroups, setActiveLayerGroups } = layersContext;
1021
+ if (tileLayers.length === 0 && layerGroups.length === 0) return null;
1022
+ function handleLayerGroupToggle(name, checked) {
1023
+ setActiveLayerGroups(checked ? [...activeLayerGroups, name] : activeLayerGroups.filter((groupName) => groupName !== name));
1024
+ }
1025
+ const showTileLayersDropdown = tileLayers.length > 1;
1026
+ const showLayerGroupsDropdown = layerGroups.length > 0;
1027
+ if (!showTileLayersDropdown && !showLayerGroupsDropdown) return null;
1028
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
1029
+ asChild: true,
1030
+ children: /* @__PURE__ */ jsx(Button, {
1031
+ type: "button",
1032
+ variant: "secondary",
1033
+ size: "sm",
1034
+ "aria-label": "Select layers",
1035
+ title: "Select layers",
1036
+ className: cn("absolute z-1000 border", position, className),
1037
+ ...props,
1038
+ children: /* @__PURE__ */ jsx(LayersIcon, {})
1039
+ })
1040
+ }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
1041
+ align: "end",
1042
+ className: "z-1000",
1043
+ children: [
1044
+ showTileLayersDropdown && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DropdownMenuLabel, { children: tileLayersLabel }), /* @__PURE__ */ jsx(DropdownMenuRadioGroup, {
1045
+ value: selectedTileLayer,
1046
+ onValueChange: setSelectedTileLayer,
1047
+ children: tileLayers.map((tileLayer) => /* @__PURE__ */ jsx(DropdownMenuRadioItem, {
1048
+ value: tileLayer.name,
1049
+ children: tileLayer.name
1050
+ }, tileLayer.name))
1051
+ })] }),
1052
+ showTileLayersDropdown && showLayerGroupsDropdown && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
1053
+ showLayerGroupsDropdown && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DropdownMenuLabel, { children: layerGroupsLabel }), layerGroups.map((layerGroup) => /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
1054
+ checked: activeLayerGroups.includes(layerGroup.name),
1055
+ disabled: layerGroup.disabled,
1056
+ onCheckedChange: (checked) => handleLayerGroupToggle(layerGroup.name, checked),
1057
+ children: layerGroup.name
1058
+ }, layerGroup.name))] })
1059
+ ]
1060
+ })] });
1084
1061
  }
1085
1062
  //#endregion
1086
- export { useLeaflet as A, MapPolyline as C, MapTileLayer as D, MapSearchControl as E, MapTooltip as O, MapPolygon as S, MapRectangle as T, MapLayers as _, MapDrawCircle as a, MapMarker as b, MapDrawEdit as c, MapDrawPolyline as d, MapDrawRectangle as f, MapLayerGroup as g, MapFullscreenControl as h, MapControlContainer as i, PlaceAutocomplete as j, MapZoomControl as k, MapDrawMarker as l, MapFeatureGroup as m, MapCircle as n, MapDrawControl as o, MapDrawUndo as p, MapCircleMarker as r, MapDrawDelete as s, Map as t, MapDrawPolygon as u, MapLayersControl as v, MapPopup as w, MapMarkerClusterGroup as x, MapLocateControl as y };
1063
+ export { useLeaflet as A, MapMarkerClusterGroup as C, MapRectangle as D, MapPopup as E, MapTooltip as O, MapMarker as S, MapPolyline as T, MapLocateControl as _, MapTileLayer as a, MapCircle as b, MapDrawDelete as c, MapDrawPolygon as d, MapDrawPolyline as f, MapFullscreenControl as g, MapControlContainer as h, MapLayersControl as i, PlaceAutocomplete as j, Map as k, MapDrawEdit as l, MapDrawUndo as m, MapLayerGroup as n, MapDrawCircle as o, MapDrawRectangle as p, MapLayers as r, MapDrawControl as s, MapFeatureGroup as t, MapDrawMarker as u, MapSearchControl as v, MapPolygon as w, MapCircleMarker as x, MapZoomControl as y };