@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
@@ -0,0 +1,184 @@
1
+ // src/components/Marquee.ts
2
+ import { defineComponent, h, ref } from "vue";
3
+ import {
4
+ composeComponentClasses,
5
+ getMarqueeContentClasses,
6
+ getMarqueeRootClasses,
7
+ getMarqueeTrackClasses,
8
+ getMarqueeTrackStyle,
9
+ injectMarqueeStyles,
10
+ isMarqueeFocusInside,
11
+ isMarqueePaused,
12
+ mergeStyleValues,
13
+ resolveMarqueeAriaLabel,
14
+ resolveMarqueeDirection,
15
+ resolveMarqueePauseOnHover,
16
+ resolveMarqueeRepeat
17
+ } from "@expcat/tigercat-core";
18
+ var Marquee = defineComponent({
19
+ name: "TigerMarquee",
20
+ inheritAttrs: false,
21
+ props: {
22
+ /**
23
+ * Scroll direction
24
+ * @default 'left'
25
+ */
26
+ direction: {
27
+ type: String,
28
+ default: "left"
29
+ },
30
+ /**
31
+ * Time for one full loop, in milliseconds
32
+ * @default 20000
33
+ */
34
+ duration: {
35
+ type: Number,
36
+ default: void 0
37
+ },
38
+ /**
39
+ * Pause looping while hovered or while focus is inside the region
40
+ * @default true
41
+ */
42
+ pauseOnHover: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ /**
47
+ * Gap between items and between duplicated copies.
48
+ * A number is pixels; a string is a CSS length.
49
+ * @default 16
50
+ */
51
+ gap: {
52
+ type: [Number, String],
53
+ default: void 0
54
+ },
55
+ /**
56
+ * How many copies of the content to render for a seamless loop.
57
+ * Values below 2 skip looping and show a single static copy.
58
+ * @default 2
59
+ */
60
+ repeat: {
61
+ type: Number,
62
+ default: void 0
63
+ },
64
+ /**
65
+ * Accessible name for the region
66
+ * @default 'Scrolling content'
67
+ */
68
+ ariaLabel: {
69
+ type: String,
70
+ default: void 0
71
+ },
72
+ /**
73
+ * Additional CSS classes
74
+ */
75
+ className: {
76
+ type: String,
77
+ default: void 0
78
+ },
79
+ /**
80
+ * Inline styles
81
+ */
82
+ style: {
83
+ type: Object,
84
+ default: void 0
85
+ }
86
+ },
87
+ setup(props, { slots, attrs }) {
88
+ injectMarqueeStyles();
89
+ const hovered = ref(false);
90
+ const focused = ref(false);
91
+ function callAttrHandler(handler, event) {
92
+ if (typeof handler === "function") {
93
+ const listener = handler;
94
+ listener(event);
95
+ }
96
+ }
97
+ return () => {
98
+ const attrsRecord = attrs;
99
+ const direction = resolveMarqueeDirection(props.direction);
100
+ const pauseOnHover = resolveMarqueePauseOnHover(props.pauseOnHover);
101
+ const copies = resolveMarqueeRepeat(props.repeat);
102
+ const paused = isMarqueePaused({
103
+ pauseOnHover,
104
+ hovered: hovered.value,
105
+ focused: focused.value
106
+ });
107
+ const attrAriaLabel = typeof attrsRecord["aria-label"] === "string" ? attrsRecord["aria-label"] : void 0;
108
+ const ariaLabel = resolveMarqueeAriaLabel(attrAriaLabel ?? props.ariaLabel);
109
+ const contentCopies = Array.from({ length: copies }, (_, index) => {
110
+ const clone = index > 0;
111
+ return h(
112
+ "div",
113
+ {
114
+ class: getMarqueeContentClasses({ direction, clone }),
115
+ "data-marquee-content": "",
116
+ ...clone ? { "data-marquee-clone": "", "aria-hidden": "true" } : {}
117
+ },
118
+ slots.default?.()
119
+ );
120
+ });
121
+ return h(
122
+ "div",
123
+ {
124
+ ...attrs,
125
+ class: composeComponentClasses(
126
+ getMarqueeRootClasses({
127
+ direction,
128
+ pauseOnHover,
129
+ repeat: copies,
130
+ className: props.className
131
+ }),
132
+ attrsRecord.class
133
+ ),
134
+ style: mergeStyleValues(attrsRecord.style, props.style),
135
+ role: "region",
136
+ "aria-label": ariaLabel,
137
+ "data-marquee": "",
138
+ "data-marquee-direction": direction,
139
+ "data-marquee-paused": paused ? "true" : "false",
140
+ "data-marquee-pause-on-hover": pauseOnHover ? "true" : "false",
141
+ onMouseenter: (event) => {
142
+ if (pauseOnHover) hovered.value = true;
143
+ callAttrHandler(attrsRecord.onMouseenter, event);
144
+ },
145
+ onMouseleave: (event) => {
146
+ if (pauseOnHover) hovered.value = false;
147
+ callAttrHandler(attrsRecord.onMouseleave, event);
148
+ },
149
+ onFocusin: (event) => {
150
+ if (pauseOnHover) focused.value = true;
151
+ callAttrHandler(attrsRecord.onFocusin, event);
152
+ },
153
+ onFocusout: (event) => {
154
+ if (pauseOnHover && !isMarqueeFocusInside(event.currentTarget, event.relatedTarget)) {
155
+ focused.value = false;
156
+ }
157
+ callAttrHandler(attrsRecord.onFocusout, event);
158
+ }
159
+ },
160
+ [
161
+ h(
162
+ "div",
163
+ {
164
+ class: getMarqueeTrackClasses(direction),
165
+ style: getMarqueeTrackStyle({
166
+ duration: props.duration,
167
+ gap: props.gap,
168
+ repeat: copies
169
+ }),
170
+ "data-marquee-track": ""
171
+ },
172
+ contentCopies
173
+ )
174
+ ]
175
+ );
176
+ };
177
+ }
178
+ });
179
+ var Marquee_default = Marquee;
180
+
181
+ export {
182
+ Marquee,
183
+ Marquee_default
184
+ };
@@ -11,15 +11,24 @@ import {
11
11
  colorPickerPanelClasses,
12
12
  colorPickerInputClasses,
13
13
  colorPickerPresetClasses,
14
- hexToRgb,
15
14
  rgbToHex,
16
15
  rgbToHsv,
17
16
  hsvToRgb,
18
17
  formatColorString,
19
18
  parseColorInput,
19
+ parseColorParts,
20
20
  classNames,
21
21
  coerceClassValue
22
22
  } from "@expcat/tigercat-core";
23
+ function rgbFromValue(value) {
24
+ const parts = parseColorParts(value);
25
+ return parts ? { r: parts.r, g: parts.g, b: parts.b } : { r: 0, g: 0, b: 0 };
26
+ }
27
+ function explicitAlphaFromValue(value) {
28
+ if (!/^(rgba|hsla)\(/i.test(value.trim())) return null;
29
+ const parts = parseColorParts(value);
30
+ return parts ? parts.a : null;
31
+ }
23
32
  var ColorPicker = defineComponent({
24
33
  name: "TigerColorPicker",
25
34
  props: {
@@ -33,7 +42,7 @@ var ColorPicker = defineComponent({
33
42
  emits: ["update:modelValue", "change"],
34
43
  setup(props, { emit, attrs }) {
35
44
  const isOpen = ref(false);
36
- const alpha = ref(1);
45
+ const alpha = ref(explicitAlphaFromValue(props.modelValue) ?? 1);
37
46
  const containerRef = ref(null);
38
47
  const triggerRef = ref(null);
39
48
  const panelRef = ref(null);
@@ -49,8 +58,15 @@ var ColorPicker = defineComponent({
49
58
  restoreFocusOnDismiss: true,
50
59
  onDismiss: closePanel
51
60
  });
52
- const rgb = computed(() => hexToRgb(props.modelValue));
61
+ const rgb = computed(() => rgbFromValue(props.modelValue));
53
62
  const hsv = computed(() => rgbToHsv(rgb.value.r, rgb.value.g, rgb.value.b));
63
+ watch(
64
+ () => props.modelValue,
65
+ (value) => {
66
+ const next = explicitAlphaFromValue(value);
67
+ if (next !== null) alpha.value = next;
68
+ }
69
+ );
54
70
  const displayValue = computed(
55
71
  () => formatColorString(
56
72
  rgb.value.r,
@@ -84,7 +100,12 @@ var ColorPicker = defineComponent({
84
100
  }
85
101
  }
86
102
  function handleAlphaChange(e) {
87
- alpha.value = Number(e.target.value) / 100;
103
+ const nextAlpha = Number(e.target.value) / 100;
104
+ alpha.value = nextAlpha;
105
+ const format = props.format === "hex" ? "rgb" : props.format;
106
+ const next = formatColorString(rgb.value.r, rgb.value.g, rgb.value.b, format, nextAlpha);
107
+ emit("update:modelValue", next);
108
+ emit("change", next);
88
109
  }
89
110
  function handleHueChange(e) {
90
111
  const hue = Number(e.target.value);
@@ -96,10 +117,10 @@ var ColorPicker = defineComponent({
96
117
  function handleInputChange(e) {
97
118
  const val = e.target.value;
98
119
  inputValue.value = val;
99
- const hex = parseColorInput(val);
100
- if (hex) {
101
- emit("update:modelValue", hex);
102
- emit("change", hex);
120
+ const parsed = parseColorInput(val);
121
+ if (parsed) {
122
+ emit("update:modelValue", parsed);
123
+ emit("change", parsed);
103
124
  }
104
125
  }
105
126
  function handlePresetClick(color) {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Table
3
- } from "./chunk-AU6IC6K7.mjs";
3
+ } from "./chunk-ABNS4B5V.mjs";
4
4
  import {
5
5
  Select
6
6
  } from "./chunk-BZ6MVFV7.mjs";
7
7
  import {
8
8
  Popover
9
- } from "./chunk-OQVGB7X6.mjs";
9
+ } from "./chunk-626VUZ2Q.mjs";
10
10
  import {
11
11
  Input
12
- } from "./chunk-XLNK3Z2P.mjs";
12
+ } from "./chunk-POWDTOMF.mjs";
13
13
  import {
14
14
  Checkbox
15
15
  } from "./chunk-MYKKKVGK.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useFloatingPopup
3
- } from "./chunk-26OI3TEA.mjs";
3
+ } from "./chunk-PMQSXEMT.mjs";
4
4
  import {
5
5
  renderVueOverlayTeleport
6
6
  } from "./chunk-Q7Y22OFX.mjs";
@@ -1,6 +1,12 @@
1
+ import {
2
+ useResponsiveChartSize
3
+ } from "./chunk-UEGNXN5B.mjs";
1
4
  import {
2
5
  useChartInteraction
3
- } from "./chunk-PE5OA4YG.mjs";
6
+ } from "./chunk-FHUGOSEY.mjs";
7
+ import {
8
+ ChartSeries
9
+ } from "./chunk-2ZUEXCVJ.mjs";
4
10
  import {
5
11
  ChartTooltip
6
12
  } from "./chunk-SPFL55TF.mjs";
@@ -9,16 +15,13 @@ import {
9
15
  } from "./chunk-ZWVA7HT3.mjs";
10
16
  import {
11
17
  ChartCanvas
12
- } from "./chunk-W5RZPTFD.mjs";
18
+ } from "./chunk-SNNT64HK.mjs";
13
19
  import {
14
20
  ChartGrid
15
21
  } from "./chunk-MI6TL3CQ.mjs";
16
22
  import {
17
23
  ChartLegend
18
24
  } from "./chunk-V443QIJM.mjs";
19
- import {
20
- ChartSeries
21
- } from "./chunk-2ZUEXCVJ.mjs";
22
25
  import {
23
26
  useTigerConfig
24
27
  } from "./chunk-UOJOJBEU.mjs";
@@ -29,7 +32,6 @@ import {
29
32
  classNames,
30
33
  createLinearScale,
31
34
  getChartElementOpacity,
32
- getChartInnerRect,
33
35
  getNumberExtent,
34
36
  getStableChartGradientPrefix,
35
37
  getScatterHoverShadow,
@@ -158,6 +160,7 @@ var ScatterChart = defineComponent({
158
160
  wrapperClasses
159
161
  } = useChartInteraction({
160
162
  hoverable: computed(() => props.hoverable),
163
+ showTooltip: computed(() => props.showTooltip),
161
164
  hoveredIndexProp: () => props.hoveredIndex,
162
165
  selectable: computed(() => props.selectable),
163
166
  selectedIndexProp: () => props.selectedIndex,
@@ -168,7 +171,12 @@ var ScatterChart = defineComponent({
168
171
  getData: (index) => props.data[index],
169
172
  eventNames: { hover: "point-hover", click: "point-click" }
170
173
  });
171
- const innerRect = computed(() => getChartInnerRect(props.width, props.height, props.padding));
174
+ const { innerRect, onResolvedSizeChange } = useResponsiveChartSize(
175
+ () => props.width,
176
+ () => props.height,
177
+ () => props.padding,
178
+ () => props.responsive
179
+ );
172
180
  const xValues = computed(() => props.data.map((item) => item.x));
173
181
  const yValues = computed(() => props.data.map((item) => item.y));
174
182
  const resolvedXScale = computed(() => {
@@ -252,7 +260,8 @@ var ScatterChart = defineComponent({
252
260
  responsive: props.responsive,
253
261
  title: props.title,
254
262
  desc: props.desc,
255
- className: classNames(props.className)
263
+ className: classNames(props.className),
264
+ onResolvedSizeChange
256
265
  },
257
266
  {
258
267
  default: () => [
@@ -330,19 +339,24 @@ var ScatterChart = defineComponent({
330
339
  ...shared
331
340
  });
332
341
  }
333
- return h("path", {
334
- key: `point-${index}`,
335
- d: getScatterPointPath(props.pointStyle, point.r),
336
- transform: `translate(${point.cx},${point.cy})`,
337
- ...shared
338
- });
342
+ return h(
343
+ "g",
344
+ {
345
+ key: `point-${index}`,
346
+ transform: `translate(${point.cx},${point.cy})`
347
+ },
348
+ h("path", {
349
+ d: getScatterPointPath(props.pointStyle, point.r),
350
+ ...shared
351
+ })
352
+ );
339
353
  })
340
354
  }
341
355
  )
342
356
  ].filter(Boolean)
343
357
  }
344
358
  );
345
- const tooltip = props.showTooltip && props.hoverable ? h(ChartTooltip, {
359
+ const tooltip = props.showTooltip ? h(ChartTooltip, {
346
360
  content: tooltipContent.value,
347
361
  open: resolvedHoveredIndex.value !== null && tooltipContent.value !== "",
348
362
  x: tooltipPosition.value.x,
@@ -0,0 +1,281 @@
1
+ // src/components/ScrollArea.ts
2
+ import {
3
+ defineComponent,
4
+ h,
5
+ ref,
6
+ shallowRef,
7
+ onMounted,
8
+ onBeforeUnmount,
9
+ nextTick,
10
+ watch
11
+ } from "vue";
12
+ import {
13
+ classNames,
14
+ coerceClassValue,
15
+ mergeStyleValues,
16
+ computeScrollAreaState,
17
+ computeScrollFromThumbOffset,
18
+ computeScrollFromTrackPoint,
19
+ createDocumentDragSession,
20
+ createEmptyScrollAreaState,
21
+ getScrollAreaBoxStyle,
22
+ getScrollAreaContentClasses,
23
+ getScrollAreaScrollbarClasses,
24
+ getScrollAreaShadowClasses,
25
+ getScrollAreaShadowSides,
26
+ getScrollAreaThumbClasses,
27
+ getScrollAreaThumbStyle,
28
+ getScrollAreaViewportClasses,
29
+ observeScrollAreaSize,
30
+ readScrollAreaMetrics,
31
+ scrollAreaRootClasses,
32
+ shouldRenderScrollAreaScrollbar,
33
+ SCROLL_AREA_MIN_THUMB_SIZE
34
+ } from "@expcat/tigercat-core";
35
+ var ScrollArea = defineComponent({
36
+ name: "TigerScrollArea",
37
+ inheritAttrs: false,
38
+ props: {
39
+ direction: {
40
+ type: String,
41
+ default: "vertical"
42
+ },
43
+ scrollbar: {
44
+ type: String,
45
+ default: "auto"
46
+ },
47
+ scrollbarSize: {
48
+ type: String,
49
+ default: "md"
50
+ },
51
+ shadow: { type: Boolean, default: false },
52
+ minThumbSize: { type: Number, default: SCROLL_AREA_MIN_THUMB_SIZE },
53
+ height: { type: [Number, String], default: void 0 },
54
+ maxHeight: { type: [Number, String], default: void 0 },
55
+ width: { type: [Number, String], default: void 0 },
56
+ maxWidth: { type: [Number, String], default: void 0 },
57
+ ariaLabel: { type: String, default: void 0 },
58
+ className: { type: String, default: void 0 },
59
+ viewportClassName: { type: String, default: void 0 }
60
+ },
61
+ emits: ["scroll"],
62
+ setup(props, { slots, emit, attrs, expose }) {
63
+ const viewportRef = ref(null);
64
+ const contentRef = ref(null);
65
+ const scrollState = shallowRef(createEmptyScrollAreaState());
66
+ const draggingAxis = ref(null);
67
+ let dragSession = null;
68
+ let stopObserving = null;
69
+ function syncState() {
70
+ const viewport = viewportRef.value;
71
+ if (!viewport) return;
72
+ scrollState.value = computeScrollAreaState(
73
+ readScrollAreaMetrics(viewport),
74
+ props.minThumbSize
75
+ );
76
+ }
77
+ function handleScroll() {
78
+ const viewport = viewportRef.value;
79
+ if (!viewport) return;
80
+ syncState();
81
+ emit("scroll", {
82
+ scrollTop: viewport.scrollTop,
83
+ scrollLeft: viewport.scrollLeft,
84
+ state: scrollState.value
85
+ });
86
+ }
87
+ function applyScroll(axis, position) {
88
+ const viewport = viewportRef.value;
89
+ if (!viewport) return;
90
+ if (axis === "y") viewport.scrollTop = position;
91
+ else viewport.scrollLeft = position;
92
+ handleScroll();
93
+ }
94
+ function trackSizeOf(axis) {
95
+ const viewport = viewportRef.value;
96
+ if (!viewport) return 0;
97
+ return axis === "y" ? viewport.clientHeight : viewport.clientWidth;
98
+ }
99
+ function scrollSizeOf(axis) {
100
+ const viewport = viewportRef.value;
101
+ if (!viewport) return 0;
102
+ return axis === "y" ? viewport.scrollHeight : viewport.scrollWidth;
103
+ }
104
+ function startThumbDrag(axis, event) {
105
+ const viewport = viewportRef.value;
106
+ if (!viewport) return;
107
+ event.preventDefault();
108
+ event.stopPropagation();
109
+ const axisState = axis === "y" ? scrollState.value.y : scrollState.value.x;
110
+ const startOffset = axisState.thumbOffset;
111
+ const startPoint = axis === "y" ? event.clientY : event.clientX;
112
+ dragSession?.dispose();
113
+ draggingAxis.value = axis;
114
+ dragSession = createDocumentDragSession({
115
+ startX: event.clientX,
116
+ startY: event.clientY,
117
+ ownerDocument: viewport.ownerDocument,
118
+ onMove: ({ currentX, currentY }) => {
119
+ const current = axis === "y" ? currentY : currentX;
120
+ const trackSize = trackSizeOf(axis);
121
+ applyScroll(
122
+ axis,
123
+ computeScrollFromThumbOffset(
124
+ startOffset + (current - startPoint),
125
+ trackSize,
126
+ axisState.thumbSize,
127
+ scrollSizeOf(axis),
128
+ trackSize
129
+ )
130
+ );
131
+ },
132
+ onEnd: () => {
133
+ draggingAxis.value = null;
134
+ dragSession = null;
135
+ }
136
+ });
137
+ }
138
+ function handleTrackMouseDown(axis, event) {
139
+ const target = event.target;
140
+ if (target?.dataset.scrollAreaThumb) {
141
+ startThumbDrag(axis, event);
142
+ return;
143
+ }
144
+ const track = event.currentTarget;
145
+ const rect = track.getBoundingClientRect();
146
+ const point = axis === "y" ? event.clientY - rect.top : event.clientX - rect.left;
147
+ const axisState = axis === "y" ? scrollState.value.y : scrollState.value.x;
148
+ const trackSize = trackSizeOf(axis);
149
+ applyScroll(
150
+ axis,
151
+ computeScrollFromTrackPoint(
152
+ point,
153
+ trackSize,
154
+ axisState.thumbSize,
155
+ scrollSizeOf(axis),
156
+ trackSize
157
+ )
158
+ );
159
+ }
160
+ function scrollTo(options) {
161
+ const viewport = viewportRef.value;
162
+ if (!viewport) return;
163
+ const behavior = options.behavior ?? "auto";
164
+ if (typeof viewport.scrollTo === "function") {
165
+ viewport.scrollTo({ top: options.top, left: options.left, behavior });
166
+ } else {
167
+ if (options.top !== void 0) viewport.scrollTop = options.top;
168
+ if (options.left !== void 0) viewport.scrollLeft = options.left;
169
+ }
170
+ handleScroll();
171
+ }
172
+ function scrollToTop(behavior) {
173
+ scrollTo({ top: 0, behavior });
174
+ }
175
+ function scrollToBottom(behavior) {
176
+ const viewport = viewportRef.value;
177
+ if (!viewport) return;
178
+ scrollTo({ top: viewport.scrollHeight, behavior });
179
+ }
180
+ onMounted(() => {
181
+ syncState();
182
+ stopObserving = observeScrollAreaSize([viewportRef.value, contentRef.value], syncState);
183
+ });
184
+ onBeforeUnmount(() => {
185
+ dragSession?.dispose();
186
+ dragSession = null;
187
+ stopObserving?.();
188
+ stopObserving = null;
189
+ });
190
+ watch(
191
+ () => [props.direction, props.minThumbSize],
192
+ () => {
193
+ void nextTick(syncState);
194
+ }
195
+ );
196
+ expose({
197
+ scrollTo,
198
+ scrollToTop,
199
+ scrollToBottom,
200
+ getViewport: () => viewportRef.value,
201
+ getState: () => scrollState.value
202
+ });
203
+ function renderScrollbar(axis) {
204
+ const axisState = axis === "y" ? scrollState.value.y : scrollState.value.x;
205
+ if (!shouldRenderScrollAreaScrollbar(props.scrollbar, props.direction, axis, axisState)) {
206
+ return null;
207
+ }
208
+ return h(
209
+ "div",
210
+ {
211
+ key: `scrollbar-${axis}`,
212
+ class: getScrollAreaScrollbarClasses(axis, props.scrollbarSize, props.scrollbar),
213
+ "data-scroll-area-scrollbar": axis,
214
+ "aria-hidden": "true",
215
+ onMousedown: (event) => handleTrackMouseDown(axis, event)
216
+ },
217
+ [
218
+ h("div", {
219
+ class: getScrollAreaThumbClasses(axis, draggingAxis.value === axis),
220
+ style: getScrollAreaThumbStyle(axis, axisState),
221
+ "data-scroll-area-thumb": axis
222
+ })
223
+ ]
224
+ );
225
+ }
226
+ return () => {
227
+ const shadows = props.shadow ? getScrollAreaShadowSides(scrollState.value, props.direction) : [];
228
+ return h(
229
+ "div",
230
+ {
231
+ ...attrs,
232
+ class: classNames(scrollAreaRootClasses, props.className, coerceClassValue(attrs.class)),
233
+ style: mergeStyleValues(attrs.style),
234
+ "data-scroll-area": ""
235
+ },
236
+ [
237
+ h(
238
+ "div",
239
+ {
240
+ ref: viewportRef,
241
+ class: getScrollAreaViewportClasses(props.direction, props.viewportClassName),
242
+ style: getScrollAreaBoxStyle(props),
243
+ tabindex: 0,
244
+ role: props.ariaLabel ? "region" : void 0,
245
+ "aria-label": props.ariaLabel,
246
+ "data-scroll-area-viewport": "",
247
+ onScroll: handleScroll
248
+ },
249
+ [
250
+ h(
251
+ "div",
252
+ {
253
+ ref: contentRef,
254
+ class: getScrollAreaContentClasses(props.direction),
255
+ "data-scroll-area-content": ""
256
+ },
257
+ slots.default?.()
258
+ )
259
+ ]
260
+ ),
261
+ ...shadows.map(
262
+ (side) => h("div", {
263
+ key: `shadow-${side}`,
264
+ class: getScrollAreaShadowClasses(side),
265
+ "data-scroll-area-shadow": side,
266
+ "aria-hidden": "true"
267
+ })
268
+ ),
269
+ renderScrollbar("y"),
270
+ renderScrollbar("x")
271
+ ]
272
+ );
273
+ };
274
+ }
275
+ });
276
+ var ScrollArea_default = ScrollArea;
277
+
278
+ export {
279
+ ScrollArea,
280
+ ScrollArea_default
281
+ };