@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,680 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ import { Box, Flex, Grid, Stack } from '@chakra-ui/react';
3
+ import { Meta, StoryObj } from '@storybook/react';
4
+
5
+ import { T } from '../guidelines/_components/Lang';
6
+
7
+ /**
8
+ * Specimens for `BrandAssets.mdx` (Foundations / Brand assets).
9
+ *
10
+ * Everything here is drawn the way baze.co draws it: the geometry is copied
11
+ * verbatim from `mindlogic-ai/baze-landing-page` `src/lib/marks.ts` (itself
12
+ * traced from the Illustrator master), the grain filter from
13
+ * `src/components/ui/GrainDefs.astro`, and every size, offset and colour from
14
+ * the component that uses it (cited per story). These helpers are local to the
15
+ * docs page on purpose — they are not a library component, and the package
16
+ * ships no brand raster. The artwork images are loaded from baze.co itself,
17
+ * never bundled.
18
+ *
19
+ * Hidden from the sidebar (`!dev`); the MDX page is the entry point.
20
+ */
21
+ const meta: Meta = {
22
+ title: 'Foundations/Brand assets',
23
+ tags: ['!dev'],
24
+ parameters: { layout: 'padded' },
25
+ };
26
+ export default meta;
27
+ type Story = StoryObj;
28
+
29
+ /* -------------------------------------------------------------------------
30
+ Geometry — verbatim from baze-landing-page `src/lib/marks.ts`.
31
+ Do not nudge these numbers; re-trace from the master file instead.
32
+ ------------------------------------------------------------------------- */
33
+
34
+ const MARK_ASPECT = 1.04051;
35
+ const MARK_VIEWBOX = '0 0 104.051 100';
36
+ const PAIR =
37
+ 'M 28.178 53.749 C 28.178 53.749 26.763 52.382 26.763 49.999 C 26.763 47.619 28.178 46.252 28.178 46.252 L 46.856 27.578 C 48.753 25.681 48.753 22.598 46.856 20.701 L 27.577 1.423 C 25.68 -0.474 22.601 -0.474 20.7 1.423 L 1.426 20.701 C -0.475 22.598 -0.475 25.681 1.426 27.578 L 20.1 46.252 C 20.1 46.252 21.518 47.619 21.518 49.999 C 21.518 52.382 20.1 53.749 20.1 53.749 L 1.426 72.423 C -0.475 74.32 -0.475 77.403 1.426 79.3 L 20.7 98.574 C 22.601 100.475 25.68 100.475 27.577 98.574 L 46.856 79.3 C 48.753 77.403 48.753 74.32 46.856 72.423 Z';
38
+ const COUNTER =
39
+ 'M 79.911 34.273 C 74.315 34.273 69.778 29.736 69.778 24.14 C 69.778 18.543 74.315 14.006 79.911 14.006 C 85.508 14.006 90.045 18.543 90.045 24.14 C 90.045 29.736 85.508 34.273 79.911 34.273 M 102.628 20.701 L 83.35 1.427 C 81.453 -0.474 78.374 -0.474 76.473 1.427 L 57.198 20.701 C 55.297 22.598 55.297 25.677 57.198 27.578 L 76.473 46.853 C 78.374 48.754 81.453 48.754 83.35 46.853 L 102.628 27.578 C 104.525 25.677 104.525 22.598 102.628 20.701';
40
+ const LOOSE =
41
+ 'M 76.473 98.574 L 57.198 79.3 C 55.297 77.403 55.297 74.324 57.198 72.423 L 76.473 53.148 C 78.374 51.247 81.453 51.247 83.35 53.148 L 102.628 72.423 C 104.525 74.324 104.525 77.403 102.628 79.3 L 83.35 98.574 C 81.453 100.475 78.374 100.475 76.473 98.574';
42
+ /** `markPath` is the three pieces' subpaths in one path. */
43
+ const MARK = `${PAIR} M 28.178 53.749 M ${COUNTER.slice(2)} M ${LOOSE.slice(2)}`;
44
+
45
+ const WORDMARK_ASPECT = 4.323882;
46
+ const WORDMARK_VIEWBOX = '0 0 432.388 100';
47
+ const WORDMARK =
48
+ 'M 37.144 77.428 L 57.432 77.428 C 60.715 77.428 64.433 77.285 67.145 75.287 C 68.715 74.002 70.428 71.855 70.428 68.287 C 70.428 65.568 69.571 63.142 66.716 61.286 C 65.432 60.572 62.856 59.288 57.004 59.288 L 37.144 59.288 Z M 37.144 38.571 L 55.57 38.571 C 58.288 38.571 61.857 38 63.712 36.716 C 65.432 35.574 66.716 33.284 66.716 30.429 C 66.716 27.431 65.432 25.284 63.855 24.285 C 62.142 23.143 58.431 22.572 56.569 22.572 L 37.144 22.572 Z M 66.145 0 C 81.003 0 88.575 1.713 93.428 4.717 C 95.718 6.144 103.575 11.568 103.575 23.714 C 103.575 31.285 100.143 36.288 97.288 39.142 C 92.286 44.145 85.571 46.143 84.286 46.428 L 84.286 46.999 C 89.146 47.856 96.146 50.425 100.571 54 C 105.002 57.568 108.999 63.427 108.999 72.569 C 108.999 81.425 105.002 88.86 99.286 93.142 C 97.003 94.855 89.146 100 67.287 100 L 0 100 L 0 0 Z M 66.145 0 M 177.791 63.712 L 167.222 35.288 L 156.939 63.712 Z M 143.366 100 L 105.937 100 L 150.081 0 L 184.507 0 L 228.651 100 L 191.222 100 L 185.798 85.856 L 148.796 85.856 Z M 143.366 100 M 266.956 72.569 L 323.811 22.144 L 323.811 0 L 226.951 0 L 226.951 27.431 L 276.669 27.431 L 223.668 74.145 L 235.081 100 L 325.667 100 L 325.667 72.569 Z M 266.956 72.569 M 418.673 37.715 L 418.673 61.286 L 369.24 61.286 L 369.24 73.574 L 432.388 73.574 L 432.388 100 L 332.103 100 L 332.103 0 L 430.954 0 L 430.954 26.432 L 369.24 26.432 L 369.24 37.715 Z M 418.673 37.715';
49
+
50
+ /** The lockup in mark-height units (mark = 100), measured off `Baze_logo_black.png`. */
51
+ const LOCKUP = { gap: 35.4, wordHeight: 58, wordCenterY: 49.5 };
52
+ const LOCKUP_W = 104.051 + LOCKUP.gap + WORDMARK_ASPECT * LOCKUP.wordHeight;
53
+
54
+ /** One Base Unit in a 24-unit box: `diamondMark`. */
55
+ const UNIT =
56
+ 'M 10.291 23.291 L 0.709 13.709 C -0.236 12.766 -0.236 11.236 0.709 10.291 L 10.291 0.709 C 11.236 -0.236 12.766 -0.236 13.709 0.709 L 23.293 10.291 C 24.236 11.236 24.236 12.766 23.293 13.709 L 13.709 23.291 C 12.766 24.236 11.236 24.236 10.291 23.291';
57
+
58
+ /* -------------------------------------------------------------------------
59
+ Colour — baze.co `src/styles/tokens.css`. Artwork colours, fixed in both
60
+ colour modes (as FactChat's `artwork.*` are). Not product UI tokens.
61
+ ------------------------------------------------------------------------- */
62
+
63
+ const BZ = {
64
+ ink: '#252525',
65
+ paper: '#fdfcf9',
66
+ wash: '#faf6f1',
67
+ cream: '#f5ede0',
68
+ faint: '#a8a8a8',
69
+ coral: '#ff8680',
70
+ coralDeep: '#da483e',
71
+ mint: '#86e0c5',
72
+ mintDeep: '#3c967d',
73
+ azure: '#37a9cc',
74
+ azureDeep: '#24768e',
75
+ } as const;
76
+
77
+ /**
78
+ * The artwork the specimens show, loaded from baze.co itself (it serves its
79
+ * images with `access-control-allow-origin: *`) at the intrinsic sizes listed
80
+ * in its `src/lib/images.ts`, so nothing is bundled and nothing reflows.
81
+ */
82
+ const ART = {
83
+ typewriter: ['assets/typewriter.webp', 1325, 1388],
84
+ lightbulb: ['assets/lightbulb.webp', 774, 1081],
85
+ notebookPencil: ['assets/notebook-pencil.webp', 991, 1208],
86
+ manFloor: ['assets/collage/01-man-desk-flat.webp', 2400, 1752],
87
+ womanTyping: ['assets/collage/02-woman-laptop-flat.webp', 2311, 2400],
88
+ paperGridTorn: ['assets/paper-grid-torn.webp', 1734, 1415],
89
+ paperTornSquare: ['assets/paper-torn-square.webp', 1537, 1342],
90
+ poster1: ['gallery/poster-1.webp', 663, 994],
91
+ posterFestival: ['shots/poster-festival.webp', 900, 900],
92
+ poster2: ['gallery/poster-2.webp', 707, 1000],
93
+ posterBrunch: ['shots/poster-brunch.webp', 900, 900],
94
+ } as const;
95
+ type ArtKey = keyof typeof ART;
96
+
97
+ const Art = ({ name, style }: { name: ArtKey; style?: CSSProperties }) => {
98
+ const [path, width, height] = ART[name];
99
+ return (
100
+ <img
101
+ src={`https://baze.co/images/${path}`}
102
+ alt=""
103
+ width={width}
104
+ height={height}
105
+ decoding="async"
106
+ style={style}
107
+ />
108
+ );
109
+ };
110
+
111
+ /** A cutout centred in a plate's padding box, at any aspect ratio. */
112
+ const FIT: CSSProperties = {
113
+ position: 'absolute',
114
+ inset: 24,
115
+ width: 'calc(100% - 48px)',
116
+ height: 'calc(100% - 48px)',
117
+ objectFit: 'contain',
118
+ };
119
+
120
+ /** The house print treatment for a cutout on the wash (FeatureShowcase.astro). */
121
+ const PRINTED: CSSProperties = {
122
+ mixBlendMode: 'multiply',
123
+ filter: 'sepia(0.2) saturate(0.85) contrast(1.05)',
124
+ };
125
+
126
+ /* -------------------------------------------------------------------------
127
+ Story-local renderers
128
+ ------------------------------------------------------------------------- */
129
+
130
+ const Lockup = ({ size, color = BZ.ink }: { size: number; color?: string }) => (
131
+ <svg
132
+ width={+((size * LOCKUP_W) / 100).toFixed(2)}
133
+ height={size}
134
+ viewBox={`0 0 ${LOCKUP_W.toFixed(3)} 100`}
135
+ role="img"
136
+ aria-label="BAZE"
137
+ style={{ display: 'block', color }}
138
+ >
139
+ <path fill="currentColor" d={MARK} />
140
+ <g
141
+ transform={`translate(${(104.051 + LOCKUP.gap).toFixed(3)} ${(
142
+ LOCKUP.wordCenterY -
143
+ LOCKUP.wordHeight / 2
144
+ ).toFixed(3)}) scale(${LOCKUP.wordHeight / 100})`}
145
+ >
146
+ <path fill="currentColor" d={WORDMARK} />
147
+ </g>
148
+ </svg>
149
+ );
150
+
151
+ const Mark = ({
152
+ size,
153
+ color = BZ.ink,
154
+ dim,
155
+ }: {
156
+ size: number;
157
+ color?: string;
158
+ /** Show one piece at full ink and the other two faint. */
159
+ dim?: 'pair' | 'counter' | 'loose';
160
+ }) => (
161
+ <svg
162
+ width={+(size * MARK_ASPECT).toFixed(2)}
163
+ height={size}
164
+ viewBox={MARK_VIEWBOX}
165
+ aria-hidden="true"
166
+ style={{ display: 'block', color }}
167
+ >
168
+ {dim ? (
169
+ (
170
+ [
171
+ ['pair', PAIR],
172
+ ['counter', COUNTER],
173
+ ['loose', LOOSE],
174
+ ] as const
175
+ ).map(([name, d]) => (
176
+ <path
177
+ key={name}
178
+ fill="currentColor"
179
+ d={d}
180
+ opacity={name === dim ? 1 : 0.16}
181
+ />
182
+ ))
183
+ ) : (
184
+ <path fill="currentColor" d={MARK} />
185
+ )}
186
+ </svg>
187
+ );
188
+
189
+ const Wordmark = ({
190
+ size,
191
+ color = BZ.ink,
192
+ }: {
193
+ size: number;
194
+ color?: string;
195
+ }) => (
196
+ <svg
197
+ width={+(size * WORDMARK_ASPECT).toFixed(2)}
198
+ height={size}
199
+ viewBox={WORDMARK_VIEWBOX}
200
+ role="img"
201
+ aria-label="BAZE"
202
+ style={{ display: 'block', color }}
203
+ >
204
+ <path fill="currentColor" d={WORDMARK} />
205
+ </svg>
206
+ );
207
+
208
+ /** The paper-grain filter, once per story (GrainDefs.astro). */
209
+ const GRAIN_ID = 'bz-grain-docs';
210
+ const GrainDefs = () => (
211
+ <svg
212
+ width="0"
213
+ height="0"
214
+ aria-hidden="true"
215
+ focusable="false"
216
+ style={{ position: 'absolute' }}
217
+ >
218
+ <filter
219
+ id={GRAIN_ID}
220
+ x="-5%"
221
+ y="-5%"
222
+ width="110%"
223
+ height="110%"
224
+ colorInterpolationFilters="sRGB"
225
+ >
226
+ <feTurbulence
227
+ type="fractalNoise"
228
+ baseFrequency="0.55"
229
+ numOctaves={3}
230
+ seed={7}
231
+ result="raw"
232
+ />
233
+ <feColorMatrix
234
+ in="raw"
235
+ type="matrix"
236
+ values="0.213 0.715 0.072 0 0 0.213 0.715 0.072 0 0 0.213 0.715 0.072 0 0 0 0 0 0 1"
237
+ result="mono"
238
+ />
239
+ <feComponentTransfer in="mono" result="dark">
240
+ <feFuncR type="linear" slope="0.38" intercept="0.62" />
241
+ <feFuncG type="linear" slope="0.38" intercept="0.62" />
242
+ <feFuncB type="linear" slope="0.38" intercept="0.62" />
243
+ </feComponentTransfer>
244
+ <feComponentTransfer in="mono" result="light">
245
+ <feFuncR type="linear" slope="0.24" intercept="0" />
246
+ <feFuncG type="linear" slope="0.24" intercept="0" />
247
+ <feFuncB type="linear" slope="0.24" intercept="0" />
248
+ </feComponentTransfer>
249
+ <feBlend in="SourceGraphic" in2="dark" mode="multiply" result="mul" />
250
+ <feBlend in="mul" in2="light" mode="screen" result="tex" />
251
+ <feComposite in="tex" in2="SourceGraphic" operator="in" />
252
+ </filter>
253
+ </svg>
254
+ );
255
+
256
+ /** A single Base Unit (Diamond.astro): solid, or outline for dark surfaces. */
257
+ const Unit = ({
258
+ size,
259
+ variant = 'solid',
260
+ grain = true,
261
+ className,
262
+ style,
263
+ }: {
264
+ size: number;
265
+ variant?: 'solid' | 'outline';
266
+ grain?: boolean;
267
+ className?: string;
268
+ style?: CSSProperties;
269
+ }) => (
270
+ <svg
271
+ className={className}
272
+ style={style}
273
+ width={size}
274
+ height={size}
275
+ viewBox="0 0 24 24"
276
+ aria-hidden="true"
277
+ focusable="false"
278
+ >
279
+ <g filter={grain ? `url(#${GRAIN_ID})` : undefined}>
280
+ {variant === 'solid' ? (
281
+ <path fill="currentColor" d={UNIT} />
282
+ ) : (
283
+ <path
284
+ fill="none"
285
+ stroke="currentColor"
286
+ strokeWidth="2.2"
287
+ transform="translate(12 12) scale(0.9) translate(-12 -12)"
288
+ d={UNIT}
289
+ />
290
+ )}
291
+ </g>
292
+ </svg>
293
+ );
294
+
295
+ const Ground = ({
296
+ bg,
297
+ children,
298
+ p = 6,
299
+ }: {
300
+ bg: string;
301
+ children: ReactNode;
302
+ p?: number;
303
+ }) => (
304
+ <Box style={{ background: bg }} borderRadius="12px" p={p}>
305
+ {children}
306
+ </Box>
307
+ );
308
+
309
+ const Caption = ({ children }: { children: ReactNode }) => (
310
+ <Box fontSize="xs" color="fg.muted" mt={2}>
311
+ {children}
312
+ </Box>
313
+ );
314
+
315
+ /* -------------------------------------------------------------------------
316
+ Stories
317
+ ------------------------------------------------------------------------- */
318
+
319
+ export const LockupForms: Story = {
320
+ render: () => (
321
+ <Grid templateColumns={{ base: '1fr', md: '1fr 1fr' }} gap={4}>
322
+ <Ground bg={BZ.cream}>
323
+ <Stack gap={6} align="start">
324
+ <Lockup size={48} />
325
+ <Flex gap={8} align="end">
326
+ <Mark size={48} />
327
+ <Wordmark size={28} />
328
+ </Flex>
329
+ </Stack>
330
+ <Caption>
331
+ <T
332
+ en="Ink #252525 on cream — lockup, symbol, wordmark"
333
+ ko="크림 바탕의 잉크 #252525 — 로크업, 심볼, 워드마크"
334
+ />
335
+ </Caption>
336
+ </Ground>
337
+ <Ground bg={BZ.ink}>
338
+ <Stack gap={6} align="start">
339
+ <Lockup size={48} color="#ffffff" />
340
+ <Flex gap={8} align="end">
341
+ <Mark size={48} color="#ffffff" />
342
+ <Wordmark size={28} color="#ffffff" />
343
+ </Flex>
344
+ </Stack>
345
+ <Box fontSize="xs" mt={2} style={{ color: BZ.faint }}>
346
+ <T
347
+ en="White on ink — the nav and the footer"
348
+ ko="잉크 바탕의 흰색 — 내비게이션과 푸터"
349
+ />
350
+ </Box>
351
+ </Ground>
352
+ </Grid>
353
+ ),
354
+ };
355
+
356
+ export const MarkAnatomy: Story = {
357
+ render: () => (
358
+ <Ground bg={BZ.cream}>
359
+ <Flex gap={10} wrap="wrap">
360
+ {(
361
+ [
362
+ ['pair', 'Pair — never separates', '페어 — 떨어지지 않음'],
363
+ ['counter', 'Counter — keeps its hole', '카운터 — 구멍을 유지'],
364
+ ['loose', 'Loose — the one that travels', '루즈 — 움직이는 조각'],
365
+ ] as const
366
+ ).map(([piece, en, ko]) => (
367
+ <Box key={piece}>
368
+ <Mark size={96} dim={piece} />
369
+ <Caption>
370
+ <T en={en} ko={ko} />
371
+ </Caption>
372
+ </Box>
373
+ ))}
374
+ </Flex>
375
+ </Ground>
376
+ ),
377
+ };
378
+
379
+ /** X = the wordmark's height in the lockup (guidebook p.5, p.11). */
380
+ export const ClearSpace: Story = {
381
+ render: () => {
382
+ const size = 64;
383
+ const x = (size * LOCKUP.wordHeight) / 100;
384
+ return (
385
+ <Ground bg={BZ.cream}>
386
+ <Box
387
+ display="inline-block"
388
+ style={{
389
+ padding: x,
390
+ outline: `1px dashed ${BZ.coralDeep}`,
391
+ background: 'rgba(255, 134, 128, 0.22)',
392
+ }}
393
+ >
394
+ <Box style={{ background: BZ.cream }}>
395
+ <Lockup size={size} />
396
+ </Box>
397
+ </Box>
398
+ <Caption>
399
+ <T
400
+ en="Tinted band = X on every side. X is the wordmark's height in the lockup (58% of the mark)."
401
+ ko="색 띠가 사방의 X입니다. 로크업에서 X는 워드마크의 높이(마크 높이의 58%)입니다."
402
+ />
403
+ </Caption>
404
+ </Ground>
405
+ );
406
+ },
407
+ };
408
+
409
+ export const UnitForms: Story = {
410
+ render: () => (
411
+ <Grid templateColumns={{ base: '1fr', md: '1fr 1fr' }} gap={4}>
412
+ <GrainDefs />
413
+ <Ground bg={BZ.paper}>
414
+ <Flex gap={6} align="end" style={{ color: BZ.ink }}>
415
+ {[10, 12, 14, 24, 44].map((size) => (
416
+ <Box key={size} textAlign="center">
417
+ <Unit size={size} />
418
+ <Caption>{size}</Caption>
419
+ </Box>
420
+ ))}
421
+ <Box textAlign="center">
422
+ <Unit size={44} grain={false} />
423
+ <Caption>
424
+ <T en="no grain" ko="그레인 없음" />
425
+ </Caption>
426
+ </Box>
427
+ </Flex>
428
+ <Caption>
429
+ <T
430
+ en="Solid unit with the paper grain, at the sizes baze.co uses"
431
+ ko="종이 그레인을 입힌 단색 유닛, baze.co가 쓰는 크기"
432
+ />
433
+ </Caption>
434
+ </Ground>
435
+ <Ground bg={BZ.ink}>
436
+ <Flex gap={3} align="center" style={{ color: BZ.cream }}>
437
+ <Unit size={14} />
438
+ <Unit size={14} variant="outline" />
439
+ </Flex>
440
+ <Box fontSize="xs" mt={2} style={{ color: BZ.faint }}>
441
+ <T
442
+ en="Solid + outline on the black bar (the receipt stub)"
443
+ ko="검은 띠 위의 단색 + 윤곽 (영수증 끝부분)"
444
+ />
445
+ </Box>
446
+ </Ground>
447
+ </Grid>
448
+ ),
449
+ };
450
+
451
+ /**
452
+ * The homepage's three art-plate variants (Highlights.astro `unitVariants`):
453
+ * lead (a) · companion (b) · deep (c), with each row's own positions.
454
+ */
455
+ const PLATE_VARIANTS = [
456
+ {
457
+ art: 'typewriter',
458
+ glow: [BZ.coralDeep, BZ.azureDeep],
459
+ tint: BZ.azure,
460
+ sizes: [26, 12, 44],
461
+ spots: [
462
+ ['16%', '18%'],
463
+ ['76%', '34%'],
464
+ ['7%', '60%'],
465
+ ],
466
+ },
467
+ {
468
+ art: 'lightbulb',
469
+ glow: [BZ.mintDeep, BZ.coralDeep],
470
+ tint: BZ.coral,
471
+ sizes: [18, 15, 52],
472
+ spots: [
473
+ ['72%', '14%'],
474
+ ['14%', '28%'],
475
+ ['64%', '55%'],
476
+ ],
477
+ },
478
+ {
479
+ art: 'notebookPencil',
480
+ glow: [BZ.azureDeep, BZ.mintDeep],
481
+ tint: BZ.mint,
482
+ sizes: [23, 11, 40],
483
+ spots: [
484
+ ['22%', '10%'],
485
+ ['80%', '44%'],
486
+ ['10%', '36%'],
487
+ ],
488
+ },
489
+ ] as const;
490
+
491
+ const PLATE_CSS = `
492
+ .bzd-plate { position: relative; aspect-ratio: 4 / 3; background: ${BZ.wash};
493
+ border-radius: 18px; overflow: clip; isolation: isolate; }
494
+ .bzd-unit { position: absolute; color: ${BZ.ink}; }
495
+ .bzd-unit--a, .bzd-unit--b { z-index: 3; }
496
+ .bzd-unit--a { left: var(--ua-l); top: var(--ua-t); }
497
+ .bzd-unit--b { left: var(--ub-l); top: var(--ub-t); color: var(--tint-b);
498
+ opacity: 0.9; }
499
+ .bzd-unit--c { left: var(--uc-l); top: var(--uc-t); opacity: 0.16; }
500
+ .bzd-plate:hover .bzd-unit--a, .bzd-plate:hover .bzd-unit--b {
501
+ scale: 1.15; translate: 0 -2px; }
502
+ .bzd-plate:hover .bzd-unit--a { color: var(--glow-a); }
503
+ .bzd-plate:hover .bzd-unit--b { color: var(--glow-b); }
504
+ @media (prefers-reduced-motion: no-preference) {
505
+ .bzd-unit { transition: color 200ms cubic-bezier(0.4, 0, 0.2, 1),
506
+ scale 200ms cubic-bezier(0.16, 1, 0.3, 1),
507
+ translate 200ms cubic-bezier(0.16, 1, 0.3, 1); }
508
+ }
509
+ @media (prefers-reduced-motion: reduce) {
510
+ .bzd-plate:hover .bzd-unit--a, .bzd-plate:hover .bzd-unit--b {
511
+ scale: none; translate: none; }
512
+ }
513
+ `;
514
+
515
+ export const UnitsOnArtPlates: Story = {
516
+ render: () => (
517
+ <Box>
518
+ <style>{PLATE_CSS}</style>
519
+ <GrainDefs />
520
+ <Grid templateColumns={{ base: '1fr', md: 'repeat(3, 1fr)' }} gap={4}>
521
+ {PLATE_VARIANTS.map(
522
+ ({ art: src, glow: [a, b], tint, sizes: [sa, sb, sc], spots }, i) => (
523
+ <Box key={src}>
524
+ <div
525
+ className="bzd-plate"
526
+ style={
527
+ {
528
+ '--glow-a': a,
529
+ '--glow-b': b,
530
+ '--tint-b': tint,
531
+ ...Object.fromEntries(
532
+ (['ua', 'ub', 'uc'] as const).flatMap((u, k) => [
533
+ [`--${u}-l`, spots[k][0]],
534
+ [`--${u}-t`, spots[k][1]],
535
+ ])
536
+ ),
537
+ } as CSSProperties
538
+ }
539
+ >
540
+ {/* Deep plane first so it paints behind the cutout. */}
541
+ <Unit size={sc} className="bzd-unit bzd-unit--c" />
542
+ <Art name={src} style={{ ...FIT, ...PRINTED }} />
543
+ <Unit size={sa} className="bzd-unit bzd-unit--a" />
544
+ <Unit size={sb} className="bzd-unit bzd-unit--b" />
545
+ </div>
546
+ <Caption>
547
+ <T
548
+ en={`Homepage row ${i + 1} values: ${sa} / ${sb} / ${sc}px — hover the plate`}
549
+ ko={`홈 화면 ${i + 1}번째 행의 값: ${sa} / ${sb} / ${sc}px — 판 위에 포인터를 올려 보세요`}
550
+ />
551
+ </Caption>
552
+ </Box>
553
+ )
554
+ )}
555
+ </Grid>
556
+ </Box>
557
+ ),
558
+ };
559
+
560
+ const LIST_CSS = `
561
+ .bzd-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
562
+ .bzd-list li { display: grid; grid-template-columns: 14px 1fr; gap: 12px;
563
+ align-items: start; color: #494949; }
564
+ .bzd-list__mark { margin-top: 2px; color: ${BZ.ink}; }
565
+ .bzd-list li:hover .bzd-list__mark { color: ${BZ.coralDeep}; scale: 1.15; }
566
+ .bzd-list li:nth-child(3n + 2):hover .bzd-list__mark { color: ${BZ.mintDeep}; }
567
+ .bzd-list li:nth-child(3n):hover .bzd-list__mark { color: ${BZ.azureDeep}; }
568
+ @media (prefers-reduced-motion: no-preference) {
569
+ .bzd-list__mark { transition: color 200ms cubic-bezier(0.4, 0, 0.2, 1),
570
+ scale 200ms cubic-bezier(0.16, 1, 0.3, 1); }
571
+ }
572
+ @media (prefers-reduced-motion: reduce) {
573
+ .bzd-list li:hover .bzd-list__mark { scale: none; }
574
+ }
575
+ `;
576
+
577
+ const LIST_ITEMS = [
578
+ { en: 'Every model on one account', ko: '하나의 계정으로 모든 모델' },
579
+ { en: 'Presentations and documents', ko: '프레젠테이션과 문서' },
580
+ { en: 'Image and video agents', ko: '이미지·비디오 에이전트' },
581
+ { en: 'Your own AI', ko: '나만의 AI' },
582
+ ];
583
+
584
+ export const ListBullets: Story = {
585
+ render: () => (
586
+ <Ground bg={BZ.paper}>
587
+ <style>{LIST_CSS}</style>
588
+ <GrainDefs />
589
+ <ul className="bzd-list">
590
+ {LIST_ITEMS.map(({ en, ko }) => (
591
+ <li key={en}>
592
+ <Unit size={12} className="bzd-list__mark" />
593
+ <span>
594
+ <T en={en} ko={ko} />
595
+ </span>
596
+ </li>
597
+ ))}
598
+ </ul>
599
+ </Ground>
600
+ ),
601
+ };
602
+
603
+ export const ColourOnShapes: Story = {
604
+ render: () => (
605
+ <Grid templateColumns={{ base: '1fr', md: '1fr 1fr' }} gap={4}>
606
+ {(
607
+ [
608
+ ['manFloor', 'coral', '코랄'],
609
+ ['womanTyping', 'blue', '파랑'],
610
+ ] as const
611
+ ).map(([name, en, ko]) => (
612
+ <Box key={name}>
613
+ <Box
614
+ position="relative"
615
+ style={{ background: BZ.wash }}
616
+ borderRadius="18px"
617
+ aspectRatio={4 / 3}
618
+ overflow="clip"
619
+ isolation="isolate"
620
+ >
621
+ <Art name={name} style={{ ...FIT, ...PRINTED }} />
622
+ </Box>
623
+ <Caption>
624
+ <T
625
+ en={`Black-and-white figure, ${en} on the Base Unit plate only`}
626
+ ko={`흑백 인물, ${ko}은 베이스 유닛 판에만`}
627
+ />
628
+ </Caption>
629
+ </Box>
630
+ ))}
631
+ </Grid>
632
+ ),
633
+ };
634
+
635
+ const SCRAP: CSSProperties = {
636
+ position: 'absolute',
637
+ zIndex: 0,
638
+ height: 'auto',
639
+ mixBlendMode: 'multiply',
640
+ };
641
+
642
+ /** The image/video page's poster band (FeatureShowcase.astro, `posters`). */
643
+ export const PosterBandScraps: Story = {
644
+ render: () => (
645
+ <Box>
646
+ <Box
647
+ position="relative"
648
+ overflow="clip"
649
+ isolation="isolate"
650
+ style={{ background: BZ.cream, padding: '7.7% 0 5.5%' }}
651
+ >
652
+ <Art
653
+ name="paperGridTorn"
654
+ style={{ ...SCRAP, left: '-8%', top: '-14%', width: '40%' }}
655
+ />
656
+ <Art
657
+ name="paperTornSquare"
658
+ style={{ ...SCRAP, right: '-6%', bottom: '-20%', width: '30%' }}
659
+ />
660
+ <Flex position="relative" zIndex={1} gap={4} justify="center">
661
+ {(
662
+ ['poster1', 'posterFestival', 'poster2', 'posterBrunch'] as const
663
+ ).map((name) => (
664
+ <Art
665
+ key={name}
666
+ name={name}
667
+ style={{ height: 180, width: 'auto', display: 'block' }}
668
+ />
669
+ ))}
670
+ </Flex>
671
+ </Box>
672
+ <Caption>
673
+ <T
674
+ en="Two torn scraps behind opposite corners, multiplied, no sepia. The posters are output: shown flat."
675
+ ko="찢어진 종이 두 장을 마주 보는 모서리 뒤에 둡니다. 곱하기 혼합만 쓰고 세피아는 쓰지 않습니다. 포스터는 결과물이라 손대지 않고 보여 줍니다."
676
+ />
677
+ </Caption>
678
+ </Box>
679
+ ),
680
+ };