@expcat/tigercat-react 0.0.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 (382) hide show
  1. package/LICENSE +21 -0
  2. package/dist/chunk-2DOPHSZP.js +32 -0
  3. package/dist/chunk-2TS6X5RA.js +73 -0
  4. package/dist/chunk-2Y327ZU4.js +493 -0
  5. package/dist/chunk-3GD3LOII.mjs +23 -0
  6. package/dist/chunk-3OF7XPIQ.js +90 -0
  7. package/dist/chunk-3WPKVV4N.js +140 -0
  8. package/dist/chunk-3XXXM4OB.mjs +203 -0
  9. package/dist/chunk-427CM2U6.mjs +76 -0
  10. package/dist/chunk-472D2S4R.mjs +23 -0
  11. package/dist/chunk-5FRENLDC.js +194 -0
  12. package/dist/chunk-5HUYCSA4.mjs +77 -0
  13. package/dist/chunk-5QKMQRCW.js +89 -0
  14. package/dist/chunk-5ZVSFIZD.js +50 -0
  15. package/dist/chunk-6575DOCV.mjs +117 -0
  16. package/dist/chunk-672SCJWZ.mjs +88 -0
  17. package/dist/chunk-6MGEGOYJ.js +108 -0
  18. package/dist/chunk-6PUSRC6S.js +68 -0
  19. package/dist/chunk-6YDIBMCM.mjs +33 -0
  20. package/dist/chunk-72ZRDBXN.js +25 -0
  21. package/dist/chunk-77D7VQMG.js +43 -0
  22. package/dist/chunk-7CAJK2ZK.mjs +54 -0
  23. package/dist/chunk-7JQ7LURS.mjs +25 -0
  24. package/dist/chunk-7KRBDT2Z.mjs +269 -0
  25. package/dist/chunk-7O2OQKVY.mjs +10 -0
  26. package/dist/chunk-7OLWGHUR.mjs +169 -0
  27. package/dist/chunk-7P6PHSFM.js +548 -0
  28. package/dist/chunk-ADOPAXPG.mjs +301 -0
  29. package/dist/chunk-AG6GVQ5O.js +271 -0
  30. package/dist/chunk-ALP3KYYY.mjs +47 -0
  31. package/dist/chunk-AQ6DHCP6.js +53 -0
  32. package/dist/chunk-AQQRWISY.js +184 -0
  33. package/dist/chunk-C52ZCGYG.mjs +313 -0
  34. package/dist/chunk-C5EFBJBR.js +540 -0
  35. package/dist/chunk-CES6LGQ7.mjs +546 -0
  36. package/dist/chunk-CKUSQR2H.mjs +41 -0
  37. package/dist/chunk-CR4QK2AB.mjs +88 -0
  38. package/dist/chunk-CTAMMQBC.mjs +297 -0
  39. package/dist/chunk-D3I2SY7X.js +301 -0
  40. package/dist/chunk-DCRVIDMY.mjs +41 -0
  41. package/dist/chunk-DIZNY6N4.mjs +71 -0
  42. package/dist/chunk-DZJUFU55.js +300 -0
  43. package/dist/chunk-EB6EDLJZ.mjs +50 -0
  44. package/dist/chunk-EI2GHMQS.js +37 -0
  45. package/dist/chunk-ENR3RIMM.js +205 -0
  46. package/dist/chunk-EQWQXURG.js +18 -0
  47. package/dist/chunk-EUHWE7MN.js +267 -0
  48. package/dist/chunk-FAKTU64M.js +67 -0
  49. package/dist/chunk-FQ6UHRAO.js +499 -0
  50. package/dist/chunk-G6FSHN2I.mjs +111 -0
  51. package/dist/chunk-GIYBVWR4.mjs +213 -0
  52. package/dist/chunk-HDDBBZQH.js +321 -0
  53. package/dist/chunk-HQLZL3XQ.mjs +48 -0
  54. package/dist/chunk-HQXZVTP4.mjs +199 -0
  55. package/dist/chunk-HUMGEP7S.mjs +17 -0
  56. package/dist/chunk-IFY46RWU.js +25 -0
  57. package/dist/chunk-IQINYCU6.js +99 -0
  58. package/dist/chunk-IWENGARY.mjs +32 -0
  59. package/dist/chunk-IY4LEJYF.js +78 -0
  60. package/dist/chunk-JW64IJP2.js +210 -0
  61. package/dist/chunk-K7ZMB2TH.mjs +696 -0
  62. package/dist/chunk-KAEHFMTQ.mjs +537 -0
  63. package/dist/chunk-KMQOLVWP.mjs +65 -0
  64. package/dist/chunk-KUCFT2OA.js +43 -0
  65. package/dist/chunk-LADCWARG.mjs +97 -0
  66. package/dist/chunk-LAZGEMA2.mjs +176 -0
  67. package/dist/chunk-LNKI6HQ3.js +152 -0
  68. package/dist/chunk-LXA2YBAO.js +38 -0
  69. package/dist/chunk-MKWXJZ3T.js +74 -0
  70. package/dist/chunk-MQXBU5YX.mjs +87 -0
  71. package/dist/chunk-NEULKOYJ.js +48 -0
  72. package/dist/chunk-NI2WNZRT.js +38 -0
  73. package/dist/chunk-NOOPXNR4.mjs +36 -0
  74. package/dist/chunk-NSGDRTSQ.mjs +138 -0
  75. package/dist/chunk-O3EUFIOS.mjs +142 -0
  76. package/dist/chunk-OCVQ3LOT.mjs +45 -0
  77. package/dist/chunk-OFCKGWTS.js +12 -0
  78. package/dist/chunk-OQTPXPAP.mjs +10 -0
  79. package/dist/chunk-OTRGVENC.js +305 -0
  80. package/dist/chunk-P273E6XE.js +219 -0
  81. package/dist/chunk-PAD2DX5M.mjs +331 -0
  82. package/dist/chunk-PUDU34R4.mjs +106 -0
  83. package/dist/chunk-Q3DPJHNM.js +407 -0
  84. package/dist/chunk-QEAC4MIG.mjs +295 -0
  85. package/dist/chunk-QFVE7GKD.js +109 -0
  86. package/dist/chunk-QL6OBKEN.js +84 -0
  87. package/dist/chunk-QL6UEG3U.js +27 -0
  88. package/dist/chunk-QN7NIX7D.mjs +82 -0
  89. package/dist/chunk-QORSSZX4.js +144 -0
  90. package/dist/chunk-R4JSBXGG.js +12 -0
  91. package/dist/chunk-R5BQHZWB.js +698 -0
  92. package/dist/chunk-R7MS42PL.js +90 -0
  93. package/dist/chunk-RTQNWZN4.mjs +405 -0
  94. package/dist/chunk-SIVJX7VU.mjs +16 -0
  95. package/dist/chunk-SJ5RFU2O.mjs +17 -0
  96. package/dist/chunk-T4TJJMLM.mjs +34 -0
  97. package/dist/chunk-TB2UHDOZ.js +19 -0
  98. package/dist/chunk-TBIEWDY5.js +175 -0
  99. package/dist/chunk-TJFS44SH.js +48 -0
  100. package/dist/chunk-TR246HQP.mjs +69 -0
  101. package/dist/chunk-TZ26HQAW.js +85 -0
  102. package/dist/chunk-U4ZVEPYD.js +71 -0
  103. package/dist/chunk-UFAXJVMD.js +120 -0
  104. package/dist/chunk-V2HVHLBY.mjs +83 -0
  105. package/dist/chunk-VD3IK5XT.mjs +35 -0
  106. package/dist/chunk-VEGBO77D.mjs +20 -0
  107. package/dist/chunk-VJJ76I7U.js +19 -0
  108. package/dist/chunk-VO4WDK4K.js +37 -0
  109. package/dist/chunk-VSF4DF7N.js +84 -0
  110. package/dist/chunk-VVO4V4IK.js +56 -0
  111. package/dist/chunk-W7HUFFPJ.mjs +263 -0
  112. package/dist/chunk-WDAMDVLU.mjs +106 -0
  113. package/dist/chunk-WEGU7O4J.mjs +66 -0
  114. package/dist/chunk-WK5HN4OH.js +113 -0
  115. package/dist/chunk-WSCSDSV7.mjs +145 -0
  116. package/dist/chunk-WSJO2PIE.mjs +72 -0
  117. package/dist/chunk-XDKXL2BP.mjs +188 -0
  118. package/dist/chunk-XS5JP2KO.mjs +491 -0
  119. package/dist/chunk-XZDJ5FRB.js +333 -0
  120. package/dist/chunk-YE2M2HNM.js +168 -0
  121. package/dist/chunk-YYGTJKP5.js +39 -0
  122. package/dist/chunk-YYKJ63LD.mjs +497 -0
  123. package/dist/chunk-Z4Z3I74Q.mjs +166 -0
  124. package/dist/chunk-ZO4XVOHU.mjs +45 -0
  125. package/dist/chunk-ZREFCRX3.js +52 -0
  126. package/dist/components/Alert.d.mts +24 -0
  127. package/dist/components/Alert.d.ts +24 -0
  128. package/dist/components/Alert.js +10 -0
  129. package/dist/components/Alert.mjs +1 -0
  130. package/dist/components/Avatar.d.mts +12 -0
  131. package/dist/components/Avatar.d.ts +12 -0
  132. package/dist/components/Avatar.js +10 -0
  133. package/dist/components/Avatar.mjs +1 -0
  134. package/dist/components/Badge.d.mts +12 -0
  135. package/dist/components/Badge.d.ts +12 -0
  136. package/dist/components/Badge.js +10 -0
  137. package/dist/components/Badge.mjs +1 -0
  138. package/dist/components/Breadcrumb.d.mts +13 -0
  139. package/dist/components/Breadcrumb.d.ts +13 -0
  140. package/dist/components/Breadcrumb.js +14 -0
  141. package/dist/components/Breadcrumb.mjs +1 -0
  142. package/dist/components/BreadcrumbItem.d.mts +21 -0
  143. package/dist/components/BreadcrumbItem.d.ts +21 -0
  144. package/dist/components/BreadcrumbItem.js +11 -0
  145. package/dist/components/BreadcrumbItem.mjs +2 -0
  146. package/dist/components/Button.d.mts +8 -0
  147. package/dist/components/Button.d.ts +8 -0
  148. package/dist/components/Button.js +10 -0
  149. package/dist/components/Button.mjs +1 -0
  150. package/dist/components/Card.d.mts +33 -0
  151. package/dist/components/Card.d.ts +33 -0
  152. package/dist/components/Card.js +10 -0
  153. package/dist/components/Card.mjs +1 -0
  154. package/dist/components/Checkbox.d.mts +48 -0
  155. package/dist/components/Checkbox.d.ts +48 -0
  156. package/dist/components/Checkbox.js +11 -0
  157. package/dist/components/Checkbox.mjs +2 -0
  158. package/dist/components/CheckboxGroup.d.mts +39 -0
  159. package/dist/components/CheckboxGroup.d.ts +39 -0
  160. package/dist/components/CheckboxGroup.js +14 -0
  161. package/dist/components/CheckboxGroup.mjs +1 -0
  162. package/dist/components/Col.d.mts +7 -0
  163. package/dist/components/Col.d.ts +7 -0
  164. package/dist/components/Col.js +11 -0
  165. package/dist/components/Col.mjs +2 -0
  166. package/dist/components/ConfigProvider.d.mts +14 -0
  167. package/dist/components/ConfigProvider.d.ts +14 -0
  168. package/dist/components/ConfigProvider.js +14 -0
  169. package/dist/components/ConfigProvider.mjs +1 -0
  170. package/dist/components/Container.d.mts +13 -0
  171. package/dist/components/Container.d.ts +13 -0
  172. package/dist/components/Container.js +10 -0
  173. package/dist/components/Container.mjs +1 -0
  174. package/dist/components/Content.d.mts +9 -0
  175. package/dist/components/Content.d.ts +9 -0
  176. package/dist/components/Content.js +10 -0
  177. package/dist/components/Content.mjs +1 -0
  178. package/dist/components/DatePicker.d.mts +24 -0
  179. package/dist/components/DatePicker.d.ts +24 -0
  180. package/dist/components/DatePicker.js +10 -0
  181. package/dist/components/DatePicker.mjs +1 -0
  182. package/dist/components/Descriptions.d.mts +53 -0
  183. package/dist/components/Descriptions.d.ts +53 -0
  184. package/dist/components/Descriptions.js +16 -0
  185. package/dist/components/Descriptions.mjs +1 -0
  186. package/dist/components/Divider.d.mts +12 -0
  187. package/dist/components/Divider.d.ts +12 -0
  188. package/dist/components/Divider.js +10 -0
  189. package/dist/components/Divider.mjs +1 -0
  190. package/dist/components/Drawer.d.mts +19 -0
  191. package/dist/components/Drawer.d.ts +19 -0
  192. package/dist/components/Drawer.js +11 -0
  193. package/dist/components/Drawer.mjs +2 -0
  194. package/dist/components/Dropdown.d.mts +22 -0
  195. package/dist/components/Dropdown.d.ts +22 -0
  196. package/dist/components/Dropdown.js +16 -0
  197. package/dist/components/Dropdown.mjs +3 -0
  198. package/dist/components/DropdownItem.d.mts +17 -0
  199. package/dist/components/DropdownItem.d.ts +17 -0
  200. package/dist/components/DropdownItem.js +13 -0
  201. package/dist/components/DropdownItem.mjs +4 -0
  202. package/dist/components/DropdownMenu.d.mts +13 -0
  203. package/dist/components/DropdownMenu.d.ts +13 -0
  204. package/dist/components/DropdownMenu.js +10 -0
  205. package/dist/components/DropdownMenu.mjs +1 -0
  206. package/dist/components/Footer.d.mts +9 -0
  207. package/dist/components/Footer.d.ts +9 -0
  208. package/dist/components/Footer.js +10 -0
  209. package/dist/components/Footer.mjs +1 -0
  210. package/dist/components/Form.d.mts +56 -0
  211. package/dist/components/Form.d.ts +56 -0
  212. package/dist/components/Form.js +14 -0
  213. package/dist/components/Form.mjs +1 -0
  214. package/dist/components/FormItem.d.mts +16 -0
  215. package/dist/components/FormItem.d.ts +16 -0
  216. package/dist/components/FormItem.js +11 -0
  217. package/dist/components/FormItem.mjs +2 -0
  218. package/dist/components/Header.d.mts +9 -0
  219. package/dist/components/Header.d.ts +9 -0
  220. package/dist/components/Header.js +10 -0
  221. package/dist/components/Header.mjs +1 -0
  222. package/dist/components/Icon.d.mts +9 -0
  223. package/dist/components/Icon.d.ts +9 -0
  224. package/dist/components/Icon.js +10 -0
  225. package/dist/components/Icon.mjs +1 -0
  226. package/dist/components/Input.d.mts +28 -0
  227. package/dist/components/Input.d.ts +28 -0
  228. package/dist/components/Input.js +10 -0
  229. package/dist/components/Input.mjs +1 -0
  230. package/dist/components/Layout.d.mts +9 -0
  231. package/dist/components/Layout.d.ts +9 -0
  232. package/dist/components/Layout.js +10 -0
  233. package/dist/components/Layout.mjs +1 -0
  234. package/dist/components/Link.d.mts +10 -0
  235. package/dist/components/Link.d.ts +10 -0
  236. package/dist/components/Link.js +10 -0
  237. package/dist/components/Link.mjs +1 -0
  238. package/dist/components/List.d.mts +94 -0
  239. package/dist/components/List.d.ts +94 -0
  240. package/dist/components/List.js +12 -0
  241. package/dist/components/List.mjs +3 -0
  242. package/dist/components/Loading.d.mts +8 -0
  243. package/dist/components/Loading.d.ts +8 -0
  244. package/dist/components/Loading.js +10 -0
  245. package/dist/components/Loading.mjs +1 -0
  246. package/dist/components/Menu.d.mts +35 -0
  247. package/dist/components/Menu.d.ts +35 -0
  248. package/dist/components/Menu.js +14 -0
  249. package/dist/components/Menu.mjs +1 -0
  250. package/dist/components/MenuItem.d.mts +20 -0
  251. package/dist/components/MenuItem.d.ts +20 -0
  252. package/dist/components/MenuItem.js +11 -0
  253. package/dist/components/MenuItem.mjs +2 -0
  254. package/dist/components/MenuItemGroup.d.mts +16 -0
  255. package/dist/components/MenuItemGroup.d.ts +16 -0
  256. package/dist/components/MenuItemGroup.js +12 -0
  257. package/dist/components/MenuItemGroup.mjs +3 -0
  258. package/dist/components/Message.d.mts +44 -0
  259. package/dist/components/Message.d.ts +44 -0
  260. package/dist/components/Message.js +20 -0
  261. package/dist/components/Message.mjs +1 -0
  262. package/dist/components/Modal.d.mts +41 -0
  263. package/dist/components/Modal.d.ts +41 -0
  264. package/dist/components/Modal.js +11 -0
  265. package/dist/components/Modal.mjs +2 -0
  266. package/dist/components/Notification.d.mts +40 -0
  267. package/dist/components/Notification.d.ts +40 -0
  268. package/dist/components/Notification.js +20 -0
  269. package/dist/components/Notification.mjs +1 -0
  270. package/dist/components/Pagination.d.mts +11 -0
  271. package/dist/components/Pagination.d.ts +11 -0
  272. package/dist/components/Pagination.js +16 -0
  273. package/dist/components/Pagination.mjs +1 -0
  274. package/dist/components/Popconfirm.d.mts +34 -0
  275. package/dist/components/Popconfirm.d.ts +34 -0
  276. package/dist/components/Popconfirm.js +10 -0
  277. package/dist/components/Popconfirm.mjs +1 -0
  278. package/dist/components/Popover.d.mts +14 -0
  279. package/dist/components/Popover.d.ts +14 -0
  280. package/dist/components/Popover.js +10 -0
  281. package/dist/components/Popover.mjs +1 -0
  282. package/dist/components/Progress.d.mts +8 -0
  283. package/dist/components/Progress.d.ts +8 -0
  284. package/dist/components/Progress.js +10 -0
  285. package/dist/components/Progress.mjs +1 -0
  286. package/dist/components/Radio.d.mts +20 -0
  287. package/dist/components/Radio.d.ts +20 -0
  288. package/dist/components/Radio.js +11 -0
  289. package/dist/components/Radio.mjs +2 -0
  290. package/dist/components/RadioGroup.d.mts +28 -0
  291. package/dist/components/RadioGroup.d.ts +28 -0
  292. package/dist/components/RadioGroup.js +14 -0
  293. package/dist/components/RadioGroup.mjs +1 -0
  294. package/dist/components/Row.d.mts +11 -0
  295. package/dist/components/Row.d.ts +11 -0
  296. package/dist/components/Row.js +14 -0
  297. package/dist/components/Row.mjs +1 -0
  298. package/dist/components/Select.d.mts +23 -0
  299. package/dist/components/Select.d.ts +23 -0
  300. package/dist/components/Select.js +10 -0
  301. package/dist/components/Select.mjs +1 -0
  302. package/dist/components/Sidebar.d.mts +9 -0
  303. package/dist/components/Sidebar.d.ts +9 -0
  304. package/dist/components/Sidebar.js +10 -0
  305. package/dist/components/Sidebar.mjs +1 -0
  306. package/dist/components/Skeleton.d.mts +7 -0
  307. package/dist/components/Skeleton.d.ts +7 -0
  308. package/dist/components/Skeleton.js +10 -0
  309. package/dist/components/Skeleton.mjs +1 -0
  310. package/dist/components/Slider.d.mts +12 -0
  311. package/dist/components/Slider.d.ts +12 -0
  312. package/dist/components/Slider.js +10 -0
  313. package/dist/components/Slider.mjs +1 -0
  314. package/dist/components/Space.d.mts +11 -0
  315. package/dist/components/Space.d.ts +11 -0
  316. package/dist/components/Space.js +10 -0
  317. package/dist/components/Space.mjs +1 -0
  318. package/dist/components/Steps.d.mts +31 -0
  319. package/dist/components/Steps.d.ts +31 -0
  320. package/dist/components/Steps.js +14 -0
  321. package/dist/components/Steps.mjs +1 -0
  322. package/dist/components/StepsItem.d.mts +36 -0
  323. package/dist/components/StepsItem.d.ts +36 -0
  324. package/dist/components/StepsItem.js +10 -0
  325. package/dist/components/StepsItem.mjs +1 -0
  326. package/dist/components/SubMenu.d.mts +20 -0
  327. package/dist/components/SubMenu.d.ts +20 -0
  328. package/dist/components/SubMenu.js +13 -0
  329. package/dist/components/SubMenu.mjs +4 -0
  330. package/dist/components/Switch.d.mts +12 -0
  331. package/dist/components/Switch.d.ts +12 -0
  332. package/dist/components/Switch.js +10 -0
  333. package/dist/components/Switch.mjs +1 -0
  334. package/dist/components/TabPane.d.mts +42 -0
  335. package/dist/components/TabPane.d.ts +42 -0
  336. package/dist/components/TabPane.js +10 -0
  337. package/dist/components/TabPane.mjs +1 -0
  338. package/dist/components/Table.d.mts +46 -0
  339. package/dist/components/Table.d.ts +46 -0
  340. package/dist/components/Table.js +10 -0
  341. package/dist/components/Table.mjs +1 -0
  342. package/dist/components/Tabs.d.mts +43 -0
  343. package/dist/components/Tabs.d.ts +43 -0
  344. package/dist/components/Tabs.js +14 -0
  345. package/dist/components/Tabs.mjs +1 -0
  346. package/dist/components/Tag.d.mts +16 -0
  347. package/dist/components/Tag.d.ts +16 -0
  348. package/dist/components/Tag.js +10 -0
  349. package/dist/components/Tag.mjs +1 -0
  350. package/dist/components/Text.d.mts +9 -0
  351. package/dist/components/Text.d.ts +9 -0
  352. package/dist/components/Text.js +10 -0
  353. package/dist/components/Text.mjs +1 -0
  354. package/dist/components/Textarea.d.mts +13 -0
  355. package/dist/components/Textarea.d.ts +13 -0
  356. package/dist/components/Textarea.js +10 -0
  357. package/dist/components/Textarea.mjs +1 -0
  358. package/dist/components/TimePicker.d.mts +28 -0
  359. package/dist/components/TimePicker.d.ts +28 -0
  360. package/dist/components/TimePicker.js +10 -0
  361. package/dist/components/TimePicker.mjs +1 -0
  362. package/dist/components/Timeline.d.mts +47 -0
  363. package/dist/components/Timeline.d.ts +47 -0
  364. package/dist/components/Timeline.js +10 -0
  365. package/dist/components/Timeline.mjs +1 -0
  366. package/dist/components/Tooltip.d.mts +15 -0
  367. package/dist/components/Tooltip.d.ts +15 -0
  368. package/dist/components/Tooltip.js +10 -0
  369. package/dist/components/Tooltip.mjs +1 -0
  370. package/dist/components/Tree.d.mts +154 -0
  371. package/dist/components/Tree.d.ts +154 -0
  372. package/dist/components/Tree.js +16 -0
  373. package/dist/components/Tree.mjs +1 -0
  374. package/dist/components/Upload.d.mts +16 -0
  375. package/dist/components/Upload.d.ts +16 -0
  376. package/dist/components/Upload.js +11 -0
  377. package/dist/components/Upload.mjs +2 -0
  378. package/dist/index.d.mts +76 -0
  379. package/dist/index.d.ts +76 -0
  380. package/dist/index.js +359 -0
  381. package/dist/index.mjs +67 -0
  382. package/package.json +60 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Yizhe Wang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var tigercatCore = require('@expcat/tigercat-core');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefault(React);
10
+
11
+ // src/components/Breadcrumb.tsx
12
+ var BreadcrumbContext = React.createContext(null);
13
+ function useBreadcrumbContext() {
14
+ return React.useContext(BreadcrumbContext);
15
+ }
16
+ var Breadcrumb = ({
17
+ separator = "/",
18
+ className,
19
+ style,
20
+ children,
21
+ ...props
22
+ }) => {
23
+ const containerClasses = React__default.default.useMemo(
24
+ () => tigercatCore.classNames(tigercatCore.breadcrumbContainerClasses, className),
25
+ [className]
26
+ );
27
+ const contextValue = React__default.default.useMemo(() => ({ separator }), [separator]);
28
+ return /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("nav", { className: containerClasses, "aria-label": "Breadcrumb", style, ...props, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "flex items-center flex-wrap gap-2", children }) }) });
29
+ };
30
+
31
+ exports.Breadcrumb = Breadcrumb;
32
+ exports.useBreadcrumbContext = useBreadcrumbContext;
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var tigercatCore = require('@expcat/tigercat-core');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ // src/components/Tag.tsx
8
+ var CloseIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
9
+ "svg",
10
+ {
11
+ className: "h-3 w-3",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ fill: "none",
14
+ viewBox: tigercatCore.icon24ViewBox,
15
+ stroke: "currentColor",
16
+ strokeWidth: tigercatCore.icon24StrokeWidth,
17
+ "aria-hidden": "true",
18
+ focusable: "false",
19
+ children: /* @__PURE__ */ jsxRuntime.jsx(
20
+ "path",
21
+ {
22
+ strokeLinecap: tigercatCore.icon24PathStrokeLinecap,
23
+ strokeLinejoin: tigercatCore.icon24PathStrokeLinejoin,
24
+ d: tigercatCore.tagCloseIconPath
25
+ }
26
+ )
27
+ }
28
+ );
29
+ var Tag = ({
30
+ variant = "default",
31
+ size = "md",
32
+ closable = false,
33
+ closeAriaLabel = "Close tag",
34
+ onClose,
35
+ children,
36
+ className,
37
+ ...props
38
+ }) => {
39
+ const [isVisible, setIsVisible] = react.useState(true);
40
+ const tagClasses = tigercatCore.classNames(
41
+ tigercatCore.tagBaseClasses,
42
+ tigercatCore.getTagVariantClasses(variant),
43
+ tigercatCore.tagSizeClasses[size],
44
+ className
45
+ );
46
+ const scheme = tigercatCore.defaultTagThemeColors[variant];
47
+ const closeButtonClasses = tigercatCore.classNames(tigercatCore.tagCloseButtonBaseClasses, scheme.closeBgHover, scheme.text);
48
+ const handleClose = (event) => {
49
+ event.stopPropagation();
50
+ onClose?.(event);
51
+ if (!event.defaultPrevented) {
52
+ setIsVisible(false);
53
+ }
54
+ };
55
+ if (!isVisible) {
56
+ return null;
57
+ }
58
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: tagClasses, role: "status", ...props, children: [
59
+ children != null && /* @__PURE__ */ jsxRuntime.jsx("span", { children }),
60
+ closable && /* @__PURE__ */ jsxRuntime.jsx(
61
+ "button",
62
+ {
63
+ className: closeButtonClasses,
64
+ onClick: handleClose,
65
+ "aria-label": closeAriaLabel,
66
+ type: "button",
67
+ children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, {})
68
+ }
69
+ )
70
+ ] });
71
+ };
72
+
73
+ exports.Tag = Tag;
@@ -0,0 +1,493 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var tigercatCore = require('@expcat/tigercat-core');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ // src/components/DatePicker.tsx
8
+ var Icon = ({ path, className }) => /* @__PURE__ */ jsxRuntime.jsx(
9
+ "svg",
10
+ {
11
+ className,
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ viewBox: tigercatCore.icon20ViewBox,
14
+ fill: "currentColor",
15
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: path, clipRule: "evenodd" })
16
+ }
17
+ );
18
+ var isRangeDatePicker = (props) => props.range === true;
19
+ var DatePicker = (props) => {
20
+ const {
21
+ size = "md",
22
+ disabled = false,
23
+ readonly = false,
24
+ required = false,
25
+ clearable = true,
26
+ format = "yyyy-MM-dd"
27
+ } = props;
28
+ const isRangeMode = isRangeDatePicker(props);
29
+ const placeholder = props.placeholder ?? (isRangeMode ? "Select date range" : "Select date");
30
+ const divProps = (({
31
+ value: _value,
32
+ defaultValue: _defaultValue,
33
+ range: _range,
34
+ locale: _locale,
35
+ labels: _labels,
36
+ size: _size,
37
+ format: _format,
38
+ placeholder: _placeholder,
39
+ disabled: _disabled,
40
+ readonly: _readonly,
41
+ required: _required,
42
+ minDate: _minDate,
43
+ maxDate: _maxDate,
44
+ clearable: _clearable,
45
+ name: _name,
46
+ id: _id,
47
+ onChange: _onChange,
48
+ onClear: _onClear,
49
+ className: _className,
50
+ ...rest
51
+ }) => rest)(props);
52
+ const [isOpen, setIsOpen] = react.useState(false);
53
+ const [activeDateIso, setActiveDateIso] = react.useState(null);
54
+ const [internalValue, setInternalValue] = react.useState(() => {
55
+ if (isRangeMode) return null;
56
+ return tigercatCore.parseDate(props.defaultValue ?? null);
57
+ });
58
+ const [internalRangeValue, setInternalRangeValue] = react.useState(() => {
59
+ if (!isRangeMode) return [null, null];
60
+ const tuple = props.defaultValue ?? null;
61
+ if (!tuple) return [null, null];
62
+ const start = Array.isArray(tuple) ? tigercatCore.parseDate(tuple[0]) : null;
63
+ const end = Array.isArray(tuple) ? tigercatCore.parseDate(tuple[1]) : null;
64
+ return [start, end];
65
+ });
66
+ const calendarRef = react.useRef(null);
67
+ const inputWrapperRef = react.useRef(null);
68
+ const inputRef = react.useRef(null);
69
+ const pendingFocusIsoRef = react.useRef(null);
70
+ const restoreFocusRef = react.useRef(null);
71
+ const isControlled = props.value !== void 0;
72
+ const selectedDate = (() => {
73
+ if (isRangeMode) return null;
74
+ const current = isControlled ? props.value : internalValue;
75
+ return tigercatCore.parseDate(current ?? null);
76
+ })();
77
+ const selectedRange = (() => {
78
+ if (!isRangeMode) return [null, null];
79
+ const tuple = isControlled ? props.value : internalRangeValue;
80
+ if (!tuple) return [null, null];
81
+ const start = Array.isArray(tuple) ? tigercatCore.parseDate(tuple[0]) : null;
82
+ const end = Array.isArray(tuple) ? tigercatCore.parseDate(tuple[1]) : null;
83
+ return [start, end];
84
+ })();
85
+ const minDateParsed = tigercatCore.parseDate(props.minDate ?? null);
86
+ const maxDateParsed = tigercatCore.parseDate(props.maxDate ?? null);
87
+ const [viewingMonth, setViewingMonth] = react.useState(
88
+ (selectedDate ?? selectedRange[0])?.getMonth() ?? (/* @__PURE__ */ new Date()).getMonth()
89
+ );
90
+ const [viewingYear, setViewingYear] = react.useState(
91
+ (selectedDate ?? selectedRange[0])?.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()
92
+ );
93
+ const displayValue = (() => {
94
+ if (!isRangeMode) {
95
+ return selectedDate ? tigercatCore.formatDate(selectedDate, format) : "";
96
+ }
97
+ const [start, end] = selectedRange;
98
+ const startText = start ? tigercatCore.formatDate(start, format) : "";
99
+ const endText = end ? tigercatCore.formatDate(end, format) : "";
100
+ if (!startText && !endText) return "";
101
+ if (startText && endText) return `${startText} - ${endText}`;
102
+ return startText ? `${startText} - ` : ` - ${endText}`;
103
+ })();
104
+ const showClearButton = (() => {
105
+ if (!clearable || disabled || readonly) return false;
106
+ if (!isRangeMode) return selectedDate !== null;
107
+ return selectedRange[0] !== null || selectedRange[1] !== null;
108
+ })();
109
+ const calendarDays = tigercatCore.getCalendarDays(viewingYear, viewingMonth);
110
+ const dayNames = tigercatCore.getShortDayNames(props.locale);
111
+ const labels = tigercatCore.getDatePickerLabels(props.locale, props.labels);
112
+ const toggleCalendar = () => {
113
+ if (!disabled && !readonly) {
114
+ setIsOpen(!isOpen);
115
+ if (!isOpen) {
116
+ restoreFocusRef.current = document.activeElement ?? null;
117
+ const baseDate = selectedDate ?? selectedRange[0];
118
+ if (baseDate) {
119
+ setViewingMonth(baseDate.getMonth());
120
+ setViewingYear(baseDate.getFullYear());
121
+ }
122
+ }
123
+ }
124
+ };
125
+ const closeCalendar = () => {
126
+ setIsOpen(false);
127
+ };
128
+ const getFirstEnabledIsoInView = () => {
129
+ for (const date of calendarDays) {
130
+ if (!date) continue;
131
+ const iso = tigercatCore.formatDate(date, "yyyy-MM-dd");
132
+ const isDisabled = isDateDisabled(date);
133
+ if (!isDisabled) return iso;
134
+ }
135
+ return null;
136
+ };
137
+ const getPreferredFocusIso = () => {
138
+ const focusDate = isRangeMode ? selectedRange[0] ?? selectedRange[1] : selectedDate;
139
+ if (focusDate) {
140
+ return tigercatCore.formatDate(focusDate, "yyyy-MM-dd");
141
+ }
142
+ const today = tigercatCore.normalizeDate(/* @__PURE__ */ new Date());
143
+ if (tigercatCore.isDateInRange(today, minDateParsed, maxDateParsed)) {
144
+ return tigercatCore.formatDate(today, "yyyy-MM-dd");
145
+ }
146
+ return getFirstEnabledIsoInView();
147
+ };
148
+ const focusDateButtonByIso = (iso) => {
149
+ const button = calendarRef.current?.querySelector(
150
+ `button[data-date="${iso}"]`
151
+ );
152
+ if (!button || button.disabled) return false;
153
+ button.focus();
154
+ setActiveDateIso(iso);
155
+ return true;
156
+ };
157
+ const restoreFocus = () => {
158
+ const target = restoreFocusRef.current ?? inputRef.current;
159
+ if (!target) return;
160
+ if (typeof target.focus === "function") {
161
+ target.focus();
162
+ }
163
+ };
164
+ const addDays = (date, days) => {
165
+ const next = new Date(date);
166
+ next.setDate(next.getDate() + days);
167
+ return next;
168
+ };
169
+ const moveFocus = (deltaDays) => {
170
+ const activeEl = document.activeElement;
171
+ const currentIso = activeEl?.getAttribute("data-date") ?? activeDateIso ?? null;
172
+ const baseIso = currentIso ?? getPreferredFocusIso();
173
+ if (!baseIso) return;
174
+ const baseDate = tigercatCore.parseDate(baseIso);
175
+ if (!baseDate) return;
176
+ let candidate = addDays(baseDate, deltaDays);
177
+ for (let attempts = 0; attempts < 42; attempts++) {
178
+ const iso = tigercatCore.formatDate(candidate, "yyyy-MM-dd");
179
+ const el = calendarRef.current?.querySelector(
180
+ `button[data-date="${iso}"]`
181
+ );
182
+ if (el && !el.disabled) {
183
+ el.focus();
184
+ setActiveDateIso(iso);
185
+ return;
186
+ }
187
+ if (!el) {
188
+ pendingFocusIsoRef.current = iso;
189
+ setViewingYear(candidate.getFullYear());
190
+ setViewingMonth(candidate.getMonth());
191
+ setActiveDateIso(iso);
192
+ return;
193
+ }
194
+ candidate = addDays(candidate, deltaDays);
195
+ }
196
+ };
197
+ const handleCalendarKeyDown = (event) => {
198
+ if (!isOpen) return;
199
+ switch (event.key) {
200
+ case "Escape": {
201
+ event.preventDefault();
202
+ closeCalendar();
203
+ return;
204
+ }
205
+ case "ArrowRight": {
206
+ event.preventDefault();
207
+ moveFocus(1);
208
+ return;
209
+ }
210
+ case "ArrowLeft": {
211
+ event.preventDefault();
212
+ moveFocus(-1);
213
+ return;
214
+ }
215
+ case "ArrowDown": {
216
+ event.preventDefault();
217
+ moveFocus(7);
218
+ return;
219
+ }
220
+ case "ArrowUp": {
221
+ event.preventDefault();
222
+ moveFocus(-7);
223
+ return;
224
+ }
225
+ case "Enter":
226
+ case " ": {
227
+ const activeEl = document.activeElement;
228
+ if (activeEl?.tagName === "BUTTON" && activeEl.dataset.date) {
229
+ event.preventDefault();
230
+ if (!activeEl.disabled) activeEl.click();
231
+ }
232
+ return;
233
+ }
234
+ }
235
+ };
236
+ const setRangeValue = (next) => {
237
+ if (!isControlled) {
238
+ setInternalRangeValue(next);
239
+ }
240
+ props.onChange?.(next);
241
+ };
242
+ const selectDate = (date) => {
243
+ if (!date) return;
244
+ const normalizedDate = tigercatCore.normalizeDate(date);
245
+ if (!tigercatCore.isDateInRange(normalizedDate, minDateParsed, maxDateParsed)) {
246
+ return;
247
+ }
248
+ if (!isRangeMode) {
249
+ if (!isControlled) {
250
+ setInternalValue(normalizedDate);
251
+ }
252
+ props.onChange?.(normalizedDate);
253
+ closeCalendar();
254
+ return;
255
+ }
256
+ const [start, end] = selectedRange;
257
+ if (!start || start && end) {
258
+ setRangeValue([normalizedDate, null]);
259
+ return;
260
+ }
261
+ if (normalizedDate < start) {
262
+ setRangeValue([start, start]);
263
+ } else {
264
+ setRangeValue([start, normalizedDate]);
265
+ }
266
+ };
267
+ const setToday = () => {
268
+ selectDate(/* @__PURE__ */ new Date());
269
+ };
270
+ const clearDate = (event) => {
271
+ event.stopPropagation();
272
+ if (!isRangeMode) {
273
+ if (!isControlled) {
274
+ setInternalValue(null);
275
+ }
276
+ props.onChange?.(null);
277
+ } else {
278
+ setRangeValue([null, null]);
279
+ }
280
+ props.onClear?.();
281
+ };
282
+ const previousMonth = () => {
283
+ if (viewingMonth === 0) {
284
+ setViewingMonth(11);
285
+ setViewingYear(viewingYear - 1);
286
+ } else {
287
+ setViewingMonth(viewingMonth - 1);
288
+ }
289
+ };
290
+ const nextMonth = () => {
291
+ if (viewingMonth === 11) {
292
+ setViewingMonth(0);
293
+ setViewingYear(viewingYear + 1);
294
+ } else {
295
+ setViewingMonth(viewingMonth + 1);
296
+ }
297
+ };
298
+ const isDateDisabled = (date) => {
299
+ if (!date) return true;
300
+ return !tigercatCore.isDateInRange(date, minDateParsed, maxDateParsed);
301
+ };
302
+ const isCurrentMonth = (date) => {
303
+ if (!date) return false;
304
+ return date.getMonth() === viewingMonth;
305
+ };
306
+ const handleInputClick = () => {
307
+ toggleCalendar();
308
+ };
309
+ react.useEffect(() => {
310
+ const handleClickOutside = (event) => {
311
+ if (calendarRef.current && inputWrapperRef.current && !calendarRef.current.contains(event.target) && !inputWrapperRef.current.contains(event.target)) {
312
+ closeCalendar();
313
+ }
314
+ };
315
+ if (isOpen) {
316
+ document.addEventListener("click", handleClickOutside);
317
+ return () => {
318
+ document.removeEventListener("click", handleClickOutside);
319
+ };
320
+ }
321
+ }, [isOpen]);
322
+ react.useEffect(() => {
323
+ if (isOpen) {
324
+ restoreFocusRef.current = document.activeElement ?? null;
325
+ const preferred = pendingFocusIsoRef.current ?? getPreferredFocusIso();
326
+ pendingFocusIsoRef.current = null;
327
+ setTimeout(() => {
328
+ if (preferred && focusDateButtonByIso(preferred)) return;
329
+ const fallback = getFirstEnabledIsoInView();
330
+ if (fallback) focusDateButtonByIso(fallback);
331
+ }, 0);
332
+ return;
333
+ }
334
+ setTimeout(() => {
335
+ restoreFocus();
336
+ }, 0);
337
+ }, [isOpen]);
338
+ react.useEffect(() => {
339
+ if (!isOpen) return;
340
+ const pending = pendingFocusIsoRef.current;
341
+ if (!pending) return;
342
+ pendingFocusIsoRef.current = null;
343
+ setTimeout(() => {
344
+ if (focusDateButtonByIso(pending)) return;
345
+ const fallback = getFirstEnabledIsoInView();
346
+ if (fallback) focusDateButtonByIso(fallback);
347
+ }, 0);
348
+ }, [isOpen, viewingMonth, viewingYear]);
349
+ const inputClasses = tigercatCore.getDatePickerInputClasses(size, disabled || readonly);
350
+ const iconButtonClasses = tigercatCore.getDatePickerIconButtonClasses(size);
351
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.classNames(tigercatCore.datePickerBaseClasses, props.className), ...divProps, children: [
352
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: inputWrapperRef, className: tigercatCore.datePickerInputWrapperClasses, children: [
353
+ /* @__PURE__ */ jsxRuntime.jsx(
354
+ "input",
355
+ {
356
+ ref: inputRef,
357
+ type: "text",
358
+ className: inputClasses,
359
+ value: displayValue,
360
+ placeholder,
361
+ disabled,
362
+ readOnly: true,
363
+ required,
364
+ name: props.name,
365
+ id: props.id,
366
+ onClick: handleInputClick,
367
+ "aria-label": placeholder || "Select date"
368
+ }
369
+ ),
370
+ showClearButton && /* @__PURE__ */ jsxRuntime.jsx(
371
+ "button",
372
+ {
373
+ type: "button",
374
+ className: tigercatCore.datePickerClearButtonClasses,
375
+ onClick: clearDate,
376
+ "aria-label": labels.clearDate,
377
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.CloseIconPath, className: "w-4 h-4" })
378
+ }
379
+ ),
380
+ /* @__PURE__ */ jsxRuntime.jsx(
381
+ "button",
382
+ {
383
+ type: "button",
384
+ className: iconButtonClasses,
385
+ disabled: disabled || readonly,
386
+ onClick: toggleCalendar,
387
+ "aria-label": labels.toggleCalendar,
388
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.CalendarIconPath, className: "w-5 h-5" })
389
+ }
390
+ )
391
+ ] }),
392
+ isOpen && /* @__PURE__ */ jsxRuntime.jsxs(
393
+ "div",
394
+ {
395
+ ref: calendarRef,
396
+ className: tigercatCore.datePickerCalendarClasses,
397
+ role: "dialog",
398
+ "aria-modal": "true",
399
+ "aria-label": labels.calendar,
400
+ onKeyDown: handleCalendarKeyDown,
401
+ children: [
402
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.datePickerCalendarHeaderClasses, children: [
403
+ /* @__PURE__ */ jsxRuntime.jsx(
404
+ "button",
405
+ {
406
+ type: "button",
407
+ className: tigercatCore.datePickerNavButtonClasses,
408
+ onClick: previousMonth,
409
+ "aria-label": labels.previousMonth,
410
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.ChevronLeftIconPath, className: "w-5 h-5" })
411
+ }
412
+ ),
413
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.datePickerMonthYearClasses, children: tigercatCore.formatMonthYear(viewingYear, viewingMonth, props.locale) }),
414
+ /* @__PURE__ */ jsxRuntime.jsx(
415
+ "button",
416
+ {
417
+ type: "button",
418
+ className: tigercatCore.datePickerNavButtonClasses,
419
+ onClick: nextMonth,
420
+ "aria-label": labels.nextMonth,
421
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.ChevronRightIconPath, className: "w-5 h-5" })
422
+ }
423
+ )
424
+ ] }),
425
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.datePickerCalendarGridClasses, role: "row", children: dayNames.map((day) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.datePickerDayNameClasses, role: "columnheader", children: day }, day)) }),
426
+ /* @__PURE__ */ jsxRuntime.jsx(
427
+ "div",
428
+ {
429
+ className: tigercatCore.datePickerCalendarGridClasses,
430
+ role: "grid",
431
+ "aria-rowcount": 6,
432
+ "aria-colcount": 7,
433
+ children: calendarDays.map((date, index) => {
434
+ if (!date) return null;
435
+ const [rangeStart, rangeEnd] = selectedRange;
436
+ const isRangeStart = isRangeMode && rangeStart ? tigercatCore.isSameDay(date, rangeStart) : false;
437
+ const isRangeEnd = isRangeMode && rangeEnd ? tigercatCore.isSameDay(date, rangeEnd) : false;
438
+ const isInRange = isRangeMode && rangeStart && rangeEnd && tigercatCore.normalizeDate(date) >= tigercatCore.normalizeDate(rangeStart) && tigercatCore.normalizeDate(date) <= tigercatCore.normalizeDate(rangeEnd);
439
+ const isSelected = !isRangeMode ? selectedDate ? tigercatCore.isSameDay(date, selectedDate) : false : isRangeStart || isRangeEnd;
440
+ const isCurrentMonthDay = isCurrentMonth(date);
441
+ const isTodayDay = tigercatCore.isToday(date);
442
+ const isSelectingRangeEnd = isRangeMode && Boolean(rangeStart) && !rangeEnd;
443
+ const isBeforeRangeStart = isSelectingRangeEnd && rangeStart && tigercatCore.normalizeDate(date) < tigercatCore.normalizeDate(rangeStart);
444
+ const isDisabled = isDateDisabled(date) || Boolean(isBeforeRangeStart);
445
+ const iso = tigercatCore.formatDate(date, "yyyy-MM-dd");
446
+ return /* @__PURE__ */ jsxRuntime.jsx(
447
+ "button",
448
+ {
449
+ type: "button",
450
+ className: tigercatCore.getDatePickerDayCellClasses(
451
+ isCurrentMonthDay,
452
+ isSelected,
453
+ isTodayDay,
454
+ isDisabled,
455
+ Boolean(isInRange),
456
+ Boolean(isRangeStart),
457
+ Boolean(isRangeEnd)
458
+ ),
459
+ disabled: isDisabled,
460
+ onClick: () => selectDate(date),
461
+ role: "gridcell",
462
+ "data-date": iso,
463
+ onFocus: () => setActiveDateIso(iso),
464
+ tabIndex: activeDateIso === iso && !isDisabled ? 0 : -1,
465
+ "aria-label": iso,
466
+ "aria-selected": isSelected,
467
+ "aria-current": isTodayDay ? "date" : void 0,
468
+ children: date.getDate()
469
+ },
470
+ index
471
+ );
472
+ })
473
+ }
474
+ ),
475
+ isRangeMode && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.datePickerFooterClasses, children: [
476
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: tigercatCore.datePickerFooterButtonClasses, onClick: setToday, children: labels.today }),
477
+ /* @__PURE__ */ jsxRuntime.jsx(
478
+ "button",
479
+ {
480
+ type: "button",
481
+ className: tigercatCore.datePickerFooterButtonClasses,
482
+ onClick: closeCalendar,
483
+ children: labels.ok
484
+ }
485
+ )
486
+ ] })
487
+ ]
488
+ }
489
+ )
490
+ ] });
491
+ };
492
+
493
+ exports.DatePicker = DatePicker;
@@ -0,0 +1,23 @@
1
+ import { classNames, layoutSidebarClasses } from '@expcat/tigercat-core';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/Sidebar.tsx
5
+ var Sidebar = ({
6
+ className,
7
+ width = "256px",
8
+ collapsed = false,
9
+ style,
10
+ children,
11
+ ...props
12
+ }) => {
13
+ const sidebarClasses = classNames(layoutSidebarClasses, className);
14
+ const sidebarStyle = {
15
+ ...style,
16
+ width: collapsed ? "0px" : width,
17
+ minWidth: collapsed ? "0px" : width,
18
+ overflow: "hidden"
19
+ };
20
+ return /* @__PURE__ */ jsx("aside", { className: sidebarClasses, style: sidebarStyle, ...props, children: !collapsed && children });
21
+ };
22
+
23
+ export { Sidebar };