@expcat/tigercat-vue 2.0.19 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/README.md +20 -10
  2. package/dist/chunk-26QCTL2E.mjs +180 -0
  3. package/dist/{chunk-7W3NALIL.mjs → chunk-3FPS7XVB.mjs} +26 -27
  4. package/dist/{chunk-2OI6GWOT.mjs → chunk-3KAHJF7D.mjs} +12 -11
  5. package/dist/chunk-3OCHBGPF.mjs +835 -0
  6. package/dist/chunk-3ONCXHE5.mjs +184 -0
  7. package/dist/{chunk-4HUYX5WW.mjs → chunk-4PQZMDBK.mjs} +29 -8
  8. package/dist/{chunk-DI6RRAGQ.mjs → chunk-562Z32GR.mjs} +3 -3
  9. package/dist/{chunk-OQVGB7X6.mjs → chunk-626VUZ2Q.mjs} +1 -1
  10. package/dist/{chunk-WUQMFKQ6.mjs → chunk-67VS6QHJ.mjs} +29 -15
  11. package/dist/chunk-6GR3XC5V.mjs +281 -0
  12. package/dist/chunk-6GR5U4UB.mjs +225 -0
  13. package/dist/{chunk-KFJIZED5.mjs → chunk-6JAAXPBW.mjs} +7 -6
  14. package/dist/{chunk-XGXZF27U.mjs → chunk-6NYC7EY2.mjs} +32 -18
  15. package/dist/{chunk-6BDDX2R4.mjs → chunk-73Z7N7VG.mjs} +1 -4
  16. package/dist/chunk-7C7SG3SS.mjs +269 -0
  17. package/dist/{chunk-NNC75I7F.mjs → chunk-7TJE7OYH.mjs} +7 -6
  18. package/dist/{chunk-AU6IC6K7.mjs → chunk-ABNS4B5V.mjs} +35 -15
  19. package/dist/chunk-AECXFT7D.mjs +121 -0
  20. package/dist/chunk-AOLRZG4E.mjs +347 -0
  21. package/dist/chunk-AY7CGLMO.mjs +368 -0
  22. package/dist/chunk-BBNCP55O.mjs +156 -0
  23. package/dist/{chunk-EGIMTTZA.mjs → chunk-BOHE5URZ.mjs} +18 -3
  24. package/dist/{chunk-5RIHHZF6.mjs → chunk-BQK7LH2L.mjs} +4 -1
  25. package/dist/{chunk-E6EZHSGY.mjs → chunk-BSOLH6R5.mjs} +0 -1
  26. package/dist/{chunk-RSM6FOWX.mjs → chunk-CCC3S6LK.mjs} +6 -3
  27. package/dist/{chunk-U75YXWSA.mjs → chunk-CLTRADS7.mjs} +17 -5
  28. package/dist/{chunk-BEIPGX74.mjs → chunk-DRLQCY7R.mjs} +162 -7
  29. package/dist/{chunk-KBJANUZZ.mjs → chunk-E523VGZP.mjs} +1 -1
  30. package/dist/{chunk-D3U2NJ32.mjs → chunk-FEQ7PZXI.mjs} +8 -2
  31. package/dist/{chunk-PE5OA4YG.mjs → chunk-FHUGOSEY.mjs} +8 -2
  32. package/dist/{chunk-OAPIT53X.mjs → chunk-FIEECAJV.mjs} +7 -10
  33. package/dist/{chunk-7SFB77JR.mjs → chunk-GBPMQJJJ.mjs} +8 -1
  34. package/dist/{chunk-KOG3HKOF.mjs → chunk-GQOPDD44.mjs} +2 -5
  35. package/dist/{chunk-5RXYJWNA.mjs → chunk-H4DEIGEG.mjs} +77 -25
  36. package/dist/{chunk-ZGA66PSG.mjs → chunk-IK2WHKDA.mjs} +32 -18
  37. package/dist/{chunk-HGXD57QM.mjs → chunk-JBS3AESR.mjs} +65 -23
  38. package/dist/{chunk-PYRKFQ6J.mjs → chunk-JIU5UEOU.mjs} +70 -26
  39. package/dist/{chunk-JALHMWKW.mjs → chunk-K5MHUMKR.mjs} +2 -2
  40. package/dist/{chunk-5E4LINDO.mjs → chunk-LH2V2JMZ.mjs} +26 -10
  41. package/dist/{chunk-PQBKN2NH.mjs → chunk-LRFKHJDU.mjs} +14 -5
  42. package/dist/{chunk-OTHJIFDV.mjs → chunk-M4FWWEMX.mjs} +18 -9
  43. package/dist/{chunk-NGAA73CV.mjs → chunk-N2XV37BL.mjs} +40 -44
  44. package/dist/{chunk-2LIIMWBR.mjs → chunk-OYU47A57.mjs} +1 -2
  45. package/dist/{chunk-KU2Q5V3L.mjs → chunk-P62TYR3M.mjs} +18 -2
  46. package/dist/chunk-P6FMU4AT.mjs +54 -0
  47. package/dist/{chunk-P5FDKBXG.mjs → chunk-P7X46BAW.mjs} +70 -3
  48. package/dist/chunk-PFIV5MXD.mjs +48 -0
  49. package/dist/{chunk-KROVW4AW.mjs → chunk-PJQTRDIG.mjs} +13 -3
  50. package/dist/{chunk-26OI3TEA.mjs → chunk-PMQSXEMT.mjs} +42 -6
  51. package/dist/{chunk-XLNK3Z2P.mjs → chunk-POWDTOMF.mjs} +88 -79
  52. package/dist/{chunk-AXDBME5A.mjs → chunk-PSGVG4TN.mjs} +38 -21
  53. package/dist/chunk-PWWWACHC.mjs +302 -0
  54. package/dist/{chunk-UUWTKCMY.mjs → chunk-QWLD5FMJ.mjs} +1 -1
  55. package/dist/{chunk-ALIUAGJO.mjs → chunk-QZLOF36M.mjs} +7 -13
  56. package/dist/{chunk-WLYQHKLZ.mjs → chunk-QZRSFGZZ.mjs} +50 -11
  57. package/dist/{chunk-MAKOSWR6.mjs → chunk-RHQWQJ4I.mjs} +7 -6
  58. package/dist/{chunk-GS4SV2HK.mjs → chunk-RRLE7QRH.mjs} +43 -22
  59. package/dist/{chunk-RID7A5V7.mjs → chunk-RRNQL6MJ.mjs} +23 -6
  60. package/dist/{chunk-VJ6YM2EW.mjs → chunk-S4BKVFQ7.mjs} +1 -1
  61. package/dist/{chunk-LPZBXTJ6.mjs → chunk-SAC4PAG3.mjs} +4 -4
  62. package/dist/{chunk-W5RZPTFD.mjs → chunk-SNNT64HK.mjs} +13 -2
  63. package/dist/{chunk-N3C6YI7I.mjs → chunk-SWMYIORV.mjs} +22 -7
  64. package/dist/{chunk-2XCXK3NQ.mjs → chunk-SX3NAN4M.mjs} +1 -1
  65. package/dist/chunk-TBOXTAIA.mjs +94 -0
  66. package/dist/{chunk-JL3CN4UK.mjs → chunk-TDBMAKTJ.mjs} +10 -3
  67. package/dist/{chunk-EDBMWZKH.mjs → chunk-TPESRDUG.mjs} +5 -1
  68. package/dist/chunk-UEGNXN5B.mjs +28 -0
  69. package/dist/{chunk-NEEGXKJW.mjs → chunk-UGHLEKEZ.mjs} +22 -3
  70. package/dist/{chunk-HKYRRQS7.mjs → chunk-UNQO7EVG.mjs} +1 -1
  71. package/dist/chunk-UR5F74ZB.mjs +601 -0
  72. package/dist/{chunk-VCCK4CDT.mjs → chunk-URPXBKK4.mjs} +23 -5
  73. package/dist/chunk-UUWPSRNV.mjs +337 -0
  74. package/dist/chunk-UXJRH72H.mjs +834 -0
  75. package/dist/chunk-VFS5XAZ3.mjs +602 -0
  76. package/dist/{chunk-7KCOF5US.mjs → chunk-VY6FVIOZ.mjs} +10 -8
  77. package/dist/{chunk-KICZSLOX.mjs → chunk-W2ICYZVU.mjs} +1 -1
  78. package/dist/{chunk-FIVVKBBF.mjs → chunk-W3QOMJKQ.mjs} +8 -6
  79. package/dist/{chunk-DCMRB3HR.mjs → chunk-WV25G4M3.mjs} +4 -3
  80. package/dist/{chunk-3KITFMBJ.mjs → chunk-X5LJT76O.mjs} +52 -35
  81. package/dist/{chunk-BNYA5IUB.mjs → chunk-YNXP34KO.mjs} +39 -38
  82. package/dist/{chunk-2T2NEZRZ.mjs → chunk-YVDTXHQ6.mjs} +1 -1
  83. package/dist/{chunk-AUMTHL6N.mjs → chunk-ZOP7PEKY.mjs} +2 -1
  84. package/dist/components/ActivityFeed.d.mts +29 -11
  85. package/dist/components/ActivityFeed.mjs +3 -3
  86. package/dist/components/Affix.d.mts +4 -4
  87. package/dist/components/Affix.mjs +1 -1
  88. package/dist/components/Alert.d.mts +4 -4
  89. package/dist/components/Anchor.d.mts +2 -2
  90. package/dist/components/Anchor.mjs +1 -1
  91. package/dist/components/AreaChart.d.mts +3 -3
  92. package/dist/components/AreaChart.mjs +5 -4
  93. package/dist/components/AspectRatio.d.mts +44 -0
  94. package/dist/components/AspectRatio.mjs +8 -0
  95. package/dist/components/AutoComplete.d.mts +3 -3
  96. package/dist/components/AutoComplete.mjs +1 -1
  97. package/dist/components/Avatar.d.mts +2 -2
  98. package/dist/components/AvatarGroup.d.mts +2 -2
  99. package/dist/components/BackTop.d.mts +2 -2
  100. package/dist/components/Badge.d.mts +5 -5
  101. package/dist/components/BarChart.d.mts +2 -2
  102. package/dist/components/BarChart.mjs +5 -4
  103. package/dist/components/Breadcrumb.d.mts +2 -2
  104. package/dist/components/Button.d.mts +5 -5
  105. package/dist/components/ButtonGroup.d.mts +1 -1
  106. package/dist/components/Calendar.d.mts +2 -2
  107. package/dist/components/Calendar.mjs +1 -1
  108. package/dist/components/Card.d.mts +3 -3
  109. package/dist/components/Carousel.d.mts +3 -3
  110. package/dist/components/Cascader.d.mts +37 -3
  111. package/dist/components/Cascader.mjs +1 -1
  112. package/dist/components/ChartCanvas.d.mts +8 -4
  113. package/dist/components/ChartCanvas.mjs +1 -1
  114. package/dist/components/ChartGrid.d.mts +1 -1
  115. package/dist/components/ChartLegend.d.mts +2 -2
  116. package/dist/components/ChartTooltip.d.mts +1 -1
  117. package/dist/components/ChatWindow.d.mts +29 -11
  118. package/dist/components/ChatWindow.mjs +4 -4
  119. package/dist/components/Checkbox.d.mts +1 -1
  120. package/dist/components/Code.d.mts +33 -6
  121. package/dist/components/Code.mjs +3 -1
  122. package/dist/components/CodeEditor.d.mts +1 -1
  123. package/dist/components/CodeEditor.mjs +1 -1
  124. package/dist/components/Collapse.d.mts +1 -1
  125. package/dist/components/CollapsePanel.mjs +1 -1
  126. package/dist/components/ColorPicker.mjs +1 -1
  127. package/dist/components/ColorSwatch.d.mts +8 -2
  128. package/dist/components/ColorSwatch.mjs +1 -1
  129. package/dist/components/CommentThread.d.mts +63 -27
  130. package/dist/components/CommentThread.mjs +2 -2
  131. package/dist/components/Container.d.mts +1 -1
  132. package/dist/components/ContextMenu.d.mts +234 -0
  133. package/dist/components/ContextMenu.mjs +17 -0
  134. package/dist/components/Countdown.d.mts +1 -1
  135. package/dist/components/CronEditor.d.mts +3 -3
  136. package/dist/components/CropUpload.d.mts +1 -1
  137. package/dist/components/DataExport.d.mts +1 -1
  138. package/dist/components/DataExport.mjs +2 -2
  139. package/dist/components/DataTableWithToolbar.d.mts +11 -11
  140. package/dist/components/DataTableWithToolbar.mjs +8 -8
  141. package/dist/components/DatePicker.d.mts +5 -5
  142. package/dist/components/Descriptions.d.mts +3 -3
  143. package/dist/components/DonutChart.d.mts +3 -3
  144. package/dist/components/DonutChart.mjs +5 -5
  145. package/dist/components/Drawer.d.mts +6 -6
  146. package/dist/components/Dropdown.d.mts +21 -2
  147. package/dist/components/Dropdown.mjs +1 -1
  148. package/dist/components/Empty.d.mts +1 -1
  149. package/dist/components/FileManager.d.mts +10 -4
  150. package/dist/components/FileManager.mjs +1 -1
  151. package/dist/components/FloatButton.d.mts +37 -7
  152. package/dist/components/FloatButton.mjs +1 -1
  153. package/dist/components/Form.d.mts +2 -2
  154. package/dist/components/FormWizard.d.mts +4 -4
  155. package/dist/components/FormWizard.mjs +1 -1
  156. package/dist/components/FunnelChart.d.mts +4 -4
  157. package/dist/components/FunnelChart.mjs +4 -4
  158. package/dist/components/Gantt.d.mts +6 -4
  159. package/dist/components/Gantt.mjs +2 -2
  160. package/dist/components/GaugeChart.d.mts +4 -4
  161. package/dist/components/GaugeChart.mjs +2 -2
  162. package/dist/components/Header.d.mts +1 -1
  163. package/dist/components/HeatmapChart.d.mts +3 -3
  164. package/dist/components/HeatmapChart.mjs +3 -3
  165. package/dist/components/Highlight.d.mts +146 -0
  166. package/dist/components/Highlight.mjs +8 -0
  167. package/dist/components/Icon.d.mts +2 -2
  168. package/dist/components/Image.d.mts +2 -2
  169. package/dist/components/Image.mjs +3 -3
  170. package/dist/components/ImageAnnotation.d.mts +4 -4
  171. package/dist/components/ImageCompare.d.mts +284 -0
  172. package/dist/components/ImageCompare.mjs +8 -0
  173. package/dist/components/ImageCropper.d.mts +1 -1
  174. package/dist/components/ImageGroup.mjs +2 -2
  175. package/dist/components/ImagePreview.d.mts +1 -1
  176. package/dist/components/ImagePreview.mjs +1 -1
  177. package/dist/components/ImageViewer.d.mts +1 -1
  178. package/dist/components/InfiniteScroll.d.mts +4 -4
  179. package/dist/components/Input.d.mts +7 -7
  180. package/dist/components/Input.mjs +1 -1
  181. package/dist/components/InputGroup.d.mts +2 -2
  182. package/dist/components/InputNumber.d.mts +3 -3
  183. package/dist/components/InputNumber.mjs +1 -1
  184. package/dist/components/InputOTP.d.mts +261 -0
  185. package/dist/components/InputOTP.mjs +11 -0
  186. package/dist/components/Kanban.d.mts +1 -1
  187. package/dist/components/Kanban.mjs +2 -2
  188. package/dist/components/Kbd.d.mts +118 -0
  189. package/dist/components/Kbd.mjs +8 -0
  190. package/dist/components/LineChart.d.mts +2 -2
  191. package/dist/components/LineChart.mjs +5 -4
  192. package/dist/components/Link.d.mts +1 -1
  193. package/dist/components/List.d.mts +7 -7
  194. package/dist/components/List.mjs +2 -2
  195. package/dist/components/Loading.d.mts +7 -7
  196. package/dist/components/Loading.mjs +1 -1
  197. package/dist/components/LoadingBar.d.mts +8 -0
  198. package/dist/components/LoadingBar.mjs +114 -0
  199. package/dist/components/LoadingBarContainer.d.mts +78 -0
  200. package/dist/components/LoadingBarContainer.mjs +8 -0
  201. package/dist/components/LoadingBarRoot.d.mts +6 -0
  202. package/dist/components/LoadingBarRoot.mjs +6 -0
  203. package/dist/components/MarkdownEditor.d.mts +4 -4
  204. package/dist/components/Marquee.d.mts +158 -0
  205. package/dist/components/Marquee.mjs +8 -0
  206. package/dist/components/MaskInput.d.mts +207 -0
  207. package/dist/components/MaskInput.mjs +11 -0
  208. package/dist/components/Masonry.d.mts +66 -0
  209. package/dist/components/Masonry.mjs +8 -0
  210. package/dist/components/Mentions.d.mts +1 -1
  211. package/dist/components/Menu.d.mts +4 -4
  212. package/dist/components/Modal.d.mts +7 -7
  213. package/dist/components/NavigationMenu.d.mts +411 -0
  214. package/dist/components/NavigationMenu.mjs +25 -0
  215. package/dist/components/NotificationCenter.d.mts +48 -30
  216. package/dist/components/NotificationCenter.mjs +4 -4
  217. package/dist/components/NumberKeyboard.d.mts +4 -4
  218. package/dist/components/OrgChart.d.mts +4 -4
  219. package/dist/components/OrgChart.mjs +2 -2
  220. package/dist/components/PageHeader.d.mts +140 -0
  221. package/dist/components/PageHeader.mjs +11 -0
  222. package/dist/components/Pagination.d.mts +5 -5
  223. package/dist/components/Pagination.mjs +1 -1
  224. package/dist/components/PieChart.d.mts +3 -3
  225. package/dist/components/PieChart.mjs +4 -4
  226. package/dist/components/Popconfirm.d.mts +4 -4
  227. package/dist/components/Popconfirm.mjs +2 -2
  228. package/dist/components/Popover.d.mts +5 -5
  229. package/dist/components/Popover.mjs +2 -2
  230. package/dist/components/Progress.d.mts +7 -7
  231. package/dist/components/QRCode.d.mts +4 -13
  232. package/dist/components/QRCode.mjs +1 -1
  233. package/dist/components/RadarChart.d.mts +3 -3
  234. package/dist/components/RadarChart.mjs +4 -4
  235. package/dist/components/Radio.d.mts +1 -1
  236. package/dist/components/Radio.mjs +1 -1
  237. package/dist/components/Rate.d.mts +1 -1
  238. package/dist/components/Rate.mjs +1 -1
  239. package/dist/components/Result.d.mts +1 -1
  240. package/dist/components/RichTextEditor.d.mts +4 -4
  241. package/dist/components/Row.d.mts +1 -1
  242. package/dist/components/ScatterChart.d.mts +3 -3
  243. package/dist/components/ScatterChart.mjs +5 -4
  244. package/dist/components/ScrollArea.d.mts +136 -0
  245. package/dist/components/ScrollArea.mjs +8 -0
  246. package/dist/components/ScrollSpy.d.mts +2 -2
  247. package/dist/components/ScrollSpy.mjs +1 -1
  248. package/dist/components/Segmented.d.mts +2 -2
  249. package/dist/components/Select.d.mts +3 -3
  250. package/dist/components/Signature.d.mts +6 -6
  251. package/dist/components/Signature.mjs +1 -1
  252. package/dist/components/Skeleton.d.mts +2 -2
  253. package/dist/components/Slider.d.mts +19 -1
  254. package/dist/components/Slider.mjs +1 -1
  255. package/dist/components/Space.d.mts +2 -2
  256. package/dist/components/SplitButton.d.mts +286 -0
  257. package/dist/components/SplitButton.mjs +12 -0
  258. package/dist/components/Splitter.d.mts +4 -4
  259. package/dist/components/Splitter.mjs +1 -1
  260. package/dist/components/Spotlight.d.mts +6 -6
  261. package/dist/components/Statistic.d.mts +1 -1
  262. package/dist/components/Stepper.d.mts +7 -1
  263. package/dist/components/Stepper.mjs +1 -1
  264. package/dist/components/Steps.d.mts +1 -1
  265. package/dist/components/SunburstChart.d.mts +2 -2
  266. package/dist/components/SunburstChart.mjs +4 -4
  267. package/dist/components/Switch.d.mts +22 -6
  268. package/dist/components/Switch.mjs +1 -1
  269. package/dist/components/Table.d.mts +9 -9
  270. package/dist/components/Table.mjs +3 -3
  271. package/dist/components/Tabs.d.mts +5 -5
  272. package/dist/components/Tag.d.mts +3 -3
  273. package/dist/components/TagsInput.d.mts +214 -0
  274. package/dist/components/TagsInput.mjs +12 -0
  275. package/dist/components/TaskBoard.d.mts +2 -2
  276. package/dist/components/TaskBoard.mjs +1 -1
  277. package/dist/components/Text.d.mts +3 -3
  278. package/dist/components/Textarea.d.mts +4 -4
  279. package/dist/components/Textarea.mjs +1 -1
  280. package/dist/components/TimePicker.d.mts +6 -6
  281. package/dist/components/Timeline.d.mts +2 -2
  282. package/dist/components/Tooltip.d.mts +2 -2
  283. package/dist/components/Tooltip.mjs +2 -2
  284. package/dist/components/Tour.d.mts +4 -4
  285. package/dist/components/Tour.mjs +1 -1
  286. package/dist/components/Transfer.d.mts +5 -4
  287. package/dist/components/Transfer.mjs +1 -1
  288. package/dist/components/Tree.d.mts +6 -6
  289. package/dist/components/TreeMapChart.d.mts +3 -3
  290. package/dist/components/TreeMapChart.mjs +4 -4
  291. package/dist/components/TreeSelect.d.mts +54 -3
  292. package/dist/components/TreeSelect.mjs +2 -1
  293. package/dist/components/Upload.d.mts +4 -4
  294. package/dist/components/Upload.mjs +1 -1
  295. package/dist/components/VirtualTable.d.mts +5 -5
  296. package/dist/components/Watermark.d.mts +6 -6
  297. package/dist/composables/useChartInteraction.d.mts +5 -0
  298. package/dist/composables/useChartInteraction.mjs +1 -1
  299. package/dist/index.d.mts +17 -1
  300. package/dist/index.mjs +406 -0
  301. package/package.json +117 -2
  302. package/dist/chunk-OTGGPXDT.mjs +0 -433
  303. package/dist/chunk-WC5MKASU.mjs +0 -393
@@ -1,393 +0,0 @@
1
- import {
2
- renderVueOverlayTeleport,
3
- useVueAnchoredOverlay
4
- } from "./chunk-Q7Y22OFX.mjs";
5
- import {
6
- useTigerConfig
7
- } from "./chunk-UOJOJBEU.mjs";
8
-
9
- // src/components/TreeSelect.ts
10
- import { defineComponent, h, ref, computed } from "vue";
11
- import {
12
- treeSelectBaseClasses,
13
- treeSelectDropdownClasses,
14
- treeSelectSearchClasses,
15
- treeSelectEmptyClasses,
16
- getTreeSelectTriggerClasses,
17
- getTreeSelectNodeClasses,
18
- getTreeSelectDisplayLabel,
19
- getAllTreeSelectKeys,
20
- flattenTreeSelectNodes,
21
- filterTreeSelectNodes,
22
- getPickerComboboxAria,
23
- getPickerListboxAria,
24
- getPickerOptionAria,
25
- getPickerTriggerKeyAction,
26
- coerceClassValue,
27
- classNames,
28
- icon20ViewBox,
29
- chevronDownSolidIcon20PathD,
30
- chevronRightSolidIcon20PathD,
31
- closeSolidIcon20PathD,
32
- resolveLocaleText,
33
- mergeTigerLocale
34
- } from "@expcat/tigercat-core";
35
- var treeSelectInstanceId = 0;
36
- var ChevronDownIcon = h(
37
- "svg",
38
- {
39
- class: "w-4 h-4 transition-transform",
40
- viewBox: icon20ViewBox,
41
- fill: "currentColor",
42
- xmlns: "http://www.w3.org/2000/svg"
43
- },
44
- [
45
- h("path", {
46
- d: chevronDownSolidIcon20PathD,
47
- "fill-rule": "evenodd",
48
- "clip-rule": "evenodd"
49
- })
50
- ]
51
- );
52
- var ClearIcon = h(
53
- "svg",
54
- {
55
- class: "w-4 h-4",
56
- viewBox: icon20ViewBox,
57
- fill: "currentColor",
58
- xmlns: "http://www.w3.org/2000/svg"
59
- },
60
- [
61
- h("path", {
62
- d: closeSolidIcon20PathD,
63
- "fill-rule": "evenodd",
64
- "clip-rule": "evenodd"
65
- })
66
- ]
67
- );
68
- var TreeSelect = defineComponent({
69
- name: "TigerTreeSelect",
70
- props: {
71
- modelValue: {
72
- type: [String, Number, Array],
73
- default: void 0
74
- },
75
- treeData: {
76
- type: Array,
77
- default: () => []
78
- },
79
- placeholder: {
80
- type: String,
81
- default: "Please select"
82
- },
83
- size: {
84
- type: String,
85
- default: "md"
86
- },
87
- disabled: {
88
- type: Boolean,
89
- default: false
90
- },
91
- clearable: {
92
- type: Boolean,
93
- default: false
94
- },
95
- multiple: {
96
- type: Boolean,
97
- default: false
98
- },
99
- searchable: {
100
- type: Boolean,
101
- default: false
102
- },
103
- searchValue: {
104
- type: String,
105
- default: void 0
106
- },
107
- defaultSearchValue: {
108
- type: String,
109
- default: ""
110
- },
111
- emptyText: {
112
- type: String,
113
- default: void 0
114
- },
115
- defaultExpandAll: {
116
- type: Boolean,
117
- default: false
118
- },
119
- /**
120
- * Locale overrides merged on top of ConfigProvider locale
121
- */
122
- locale: {
123
- type: Object,
124
- default: void 0
125
- }
126
- },
127
- emits: ["update:modelValue", "update:searchValue", "change", "search-change"],
128
- setup(props, { emit, attrs }) {
129
- const instanceId = ++treeSelectInstanceId;
130
- const config = useTigerConfig();
131
- const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, props.locale));
132
- const listboxId = `tiger-treeselect-listbox-${instanceId}`;
133
- const isOpen = ref(false);
134
- const uncontrolledSearchValue = ref(props.defaultSearchValue);
135
- const searchQuery = computed(() => props.searchValue ?? uncontrolledSearchValue.value);
136
- const containerRef = ref(null);
137
- const triggerRef = ref(null);
138
- const dropdownRef = ref(null);
139
- const overlay = useVueAnchoredOverlay({
140
- enabled: isOpen,
141
- referenceRef: triggerRef,
142
- floatingRef: dropdownRef,
143
- containerRef,
144
- placement: "bottom-start",
145
- offset: 4,
146
- matchReferenceWidth: true,
147
- dismissOnOutside: true,
148
- dismissOnEscape: true,
149
- restoreFocusOnDismiss: true,
150
- onDismiss: closeDropdown
151
- });
152
- const expandedKeys = ref(
153
- props.defaultExpandAll ? new Set(getAllTreeSelectKeys(props.treeData)) : /* @__PURE__ */ new Set()
154
- );
155
- const displayLabel = computed(() => getTreeSelectDisplayLabel(props.treeData, props.modelValue));
156
- const showClearButton = computed(
157
- () => props.clearable && !props.disabled && props.modelValue !== void 0 && (Array.isArray(props.modelValue) ? props.modelValue.length > 0 : props.modelValue !== "")
158
- );
159
- const matchedKeys = computed(() => {
160
- if (!searchQuery.value) return null;
161
- return filterTreeSelectNodes(props.treeData, searchQuery.value);
162
- });
163
- const effectiveExpandedKeys = computed(() => {
164
- if (matchedKeys.value) {
165
- return matchedKeys.value;
166
- }
167
- return expandedKeys.value;
168
- });
169
- const flatNodes = computed(
170
- () => flattenTreeSelectNodes(props.treeData, effectiveExpandedKeys.value)
171
- );
172
- const visibleNodes = computed(() => {
173
- if (!matchedKeys.value) return flatNodes.value;
174
- return flatNodes.value.filter((f) => matchedKeys.value.has(f.node.key));
175
- });
176
- function openDropdown() {
177
- if (props.disabled) return;
178
- isOpen.value = true;
179
- }
180
- function closeDropdown() {
181
- isOpen.value = false;
182
- updateSearchValue("");
183
- }
184
- function updateSearchValue(value) {
185
- if (props.searchValue === void 0) {
186
- uncontrolledSearchValue.value = value;
187
- }
188
- emit("update:searchValue", value);
189
- emit("search-change", value);
190
- }
191
- function toggleDropdown() {
192
- if (isOpen.value) closeDropdown();
193
- else openDropdown();
194
- }
195
- function toggleExpand(key) {
196
- const next = new Set(expandedKeys.value);
197
- if (next.has(key)) next.delete(key);
198
- else next.add(key);
199
- expandedKeys.value = next;
200
- }
201
- function isSelected(key) {
202
- if (props.multiple && Array.isArray(props.modelValue)) {
203
- return props.modelValue.includes(key);
204
- }
205
- return props.modelValue === key;
206
- }
207
- function handleNodeSelect(node) {
208
- if (node.disabled) return;
209
- if (props.multiple) {
210
- const current = Array.isArray(props.modelValue) ? [...props.modelValue] : [];
211
- const idx = current.indexOf(node.key);
212
- if (idx >= 0) {
213
- current.splice(idx, 1);
214
- } else {
215
- current.push(node.key);
216
- }
217
- emit("update:modelValue", current);
218
- emit("change", current);
219
- } else {
220
- emit("update:modelValue", node.key);
221
- emit("change", node.key);
222
- closeDropdown();
223
- }
224
- }
225
- function handleClear(e) {
226
- e.stopPropagation();
227
- const val = props.multiple ? [] : void 0;
228
- emit("update:modelValue", val);
229
- emit("change", val);
230
- }
231
- function handleKeyDown(e) {
232
- const action = getPickerTriggerKeyAction(e.key, isOpen.value);
233
- if (action === "none") return;
234
- e.preventDefault();
235
- if (action === "toggle") {
236
- if (isOpen.value) closeDropdown();
237
- else openDropdown();
238
- } else if (action === "open") {
239
- openDropdown();
240
- } else if (action === "close") {
241
- closeDropdown();
242
- }
243
- }
244
- return () => {
245
- const containerClasses = classNames(treeSelectBaseClasses, coerceClassValue(attrs.class));
246
- return h("div", { ref: containerRef, class: containerClasses }, [
247
- // Trigger
248
- h(
249
- "button",
250
- {
251
- ref: triggerRef,
252
- type: "button",
253
- class: getTreeSelectTriggerClasses(props.size, props.disabled, isOpen.value),
254
- ...getPickerComboboxAria({ expanded: isOpen.value, listboxId }),
255
- disabled: props.disabled,
256
- onClick: toggleDropdown,
257
- onKeydown: handleKeyDown
258
- },
259
- [
260
- h(
261
- "span",
262
- {
263
- class: classNames(
264
- "flex-1 truncate",
265
- !displayLabel.value ? "text-[var(--tiger-treeselect-placeholder,var(--tiger-text-muted,#9ca3af))]" : ""
266
- )
267
- },
268
- displayLabel.value || props.placeholder
269
- ),
270
- // Clear or chevron
271
- showClearButton.value ? h(
272
- "span",
273
- {
274
- class: "absolute right-2 top-1/2 -translate-y-1/2 text-[var(--tiger-treeselect-clear,var(--tiger-text-muted,#9ca3af))] hover:text-[var(--tiger-treeselect-clear-hover,var(--tiger-text,#111827))]",
275
- "aria-label": resolveLocaleText(
276
- "Clear selection",
277
- mergedLocale.value?.common?.clearText
278
- ),
279
- onClick: handleClear
280
- },
281
- [ClearIcon]
282
- ) : h(
283
- "span",
284
- {
285
- class: "absolute right-2 top-1/2 -translate-y-1/2 text-[var(--tiger-text-muted,#9ca3af)] pointer-events-none"
286
- },
287
- [ChevronDownIcon]
288
- )
289
- ]
290
- ),
291
- // Dropdown
292
- isOpen.value ? renderVueOverlayTeleport(
293
- h(
294
- "div",
295
- {
296
- ref: dropdownRef,
297
- ...getPickerListboxAria({ id: listboxId }),
298
- class: classNames(treeSelectDropdownClasses, overlay.floatingClasses.value),
299
- style: overlay.floatingStyles.value,
300
- "data-positioned": overlay.positioned.value
301
- },
302
- [
303
- // Search
304
- props.searchable ? h("input", {
305
- type: "text",
306
- class: treeSelectSearchClasses,
307
- placeholder: resolveLocaleText(
308
- "Search...",
309
- mergedLocale.value?.common?.searchPlaceholder
310
- ),
311
- value: searchQuery.value,
312
- "aria-label": resolveLocaleText(
313
- "Search tree",
314
- mergedLocale.value?.common?.searchPlaceholder
315
- ),
316
- onInput: (e) => updateSearchValue(e.target.value)
317
- }) : null,
318
- // Tree nodes
319
- visibleNodes.value.length > 0 ? visibleNodes.value.map((flatNode) => {
320
- const { node, level, hasChildren, isExpanded } = flatNode;
321
- const selected = isSelected(node.key);
322
- const indent = level * 20;
323
- return h(
324
- "div",
325
- {
326
- key: node.key,
327
- ...getPickerOptionAria({ selected, disabled: !!node.disabled }),
328
- class: getTreeSelectNodeClasses(selected, !!node.disabled, props.size),
329
- style: { paddingLeft: `${indent + 8}px` },
330
- onClick: (e) => {
331
- e.stopPropagation();
332
- handleNodeSelect(node);
333
- }
334
- },
335
- [
336
- // Expand toggle
337
- hasChildren ? h(
338
- "span",
339
- {
340
- class: classNames(
341
- "inline-flex items-center justify-center w-4 h-4 mr-1 transition-transform",
342
- isExpanded ? "rotate-90" : ""
343
- ),
344
- onClick: (e) => {
345
- e.stopPropagation();
346
- toggleExpand(node.key);
347
- }
348
- },
349
- [
350
- h(
351
- "svg",
352
- {
353
- class: "w-3 h-3",
354
- viewBox: icon20ViewBox,
355
- fill: "currentColor"
356
- },
357
- [
358
- h("path", {
359
- d: chevronRightSolidIcon20PathD,
360
- "fill-rule": "evenodd",
361
- "clip-rule": "evenodd"
362
- })
363
- ]
364
- )
365
- ]
366
- ) : h("span", { class: "w-4 mr-1" }),
367
- // Label
368
- h("span", { class: "flex-1 truncate" }, node.label)
369
- ]
370
- );
371
- }) : h(
372
- "div",
373
- { class: treeSelectEmptyClasses },
374
- resolveLocaleText(
375
- "No data",
376
- props.emptyText,
377
- mergedLocale.value?.common?.emptyText
378
- )
379
- )
380
- ]
381
- ),
382
- overlay.target.value
383
- ) : null
384
- ]);
385
- };
386
- }
387
- });
388
- var TreeSelect_default = TreeSelect;
389
-
390
- export {
391
- TreeSelect,
392
- TreeSelect_default
393
- };