@mindlogic-ai/logician-ui 5.0.0-alpha.3 → 5.0.0-alpha.30

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 (610) hide show
  1. package/MIGRATION-5.0.md +40 -1
  2. package/README.md +1 -0
  3. package/USAGE.md +20 -0
  4. package/dist/components/Avatar/Avatar.d.ts +68 -11
  5. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  6. package/dist/components/Avatar/Avatar.js +41 -5
  7. package/dist/components/Avatar/Avatar.js.map +1 -1
  8. package/dist/components/Avatar/Avatar.mjs +40 -5
  9. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  10. package/dist/components/Avatar/index.d.ts +2 -2
  11. package/dist/components/Avatar/index.d.ts.map +1 -1
  12. package/dist/components/Banner/Banner.types.d.ts +24 -1
  13. package/dist/components/Banner/Banner.types.d.ts.map +1 -1
  14. package/dist/components/BottomSheet/BottomSheet.styles.d.ts +2 -2
  15. package/dist/components/Button/Button.d.ts.map +1 -1
  16. package/dist/components/Button/Button.js +31 -3
  17. package/dist/components/Button/Button.js.map +1 -1
  18. package/dist/components/Button/Button.mjs +31 -3
  19. package/dist/components/Button/Button.mjs.map +1 -1
  20. package/dist/components/Button/Button.types.d.ts +38 -1
  21. package/dist/components/Button/Button.types.d.ts.map +1 -1
  22. package/dist/components/Card/Card.types.d.ts +12 -0
  23. package/dist/components/Card/Card.types.d.ts.map +1 -1
  24. package/dist/components/Code/shikiAdapter.d.ts +3 -1
  25. package/dist/components/Code/shikiAdapter.d.ts.map +1 -1
  26. package/dist/components/Code/shikiAdapter.js +29 -8
  27. package/dist/components/Code/shikiAdapter.js.map +1 -1
  28. package/dist/components/Code/shikiAdapter.mjs +29 -8
  29. package/dist/components/Code/shikiAdapter.mjs.map +1 -1
  30. package/dist/components/CodeTabs/CodeTabs.styles.d.ts +6 -5
  31. package/dist/components/CodeTabs/CodeTabs.styles.d.ts.map +1 -1
  32. package/dist/components/CodeTabs/CodeTabs.styles.js +6 -5
  33. package/dist/components/CodeTabs/CodeTabs.styles.js.map +1 -1
  34. package/dist/components/CodeTabs/CodeTabs.styles.mjs +6 -5
  35. package/dist/components/CodeTabs/CodeTabs.styles.mjs.map +1 -1
  36. package/dist/components/ColorMode/ColorModeToggle.d.ts +7 -2
  37. package/dist/components/ColorMode/ColorModeToggle.d.ts.map +1 -1
  38. package/dist/components/ColorMode/ColorModeToggle.js +8 -3
  39. package/dist/components/ColorMode/ColorModeToggle.js.map +1 -1
  40. package/dist/components/ColorMode/ColorModeToggle.mjs +8 -3
  41. package/dist/components/ColorMode/ColorModeToggle.mjs.map +1 -1
  42. package/dist/components/Confetti/Confetti.types.d.ts +5 -1
  43. package/dist/components/Confetti/Confetti.types.d.ts.map +1 -1
  44. package/dist/components/Confetti/confettiColors.d.ts +5 -5
  45. package/dist/components/Confetti/confettiColors.js +5 -5
  46. package/dist/components/Confetti/confettiColors.mjs +5 -5
  47. package/dist/components/DatePicker/DatePicker.types.d.ts +12 -0
  48. package/dist/components/DatePicker/DatePicker.types.d.ts.map +1 -0
  49. package/dist/components/DatePicker/RangeDatePicker.d.ts +2 -1
  50. package/dist/components/DatePicker/RangeDatePicker.d.ts.map +1 -1
  51. package/dist/components/DatePicker/RangeDatePicker.js +4 -2
  52. package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
  53. package/dist/components/DatePicker/RangeDatePicker.mjs +4 -2
  54. package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
  55. package/dist/components/DatePicker/SingleDatePicker.d.ts +2 -1
  56. package/dist/components/DatePicker/SingleDatePicker.d.ts.map +1 -1
  57. package/dist/components/DatePicker/SingleDatePicker.js +4 -2
  58. package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
  59. package/dist/components/DatePicker/SingleDatePicker.mjs +4 -2
  60. package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
  61. package/dist/components/DatePicker/index.d.ts +1 -0
  62. package/dist/components/DatePicker/index.d.ts.map +1 -1
  63. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts +6 -0
  64. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts.map +1 -1
  65. package/dist/components/ExpandableText/ExpandableText.d.ts.map +1 -1
  66. package/dist/components/ExpandableText/ExpandableText.js +1 -1
  67. package/dist/components/ExpandableText/ExpandableText.js.map +1 -1
  68. package/dist/components/ExpandableText/ExpandableText.mjs +1 -1
  69. package/dist/components/ExpandableText/ExpandableText.mjs.map +1 -1
  70. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts +1 -1
  71. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts.map +1 -1
  72. package/dist/components/Form/FormModalFooter/FormModalFooter.js +2 -2
  73. package/dist/components/Form/FormModalFooter/FormModalFooter.js.map +1 -1
  74. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs +2 -2
  75. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs.map +1 -1
  76. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts +11 -1
  77. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts.map +1 -1
  78. package/dist/components/Form/FormSection/CollapsibleFormSection.js +1 -0
  79. package/dist/components/Form/FormSection/CollapsibleFormSection.js.map +1 -1
  80. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs +1 -0
  81. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs.map +1 -1
  82. package/dist/components/Input/Input.d.ts.map +1 -1
  83. package/dist/components/Input/Input.js +4 -0
  84. package/dist/components/Input/Input.js.map +1 -1
  85. package/dist/components/Input/Input.mjs +4 -0
  86. package/dist/components/Input/Input.mjs.map +1 -1
  87. package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
  88. package/dist/components/LineGraph/LineGraph.js +4 -5
  89. package/dist/components/LineGraph/LineGraph.js.map +1 -1
  90. package/dist/components/LineGraph/LineGraph.mjs +5 -6
  91. package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
  92. package/dist/components/LineGraph/LineGraph.types.d.ts +12 -2
  93. package/dist/components/LineGraph/LineGraph.types.d.ts.map +1 -1
  94. package/dist/components/LineGraph/seriesColors.d.ts +12 -8
  95. package/dist/components/LineGraph/seriesColors.d.ts.map +1 -1
  96. package/dist/components/LineGraph/seriesColors.js +8 -7
  97. package/dist/components/LineGraph/seriesColors.js.map +1 -1
  98. package/dist/components/LineGraph/seriesColors.mjs +8 -7
  99. package/dist/components/LineGraph/seriesColors.mjs.map +1 -1
  100. package/dist/components/Masonry/Masonry.types.d.ts +8 -3
  101. package/dist/components/Masonry/Masonry.types.d.ts.map +1 -1
  102. package/dist/components/Menu/MenuItem.types.d.ts +8 -0
  103. package/dist/components/Menu/MenuItem.types.d.ts.map +1 -1
  104. package/dist/components/Modal/ModalCloseButton.d.ts +1 -1
  105. package/dist/components/Modal/ModalCloseButton.js +1 -1
  106. package/dist/components/Modal/ModalCloseButton.mjs +1 -1
  107. package/dist/components/MonthPicker/MonthPicker.d.ts.map +1 -1
  108. package/dist/components/MonthPicker/MonthPicker.js +3 -2
  109. package/dist/components/MonthPicker/MonthPicker.js.map +1 -1
  110. package/dist/components/MonthPicker/MonthPicker.mjs +3 -2
  111. package/dist/components/MonthPicker/MonthPicker.mjs.map +1 -1
  112. package/dist/components/MonthPicker/MonthPicker.types.d.ts +7 -1
  113. package/dist/components/MonthPicker/MonthPicker.types.d.ts.map +1 -1
  114. package/dist/components/NavList/NavList.d.ts +35 -0
  115. package/dist/components/NavList/NavList.d.ts.map +1 -0
  116. package/dist/components/NavList/NavList.js +113 -0
  117. package/dist/components/NavList/NavList.js.map +1 -0
  118. package/dist/components/NavList/NavList.mjs +111 -0
  119. package/dist/components/NavList/NavList.mjs.map +1 -0
  120. package/dist/components/NavList/NavList.styles.d.ts +90 -0
  121. package/dist/components/NavList/NavList.styles.d.ts.map +1 -0
  122. package/dist/components/NavList/NavList.styles.js +104 -0
  123. package/dist/components/NavList/NavList.styles.js.map +1 -0
  124. package/dist/components/NavList/NavList.styles.mjs +97 -0
  125. package/dist/components/NavList/NavList.styles.mjs.map +1 -0
  126. package/dist/components/NavList/NavList.translations.json.js +19 -0
  127. package/dist/components/NavList/NavList.translations.json.js.map +1 -0
  128. package/dist/components/NavList/NavList.translations.json.mjs +14 -0
  129. package/dist/components/NavList/NavList.translations.json.mjs.map +1 -0
  130. package/dist/components/NavList/NavList.types.d.ts +140 -0
  131. package/dist/components/NavList/NavList.types.d.ts.map +1 -0
  132. package/dist/components/NavList/NavListContext.d.ts +30 -0
  133. package/dist/components/NavList/NavListContext.d.ts.map +1 -0
  134. package/dist/components/NavList/NavListContext.js +16 -0
  135. package/dist/components/NavList/NavListContext.js.map +1 -0
  136. package/dist/components/NavList/NavListContext.mjs +13 -0
  137. package/dist/components/NavList/NavListContext.mjs.map +1 -0
  138. package/dist/components/NavList/NavListGroup.d.ts +31 -0
  139. package/dist/components/NavList/NavListGroup.d.ts.map +1 -0
  140. package/dist/components/NavList/NavListGroup.js +115 -0
  141. package/dist/components/NavList/NavListGroup.js.map +1 -0
  142. package/dist/components/NavList/NavListGroup.mjs +113 -0
  143. package/dist/components/NavList/NavListGroup.mjs.map +1 -0
  144. package/dist/components/NavList/NavListItem.d.ts +16 -0
  145. package/dist/components/NavList/NavListItem.d.ts.map +1 -0
  146. package/dist/components/NavList/NavListItem.js +284 -0
  147. package/dist/components/NavList/NavListItem.js.map +1 -0
  148. package/dist/components/NavList/NavListItem.mjs +282 -0
  149. package/dist/components/NavList/NavListItem.mjs.map +1 -0
  150. package/dist/components/NavList/NavListSkeleton.d.ts +17 -0
  151. package/dist/components/NavList/NavListSkeleton.d.ts.map +1 -0
  152. package/dist/components/NavList/NavListSkeleton.js +33 -0
  153. package/dist/components/NavList/NavListSkeleton.js.map +1 -0
  154. package/dist/components/NavList/NavListSkeleton.mjs +31 -0
  155. package/dist/components/NavList/NavListSkeleton.mjs.map +1 -0
  156. package/dist/components/NavList/index.d.ts +7 -0
  157. package/dist/components/NavList/index.d.ts.map +1 -0
  158. package/dist/components/Pagination/Pagination.d.ts +11 -10
  159. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  160. package/dist/components/Pagination/Pagination.js +11 -10
  161. package/dist/components/Pagination/Pagination.js.map +1 -1
  162. package/dist/components/Pagination/Pagination.mjs +11 -10
  163. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  164. package/dist/components/ProgressBar/ProgressBar.types.d.ts +9 -0
  165. package/dist/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
  166. package/dist/components/RadialProgress/RadialProgress.types.d.ts +21 -1
  167. package/dist/components/RadialProgress/RadialProgress.types.d.ts.map +1 -1
  168. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts +8 -0
  169. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts.map +1 -1
  170. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  171. package/dist/components/SegmentedControl/SegmentedControl.js +34 -33
  172. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  173. package/dist/components/SegmentedControl/SegmentedControl.mjs +35 -34
  174. package/dist/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  175. package/dist/components/SegmentedControl/SegmentedControl.styles.d.ts +24 -0
  176. package/dist/components/SegmentedControl/SegmentedControl.styles.d.ts.map +1 -1
  177. package/dist/components/SegmentedControl/SegmentedControl.styles.js +30 -0
  178. package/dist/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
  179. package/dist/components/SegmentedControl/SegmentedControl.styles.mjs +29 -1
  180. package/dist/components/SegmentedControl/SegmentedControl.styles.mjs.map +1 -1
  181. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts +2 -0
  182. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts.map +1 -1
  183. package/dist/components/Select/Combobox.d.ts +1 -1
  184. package/dist/components/Select/Combobox.d.ts.map +1 -1
  185. package/dist/components/Select/Combobox.js +9 -2
  186. package/dist/components/Select/Combobox.js.map +1 -1
  187. package/dist/components/Select/Combobox.mjs +10 -3
  188. package/dist/components/Select/Combobox.mjs.map +1 -1
  189. package/dist/components/Select/Select.d.ts +1 -1
  190. package/dist/components/Select/Select.d.ts.map +1 -1
  191. package/dist/components/Select/Select.js +14 -2
  192. package/dist/components/Select/Select.js.map +1 -1
  193. package/dist/components/Select/Select.mjs +15 -3
  194. package/dist/components/Select/Select.mjs.map +1 -1
  195. package/dist/components/Select/Select.styles.d.ts +97 -1
  196. package/dist/components/Select/Select.styles.d.ts.map +1 -1
  197. package/dist/components/Select/Select.styles.js +83 -0
  198. package/dist/components/Select/Select.styles.js.map +1 -1
  199. package/dist/components/Select/Select.styles.mjs +82 -1
  200. package/dist/components/Select/Select.styles.mjs.map +1 -1
  201. package/dist/components/Switch/SwitchControl.d.ts.map +1 -1
  202. package/dist/components/Switch/SwitchControl.js +26 -11
  203. package/dist/components/Switch/SwitchControl.js.map +1 -1
  204. package/dist/components/Switch/SwitchControl.mjs +27 -12
  205. package/dist/components/Switch/SwitchControl.mjs.map +1 -1
  206. package/dist/components/Tabs/Tab/Tab.styles.d.ts +1 -1
  207. package/dist/components/Tabs/Tab/Tab.styles.js +1 -1
  208. package/dist/components/Tabs/Tab/Tab.styles.mjs +1 -1
  209. package/dist/components/Tag/Tag.d.ts.map +1 -1
  210. package/dist/components/Tag/Tag.js +14 -2
  211. package/dist/components/Tag/Tag.js.map +1 -1
  212. package/dist/components/Tag/Tag.mjs +15 -3
  213. package/dist/components/Tag/Tag.mjs.map +1 -1
  214. package/dist/components/Tag/Tag.styles.d.ts +20 -2
  215. package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
  216. package/dist/components/Tag/Tag.styles.js +81 -0
  217. package/dist/components/Tag/Tag.styles.js.map +1 -1
  218. package/dist/components/Tag/Tag.styles.mjs +81 -1
  219. package/dist/components/Tag/Tag.styles.mjs.map +1 -1
  220. package/dist/components/Tag/Tag.types.d.ts +15 -2
  221. package/dist/components/Tag/Tag.types.d.ts.map +1 -1
  222. package/dist/components/Tag/index.d.ts +2 -2
  223. package/dist/components/Tag/index.d.ts.map +1 -1
  224. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  225. package/dist/components/Textarea/Textarea.js +4 -0
  226. package/dist/components/Textarea/Textarea.js.map +1 -1
  227. package/dist/components/Textarea/Textarea.mjs +4 -0
  228. package/dist/components/Textarea/Textarea.mjs.map +1 -1
  229. package/dist/components/Toast/Toast.d.ts.map +1 -1
  230. package/dist/components/Toast/Toast.js +5 -1
  231. package/dist/components/Toast/Toast.js.map +1 -1
  232. package/dist/components/Toast/Toast.mjs +5 -1
  233. package/dist/components/Toast/Toast.mjs.map +1 -1
  234. package/dist/components/Toast/Toast.styles.d.ts +13 -2
  235. package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
  236. package/dist/components/Toast/Toast.styles.js +19 -7
  237. package/dist/components/Toast/Toast.styles.js.map +1 -1
  238. package/dist/components/Toast/Toast.styles.mjs +19 -7
  239. package/dist/components/Toast/Toast.styles.mjs.map +1 -1
  240. package/dist/components/Typography/Caption.d.ts.map +1 -1
  241. package/dist/components/Typography/Caption.js +1 -1
  242. package/dist/components/Typography/Caption.js.map +1 -1
  243. package/dist/components/Typography/Caption.mjs +1 -1
  244. package/dist/components/Typography/Caption.mjs.map +1 -1
  245. package/dist/components/Typography/H1.d.ts.map +1 -1
  246. package/dist/components/Typography/H1.js +1 -1
  247. package/dist/components/Typography/H1.js.map +1 -1
  248. package/dist/components/Typography/H1.mjs +1 -1
  249. package/dist/components/Typography/H1.mjs.map +1 -1
  250. package/dist/components/Typography/H2.d.ts.map +1 -1
  251. package/dist/components/Typography/H2.js +1 -1
  252. package/dist/components/Typography/H2.js.map +1 -1
  253. package/dist/components/Typography/H2.mjs +1 -1
  254. package/dist/components/Typography/H2.mjs.map +1 -1
  255. package/dist/components/Typography/H3.d.ts.map +1 -1
  256. package/dist/components/Typography/H3.js +1 -1
  257. package/dist/components/Typography/H3.js.map +1 -1
  258. package/dist/components/Typography/H3.mjs +1 -1
  259. package/dist/components/Typography/H3.mjs.map +1 -1
  260. package/dist/components/Typography/H4.d.ts.map +1 -1
  261. package/dist/components/Typography/H4.js +1 -1
  262. package/dist/components/Typography/H4.js.map +1 -1
  263. package/dist/components/Typography/H4.mjs +1 -1
  264. package/dist/components/Typography/H4.mjs.map +1 -1
  265. package/dist/components/Typography/H5.d.ts.map +1 -1
  266. package/dist/components/Typography/H5.js +1 -1
  267. package/dist/components/Typography/H5.js.map +1 -1
  268. package/dist/components/Typography/H5.mjs +1 -1
  269. package/dist/components/Typography/H5.mjs.map +1 -1
  270. package/dist/components/Typography/Link.d.ts.map +1 -1
  271. package/dist/components/Typography/Link.js +1 -1
  272. package/dist/components/Typography/Link.js.map +1 -1
  273. package/dist/components/Typography/Link.mjs +1 -1
  274. package/dist/components/Typography/Link.mjs.map +1 -1
  275. package/dist/components/Typography/Overline.d.ts.map +1 -1
  276. package/dist/components/Typography/Overline.js +1 -1
  277. package/dist/components/Typography/Overline.js.map +1 -1
  278. package/dist/components/Typography/Overline.mjs +1 -1
  279. package/dist/components/Typography/Overline.mjs.map +1 -1
  280. package/dist/components/Typography/Subtext.d.ts.map +1 -1
  281. package/dist/components/Typography/Subtext.js +1 -1
  282. package/dist/components/Typography/Subtext.js.map +1 -1
  283. package/dist/components/Typography/Subtext.mjs +1 -1
  284. package/dist/components/Typography/Subtext.mjs.map +1 -1
  285. package/dist/components/Typography/Subtitle.d.ts.map +1 -1
  286. package/dist/components/Typography/Subtitle.js +1 -1
  287. package/dist/components/Typography/Subtitle.js.map +1 -1
  288. package/dist/components/Typography/Subtitle.mjs +1 -1
  289. package/dist/components/Typography/Subtitle.mjs.map +1 -1
  290. package/dist/components/Typography/Text.d.ts.map +1 -1
  291. package/dist/components/Typography/Text.js +1 -1
  292. package/dist/components/Typography/Text.js.map +1 -1
  293. package/dist/components/Typography/Text.mjs +1 -1
  294. package/dist/components/Typography/Text.mjs.map +1 -1
  295. package/dist/hooks/useLanguage.d.ts +5 -0
  296. package/dist/hooks/useLanguage.d.ts.map +1 -1
  297. package/dist/hooks/useLanguage.js +7 -3
  298. package/dist/hooks/useLanguage.js.map +1 -1
  299. package/dist/hooks/useLanguage.mjs +7 -4
  300. package/dist/hooks/useLanguage.mjs.map +1 -1
  301. package/dist/hooks/useTranslate.d.ts.map +1 -1
  302. package/dist/hooks/useTranslate.js +8 -5
  303. package/dist/hooks/useTranslate.js.map +1 -1
  304. package/dist/hooks/useTranslate.mjs +8 -5
  305. package/dist/hooks/useTranslate.mjs.map +1 -1
  306. package/dist/index.d.ts +3 -1
  307. package/dist/index.d.ts.map +1 -1
  308. package/dist/index.js +22 -0
  309. package/dist/index.js.map +1 -1
  310. package/dist/index.mjs +9 -3
  311. package/dist/index.mjs.map +1 -1
  312. package/dist/theme/colors.d.ts +2 -2
  313. package/dist/theme/colors.d.ts.map +1 -1
  314. package/dist/theme/colors.js +63 -19
  315. package/dist/theme/colors.js.map +1 -1
  316. package/dist/theme/colors.mjs +64 -20
  317. package/dist/theme/colors.mjs.map +1 -1
  318. package/dist/theme/controlSizes.d.ts +91 -0
  319. package/dist/theme/controlSizes.d.ts.map +1 -0
  320. package/dist/theme/controlSizes.js +143 -0
  321. package/dist/theme/controlSizes.js.map +1 -0
  322. package/dist/theme/controlSizes.mjs +135 -0
  323. package/dist/theme/controlSizes.mjs.map +1 -0
  324. package/dist/theme/global.d.ts.map +1 -1
  325. package/dist/theme/global.js +19 -1
  326. package/dist/theme/global.js.map +1 -1
  327. package/dist/theme/global.mjs +19 -1
  328. package/dist/theme/global.mjs.map +1 -1
  329. package/dist/theme/index.d.ts.map +1 -1
  330. package/dist/theme/index.js +14 -43
  331. package/dist/theme/index.js.map +1 -1
  332. package/dist/theme/index.mjs +14 -43
  333. package/dist/theme/index.mjs.map +1 -1
  334. package/dist/theme/palette.generated.d.ts +295 -162
  335. package/dist/theme/palette.generated.d.ts.map +1 -1
  336. package/dist/theme/palette.generated.js +296 -162
  337. package/dist/theme/palette.generated.js.map +1 -1
  338. package/dist/theme/palette.generated.mjs +296 -163
  339. package/dist/theme/palette.generated.mjs.map +1 -1
  340. package/dist/theme/paletteSwatches.d.ts +20 -0
  341. package/dist/theme/paletteSwatches.d.ts.map +1 -1
  342. package/dist/theme/recipes/avatar.d.ts +30 -0
  343. package/dist/theme/recipes/avatar.d.ts.map +1 -0
  344. package/dist/theme/recipes/avatar.js +96 -0
  345. package/dist/theme/recipes/avatar.js.map +1 -0
  346. package/dist/theme/recipes/avatar.mjs +94 -0
  347. package/dist/theme/recipes/avatar.mjs.map +1 -0
  348. package/dist/theme/recipes/controls.d.ts +94 -0
  349. package/dist/theme/recipes/controls.d.ts.map +1 -0
  350. package/dist/theme/recipes/controls.js +154 -0
  351. package/dist/theme/recipes/controls.js.map +1 -0
  352. package/dist/theme/recipes/controls.mjs +144 -0
  353. package/dist/theme/recipes/controls.mjs.map +1 -0
  354. package/dist/translations/Defaults.translations.json.js +19 -1
  355. package/dist/translations/Defaults.translations.json.js.map +1 -1
  356. package/dist/translations/Defaults.translations.json.mjs +18 -2
  357. package/dist/translations/Defaults.translations.json.mjs.map +1 -1
  358. package/dist/utils/disabledControl.d.ts +8 -1
  359. package/dist/utils/disabledControl.d.ts.map +1 -1
  360. package/dist/utils/disabledControl.js +8 -1
  361. package/dist/utils/disabledControl.js.map +1 -1
  362. package/dist/utils/disabledControl.mjs +8 -1
  363. package/dist/utils/disabledControl.mjs.map +1 -1
  364. package/dist/utils/focusRing.d.ts +22 -0
  365. package/dist/utils/focusRing.d.ts.map +1 -1
  366. package/dist/utils/focusRing.js +22 -0
  367. package/dist/utils/focusRing.js.map +1 -1
  368. package/dist/utils/focusRing.mjs +21 -1
  369. package/dist/utils/focusRing.mjs.map +1 -1
  370. package/package.json +2 -1
  371. package/src/components/Accordion/Accordion.stories.tsx +85 -0
  372. package/src/components/Accordion/Accordion.usage.mdx +200 -0
  373. package/src/components/Appear/Appear.usage.mdx +107 -0
  374. package/src/components/Avatar/Avatar.recipe.test.tsx +176 -0
  375. package/src/components/Avatar/Avatar.stories.tsx +199 -24
  376. package/src/components/Avatar/Avatar.tsx +118 -21
  377. package/src/components/Avatar/Avatar.usage.mdx +185 -0
  378. package/src/components/Avatar/index.tsx +8 -1
  379. package/src/components/Banner/Banner.stories.tsx +152 -2
  380. package/src/components/Banner/Banner.types.ts +30 -1
  381. package/src/components/Banner/Banner.usage.mdx +233 -0
  382. package/src/components/BottomSheet/BottomSheet.stories.tsx +168 -1
  383. package/src/components/BottomSheet/BottomSheet.test.tsx +2 -1
  384. package/src/components/BottomSheet/BottomSheet.usage.mdx +216 -0
  385. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +59 -0
  386. package/src/components/Breadcrumb/Breadcrumb.usage.mdx +181 -0
  387. package/src/components/Button/Button.focusableWhenDisabled.test.tsx +218 -0
  388. package/src/components/Button/Button.stories.tsx +332 -3
  389. package/src/components/Button/Button.tsx +46 -3
  390. package/src/components/Button/Button.types.ts +38 -1
  391. package/src/components/Button/Button.usage.mdx +358 -0
  392. package/src/components/Button/Button.variants.test.tsx +13 -1
  393. package/src/components/Card/Card.stories.tsx +106 -0
  394. package/src/components/Card/Card.types.ts +12 -0
  395. package/src/components/Card/Card.usage.mdx +216 -0
  396. package/src/components/Checkbox/Checkbox.stories.tsx +140 -13
  397. package/src/components/Checkbox/Checkbox.usage.mdx +214 -0
  398. package/src/components/Chip/Chip.usage.mdx +78 -0
  399. package/src/components/Code/Code.stories.tsx +60 -0
  400. package/src/components/Code/Code.test.tsx +116 -0
  401. package/src/components/Code/Code.usage.mdx +187 -0
  402. package/src/components/Code/shikiAdapter.ts +38 -9
  403. package/src/components/CodeTabs/CodeTabs.stories.tsx +53 -0
  404. package/src/components/CodeTabs/CodeTabs.styles.ts +6 -5
  405. package/src/components/CodeTabs/CodeTabs.usage.mdx +176 -0
  406. package/src/components/Collapsible/Collapsible.stories.tsx +58 -0
  407. package/src/components/Collapsible/Collapsible.usage.mdx +173 -0
  408. package/src/components/ColorMode/ColorMode.stories.tsx +50 -0
  409. package/src/components/ColorMode/ColorMode.usage.mdx +135 -0
  410. package/src/components/ColorMode/ColorModeToggle.tsx +10 -3
  411. package/src/components/Confetti/Confetti.types.ts +5 -1
  412. package/src/components/Confetti/Confetti.usage.mdx +111 -0
  413. package/src/components/Confetti/confettiColors.ts +5 -5
  414. package/src/components/Container/Container.stories.tsx +32 -0
  415. package/src/components/Container/Container.usage.mdx +130 -0
  416. package/src/components/CopyableCode/CopyableCode.stories.tsx +62 -0
  417. package/src/components/CopyableCode/CopyableCode.usage.mdx +168 -0
  418. package/src/components/CountBadge/CountBadge.stories.tsx +69 -0
  419. package/src/components/CountBadge/CountBadge.usage.mdx +215 -0
  420. package/src/components/CountUp/CountUp.usage.mdx +107 -0
  421. package/src/components/DatePicker/DatePicker.types.ts +12 -0
  422. package/src/components/DatePicker/DatePicker.usage.mdx +177 -0
  423. package/src/components/DatePicker/RangeDatePicker.stories.tsx +87 -3
  424. package/src/components/DatePicker/RangeDatePicker.tsx +7 -1
  425. package/src/components/DatePicker/SingleDatePicker.tsx +7 -1
  426. package/src/components/DatePicker/index.ts +1 -0
  427. package/src/components/ErrorFallback/ErrorFallback.types.ts +6 -0
  428. package/src/components/ErrorFallback/ErrorFallback.usage.mdx +127 -0
  429. package/src/components/ExpandableText/ExpandableText.stories.tsx +55 -0
  430. package/src/components/ExpandableText/ExpandableText.tsx +0 -1
  431. package/src/components/ExpandableText/ExpandableText.usage.mdx +178 -0
  432. package/src/components/FileInput/FileInput.stories.tsx +38 -1
  433. package/src/components/FileInput/FileInput.usage.mdx +178 -0
  434. package/src/components/FileItem/FileItem.stories.tsx +71 -0
  435. package/src/components/FileItem/FileItem.usage.mdx +180 -0
  436. package/src/components/FileList/FileList.stories.tsx +25 -0
  437. package/src/components/FileList/FileList.usage.mdx +165 -0
  438. package/src/components/FlyTo/FlyTo.usage.mdx +99 -0
  439. package/src/components/Form/Form.stories.tsx +149 -0
  440. package/src/components/Form/Form.usage.mdx +203 -0
  441. package/src/components/Form/FormModalFooter/FormModalFooter.stories.tsx +1 -1
  442. package/src/components/Form/FormModalFooter/FormModalFooter.test.tsx +19 -1
  443. package/src/components/Form/FormModalFooter/FormModalFooter.tsx +2 -0
  444. package/src/components/Form/FormModalFooter/FormModalFooter.types.ts +11 -1
  445. package/src/components/FormControl/FormControl.stories.tsx +35 -0
  446. package/src/components/FormControl/FormControl.usage.mdx +128 -0
  447. package/src/components/FormIntegration/FormIntegration.usage.mdx +158 -0
  448. package/src/components/FormLabel/FormLabel.stories.tsx +71 -0
  449. package/src/components/FormLabel/FormLabel.usage.mdx +125 -0
  450. package/src/components/Icon/Icon.stories.tsx +61 -1
  451. package/src/components/Icon/Icon.usage.mdx +158 -0
  452. package/src/components/IconButton/IconButton.stories.tsx +213 -5
  453. package/src/components/IconButton/IconButton.usage.mdx +275 -0
  454. package/src/components/InfoSprinkle/InfoSprinkle.stories.tsx +77 -1
  455. package/src/components/InfoSprinkle/InfoSprinkle.usage.mdx +189 -0
  456. package/src/components/InlineCode/InlineCode.stories.tsx +75 -0
  457. package/src/components/InlineCode/InlineCode.usage.mdx +142 -0
  458. package/src/components/Input/Input.stories.tsx +180 -0
  459. package/src/components/Input/Input.tsx +4 -0
  460. package/src/components/Input/Input.usage.mdx +278 -0
  461. package/src/components/LineGraph/LineGraph.stories.tsx +112 -0
  462. package/src/components/LineGraph/LineGraph.tsx +4 -5
  463. package/src/components/LineGraph/LineGraph.types.ts +12 -2
  464. package/src/components/LineGraph/LineGraph.usage.mdx +186 -0
  465. package/src/components/LineGraph/seriesColors.test.ts +10 -9
  466. package/src/components/LineGraph/seriesColors.ts +18 -16
  467. package/src/components/Loaders/Loaders.stories.tsx +93 -0
  468. package/src/components/Loaders/Loaders.usage.mdx +180 -0
  469. package/src/components/LogicianProvider/LogicianProvider.usage.mdx +98 -0
  470. package/src/components/Markdown/Markdown.stories.tsx +53 -0
  471. package/src/components/Markdown/Markdown.usage.mdx +182 -0
  472. package/src/components/Masonry/Masonry.stories.tsx +63 -1
  473. package/src/components/Masonry/Masonry.types.ts +8 -3
  474. package/src/components/Masonry/Masonry.usage.mdx +142 -0
  475. package/src/components/MaxLengthIndicator/MaxLengthIndicator.stories.tsx +57 -0
  476. package/src/components/MaxLengthIndicator/MaxLengthIndicator.usage.mdx +125 -0
  477. package/src/components/Menu/Menu.stories.tsx +146 -2
  478. package/src/components/Menu/Menu.usage.mdx +238 -0
  479. package/src/components/Menu/MenuItem.types.ts +8 -0
  480. package/src/components/Modal/Modal.stories.tsx +177 -1
  481. package/src/components/Modal/Modal.usage.mdx +262 -0
  482. package/src/components/Modal/ModalCloseButton.tsx +1 -1
  483. package/src/components/MonthPicker/MonthPicker.stories.tsx +30 -0
  484. package/src/components/MonthPicker/MonthPicker.tsx +7 -1
  485. package/src/components/MonthPicker/MonthPicker.types.ts +8 -1
  486. package/src/components/MonthPicker/MonthPicker.usage.mdx +191 -0
  487. package/src/components/NavList/NavList.stories.tsx +927 -0
  488. package/src/components/NavList/NavList.styles.ts +114 -0
  489. package/src/components/NavList/NavList.test.tsx +1306 -0
  490. package/src/components/NavList/NavList.translations.json +9 -0
  491. package/src/components/NavList/NavList.tsx +160 -0
  492. package/src/components/NavList/NavList.types.ts +155 -0
  493. package/src/components/NavList/NavList.usage.mdx +545 -0
  494. package/src/components/NavList/NavListContext.ts +25 -0
  495. package/src/components/NavList/NavListGroup.tsx +243 -0
  496. package/src/components/NavList/NavListItem.tsx +543 -0
  497. package/src/components/NavList/NavListSkeleton.tsx +57 -0
  498. package/src/components/NavList/index.ts +15 -0
  499. package/src/components/Pagination/Pagination.stories.tsx +90 -1
  500. package/src/components/Pagination/Pagination.tsx +11 -10
  501. package/src/components/Pagination/Pagination.usage.mdx +186 -0
  502. package/src/components/PasswordInput/PasswordInput.stories.tsx +51 -0
  503. package/src/components/PasswordInput/PasswordInput.usage.mdx +193 -0
  504. package/src/components/PinInput/PinInput.stories.tsx +91 -0
  505. package/src/components/PinInput/PinInput.usage.mdx +194 -0
  506. package/src/components/Popover/Popover.stories.tsx +104 -1
  507. package/src/components/Popover/Popover.usage.mdx +197 -0
  508. package/src/components/ProgressBar/ProgressBar.stories.tsx +92 -1
  509. package/src/components/ProgressBar/ProgressBar.types.ts +9 -0
  510. package/src/components/ProgressBar/ProgressBar.usage.mdx +210 -0
  511. package/src/components/Pulse/Pulse.usage.mdx +102 -0
  512. package/src/components/RadialProgress/RadialProgress.stories.tsx +74 -1
  513. package/src/components/RadialProgress/RadialProgress.types.ts +21 -1
  514. package/src/components/RadialProgress/RadialProgress.usage.mdx +153 -0
  515. package/src/components/Radio/Radio.stories.tsx +119 -0
  516. package/src/components/Radio/Radio.usage.mdx +187 -0
  517. package/src/components/Reveal/Reveal.usage.mdx +105 -0
  518. package/src/components/ScaledContext/ScaledContext.usage.mdx +111 -0
  519. package/src/components/SeeMoreButton/SeeMoreButton.stories.tsx +146 -2
  520. package/src/components/SeeMoreButton/SeeMoreButton.types.ts +8 -0
  521. package/src/components/SeeMoreButton/SeeMoreButton.usage.mdx +213 -0
  522. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +69 -0
  523. package/src/components/SegmentedControl/SegmentedControl.styles.ts +38 -0
  524. package/src/components/SegmentedControl/SegmentedControl.tsx +43 -37
  525. package/src/components/SegmentedControl/SegmentedControl.usage.mdx +216 -0
  526. package/src/components/SegmentedProgressBar/SegmentedProgressBar.stories.tsx +54 -0
  527. package/src/components/SegmentedProgressBar/SegmentedProgressBar.types.ts +2 -0
  528. package/src/components/SegmentedProgressBar/SegmentedProgressBar.usage.mdx +145 -0
  529. package/src/components/Select/Combobox.tsx +28 -3
  530. package/src/components/Select/Select.clearTrigger.test.tsx +76 -0
  531. package/src/components/Select/Select.stories.tsx +290 -1
  532. package/src/components/Select/Select.styles.ts +89 -0
  533. package/src/components/Select/Select.tsx +28 -2
  534. package/src/components/Select/Select.usage.mdx +341 -0
  535. package/src/components/Shake/Shake.usage.mdx +107 -0
  536. package/src/components/Slider/Slider.stories.tsx +116 -0
  537. package/src/components/Slider/Slider.usage.mdx +179 -0
  538. package/src/components/Spinner/Spinner.stories.tsx +64 -0
  539. package/src/components/Spinner/Spinner.usage.mdx +136 -0
  540. package/src/components/SwapTransition/SwapTransition.usage.mdx +102 -0
  541. package/src/components/Switch/Switch.stories.tsx +139 -6
  542. package/src/components/Switch/Switch.usage.mdx +200 -0
  543. package/src/components/Switch/SwitchControl.tsx +32 -15
  544. package/src/components/Table/Table.stories.tsx +159 -1
  545. package/src/components/Table/Table.usage.mdx +235 -0
  546. package/src/components/Tabs/Tab/Tab.styles.ts +1 -1
  547. package/src/components/Tabs/Tabs.stories.tsx +86 -0
  548. package/src/components/Tabs/Tabs.usage.mdx +263 -0
  549. package/src/components/Tag/Tag.stories.tsx +181 -4
  550. package/src/components/Tag/Tag.styles.ts +117 -2
  551. package/src/components/Tag/Tag.test.tsx +87 -1
  552. package/src/components/Tag/Tag.tsx +22 -1
  553. package/src/components/Tag/Tag.types.ts +16 -2
  554. package/src/components/Tag/Tag.usage.mdx +257 -0
  555. package/src/components/Tag/index.ts +2 -0
  556. package/src/components/Textarea/Textarea.stories.tsx +113 -0
  557. package/src/components/Textarea/Textarea.tsx +4 -0
  558. package/src/components/Textarea/Textarea.usage.mdx +186 -0
  559. package/src/components/Toast/Toast.stories.tsx +185 -3
  560. package/src/components/Toast/Toast.styles.ts +19 -7
  561. package/src/components/Toast/Toast.tsx +8 -1
  562. package/src/components/Toast/Toast.usage.mdx +265 -0
  563. package/src/components/Tooltip/Tooltip.stories.tsx +86 -1
  564. package/src/components/Tooltip/Tooltip.usage.mdx +219 -0
  565. package/src/components/Tree/Tree.stories.tsx +89 -0
  566. package/src/components/Tree/Tree.usage.mdx +207 -0
  567. package/src/components/Typography/Caption.tsx +0 -1
  568. package/src/components/Typography/H1.tsx +0 -1
  569. package/src/components/Typography/H2.tsx +0 -1
  570. package/src/components/Typography/H3.tsx +0 -1
  571. package/src/components/Typography/H4.tsx +0 -1
  572. package/src/components/Typography/H5.tsx +0 -1
  573. package/src/components/Typography/Link.tsx +0 -1
  574. package/src/components/Typography/Overline.tsx +0 -1
  575. package/src/components/Typography/Subtext.tsx +0 -1
  576. package/src/components/Typography/Subtitle.tsx +0 -1
  577. package/src/components/Typography/Text.tsx +0 -1
  578. package/src/components/Typography/Typography.stories.tsx +117 -0
  579. package/src/components/Typography/Typography.usage.mdx +257 -0
  580. package/src/components/Workflow/Workflow.usage.mdx +199 -0
  581. package/src/components/a11y.kwcag.test.tsx +78 -21
  582. package/src/components/claude.md +24 -1
  583. package/src/components/noRawScales.test.ts +5 -1
  584. package/src/foundations/BrandAssets.mdx +637 -0
  585. package/src/foundations/BrandAssets.stories.tsx +680 -0
  586. package/src/foundations/BrandColour.mdx +103 -4
  587. package/src/foundations/BrandColour.stories.tsx +135 -2
  588. package/src/hooks/useLanguage.ts +8 -3
  589. package/src/hooks/useTranslate.test.tsx +46 -0
  590. package/src/hooks/useTranslate.ts +7 -5
  591. package/src/index.ts +19 -1
  592. package/src/theme/BazePalette.stories.tsx +111 -1
  593. package/src/theme/ControlSizes.stories.tsx +586 -0
  594. package/src/theme/Palette.stories.tsx +2 -2
  595. package/src/theme/SemanticTokens.mdx +118 -19
  596. package/src/theme/claude.md +34 -9
  597. package/src/theme/colors.ts +82 -19
  598. package/src/theme/contrast.test.ts +67 -0
  599. package/src/theme/controlSizes.test.ts +153 -0
  600. package/src/theme/controlSizes.ts +162 -0
  601. package/src/theme/global.ts +20 -1
  602. package/src/theme/index.ts +23 -46
  603. package/src/theme/palette.generated.ts +296 -162
  604. package/src/theme/paletteSwatches.test.ts +1 -1
  605. package/src/theme/paletteSwatches.ts +35 -0
  606. package/src/theme/recipes/avatar.ts +92 -0
  607. package/src/theme/recipes/controls.ts +171 -0
  608. package/src/translations/Defaults.translations.json +14 -0
  609. package/src/utils/disabledControl.ts +8 -1
  610. package/src/utils/focusRing.ts +23 -0
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var React = require('react');
6
+ var react = require('@chakra-ui/react');
7
+ var NavList_styles = require('./NavList.styles.js');
8
+
9
+ /** Widths that vary row to row, so the placeholder does not read as a table. */
10
+ const WIDTHS = ['72%', '56%', '84%', '64%', '48%', '76%'];
11
+ /**
12
+ * Placeholder rows while a rail's entries load, with the same row height,
13
+ * radius and gap as the real list, so nothing moves when it swaps in.
14
+ *
15
+ * Render it INSTEAD of the `NavList`, not inside it. It is `aria-hidden`: a
16
+ * column of grey bars says nothing to a screen reader, and "loading" belongs
17
+ * to the region that is loading (`aria-busy`, or a status message) rather
18
+ * than to one of its placeholders.
19
+ *
20
+ * Counts that are still loading are not this — leave `trailingVisual` unset
21
+ * until they arrive, and the row keeps its label.
22
+ */
23
+ const NavListSkeleton = React.forwardRef(({ count = 5, orientation = 'vertical', ...rest }, ref) => (jsxRuntime.jsx(react.chakra.ul, { ref: ref, "aria-hidden": true, ...NavList_styles.listStyles(orientation), ...rest, children: Array.from({ length: count }, (_, i) => (jsxRuntime.jsxs(react.chakra.li, { display: "flex", alignItems: "center", flexShrink: 0,
24
+ // The row's own box: `minH`, padding and one line of `p` text, so
25
+ // the placeholder is exactly as tall as the row that replaces it.
26
+ minH: 9, px: 2.5, py: 2, textStyle: "p", w: NavList_styles.byOrientation(orientation, 'auto', '96px'), children: [jsxRuntime.jsx(react.Skeleton, { h: 4, w: NavList_styles.byOrientation(orientation, WIDTHS[i % WIDTHS.length], 'full'), borderRadius: "sm",
27
+ // A placeholder that stops pulsing is still a placeholder; there
28
+ // is no progress for the motion to carry.
29
+ _motionReduce: { animation: 'none' } }), jsxRuntime.jsx(react.chakra.span, { w: 0, overflow: "hidden", children: '\u00A0' })] }, i))) })));
30
+ NavListSkeleton.displayName = 'NavList.Skeleton';
31
+
32
+ exports.NavListSkeleton = NavListSkeleton;
33
+ //# sourceMappingURL=NavListSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavListSkeleton.js","sources":["../../../src/components/NavList/NavListSkeleton.tsx"],"sourcesContent":[null],"names":["forwardRef","_jsx","chakra","listStyles","_jsxs","byOrientation","Skeleton"],"mappings":";;;;;;;;AAMA;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAEzD;;;;;;;;;;;AAWG;AACI,MAAM,eAAe,GAAGA,gBAAU,CAGvC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACtDC,cAAA,CAACC,YAAM,CAAC,EAAE,IAAC,GAAG,EAAE,GAAG,EAAA,aAAA,EAAA,IAAA,EAAA,GAAkBC,yBAAU,CAAC,WAAW,CAAC,EAAA,GAAM,IAAI,EAAA,QAAA,EACnE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAClCC,eAAA,CAACF,YAAM,CAAC,EAAE,IAER,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,CAAC;;;QAGb,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,SAAS,EAAC,GAAG,EACb,CAAC,EAAEG,4BAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAA,QAAA,EAAA,CAE7CJ,eAACK,cAAQ,EAAA,EACP,CAAC,EAAE,CAAC,EACJ,CAAC,EAAED,4BAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAChE,YAAY,EAAC,IAAI;;;AAGjB,gBAAA,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAA,CACpC,EACFJ,cAAA,CAACC,YAAM,CAAC,IAAI,IAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ,EAAA,QAAA,EACjC,QAAQ,EAAA,CACG,CAAA,EAAA,EAtBT,CAAC,CAuBI,CACb,CAAC,EAAA,CACQ,CACb;AAED,eAAe,CAAC,WAAW,GAAG,kBAAkB;;;;"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { chakra, Skeleton } from '@chakra-ui/react';
5
+ import { listStyles, byOrientation } from './NavList.styles.mjs';
6
+
7
+ /** Widths that vary row to row, so the placeholder does not read as a table. */
8
+ const WIDTHS = ['72%', '56%', '84%', '64%', '48%', '76%'];
9
+ /**
10
+ * Placeholder rows while a rail's entries load, with the same row height,
11
+ * radius and gap as the real list, so nothing moves when it swaps in.
12
+ *
13
+ * Render it INSTEAD of the `NavList`, not inside it. It is `aria-hidden`: a
14
+ * column of grey bars says nothing to a screen reader, and "loading" belongs
15
+ * to the region that is loading (`aria-busy`, or a status message) rather
16
+ * than to one of its placeholders.
17
+ *
18
+ * Counts that are still loading are not this — leave `trailingVisual` unset
19
+ * until they arrive, and the row keeps its label.
20
+ */
21
+ const NavListSkeleton = forwardRef(({ count = 5, orientation = 'vertical', ...rest }, ref) => (jsx(chakra.ul, { ref: ref, "aria-hidden": true, ...listStyles(orientation), ...rest, children: Array.from({ length: count }, (_, i) => (jsxs(chakra.li, { display: "flex", alignItems: "center", flexShrink: 0,
22
+ // The row's own box: `minH`, padding and one line of `p` text, so
23
+ // the placeholder is exactly as tall as the row that replaces it.
24
+ minH: 9, px: 2.5, py: 2, textStyle: "p", w: byOrientation(orientation, 'auto', '96px'), children: [jsx(Skeleton, { h: 4, w: byOrientation(orientation, WIDTHS[i % WIDTHS.length], 'full'), borderRadius: "sm",
25
+ // A placeholder that stops pulsing is still a placeholder; there
26
+ // is no progress for the motion to carry.
27
+ _motionReduce: { animation: 'none' } }), jsx(chakra.span, { w: 0, overflow: "hidden", children: '\u00A0' })] }, i))) })));
28
+ NavListSkeleton.displayName = 'NavList.Skeleton';
29
+
30
+ export { NavListSkeleton };
31
+ //# sourceMappingURL=NavListSkeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavListSkeleton.mjs","sources":["../../../src/components/NavList/NavListSkeleton.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAMA;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAEzD;;;;;;;;;;;AAWG;AACI,MAAM,eAAe,GAAG,UAAU,CAGvC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACtDA,GAAA,CAAC,MAAM,CAAC,EAAE,IAAC,GAAG,EAAE,GAAG,EAAA,aAAA,EAAA,IAAA,EAAA,GAAkB,UAAU,CAAC,WAAW,CAAC,EAAA,GAAM,IAAI,EAAA,QAAA,EACnE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAClCC,IAAA,CAAC,MAAM,CAAC,EAAE,IAER,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,CAAC;;;QAGb,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,SAAS,EAAC,GAAG,EACb,CAAC,EAAE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAA,QAAA,EAAA,CAE7CD,IAAC,QAAQ,EAAA,EACP,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAChE,YAAY,EAAC,IAAI;;;AAGjB,gBAAA,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAA,CACpC,EACFA,GAAA,CAAC,MAAM,CAAC,IAAI,IAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ,EAAA,QAAA,EACjC,QAAQ,EAAA,CACG,CAAA,EAAA,EAtBT,CAAC,CAuBI,CACb,CAAC,EAAA,CACQ,CACb;AAED,eAAe,CAAC,WAAW,GAAG,kBAAkB;;;;"}
@@ -0,0 +1,7 @@
1
+ export { NavList } from './NavList';
2
+ export { NAV_LIST_RAMP } from './NavList.styles';
3
+ export type { NavListGroupProps, NavListItemProps, NavListOrientation, NavListProps, NavListResponsiveOrientation, NavListSkeletonProps, NavListTooltipPlacement, NavListTrailingActionVisibility, } from './NavList.types';
4
+ export { NavListGroup } from './NavListGroup';
5
+ export { NavListItem } from './NavListItem';
6
+ export { NavListSkeleton } from './NavListSkeleton';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,17 +1,18 @@
1
1
  import { PaginationProps } from './Pagination.types';
2
2
  /**
3
- * A pagination component that allows users to navigate through pages.
4
- * Displays the current page number and the maximum page count.
5
- * Supports both controlled and uncontrolled modes.
3
+ * Previous / next page buttons with a "current / last" counter, and an
4
+ * optional page-size select. The last page is derived:
5
+ * `Math.ceil(numTotalItems / itemsPerPage)`; the buttons are hidden when there
6
+ * is only one page.
6
7
  *
7
- * - **Controlled Mode**: Pass `currentPage` and `onBack`/`onNext` props to fully control the pagination behavior.
8
- * - **Uncontrolled Mode**: If `currentPage` is not provided, the component manages its own internal state for the current page.
8
+ * - **Controlled:** pass `currentPage` and update it from `onBack` / `onNext`
9
+ * (and `onCurrentPageChange`, which fires when a larger page size puts the
10
+ * current page past the new last page).
11
+ * - **Uncontrolled:** leave `currentPage` out and the component keeps the page
12
+ * itself.
9
13
  *
10
- * @param {PaginationProps} props - Props for the Pagination component.
11
- * @param {number} [props.currentPage] - The current page number (controlled mode).
12
- * @param {number} props.maxPage - The maximum number of pages available.
13
- * @param {() => void} [props.onBack] - Callback triggered when the "Back" button is clicked.
14
- * @param {() => void} [props.onNext] - Callback triggered when the "Next" button is clicked.
14
+ * `itemsPerPage` is always controlled: update it from
15
+ * `onItemsPerPageOptionChange`.
15
16
  */
16
17
  export declare const Pagination: ({ currentPage: controlledCurrentPage, onCurrentPageChange, numTotalItems, onBack, onNext, itemsPerPageOptions, itemsPerPage, onItemsPerPageOptionChange, ...rest }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
17
18
  //# sourceMappingURL=Pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,oKAUxB,eAAe,4CA+FjB,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,GAAI,oKAUxB,eAAe,4CA+FjB,CAAC"}
@@ -24,18 +24,19 @@ require('../Select/Select.js');
24
24
  var SelectField = require('../Select/SelectField.js');
25
25
 
26
26
  /**
27
- * A pagination component that allows users to navigate through pages.
28
- * Displays the current page number and the maximum page count.
29
- * Supports both controlled and uncontrolled modes.
27
+ * Previous / next page buttons with a "current / last" counter, and an
28
+ * optional page-size select. The last page is derived:
29
+ * `Math.ceil(numTotalItems / itemsPerPage)`; the buttons are hidden when there
30
+ * is only one page.
30
31
  *
31
- * - **Controlled Mode**: Pass `currentPage` and `onBack`/`onNext` props to fully control the pagination behavior.
32
- * - **Uncontrolled Mode**: If `currentPage` is not provided, the component manages its own internal state for the current page.
32
+ * - **Controlled:** pass `currentPage` and update it from `onBack` / `onNext`
33
+ * (and `onCurrentPageChange`, which fires when a larger page size puts the
34
+ * current page past the new last page).
35
+ * - **Uncontrolled:** leave `currentPage` out and the component keeps the page
36
+ * itself.
33
37
  *
34
- * @param {PaginationProps} props - Props for the Pagination component.
35
- * @param {number} [props.currentPage] - The current page number (controlled mode).
36
- * @param {number} props.maxPage - The maximum number of pages available.
37
- * @param {() => void} [props.onBack] - Callback triggered when the "Back" button is clicked.
38
- * @param {() => void} [props.onNext] - Callback triggered when the "Next" button is clicked.
38
+ * `itemsPerPage` is always controlled: update it from
39
+ * `onItemsPerPageOptionChange`.
39
40
  */
40
41
  const Pagination = ({ currentPage: controlledCurrentPage, onCurrentPageChange, numTotalItems, onBack, onNext, itemsPerPageOptions, itemsPerPage, onItemsPerPageOptionChange, ...rest }) => {
41
42
  const translate = useTranslate.useTranslate();
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":[null],"names":["useTranslate","useState","useMemo","_jsxs","Flex","_jsx","SelectField","Subtext","Subtitle","IconButton","ChevronLeftIcon","ChevronRightIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":[null],"names":["useTranslate","useState","useMemo","_jsxs","Flex","_jsx","SelectField","Subtext","Subtitle","IconButton","ChevronLeftIcon","ChevronRightIcon"],"mappings":"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"}
@@ -22,18 +22,19 @@ import '../Select/Select.mjs';
22
22
  import { SelectField } from '../Select/SelectField.mjs';
23
23
 
24
24
  /**
25
- * A pagination component that allows users to navigate through pages.
26
- * Displays the current page number and the maximum page count.
27
- * Supports both controlled and uncontrolled modes.
25
+ * Previous / next page buttons with a "current / last" counter, and an
26
+ * optional page-size select. The last page is derived:
27
+ * `Math.ceil(numTotalItems / itemsPerPage)`; the buttons are hidden when there
28
+ * is only one page.
28
29
  *
29
- * - **Controlled Mode**: Pass `currentPage` and `onBack`/`onNext` props to fully control the pagination behavior.
30
- * - **Uncontrolled Mode**: If `currentPage` is not provided, the component manages its own internal state for the current page.
30
+ * - **Controlled:** pass `currentPage` and update it from `onBack` / `onNext`
31
+ * (and `onCurrentPageChange`, which fires when a larger page size puts the
32
+ * current page past the new last page).
33
+ * - **Uncontrolled:** leave `currentPage` out and the component keeps the page
34
+ * itself.
31
35
  *
32
- * @param {PaginationProps} props - Props for the Pagination component.
33
- * @param {number} [props.currentPage] - The current page number (controlled mode).
34
- * @param {number} props.maxPage - The maximum number of pages available.
35
- * @param {() => void} [props.onBack] - Callback triggered when the "Back" button is clicked.
36
- * @param {() => void} [props.onNext] - Callback triggered when the "Next" button is clicked.
36
+ * `itemsPerPage` is always controlled: update it from
37
+ * `onItemsPerPageOptionChange`.
37
38
  */
38
39
  const Pagination = ({ currentPage: controlledCurrentPage, onCurrentPageChange, numTotalItems, onBack, onNext, itemsPerPageOptions, itemsPerPage, onItemsPerPageOptionChange, ...rest }) => {
39
40
  const translate = useTranslate();
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.mjs","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.mjs","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,7 +1,16 @@
1
1
  import { ProgressRootProps as ChakraProgressRootProps } from '@chakra-ui/react';
2
2
  export type ProgressBarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3
3
  export interface ProgressBarProps extends ChakraProgressRootProps {
4
+ /**
5
+ * Fill colour token. `danger.solid` only when the value means a problem
6
+ * (over a limit); otherwise leave the default.
7
+ * @default 'primary.main'
8
+ */
4
9
  filledTrackColor?: string;
10
+ /**
11
+ * Track height: `xs` 4px · `sm` 8px · `md` 16px · `lg` 24px · `xl` 32px.
12
+ * @default 'md'
13
+ */
5
14
  size?: ProgressBarSize;
6
15
  /**
7
16
  * Work whose length is not known yet: the bar slides across the track instead
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressBar/ProgressBar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"ProgressBar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressBar/ProgressBar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -1,14 +1,34 @@
1
1
  import { BoxProps } from '@chakra-ui/react';
2
2
  export interface Segment {
3
- /** Color value - supports hex colors, CSS color names, and Chakra UI color tokens (e.g., 'primary.main', 'danger.solid') */
3
+ /**
4
+ * Colour token for the arc. Categories take `category.{hue}.fg`; a status
5
+ * colour (`danger.solid`, …) only when the segment means that status. Hex and
6
+ * CSS colour names still render but skip the theme (no dark mode).
7
+ */
4
8
  color: string;
9
+ /** Amount, in the same unit as `total`. */
5
10
  value: number;
6
11
  }
7
12
  export interface RadialProgressProps extends BoxProps {
13
+ /**
14
+ * Diameter in px; stroke, gaps and the centre text scale with it.
15
+ * @default 200
16
+ */
8
17
  size?: number;
18
+ /**
19
+ * The whole the segments are parts of, also shown as the centre number.
20
+ * Nothing renders when it is 0 or less.
21
+ * @default 100
22
+ */
9
23
  total?: number;
24
+ /** Unit after the centre number, e.g. `GB`. */
10
25
  unit?: string;
26
+ /**
27
+ * Arcs in order, clockwise from the top. Whatever `total` leaves over is
28
+ * drawn as a `bg.track` arc.
29
+ */
11
30
  segments?: Segment[];
31
+ /** Formats the centre number, e.g. thousands separators. */
12
32
  formatTotal?: (value: number) => string | number;
13
33
  }
14
34
  export interface ProcessedSegment extends Segment {
@@ -1 +1 @@
1
- {"version":3,"file":"RadialProgress.types.d.ts","sourceRoot":"","sources":["../../../src/components/RadialProgress/RadialProgress.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,4HAA4H;IAC5H,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"RadialProgress.types.d.ts","sourceRoot":"","sources":["../../../src/components/RadialProgress/RadialProgress.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -6,7 +6,15 @@ import type { ButtonOwnProps } from '../Button/Button.types';
6
6
  * props minus the role (`variant` / `isDestructive`).
7
7
  */
8
8
  export type SeeMoreButtonOwnProps = Omit<ButtonOwnProps, 'variant' | 'isDestructive'> & {
9
+ /**
10
+ * How many items the list shows now. Printed as the first number of
11
+ * `더보기 (currentCount/maxCount)`.
12
+ */
9
13
  currentCount: number;
14
+ /**
15
+ * How many items there are in total. The button does not disable or hide
16
+ * itself when `currentCount` reaches this; the caller does.
17
+ */
10
18
  maxCount: number;
11
19
  };
12
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SeeMoreButton.types.d.ts","sourceRoot":"","sources":["../../../src/components/SeeMoreButton/SeeMoreButton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,cAAc,EACd,SAAS,GAAG,eAAe,CAC5B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IACpE,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"SeeMoreButton.types.d.ts","sourceRoot":"","sources":["../../../src/components/SeeMoreButton/SeeMoreButton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,cAAc,EACd,SAAS,GAAG,eAAe,CAC5B,GAAG;IACF;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IACpE,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,OAAO,EACL,sBAAsB,EAEvB,MAAM,0BAA0B,CAAC;AAkBlC,eAAO,MAAM,gBAAgB;;;;kDAmI3B,CAAC"}
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD,OAAO,EACL,sBAAsB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,gBAAgB;;;;kDAoJ3B,CAAC"}
@@ -4,54 +4,51 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var react = require('@chakra-ui/react');
7
+ var controlSizes = require('../../theme/controlSizes.js');
7
8
  var mergeCss = require('../../utils/mergeCss.js');
8
9
  var SegmentedControl_styles = require('./SegmentedControl.styles.js');
9
10
 
10
- // Match font sizes to the equivalent Chakra button sizes
11
- const fontSizeBySize = {
12
- xs: 'xs',
13
- sm: 'sm',
14
- md: 'sm',
15
- lg: 'md',
16
- };
17
- // Item heights so that itemHeight + 2×root-padding(p="1") equals the Button height for each size
18
- const itemHeightBySize = {
19
- xs: '6', // 32 - 8 = 24px
20
- sm: '7', // 36 - 8 = 28px
21
- md: '8', // 40 - 8 = 32px
22
- lg: '9', // 44 - 8 = 36px
23
- };
24
11
  const SegmentedControl = React.forwardRef(function SegmentedControl(props, ref) {
25
12
  const { options, value, onSelect, defaultValue, size = 'md', borderRadius = 'md', css, ...rest } = props;
26
- const fontSize = fontSizeBySize[size] ?? 'sm';
27
- const itemHeight = itemHeightBySize[size] ?? '8';
13
+ // Same textStyle as every other control at this size (see controlSizes):
14
+ // the item height is em inside a ScaledContext, so equal type is what keeps
15
+ // the outer height equal to Button's there too.
16
+ const spec = controlSizes.getControlSize(size);
17
+ // Root padding in px, not the `1` spacing token: that token is 0.25em, so at
18
+ // a 14px font it is 3.5px, and Ark positions the indicator from the item's
19
+ // integer offsetTop/offsetLeft (3.5 rounds to 4). The thumb then sat 0.5px
20
+ // low and its bottom gap was a pixel narrower than its top.
21
+ const rootPadding = `${SegmentedControl_styles.segmentRootPaddingPx(size)}px`;
28
22
  // Normalize options to the format expected by SegmentGroup.Items
29
23
  const items = options.map((option) => ({
30
24
  value: option.value,
31
25
  label: option.label,
32
26
  disabled: option.disabled,
33
27
  }));
34
- // Use theme borderRadius token directly via CSS variable
28
+ // Concentric with the root: inner radius = outer radius − root padding
29
+ // (rootPadding), floored at 0, so the gap between the two curves stays even.
35
30
  const indicatorRadius = typeof borderRadius === 'string'
36
- ? `var(--chakra-radii-${borderRadius})`
37
- : borderRadius;
31
+ ? `max(0px, calc(var(--chakra-radii-${borderRadius}) - ${rootPadding}))`
32
+ : typeof borderRadius === 'number'
33
+ ? `max(0px, calc(${borderRadius}px - ${rootPadding}))`
34
+ : borderRadius;
38
35
  return (jsxRuntime.jsxs(react.SegmentGroup.Root, { ref: ref, value: value, defaultValue: defaultValue ?? options[0]?.value, onValueChange: (details) => {
39
36
  if (onSelect) {
40
37
  onSelect(details.value);
41
38
  }
42
39
  }, size: size,
43
- // Track is bg.subtle (gray.50 light) and the selected indicator rides on
44
- // `bg.raised` — a raised neutral surface that resolves white in light and
45
- // the lightest neutral (gray.1100) in dark, so the thumb reads as lifted
46
- // above the track in both modes (`bg.surface` could not: its dark value is
47
- // darker than the track). The indicator also gains a shadow: an md drop
48
- // shadow in light, and in dark — where a drop shadow is invisible on a
40
+ // Track is bg.subtle and the selected indicator rides on `bg.raised` — a
41
+ // raised neutral surface that resolves white in light and a lighter
42
+ // neutral than the track in dark, so the thumb reads as lifted
43
+ // above the track in both modes. The indicator also gains a shadow: an xs drop
44
+ // shadow in light (md's 4px/8px drop filled the 4px track padding below the
45
+ // thumb and made it read as sagging), and in dark — where a drop shadow is invisible on a
49
46
  // dark canvas — a soft ambient shadow + a translucent-white hairline edge.
50
47
  //
51
48
  // The track itself only contrasts where the page wash is darker (light) or
52
49
  // lighter (dark) than the fill. It vanishes when the page matches the
53
- // track: a `bg.sunken` list/overview page is gray.50 in light — identical
54
- // to the bg.subtle track — and a `bg.surface` card is lighter than the
50
+ // track: a `bg.sunken` list/overview page has the same light value as
51
+ // the bg.subtle track — and a `bg.surface` card is lighter than the
55
52
  // track in dark. In either case the control would read as floating text,
56
53
  // so a hairline ring defines its bounds on *any* background: a neutral
57
54
  // `border.default` ring in light, a translucent-white ring in dark. (The
@@ -61,19 +58,23 @@ const SegmentedControl = React.forwardRef(function SegmentedControl(props, ref)
61
58
  // it. `border.default` keeps the edge present but light — `border.strong`
62
59
  // reads as a heavy box for a control that normally has no outline.) Both
63
60
  // rings are box-shadows (not borders) so the matched item-height math is
64
- // preserved.
65
- bg: "bg.subtle", p: "1", borderRadius: borderRadius, w: "fit-content", ...rest, css: mergeCss.mergeCss({
61
+ // preserved, and both are inset: an outer ring sits 1px outside the box,
62
+ // so any `overflow` ancestor flush with the control (a horizontal scroll
63
+ // row) clipped its straight edges and left only the rounded corners.
64
+ // Inset, it is drawn inside the root padding, where the indicator never
65
+ // reaches.
66
+ bg: "bg.subtle", p: rootPadding, borderRadius: borderRadius, w: "fit-content", ...rest, css: mergeCss.mergeCss({
66
67
  '--segment-indicator-bg': `var(--chakra-colors-bg-raised)`,
67
- '--segment-indicator-shadow': `var(--chakra-shadows-md)`,
68
- boxShadow: '0 0 0 1px var(--chakra-colors-border-default)',
68
+ '--segment-indicator-shadow': `var(--chakra-shadows-xs)`,
69
+ boxShadow: 'inset 0 0 0 1px var(--chakra-colors-border-default)',
69
70
  '.dark &': {
70
71
  '--segment-indicator-shadow': '0 1px 2px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.08)',
71
- boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.12)',
72
+ boxShadow: 'inset 0 0 0 1px rgba(255, 255, 255, 0.12)',
72
73
  },
73
74
  }, css), children: [jsxRuntime.jsx(react.SegmentGroup.Indicator, { borderRadius: indicatorRadius,
74
75
  // `travel`, delivered through custom properties — see the comment on
75
76
  // `indicatorTravel` for why the ordinary preset cannot reach this part.
76
- css: SegmentedControl_styles.indicatorTravel }), items.map((item) => (jsxRuntime.jsxs(react.SegmentGroup.Item, { value: item.value, disabled: item.disabled, cursor: item.disabled ? 'not-allowed' : 'pointer', flex: "1", height: itemHeight, _hover: { bg: 'transparent' }, children: [jsxRuntime.jsx(react.SegmentGroup.ItemText, { "data-text": typeof item.label === 'string' ? item.label : undefined, color: "fg.muted", fontWeight: "500", fontSize: fontSize, whiteSpace: "nowrap", display: "inline-flex", flexDirection: "column", alignItems: "center", css: {
77
+ css: SegmentedControl_styles.indicatorTravel }), items.map((item) => (jsxRuntime.jsxs(react.SegmentGroup.Item, { value: item.value, disabled: item.disabled, cursor: item.disabled ? 'not-allowed' : 'pointer', flex: "1", height: SegmentedControl_styles.segmentItemHeight(size), textStyle: spec.textStyle, px: spec.actionPaddingX, gap: spec.gap, _hover: { bg: 'transparent' }, children: [jsxRuntime.jsx(react.SegmentGroup.ItemText, { "data-text": typeof item.label === 'string' ? item.label : undefined, color: "fg.muted", fontWeight: "500", whiteSpace: "nowrap", display: "inline-flex", flexDirection: "column", alignItems: "center", css: {
77
78
  '&::after': {
78
79
  content: 'attr(data-text)',
79
80
  fontWeight: '600',
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":[null],"names":["forwardRef","_jsxs","SegmentGroup","mergeCss","_jsx","indicatorTravel"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":[null],"names":["forwardRef","getControlSize","segmentRootPaddingPx","_jsxs","SegmentGroup","mergeCss","_jsx","indicatorTravel","segmentItemHeight"],"mappings":"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"}
@@ -2,54 +2,51 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { SegmentGroup } from '@chakra-ui/react';
5
+ import { getControlSize } from '../../theme/controlSizes.mjs';
5
6
  import { mergeCss } from '../../utils/mergeCss.mjs';
6
- import { indicatorTravel } from './SegmentedControl.styles.mjs';
7
+ import { segmentRootPaddingPx, indicatorTravel, segmentItemHeight } from './SegmentedControl.styles.mjs';
7
8
 
8
- // Match font sizes to the equivalent Chakra button sizes
9
- const fontSizeBySize = {
10
- xs: 'xs',
11
- sm: 'sm',
12
- md: 'sm',
13
- lg: 'md',
14
- };
15
- // Item heights so that itemHeight + 2×root-padding(p="1") equals the Button height for each size
16
- const itemHeightBySize = {
17
- xs: '6', // 32 - 8 = 24px
18
- sm: '7', // 36 - 8 = 28px
19
- md: '8', // 40 - 8 = 32px
20
- lg: '9', // 44 - 8 = 36px
21
- };
22
9
  const SegmentedControl = forwardRef(function SegmentedControl(props, ref) {
23
10
  const { options, value, onSelect, defaultValue, size = 'md', borderRadius = 'md', css, ...rest } = props;
24
- const fontSize = fontSizeBySize[size] ?? 'sm';
25
- const itemHeight = itemHeightBySize[size] ?? '8';
11
+ // Same textStyle as every other control at this size (see controlSizes):
12
+ // the item height is em inside a ScaledContext, so equal type is what keeps
13
+ // the outer height equal to Button's there too.
14
+ const spec = getControlSize(size);
15
+ // Root padding in px, not the `1` spacing token: that token is 0.25em, so at
16
+ // a 14px font it is 3.5px, and Ark positions the indicator from the item's
17
+ // integer offsetTop/offsetLeft (3.5 rounds to 4). The thumb then sat 0.5px
18
+ // low and its bottom gap was a pixel narrower than its top.
19
+ const rootPadding = `${segmentRootPaddingPx(size)}px`;
26
20
  // Normalize options to the format expected by SegmentGroup.Items
27
21
  const items = options.map((option) => ({
28
22
  value: option.value,
29
23
  label: option.label,
30
24
  disabled: option.disabled,
31
25
  }));
32
- // Use theme borderRadius token directly via CSS variable
26
+ // Concentric with the root: inner radius = outer radius − root padding
27
+ // (rootPadding), floored at 0, so the gap between the two curves stays even.
33
28
  const indicatorRadius = typeof borderRadius === 'string'
34
- ? `var(--chakra-radii-${borderRadius})`
35
- : borderRadius;
29
+ ? `max(0px, calc(var(--chakra-radii-${borderRadius}) - ${rootPadding}))`
30
+ : typeof borderRadius === 'number'
31
+ ? `max(0px, calc(${borderRadius}px - ${rootPadding}))`
32
+ : borderRadius;
36
33
  return (jsxs(SegmentGroup.Root, { ref: ref, value: value, defaultValue: defaultValue ?? options[0]?.value, onValueChange: (details) => {
37
34
  if (onSelect) {
38
35
  onSelect(details.value);
39
36
  }
40
37
  }, size: size,
41
- // Track is bg.subtle (gray.50 light) and the selected indicator rides on
42
- // `bg.raised` — a raised neutral surface that resolves white in light and
43
- // the lightest neutral (gray.1100) in dark, so the thumb reads as lifted
44
- // above the track in both modes (`bg.surface` could not: its dark value is
45
- // darker than the track). The indicator also gains a shadow: an md drop
46
- // shadow in light, and in dark — where a drop shadow is invisible on a
38
+ // Track is bg.subtle and the selected indicator rides on `bg.raised` — a
39
+ // raised neutral surface that resolves white in light and a lighter
40
+ // neutral than the track in dark, so the thumb reads as lifted
41
+ // above the track in both modes. The indicator also gains a shadow: an xs drop
42
+ // shadow in light (md's 4px/8px drop filled the 4px track padding below the
43
+ // thumb and made it read as sagging), and in dark — where a drop shadow is invisible on a
47
44
  // dark canvas — a soft ambient shadow + a translucent-white hairline edge.
48
45
  //
49
46
  // The track itself only contrasts where the page wash is darker (light) or
50
47
  // lighter (dark) than the fill. It vanishes when the page matches the
51
- // track: a `bg.sunken` list/overview page is gray.50 in light — identical
52
- // to the bg.subtle track — and a `bg.surface` card is lighter than the
48
+ // track: a `bg.sunken` list/overview page has the same light value as
49
+ // the bg.subtle track — and a `bg.surface` card is lighter than the
53
50
  // track in dark. In either case the control would read as floating text,
54
51
  // so a hairline ring defines its bounds on *any* background: a neutral
55
52
  // `border.default` ring in light, a translucent-white ring in dark. (The
@@ -59,19 +56,23 @@ const SegmentedControl = forwardRef(function SegmentedControl(props, ref) {
59
56
  // it. `border.default` keeps the edge present but light — `border.strong`
60
57
  // reads as a heavy box for a control that normally has no outline.) Both
61
58
  // rings are box-shadows (not borders) so the matched item-height math is
62
- // preserved.
63
- bg: "bg.subtle", p: "1", borderRadius: borderRadius, w: "fit-content", ...rest, css: mergeCss({
59
+ // preserved, and both are inset: an outer ring sits 1px outside the box,
60
+ // so any `overflow` ancestor flush with the control (a horizontal scroll
61
+ // row) clipped its straight edges and left only the rounded corners.
62
+ // Inset, it is drawn inside the root padding, where the indicator never
63
+ // reaches.
64
+ bg: "bg.subtle", p: rootPadding, borderRadius: borderRadius, w: "fit-content", ...rest, css: mergeCss({
64
65
  '--segment-indicator-bg': `var(--chakra-colors-bg-raised)`,
65
- '--segment-indicator-shadow': `var(--chakra-shadows-md)`,
66
- boxShadow: '0 0 0 1px var(--chakra-colors-border-default)',
66
+ '--segment-indicator-shadow': `var(--chakra-shadows-xs)`,
67
+ boxShadow: 'inset 0 0 0 1px var(--chakra-colors-border-default)',
67
68
  '.dark &': {
68
69
  '--segment-indicator-shadow': '0 1px 2px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.08)',
69
- boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.12)',
70
+ boxShadow: 'inset 0 0 0 1px rgba(255, 255, 255, 0.12)',
70
71
  },
71
72
  }, css), children: [jsx(SegmentGroup.Indicator, { borderRadius: indicatorRadius,
72
73
  // `travel`, delivered through custom properties — see the comment on
73
74
  // `indicatorTravel` for why the ordinary preset cannot reach this part.
74
- css: indicatorTravel }), items.map((item) => (jsxs(SegmentGroup.Item, { value: item.value, disabled: item.disabled, cursor: item.disabled ? 'not-allowed' : 'pointer', flex: "1", height: itemHeight, _hover: { bg: 'transparent' }, children: [jsx(SegmentGroup.ItemText, { "data-text": typeof item.label === 'string' ? item.label : undefined, color: "fg.muted", fontWeight: "500", fontSize: fontSize, whiteSpace: "nowrap", display: "inline-flex", flexDirection: "column", alignItems: "center", css: {
75
+ css: indicatorTravel }), items.map((item) => (jsxs(SegmentGroup.Item, { value: item.value, disabled: item.disabled, cursor: item.disabled ? 'not-allowed' : 'pointer', flex: "1", height: segmentItemHeight(size), textStyle: spec.textStyle, px: spec.actionPaddingX, gap: spec.gap, _hover: { bg: 'transparent' }, children: [jsx(SegmentGroup.ItemText, { "data-text": typeof item.label === 'string' ? item.label : undefined, color: "fg.muted", fontWeight: "500", whiteSpace: "nowrap", display: "inline-flex", flexDirection: "column", alignItems: "center", css: {
75
76
  '&::after': {
76
77
  content: 'attr(data-text)',
77
78
  fontWeight: '600',
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.mjs","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl.mjs","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;AAgBO,MAAM,gBAAgB,GAAG,UAAU,CAGxC,SAAS,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAA;IACpC,MAAM,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,IAAI,GAAG,IAAI,EACX,YAAY,GAAG,IAAI,EACnB,GAAG,EACH,GAAG,IAAI,EACR,GAAG,KAAK;;;;AAKT,IAAA,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;;;;;IAMjC,MAAM,WAAW,GAAG,CAAA,EAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI;;IAGrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAA8B,MAAM;QAC7D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC1B,KAAA,CAAC,CAAC;;;AAIH,IAAA,MAAM,eAAe,GACnB,OAAO,YAAY,KAAK;AACtB,UAAE,CAAA,iCAAA,EAAoC,YAAY,CAAA,IAAA,EAAO,WAAW,CAAA,EAAA;AACpE,UAAE,OAAO,YAAY,KAAK;AACxB,cAAE,CAAA,cAAA,EAAiB,YAAY,CAAA,KAAA,EAAQ,WAAW,CAAA,EAAA;cAChD,YAAY;AAEpB,IAAA,QACEA,IAAA,CAAC,YAAY,CAAC,IAAI,EAAA,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAC/C,aAAa,EAAE,CAAC,OAA0B,KAAI;YAC5C,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACzB;QACF,CAAC,EACD,IAAI,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BV,EAAE,EAAC,WAAW,EACd,CAAC,EAAE,WAAW,EACd,YAAY,EAAE,YAAY,EAC1B,CAAC,EAAC,aAAa,EAAA,GACX,IAAI,EACR,GAAG,EAAE,QAAQ,CACX;AACE,YAAA,wBAAwB,EAAE,CAAA,8BAAA,CAAgC;AAC1D,YAAA,4BAA4B,EAAE,CAAA,wBAAA,CAA0B;AACxD,YAAA,SAAS,EAAE,qDAAqD;AAChE,YAAA,SAAS,EAAE;AACT,gBAAA,4BAA4B,EAC1B,oEAAoE;AACtE,gBAAA,SAAS,EAAE,2CAA2C;AACvD,aAAA;SACF,EACD,GAAG,CACJ,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAC,YAAY,CAAC,SAAS,EAAA,EACrB,YAAY,EAAE,eAAe;;;AAG7B,gBAAA,GAAG,EAAE,eAAe,EAAA,CACpB,EACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACdD,IAAA,CAAC,YAAY,CAAC,IAAI,EAAA,EAEhB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,SAAS,EACjD,IAAI,EAAC,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,EAAE,EAAE,IAAI,CAAC,cAAc,EACvB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAA,QAAA,EAAA,CAE7BC,GAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAA,WAAA,EACT,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,EAClE,KAAK,EAAC,UAAU,EAChB,UAAU,EAAC,KAAK,EAChB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAC,aAAa,EACrB,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAE;AACH,4BAAA,UAAU,EAAE;AACV,gCAAA,OAAO,EAAE,iBAAiB;AAC1B,gCAAA,UAAU,EAAE,KAAK;AACjB,gCAAA,MAAM,EAAE,GAAG;AACX,gCAAA,UAAU,EAAE,QAAQ;AACpB,gCAAA,QAAQ,EAAE,QAAQ;AAClB,gCAAA,UAAU,EAAE,MAAM;AAClB,gCAAA,aAAa,EAAE,MAAM;AACtB,6BAAA;AACD,4BAAA,0BAA0B,EAAE;AAC1B,gCAAA,KAAK,EAAE,iCAAiC;AACxC,gCAAA,UAAU,EAAE,KAAK;AAClB,6BAAA;AACF,yBAAA,EAAA,QAAA,EAEA,IAAI,CAAC,KAAK,GACW,EACxBA,GAAA,CAAC,YAAY,CAAC,eAAe,KAAG,CAAA,EAAA,EArC3B,IAAI,CAAC,KAAK,CAsCG,CACrB,CAAC,CAAA,EAAA,CACgB;AAExB,CAAC;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;;;;"}