@qijenchen/design-system 0.1.0-beta.3 → 0.1.0-beta.32

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 (1041) hide show
  1. package/CLAUDE.md +201 -0
  2. package/README.md +155 -0
  3. package/cli-init.mjs +90 -0
  4. package/dist/components/Accordion/accordion.d.ts +37 -0
  5. package/dist/components/Accordion/accordion.d.ts.map +1 -0
  6. package/dist/components/Accordion/accordion.js +78 -0
  7. package/dist/components/Accordion/accordion.js.map +1 -0
  8. package/dist/components/Accordion/index.d.ts +2 -0
  9. package/dist/components/Accordion/index.d.ts.map +1 -0
  10. package/dist/components/Accordion/index.js +9 -0
  11. package/dist/components/Accordion/index.js.map +1 -0
  12. package/dist/components/Alert/alert.d.ts +47 -0
  13. package/dist/components/Alert/alert.d.ts.map +1 -0
  14. package/dist/components/Alert/alert.js +132 -0
  15. package/dist/components/Alert/alert.js.map +1 -0
  16. package/dist/components/Alert/index.d.ts +2 -0
  17. package/dist/components/Alert/index.d.ts.map +1 -0
  18. package/dist/components/Alert/index.js +7 -0
  19. package/dist/components/Alert/index.js.map +1 -0
  20. package/dist/components/AppShell/_demo-helpers.d.ts +49 -0
  21. package/dist/components/AppShell/_demo-helpers.d.ts.map +1 -0
  22. package/dist/components/AppShell/app-shell.d.ts +76 -0
  23. package/dist/components/AppShell/app-shell.d.ts.map +1 -0
  24. package/dist/components/AppShell/app-shell.js +214 -0
  25. package/dist/components/AppShell/app-shell.js.map +1 -0
  26. package/dist/components/AppShell/index.d.ts +2 -0
  27. package/dist/components/AppShell/index.d.ts.map +1 -0
  28. package/dist/components/AppShell/index.js +7 -0
  29. package/dist/components/AppShell/index.js.map +1 -0
  30. package/dist/components/AspectRatio/aspect-ratio.d.ts +40 -0
  31. package/dist/components/AspectRatio/aspect-ratio.d.ts.map +1 -0
  32. package/dist/components/AspectRatio/aspect-ratio.js +23 -0
  33. package/dist/components/AspectRatio/aspect-ratio.js.map +1 -0
  34. package/dist/components/AspectRatio/index.d.ts +2 -0
  35. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  36. package/dist/components/AspectRatio/index.js +6 -0
  37. package/dist/components/AspectRatio/index.js.map +1 -0
  38. package/dist/components/Avatar/avatar.d.ts +85 -0
  39. package/dist/components/Avatar/avatar.d.ts.map +1 -0
  40. package/dist/components/Avatar/avatar.js +195 -0
  41. package/dist/components/Avatar/avatar.js.map +1 -0
  42. package/dist/components/Avatar/index.d.ts +2 -0
  43. package/dist/components/Avatar/index.d.ts.map +1 -0
  44. package/dist/components/Avatar/index.js +6 -0
  45. package/dist/components/Avatar/index.js.map +1 -0
  46. package/dist/components/Badge/badge.d.ts +43 -0
  47. package/dist/components/Badge/badge.d.ts.map +1 -0
  48. package/dist/components/Badge/badge.js +69 -0
  49. package/dist/components/Badge/badge.js.map +1 -0
  50. package/dist/components/Badge/index.d.ts +2 -0
  51. package/dist/components/Badge/index.d.ts.map +1 -0
  52. package/dist/components/Badge/index.js +7 -0
  53. package/dist/components/Badge/index.js.map +1 -0
  54. package/dist/components/Breadcrumb/breadcrumb.d.ts +163 -0
  55. package/dist/components/Breadcrumb/breadcrumb.d.ts.map +1 -0
  56. package/dist/components/Breadcrumb/breadcrumb.js +300 -0
  57. package/dist/components/Breadcrumb/breadcrumb.js.map +1 -0
  58. package/dist/components/Breadcrumb/index.d.ts +2 -0
  59. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  60. package/dist/components/Breadcrumb/index.js +12 -0
  61. package/dist/components/Breadcrumb/index.js.map +1 -0
  62. package/dist/components/BulkActionBar/bulk-action-bar.d.ts +46 -0
  63. package/dist/components/BulkActionBar/bulk-action-bar.d.ts.map +1 -0
  64. package/dist/components/BulkActionBar/bulk-action-bar.js +78 -0
  65. package/dist/components/BulkActionBar/bulk-action-bar.js.map +1 -0
  66. package/dist/components/BulkActionBar/index.d.ts +2 -0
  67. package/dist/components/BulkActionBar/index.d.ts.map +1 -0
  68. package/dist/components/BulkActionBar/index.js +7 -0
  69. package/dist/components/BulkActionBar/index.js.map +1 -0
  70. package/dist/components/Button/button-group.d.ts +49 -0
  71. package/dist/components/Button/button-group.d.ts.map +1 -0
  72. package/dist/components/Button/button-group.js +46 -0
  73. package/dist/components/Button/button-group.js.map +1 -0
  74. package/dist/components/Button/button.d.ts +203 -0
  75. package/dist/components/Button/button.d.ts.map +1 -0
  76. package/dist/components/Button/button.js +309 -0
  77. package/dist/components/Button/button.js.map +1 -0
  78. package/dist/components/Button/index.d.ts +2 -0
  79. package/dist/components/Button/index.d.ts.map +1 -0
  80. package/dist/components/Button/index.js +8 -0
  81. package/dist/components/Button/index.js.map +1 -0
  82. package/dist/components/Calendar/calendar.d.ts +81 -0
  83. package/dist/components/Calendar/calendar.d.ts.map +1 -0
  84. package/dist/components/Calendar/calendar.js +282 -0
  85. package/dist/components/Calendar/calendar.js.map +1 -0
  86. package/dist/components/Calendar/index.d.ts +2 -0
  87. package/dist/components/Calendar/index.d.ts.map +1 -0
  88. package/dist/components/Calendar/index.js +6 -0
  89. package/dist/components/Calendar/index.js.map +1 -0
  90. package/dist/components/Carousel/carousel.d.ts +61 -0
  91. package/dist/components/Carousel/carousel.d.ts.map +1 -0
  92. package/dist/components/Carousel/carousel.js +276 -0
  93. package/dist/components/Carousel/carousel.js.map +1 -0
  94. package/dist/components/Carousel/index.d.ts +2 -0
  95. package/dist/components/Carousel/index.d.ts.map +1 -0
  96. package/dist/components/Carousel/index.js +11 -0
  97. package/dist/components/Carousel/index.js.map +1 -0
  98. package/dist/components/Chart/chart.d.ts +94 -0
  99. package/dist/components/Chart/chart.d.ts.map +1 -0
  100. package/dist/components/Chart/chart.js +233 -0
  101. package/dist/components/Chart/chart.js.map +1 -0
  102. package/dist/components/Chart/index.d.ts +2 -0
  103. package/dist/components/Chart/index.d.ts.map +1 -0
  104. package/dist/components/Chart/index.js +11 -0
  105. package/dist/components/Chart/index.js.map +1 -0
  106. package/dist/components/Checkbox/checkbox-group.d.ts +58 -0
  107. package/dist/components/Checkbox/checkbox-group.d.ts.map +1 -0
  108. package/dist/components/Checkbox/checkbox-group.js +28 -0
  109. package/dist/components/Checkbox/checkbox-group.js.map +1 -0
  110. package/dist/components/Checkbox/checkbox.d.ts +73 -0
  111. package/dist/components/Checkbox/checkbox.d.ts.map +1 -0
  112. package/dist/components/Checkbox/checkbox.js +125 -0
  113. package/dist/components/Checkbox/checkbox.js.map +1 -0
  114. package/dist/components/Checkbox/index.d.ts +2 -0
  115. package/dist/components/Checkbox/index.d.ts.map +1 -0
  116. package/dist/components/Checkbox/index.js +7 -0
  117. package/dist/components/Checkbox/index.js.map +1 -0
  118. package/dist/components/Chip/chip.d.ts +54 -0
  119. package/dist/components/Chip/chip.d.ts.map +1 -0
  120. package/dist/components/Chip/chip.js +224 -0
  121. package/dist/components/Chip/chip.js.map +1 -0
  122. package/dist/components/Chip/index.d.ts +2 -0
  123. package/dist/components/Chip/index.d.ts.map +1 -0
  124. package/dist/components/Chip/index.js +8 -0
  125. package/dist/components/Chip/index.js.map +1 -0
  126. package/dist/components/CircularProgress/circular-progress.d.ts +40 -0
  127. package/dist/components/CircularProgress/circular-progress.d.ts.map +1 -0
  128. package/dist/components/CircularProgress/circular-progress.js +118 -0
  129. package/dist/components/CircularProgress/circular-progress.js.map +1 -0
  130. package/dist/components/CircularProgress/index.d.ts +2 -0
  131. package/dist/components/CircularProgress/index.d.ts.map +1 -0
  132. package/dist/components/CircularProgress/index.js +6 -0
  133. package/dist/components/CircularProgress/index.js.map +1 -0
  134. package/dist/components/Coachmark/coachmark.d.ts +100 -0
  135. package/dist/components/Coachmark/coachmark.d.ts.map +1 -0
  136. package/dist/components/Coachmark/coachmark.js +107 -0
  137. package/dist/components/Coachmark/coachmark.js.map +1 -0
  138. package/dist/components/Coachmark/index.d.ts +2 -0
  139. package/dist/components/Coachmark/index.d.ts.map +1 -0
  140. package/dist/components/Coachmark/index.js +6 -0
  141. package/dist/components/Coachmark/index.js.map +1 -0
  142. package/dist/components/Combobox/combobox.d.ts +150 -0
  143. package/dist/components/Combobox/combobox.d.ts.map +1 -0
  144. package/dist/components/Combobox/combobox.js +608 -0
  145. package/dist/components/Combobox/combobox.js.map +1 -0
  146. package/dist/components/Combobox/index.d.ts +2 -0
  147. package/dist/components/Combobox/index.d.ts.map +1 -0
  148. package/dist/components/Combobox/index.js +6 -0
  149. package/dist/components/Combobox/index.js.map +1 -0
  150. package/dist/components/Command/command.d.ts +106 -0
  151. package/dist/components/Command/command.d.ts.map +1 -0
  152. package/dist/components/Command/command.js +123 -0
  153. package/dist/components/Command/command.js.map +1 -0
  154. package/dist/components/Command/index.d.ts +2 -0
  155. package/dist/components/Command/index.d.ts.map +1 -0
  156. package/dist/components/Command/index.js +14 -0
  157. package/dist/components/Command/index.js.map +1 -0
  158. package/dist/components/DataTable/active-editor-controller.d.ts +66 -0
  159. package/dist/components/DataTable/active-editor-controller.d.ts.map +1 -0
  160. package/dist/components/DataTable/cell-registry.d.ts +37 -0
  161. package/dist/components/DataTable/cell-registry.d.ts.map +1 -0
  162. package/dist/components/DataTable/cell-registry.js +377 -0
  163. package/dist/components/DataTable/cell-registry.js.map +1 -0
  164. package/dist/components/DataTable/column-types.d.ts +145 -0
  165. package/dist/components/DataTable/column-types.d.ts.map +1 -0
  166. package/dist/components/DataTable/column-types.js +17 -0
  167. package/dist/components/DataTable/column-types.js.map +1 -0
  168. package/dist/components/DataTable/data-table-column-visibility-panel.d.ts +49 -0
  169. package/dist/components/DataTable/data-table-column-visibility-panel.d.ts.map +1 -0
  170. package/dist/components/DataTable/data-table-filter-panel.d.ts +30 -0
  171. package/dist/components/DataTable/data-table-filter-panel.d.ts.map +1 -0
  172. package/dist/components/DataTable/data-table-interaction-layer.d.ts +78 -0
  173. package/dist/components/DataTable/data-table-interaction-layer.d.ts.map +1 -0
  174. package/dist/components/DataTable/data-table-interaction-layer.js +220 -0
  175. package/dist/components/DataTable/data-table-interaction-layer.js.map +1 -0
  176. package/dist/components/DataTable/data-table-sort-manager.d.ts +19 -0
  177. package/dist/components/DataTable/data-table-sort-manager.d.ts.map +1 -0
  178. package/dist/components/DataTable/data-table.d.ts +181 -0
  179. package/dist/components/DataTable/data-table.d.ts.map +1 -0
  180. package/dist/components/DataTable/data-table.js +1851 -0
  181. package/dist/components/DataTable/data-table.js.map +1 -0
  182. package/dist/components/DataTable/filter-operators.d.ts +116 -0
  183. package/dist/components/DataTable/filter-operators.d.ts.map +1 -0
  184. package/dist/components/DataTable/filter-tree.d.ts +66 -0
  185. package/dist/components/DataTable/filter-tree.d.ts.map +1 -0
  186. package/dist/components/DataTable/index.d.ts +2 -0
  187. package/dist/components/DataTable/index.d.ts.map +1 -0
  188. package/dist/components/DataTable/index.js +8 -0
  189. package/dist/components/DataTable/index.js.map +1 -0
  190. package/dist/components/DataTable/lib/column-meta.d.ts +49 -0
  191. package/dist/components/DataTable/lib/column-meta.d.ts.map +1 -0
  192. package/dist/components/DateGrid/date-grid.d.ts +61 -0
  193. package/dist/components/DateGrid/date-grid.d.ts.map +1 -0
  194. package/dist/components/DateGrid/date-grid.js +168 -0
  195. package/dist/components/DateGrid/date-grid.js.map +1 -0
  196. package/dist/components/DateGrid/index.d.ts +2 -0
  197. package/dist/components/DateGrid/index.d.ts.map +1 -0
  198. package/dist/components/DateGrid/index.js +6 -0
  199. package/dist/components/DateGrid/index.js.map +1 -0
  200. package/dist/components/DatePicker/date-picker.d.ts +119 -0
  201. package/dist/components/DatePicker/date-picker.d.ts.map +1 -0
  202. package/dist/components/DatePicker/date-picker.js +743 -0
  203. package/dist/components/DatePicker/date-picker.js.map +1 -0
  204. package/dist/components/DatePicker/index.d.ts +2 -0
  205. package/dist/components/DatePicker/index.d.ts.map +1 -0
  206. package/dist/components/DatePicker/index.js +8 -0
  207. package/dist/components/DatePicker/index.js.map +1 -0
  208. package/dist/components/DescriptionList/description-list.d.ts +60 -0
  209. package/dist/components/DescriptionList/description-list.d.ts.map +1 -0
  210. package/dist/components/DescriptionList/description-list.js +77 -0
  211. package/dist/components/DescriptionList/description-list.js.map +1 -0
  212. package/dist/components/DescriptionList/index.d.ts +2 -0
  213. package/dist/components/DescriptionList/index.d.ts.map +1 -0
  214. package/dist/components/DescriptionList/index.js +7 -0
  215. package/dist/components/DescriptionList/index.js.map +1 -0
  216. package/dist/components/Dialog/dialog.d.ts +54 -0
  217. package/dist/components/Dialog/dialog.d.ts.map +1 -0
  218. package/dist/components/Dialog/dialog.js +151 -0
  219. package/dist/components/Dialog/dialog.js.map +1 -0
  220. package/dist/components/Dialog/index.d.ts +2 -0
  221. package/dist/components/Dialog/index.d.ts.map +1 -0
  222. package/dist/components/Dialog/index.js +16 -0
  223. package/dist/components/Dialog/index.js.map +1 -0
  224. package/dist/components/DropdownMenu/dropdown-menu.d.ts +111 -0
  225. package/dist/components/DropdownMenu/dropdown-menu.d.ts.map +1 -0
  226. package/dist/components/DropdownMenu/dropdown-menu.js +288 -0
  227. package/dist/components/DropdownMenu/dropdown-menu.js.map +1 -0
  228. package/dist/components/DropdownMenu/index.d.ts +2 -0
  229. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  230. package/dist/components/DropdownMenu/index.js +21 -0
  231. package/dist/components/DropdownMenu/index.js.map +1 -0
  232. package/dist/components/Empty/empty.d.ts +40 -0
  233. package/dist/components/Empty/empty.d.ts.map +1 -0
  234. package/dist/components/Empty/empty.js +66 -0
  235. package/dist/components/Empty/empty.js.map +1 -0
  236. package/dist/components/Empty/index.d.ts +2 -0
  237. package/dist/components/Empty/index.d.ts.map +1 -0
  238. package/dist/components/Empty/index.js +6 -0
  239. package/dist/components/Empty/index.js.map +1 -0
  240. package/dist/components/Field/field-context.d.ts +77 -0
  241. package/dist/components/Field/field-context.d.ts.map +1 -0
  242. package/dist/components/Field/field-context.js +37 -0
  243. package/dist/components/Field/field-context.js.map +1 -0
  244. package/dist/components/Field/field-types.d.ts +5 -0
  245. package/dist/components/Field/field-types.d.ts.map +1 -0
  246. package/dist/components/Field/field-types.js +13 -0
  247. package/dist/components/Field/field-types.js.map +1 -0
  248. package/dist/components/Field/field-wrapper.d.ts +17 -0
  249. package/dist/components/Field/field-wrapper.d.ts.map +1 -0
  250. package/dist/components/Field/field-wrapper.js +252 -0
  251. package/dist/components/Field/field-wrapper.js.map +1 -0
  252. package/dist/components/Field/field.d.ts +127 -0
  253. package/dist/components/Field/field.d.ts.map +1 -0
  254. package/dist/components/Field/field.js +295 -0
  255. package/dist/components/Field/field.js.map +1 -0
  256. package/dist/components/Field/index.d.ts +2 -0
  257. package/dist/components/Field/index.d.ts.map +1 -0
  258. package/dist/components/Field/index.js +10 -0
  259. package/dist/components/Field/index.js.map +1 -0
  260. package/dist/components/FieldControlGroup/field-control-group.d.ts +74 -0
  261. package/dist/components/FieldControlGroup/field-control-group.d.ts.map +1 -0
  262. package/dist/components/FieldControlGroup/field-control-group.js +62 -0
  263. package/dist/components/FieldControlGroup/field-control-group.js.map +1 -0
  264. package/dist/components/FieldControlGroup/index.d.ts +2 -0
  265. package/dist/components/FieldControlGroup/index.d.ts.map +1 -0
  266. package/dist/components/FieldControlGroup/index.js +6 -0
  267. package/dist/components/FieldControlGroup/index.js.map +1 -0
  268. package/dist/components/FileItem/file-item.d.ts +44 -0
  269. package/dist/components/FileItem/file-item.d.ts.map +1 -0
  270. package/dist/components/FileItem/file-item.js +202 -0
  271. package/dist/components/FileItem/file-item.js.map +1 -0
  272. package/dist/components/FileItem/index.d.ts +2 -0
  273. package/dist/components/FileItem/index.d.ts.map +1 -0
  274. package/dist/components/FileItem/index.js +6 -0
  275. package/dist/components/FileItem/index.js.map +1 -0
  276. package/dist/components/FileUpload/file-upload.d.ts +97 -0
  277. package/dist/components/FileUpload/file-upload.d.ts.map +1 -0
  278. package/dist/components/FileUpload/file-upload.js +231 -0
  279. package/dist/components/FileUpload/file-upload.js.map +1 -0
  280. package/dist/components/FileUpload/index.d.ts +2 -0
  281. package/dist/components/FileUpload/index.d.ts.map +1 -0
  282. package/dist/components/FileUpload/index.js +6 -0
  283. package/dist/components/FileUpload/index.js.map +1 -0
  284. package/dist/components/FileViewer/file-viewer-types.d.ts +73 -0
  285. package/dist/components/FileViewer/file-viewer-types.d.ts.map +1 -0
  286. package/dist/components/FileViewer/file-viewer.d.ts +82 -0
  287. package/dist/components/FileViewer/file-viewer.d.ts.map +1 -0
  288. package/dist/components/FileViewer/file-viewer.js +752 -0
  289. package/dist/components/FileViewer/file-viewer.js.map +1 -0
  290. package/dist/components/FileViewer/image-renderer.d.ts +9 -0
  291. package/dist/components/FileViewer/image-renderer.d.ts.map +1 -0
  292. package/dist/components/FileViewer/image-renderer.js +165 -0
  293. package/dist/components/FileViewer/image-renderer.js.map +1 -0
  294. package/dist/components/FileViewer/index.d.ts +2 -0
  295. package/dist/components/FileViewer/index.d.ts.map +1 -0
  296. package/dist/components/FileViewer/index.js +7 -0
  297. package/dist/components/FileViewer/index.js.map +1 -0
  298. package/dist/components/HoverCard/hover-card.d.ts +30 -0
  299. package/dist/components/HoverCard/hover-card.d.ts.map +1 -0
  300. package/dist/components/HoverCard/hover-card.js +61 -0
  301. package/dist/components/HoverCard/hover-card.js.map +1 -0
  302. package/dist/components/HoverCard/index.d.ts +2 -0
  303. package/dist/components/HoverCard/index.d.ts.map +1 -0
  304. package/dist/components/HoverCard/index.js +8 -0
  305. package/dist/components/HoverCard/index.js.map +1 -0
  306. package/dist/components/Input/index.d.ts +2 -0
  307. package/dist/components/Input/index.d.ts.map +1 -0
  308. package/dist/components/Input/index.js +6 -0
  309. package/dist/components/Input/index.js.map +1 -0
  310. package/dist/components/Input/input.d.ts +72 -0
  311. package/dist/components/Input/input.d.ts.map +1 -0
  312. package/dist/components/Input/input.js +148 -0
  313. package/dist/components/Input/input.js.map +1 -0
  314. package/dist/components/LinkInput/index.d.ts +2 -0
  315. package/dist/components/LinkInput/index.d.ts.map +1 -0
  316. package/dist/components/LinkInput/index.js +6 -0
  317. package/dist/components/LinkInput/index.js.map +1 -0
  318. package/dist/components/LinkInput/link-input.d.ts +46 -0
  319. package/dist/components/LinkInput/link-input.d.ts.map +1 -0
  320. package/dist/components/LinkInput/link-input.js +215 -0
  321. package/dist/components/LinkInput/link-input.js.map +1 -0
  322. package/dist/components/Menu/index.d.ts +2 -0
  323. package/dist/components/Menu/index.d.ts.map +1 -0
  324. package/dist/components/Menu/index.js +9 -0
  325. package/dist/components/Menu/index.js.map +1 -0
  326. package/dist/components/Menu/menu-item.d.ts +83 -0
  327. package/dist/components/Menu/menu-item.d.ts.map +1 -0
  328. package/dist/components/Menu/menu-item.js +209 -0
  329. package/dist/components/Menu/menu-item.js.map +1 -0
  330. package/dist/components/NameCard/index.d.ts +2 -0
  331. package/dist/components/NameCard/index.d.ts.map +1 -0
  332. package/dist/components/NameCard/index.js +8 -0
  333. package/dist/components/NameCard/index.js.map +1 -0
  334. package/dist/components/NameCard/name-card.d.ts +85 -0
  335. package/dist/components/NameCard/name-card.d.ts.map +1 -0
  336. package/dist/components/NameCard/name-card.js +153 -0
  337. package/dist/components/NameCard/name-card.js.map +1 -0
  338. package/dist/components/Notice/index.d.ts +2 -0
  339. package/dist/components/Notice/index.d.ts.map +1 -0
  340. package/dist/components/Notice/index.js +8 -0
  341. package/dist/components/Notice/index.js.map +1 -0
  342. package/dist/components/Notice/notice.d.ts +69 -0
  343. package/dist/components/Notice/notice.d.ts.map +1 -0
  344. package/dist/components/Notice/notice.js +121 -0
  345. package/dist/components/Notice/notice.js.map +1 -0
  346. package/dist/components/NumberInput/index.d.ts +2 -0
  347. package/dist/components/NumberInput/index.d.ts.map +1 -0
  348. package/dist/components/NumberInput/index.js +7 -0
  349. package/dist/components/NumberInput/index.js.map +1 -0
  350. package/dist/components/NumberInput/number-input.d.ts +57 -0
  351. package/dist/components/NumberInput/number-input.d.ts.map +1 -0
  352. package/dist/components/NumberInput/number-input.js +131 -0
  353. package/dist/components/NumberInput/number-input.js.map +1 -0
  354. package/dist/components/OverflowIndicator/index.d.ts +2 -0
  355. package/dist/components/OverflowIndicator/index.d.ts.map +1 -0
  356. package/dist/components/OverflowIndicator/index.js +6 -0
  357. package/dist/components/OverflowIndicator/index.js.map +1 -0
  358. package/dist/components/OverflowIndicator/overflow-indicator.d.ts +23 -0
  359. package/dist/components/OverflowIndicator/overflow-indicator.d.ts.map +1 -0
  360. package/dist/components/OverflowIndicator/overflow-indicator.js +111 -0
  361. package/dist/components/OverflowIndicator/overflow-indicator.js.map +1 -0
  362. package/dist/components/PeoplePicker/avatar-stack-overflow.d.ts +57 -0
  363. package/dist/components/PeoplePicker/avatar-stack-overflow.d.ts.map +1 -0
  364. package/dist/components/PeoplePicker/avatar-stack-overflow.js +35 -0
  365. package/dist/components/PeoplePicker/avatar-stack-overflow.js.map +1 -0
  366. package/dist/components/PeoplePicker/index.d.ts +2 -0
  367. package/dist/components/PeoplePicker/index.d.ts.map +1 -0
  368. package/dist/components/PeoplePicker/index.js +9 -0
  369. package/dist/components/PeoplePicker/index.js.map +1 -0
  370. package/dist/components/PeoplePicker/people-picker-helpers.d.ts +7 -0
  371. package/dist/components/PeoplePicker/people-picker-helpers.d.ts.map +1 -0
  372. package/dist/components/PeoplePicker/people-picker-helpers.js +25 -0
  373. package/dist/components/PeoplePicker/people-picker-helpers.js.map +1 -0
  374. package/dist/components/PeoplePicker/people-picker.d.ts +77 -0
  375. package/dist/components/PeoplePicker/people-picker.d.ts.map +1 -0
  376. package/dist/components/PeoplePicker/people-picker.js +263 -0
  377. package/dist/components/PeoplePicker/people-picker.js.map +1 -0
  378. package/dist/components/PeoplePicker/person-display.d.ts +66 -0
  379. package/dist/components/PeoplePicker/person-display.d.ts.map +1 -0
  380. package/dist/components/PeoplePicker/person-display.js +203 -0
  381. package/dist/components/PeoplePicker/person-display.js.map +1 -0
  382. package/dist/components/Popover/index.d.ts +2 -0
  383. package/dist/components/Popover/index.d.ts.map +1 -0
  384. package/dist/components/Popover/index.js +14 -0
  385. package/dist/components/Popover/index.js.map +1 -0
  386. package/dist/components/Popover/popover.d.ts +50 -0
  387. package/dist/components/Popover/popover.d.ts.map +1 -0
  388. package/dist/components/Popover/popover.js +113 -0
  389. package/dist/components/Popover/popover.js.map +1 -0
  390. package/dist/components/ProgressBar/index.d.ts +2 -0
  391. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  392. package/dist/components/ProgressBar/index.js +6 -0
  393. package/dist/components/ProgressBar/index.js.map +1 -0
  394. package/dist/components/ProgressBar/progress-bar.d.ts +37 -0
  395. package/dist/components/ProgressBar/progress-bar.d.ts.map +1 -0
  396. package/dist/components/ProgressBar/progress-bar.js +86 -0
  397. package/dist/components/ProgressBar/progress-bar.js.map +1 -0
  398. package/dist/components/RadioGroup/index.d.ts +2 -0
  399. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  400. package/dist/components/RadioGroup/index.js +8 -0
  401. package/dist/components/RadioGroup/index.js.map +1 -0
  402. package/dist/components/RadioGroup/radio-group.d.ts +78 -0
  403. package/dist/components/RadioGroup/radio-group.d.ts.map +1 -0
  404. package/dist/components/RadioGroup/radio-group.js +153 -0
  405. package/dist/components/RadioGroup/radio-group.js.map +1 -0
  406. package/dist/components/Rating/index.d.ts +2 -0
  407. package/dist/components/Rating/index.d.ts.map +1 -0
  408. package/dist/components/Rating/index.js +6 -0
  409. package/dist/components/Rating/index.js.map +1 -0
  410. package/dist/components/Rating/rating.d.ts +46 -0
  411. package/dist/components/Rating/rating.d.ts.map +1 -0
  412. package/dist/components/Rating/rating.js +179 -0
  413. package/dist/components/Rating/rating.js.map +1 -0
  414. package/dist/components/ScrollArea/index.d.ts +2 -0
  415. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  416. package/dist/components/ScrollArea/index.js +7 -0
  417. package/dist/components/ScrollArea/index.js.map +1 -0
  418. package/dist/components/ScrollArea/scroll-area.d.ts +45 -0
  419. package/dist/components/ScrollArea/scroll-area.d.ts.map +1 -0
  420. package/dist/components/ScrollArea/scroll-area.js +65 -0
  421. package/dist/components/ScrollArea/scroll-area.js.map +1 -0
  422. package/dist/components/SegmentedControl/index.d.ts +2 -0
  423. package/dist/components/SegmentedControl/index.d.ts.map +1 -0
  424. package/dist/components/SegmentedControl/index.js +9 -0
  425. package/dist/components/SegmentedControl/index.js.map +1 -0
  426. package/dist/components/SegmentedControl/segmented-control.d.ts +102 -0
  427. package/dist/components/SegmentedControl/segmented-control.d.ts.map +1 -0
  428. package/dist/components/SegmentedControl/segmented-control.js +171 -0
  429. package/dist/components/SegmentedControl/segmented-control.js.map +1 -0
  430. package/dist/components/Select/index.d.ts +2 -0
  431. package/dist/components/Select/index.d.ts.map +1 -0
  432. package/dist/components/Select/index.js +6 -0
  433. package/dist/components/Select/index.js.map +1 -0
  434. package/dist/components/Select/select.d.ts +102 -0
  435. package/dist/components/Select/select.d.ts.map +1 -0
  436. package/dist/components/Select/select.js +435 -0
  437. package/dist/components/Select/select.js.map +1 -0
  438. package/dist/components/SelectMenu/index.d.ts +2 -0
  439. package/dist/components/SelectMenu/index.d.ts.map +1 -0
  440. package/dist/components/SelectMenu/index.js +6 -0
  441. package/dist/components/SelectMenu/index.js.map +1 -0
  442. package/dist/components/SelectMenu/select-menu.d.ts +103 -0
  443. package/dist/components/SelectMenu/select-menu.d.ts.map +1 -0
  444. package/dist/components/SelectMenu/select-menu.js +239 -0
  445. package/dist/components/SelectMenu/select-menu.js.map +1 -0
  446. package/dist/components/SelectionControl/index.d.ts +2 -0
  447. package/dist/components/SelectionControl/index.d.ts.map +1 -0
  448. package/dist/components/SelectionControl/index.js +7 -0
  449. package/dist/components/SelectionControl/index.js.map +1 -0
  450. package/dist/components/SelectionControl/selection-item.d.ts +69 -0
  451. package/dist/components/SelectionControl/selection-item.d.ts.map +1 -0
  452. package/dist/components/SelectionControl/selection-item.js +142 -0
  453. package/dist/components/SelectionControl/selection-item.js.map +1 -0
  454. package/dist/components/Separator/index.d.ts +2 -0
  455. package/dist/components/Separator/index.d.ts.map +1 -0
  456. package/dist/components/Separator/index.js +6 -0
  457. package/dist/components/Separator/index.js.map +1 -0
  458. package/dist/components/Separator/separator.d.ts +17 -0
  459. package/dist/components/Separator/separator.d.ts.map +1 -0
  460. package/dist/components/Separator/separator.js +39 -0
  461. package/dist/components/Separator/separator.js.map +1 -0
  462. package/dist/components/Sheet/index.d.ts +2 -0
  463. package/dist/components/Sheet/index.d.ts.map +1 -0
  464. package/dist/components/Sheet/index.js +17 -0
  465. package/dist/components/Sheet/index.js.map +1 -0
  466. package/dist/components/Sheet/sheet.d.ts +56 -0
  467. package/dist/components/Sheet/sheet.d.ts.map +1 -0
  468. package/dist/components/Sheet/sheet.js +145 -0
  469. package/dist/components/Sheet/sheet.js.map +1 -0
  470. package/dist/components/Sidebar/index.d.ts +2 -0
  471. package/dist/components/Sidebar/index.d.ts.map +1 -0
  472. package/dist/components/Sidebar/index.js +24 -0
  473. package/dist/components/Sidebar/index.js.map +1 -0
  474. package/dist/components/Sidebar/sidebar.d.ts +195 -0
  475. package/dist/components/Sidebar/sidebar.d.ts.map +1 -0
  476. package/dist/components/Sidebar/sidebar.js +826 -0
  477. package/dist/components/Sidebar/sidebar.js.map +1 -0
  478. package/dist/components/Skeleton/index.d.ts +2 -0
  479. package/dist/components/Skeleton/index.d.ts.map +1 -0
  480. package/dist/components/Skeleton/index.js +6 -0
  481. package/dist/components/Skeleton/index.js.map +1 -0
  482. package/dist/components/Skeleton/skeleton.d.ts +16 -0
  483. package/dist/components/Skeleton/skeleton.d.ts.map +1 -0
  484. package/dist/components/Skeleton/skeleton.js +30 -0
  485. package/dist/components/Skeleton/skeleton.js.map +1 -0
  486. package/dist/components/Slider/index.d.ts +2 -0
  487. package/dist/components/Slider/index.d.ts.map +1 -0
  488. package/dist/components/Slider/index.js +7 -0
  489. package/dist/components/Slider/index.js.map +1 -0
  490. package/dist/components/Slider/slider.d.ts +48 -0
  491. package/dist/components/Slider/slider.d.ts.map +1 -0
  492. package/dist/components/Slider/slider.js +108 -0
  493. package/dist/components/Slider/slider.js.map +1 -0
  494. package/dist/components/Steps/index.d.ts +2 -0
  495. package/dist/components/Steps/index.d.ts.map +1 -0
  496. package/dist/components/Steps/index.js +12 -0
  497. package/dist/components/Steps/index.js.map +1 -0
  498. package/dist/components/Steps/steps.d.ts +71 -0
  499. package/dist/components/Steps/steps.d.ts.map +1 -0
  500. package/dist/components/Steps/steps.js +583 -0
  501. package/dist/components/Steps/steps.js.map +1 -0
  502. package/dist/components/Switch/index.d.ts +2 -0
  503. package/dist/components/Switch/index.d.ts.map +1 -0
  504. package/dist/components/Switch/index.js +7 -0
  505. package/dist/components/Switch/index.js.map +1 -0
  506. package/dist/components/Switch/switch.d.ts +112 -0
  507. package/dist/components/Switch/switch.d.ts.map +1 -0
  508. package/dist/components/Switch/switch.js +179 -0
  509. package/dist/components/Switch/switch.js.map +1 -0
  510. package/dist/components/Tabs/index.d.ts +2 -0
  511. package/dist/components/Tabs/index.d.ts.map +1 -0
  512. package/dist/components/Tabs/index.js +10 -0
  513. package/dist/components/Tabs/index.js.map +1 -0
  514. package/dist/components/Tabs/tabs.d.ts +104 -0
  515. package/dist/components/Tabs/tabs.d.ts.map +1 -0
  516. package/dist/components/Tabs/tabs.js +316 -0
  517. package/dist/components/Tabs/tabs.js.map +1 -0
  518. package/dist/components/Tag/index.d.ts +2 -0
  519. package/dist/components/Tag/index.d.ts.map +1 -0
  520. package/dist/components/Tag/index.js +7 -0
  521. package/dist/components/Tag/index.js.map +1 -0
  522. package/dist/components/Tag/tag.d.ts +86 -0
  523. package/dist/components/Tag/tag.d.ts.map +1 -0
  524. package/dist/components/Tag/tag.js +172 -0
  525. package/dist/components/Tag/tag.js.map +1 -0
  526. package/dist/components/Textarea/index.d.ts +2 -0
  527. package/dist/components/Textarea/index.d.ts.map +1 -0
  528. package/dist/components/Textarea/index.js +7 -0
  529. package/dist/components/Textarea/index.js.map +1 -0
  530. package/dist/components/Textarea/textarea.d.ts +74 -0
  531. package/dist/components/Textarea/textarea.d.ts.map +1 -0
  532. package/dist/components/Textarea/textarea.js +224 -0
  533. package/dist/components/Textarea/textarea.js.map +1 -0
  534. package/dist/components/TimePicker/index.d.ts +2 -0
  535. package/dist/components/TimePicker/index.d.ts.map +1 -0
  536. package/dist/components/TimePicker/index.js +6 -0
  537. package/dist/components/TimePicker/index.js.map +1 -0
  538. package/dist/components/TimePicker/time-columns.d.ts +46 -0
  539. package/dist/components/TimePicker/time-columns.d.ts.map +1 -0
  540. package/dist/components/TimePicker/time-columns.js +173 -0
  541. package/dist/components/TimePicker/time-columns.js.map +1 -0
  542. package/dist/components/TimePicker/time-picker.d.ts +94 -0
  543. package/dist/components/TimePicker/time-picker.d.ts.map +1 -0
  544. package/dist/components/TimePicker/time-picker.js +253 -0
  545. package/dist/components/TimePicker/time-picker.js.map +1 -0
  546. package/dist/components/Toast/index.d.ts +2 -0
  547. package/dist/components/Toast/index.d.ts.map +1 -0
  548. package/dist/components/Toast/index.js +7 -0
  549. package/dist/components/Toast/index.js.map +1 -0
  550. package/dist/components/Toast/toast.d.ts +61 -0
  551. package/dist/components/Toast/toast.d.ts.map +1 -0
  552. package/dist/components/Toast/toast.js +76 -0
  553. package/dist/components/Toast/toast.js.map +1 -0
  554. package/dist/components/Tooltip/index.d.ts +2 -0
  555. package/dist/components/Tooltip/index.d.ts.map +1 -0
  556. package/dist/components/Tooltip/index.js +9 -0
  557. package/dist/components/Tooltip/index.js.map +1 -0
  558. package/dist/components/Tooltip/tooltip.d.ts +20 -0
  559. package/dist/components/Tooltip/tooltip.d.ts.map +1 -0
  560. package/dist/components/Tooltip/tooltip.js +53 -0
  561. package/dist/components/Tooltip/tooltip.js.map +1 -0
  562. package/dist/components/TreeView/index.d.ts +2 -0
  563. package/dist/components/TreeView/index.d.ts.map +1 -0
  564. package/dist/components/TreeView/index.js +8 -0
  565. package/dist/components/TreeView/index.js.map +1 -0
  566. package/dist/components/TreeView/tree-view.d.ts +166 -0
  567. package/dist/components/TreeView/tree-view.d.ts.map +1 -0
  568. package/dist/components/TreeView/tree-view.js +638 -0
  569. package/dist/components/TreeView/tree-view.js.map +1 -0
  570. package/dist/hooks/use-controllable.d.ts +16 -0
  571. package/dist/hooks/use-controllable.d.ts.map +1 -0
  572. package/dist/hooks/use-controllable.js +26 -0
  573. package/dist/hooks/use-controllable.js.map +1 -0
  574. package/dist/hooks/use-is-narrow-viewport.d.ts +2 -0
  575. package/dist/hooks/use-is-narrow-viewport.d.ts.map +1 -0
  576. package/dist/hooks/use-is-narrow-viewport.js +19 -0
  577. package/dist/hooks/use-is-narrow-viewport.js.map +1 -0
  578. package/dist/hooks/use-is-touch-device.d.ts +8 -0
  579. package/dist/hooks/use-is-touch-device.d.ts.map +1 -0
  580. package/dist/hooks/use-is-touch-device.js +16 -0
  581. package/dist/hooks/use-is-touch-device.js.map +1 -0
  582. package/dist/hooks/use-overflow-items.d.ts +124 -0
  583. package/dist/hooks/use-overflow-items.d.ts.map +1 -0
  584. package/dist/hooks/use-overflow-items.js +97 -0
  585. package/dist/hooks/use-overflow-items.js.map +1 -0
  586. package/dist/index.d.ts +74 -0
  587. package/dist/index.d.ts.map +1 -0
  588. package/dist/index.js +393 -0
  589. package/dist/index.js.map +1 -0
  590. package/dist/lib/drag-visual.d.ts +158 -0
  591. package/dist/lib/drag-visual.d.ts.map +1 -0
  592. package/dist/lib/drag-visual.js +96 -0
  593. package/dist/lib/drag-visual.js.map +1 -0
  594. package/dist/lib/i18n/i18n-context.d.ts +105 -0
  595. package/dist/lib/i18n/i18n-context.d.ts.map +1 -0
  596. package/dist/lib/multi-select-ordering.d.ts +54 -0
  597. package/dist/lib/multi-select-ordering.d.ts.map +1 -0
  598. package/dist/lib/multi-select-ordering.js +13 -0
  599. package/dist/lib/multi-select-ordering.js.map +1 -0
  600. package/dist/lib/utils.d.ts +12 -0
  601. package/dist/lib/utils.d.ts.map +1 -0
  602. package/dist/lib/utils.js +79 -0
  603. package/dist/lib/utils.js.map +1 -0
  604. package/dist/patterns/element-anatomy/index.d.ts +2 -0
  605. package/dist/patterns/element-anatomy/index.d.ts.map +1 -0
  606. package/dist/patterns/element-anatomy/index.js +20 -0
  607. package/dist/patterns/element-anatomy/index.js.map +1 -0
  608. package/dist/patterns/element-anatomy/item-anatomy.d.ts +370 -0
  609. package/dist/patterns/element-anatomy/item-anatomy.d.ts.map +1 -0
  610. package/dist/patterns/element-anatomy/item-anatomy.js +272 -0
  611. package/dist/patterns/element-anatomy/item-anatomy.js.map +1 -0
  612. package/dist/patterns/header-canonical/chrome-header.d.ts +80 -0
  613. package/dist/patterns/header-canonical/chrome-header.d.ts.map +1 -0
  614. package/dist/patterns/header-canonical/chrome-header.js +75 -0
  615. package/dist/patterns/header-canonical/chrome-header.js.map +1 -0
  616. package/dist/patterns/header-canonical/index.d.ts +2 -0
  617. package/dist/patterns/header-canonical/index.d.ts.map +1 -0
  618. package/dist/patterns/header-canonical/index.js +5 -0
  619. package/dist/patterns/header-canonical/index.js.map +1 -0
  620. package/dist/patterns/horizontal-overflow/horizontal-overflow.d.ts +101 -0
  621. package/dist/patterns/horizontal-overflow/horizontal-overflow.d.ts.map +1 -0
  622. package/dist/patterns/horizontal-overflow/horizontal-overflow.js +105 -0
  623. package/dist/patterns/horizontal-overflow/horizontal-overflow.js.map +1 -0
  624. package/dist/patterns/horizontal-overflow/index.d.ts +2 -0
  625. package/dist/patterns/horizontal-overflow/index.d.ts.map +1 -0
  626. package/dist/patterns/horizontal-overflow/index.js +14 -0
  627. package/dist/patterns/horizontal-overflow/index.js.map +1 -0
  628. package/dist/patterns/overlay-surface/index.d.ts +2 -0
  629. package/dist/patterns/overlay-surface/index.d.ts.map +1 -0
  630. package/dist/patterns/overlay-surface/index.js +7 -0
  631. package/dist/patterns/overlay-surface/index.js.map +1 -0
  632. package/dist/patterns/overlay-surface/overlay-surface.d.ts +28 -0
  633. package/dist/patterns/overlay-surface/overlay-surface.d.ts.map +1 -0
  634. package/dist/patterns/overlay-surface/overlay-surface.js +85 -0
  635. package/dist/patterns/overlay-surface/overlay-surface.js.map +1 -0
  636. package/dist/patterns/resize-handle/index.d.ts +2 -0
  637. package/dist/patterns/resize-handle/index.d.ts.map +1 -0
  638. package/dist/patterns/resize-handle/index.js +5 -0
  639. package/dist/patterns/resize-handle/index.js.map +1 -0
  640. package/dist/patterns/resize-handle/resize-handle.d.ts +102 -0
  641. package/dist/patterns/resize-handle/resize-handle.d.ts.map +1 -0
  642. package/dist/patterns/resize-handle/resize-handle.js +74 -0
  643. package/dist/patterns/resize-handle/resize-handle.js.map +1 -0
  644. package/dist/react-day-picker.css +457 -0
  645. package/dist/stories-helpers/anatomy/anatomy-utils.d.ts +40 -0
  646. package/dist/stories-helpers/anatomy/anatomy-utils.d.ts.map +1 -0
  647. package/dist/tokens/elevation/overlay-geometry.d.ts +12 -0
  648. package/dist/tokens/elevation/overlay-geometry.d.ts.map +1 -0
  649. package/dist/tokens/elevation/overlay-geometry.js +7 -0
  650. package/dist/tokens/elevation/overlay-geometry.js.map +1 -0
  651. package/dist/tokens/motion/motion.d.ts +15 -0
  652. package/dist/tokens/motion/motion.d.ts.map +1 -0
  653. package/dist/tokens/motion/motion.js +9 -0
  654. package/dist/tokens/motion/motion.js.map +1 -0
  655. package/dist/tokens/uiSize/icon-size.d.ts +53 -0
  656. package/dist/tokens/uiSize/icon-size.d.ts.map +1 -0
  657. package/ds-canonical/commands/README.md +26 -0
  658. package/ds-canonical/commands/gov-status.md +79 -0
  659. package/ds-canonical/hooks/README.md +145 -0
  660. package/ds-canonical/hooks/_log-fire.sh +44 -0
  661. package/ds-canonical/hooks/block_prototype_imports.py +111 -0
  662. package/ds-canonical/hooks/check_app_shell_primary_header_consistency.sh +68 -0
  663. package/ds-canonical/hooks/check_audit_post_report_validator.sh +88 -0
  664. package/ds-canonical/hooks/check_audit_sample_escape.sh +73 -0
  665. package/ds-canonical/hooks/check_benchmark_citation.sh +106 -0
  666. package/ds-canonical/hooks/check_canonical_propagation.sh +189 -0
  667. package/ds-canonical/hooks/check_chrome_header_handcraft.sh +70 -0
  668. package/ds-canonical/hooks/check_codex_brief_invariants.sh +83 -0
  669. package/ds-canonical/hooks/check_codex_collab_5step.sh +108 -0
  670. package/ds-canonical/hooks/check_datatable_invariants.sh +117 -0
  671. package/ds-canonical/hooks/check_dim_count_drift.sh +72 -0
  672. package/ds-canonical/hooks/check_field_controls_contracts.sh +110 -0
  673. package/ds-canonical/hooks/check_field_family_invariants.sh +205 -0
  674. package/ds-canonical/hooks/check_file_size_budget.sh +60 -0
  675. package/ds-canonical/hooks/check_header_with_tabs_border.sh +87 -0
  676. package/ds-canonical/hooks/check_main_branch_workbench.sh +93 -0
  677. package/ds-canonical/hooks/check_naming_and_abstraction.sh +165 -0
  678. package/ds-canonical/hooks/check_opacity_token_usage.sh +149 -0
  679. package/ds-canonical/hooks/check_pattern_invariants.sh +194 -0
  680. package/ds-canonical/hooks/check_peoplepicker_ssot_drift.sh +56 -0
  681. package/ds-canonical/hooks/check_pixel_quantified_audit.sh +53 -0
  682. package/ds-canonical/hooks/check_propose_plain_chinese.sh +74 -0
  683. package/ds-canonical/hooks/check_propose_pre_grep_verify.sh +70 -0
  684. package/ds-canonical/hooks/check_select_all_canonical.sh +58 -0
  685. package/ds-canonical/hooks/check_solo_workflow.sh +258 -0
  686. package/ds-canonical/hooks/check_spec_class_drift.sh +88 -0
  687. package/ds-canonical/hooks/check_story_invariants.sh +612 -0
  688. package/ds-canonical/hooks/check_substantive_edit_approval_preflight.sh +105 -0
  689. package/ds-canonical/hooks/check_tab_lg_chrome_header_equal.sh +66 -0
  690. package/ds-canonical/hooks/check_wrapper_primitive_schema_drift.sh +104 -0
  691. package/ds-canonical/hooks/enforce_home_charter.sh +44 -0
  692. package/ds-canonical/hooks/inject_pending_self_audit.sh +204 -0
  693. package/ds-canonical/hooks/lib/_approval_re.sh +33 -0
  694. package/ds-canonical/hooks/lib/_code_quality.sh +73 -0
  695. package/ds-canonical/hooks/lib/_cva_default_sync.sh +69 -0
  696. package/ds-canonical/hooks/lib/_governance_coverage_check.sh +49 -0
  697. package/ds-canonical/hooks/lib/_hardcoded_strings.sh +163 -0
  698. package/ds-canonical/hooks/lib/_layout_space_canonical.sh +56 -0
  699. package/ds-canonical/hooks/lib/_overlay_handcraft.sh +141 -0
  700. package/ds-canonical/hooks/lib/_person_data_richness.sh +42 -0
  701. package/ds-canonical/hooks/lib/_story_compile_drift.sh +48 -0
  702. package/ds-canonical/hooks/lib/_token_hygiene.sh +95 -0
  703. package/ds-canonical/hooks/log_governance_fires.sh +50 -0
  704. package/ds-canonical/hooks/log_skill_invokes.sh +41 -0
  705. package/ds-canonical/hooks/post_edit_dispatcher.sh +62 -0
  706. package/ds-canonical/hooks/retired/check_anatomy_section_numbering.sh +106 -0
  707. package/ds-canonical/hooks/retired/check_avatar_hovercard.sh +90 -0
  708. package/ds-canonical/hooks/retired/check_button_icon_literal.sh.retired-2026-04-28 +38 -0
  709. package/ds-canonical/hooks/retired/check_container_breathing.sh +142 -0
  710. package/ds-canonical/hooks/retired/check_governance_compliance.sh +61 -0
  711. package/ds-canonical/hooks/retired/check_icon_only_padding_formula.sh +104 -0
  712. package/ds-canonical/hooks/retired/check_item_content_primitive.sh +150 -0
  713. package/ds-canonical/hooks/retired/check_item_list_gap.sh +153 -0
  714. package/ds-canonical/hooks/retired/check_sideoffset_canonical.sh +65 -0
  715. package/ds-canonical/hooks/retired/check_spec_iteration_tag.sh +87 -0
  716. package/ds-canonical/hooks/retired/check_ssot_consultation.sh +88 -0
  717. package/ds-canonical/hooks/retired/check_sync_update.sh +20 -0
  718. package/ds-canonical/hooks/retired/check_third_party_dom_verified.sh +95 -0
  719. package/ds-canonical/hooks/retired/enforce_home_charter.sh +125 -0
  720. package/ds-canonical/hooks/retired/post_edit_canonical_interrogate.sh +109 -0
  721. package/ds-canonical/hooks/retired/pre_edit_spec_check.sh +68 -0
  722. package/ds-canonical/hooks/retired/pre_new_component_spec.sh +39 -0
  723. package/ds-canonical/hooks/retired/pre_write_subsumption_check.sh +112 -0
  724. package/ds-canonical/hooks/retired/stop_meta_self_audit.sh.retired-2026-05-13 +76 -0
  725. package/ds-canonical/hooks/retired/tests/test_check_anatomy_section_numbering.sh +14 -0
  726. package/ds-canonical/hooks/retired/tests/test_check_avatar_hovercard.sh +15 -0
  727. package/ds-canonical/hooks/retired/tests/test_check_container_breathing.sh +15 -0
  728. package/ds-canonical/hooks/retired/tests/test_check_governance_compliance.sh +15 -0
  729. package/ds-canonical/hooks/retired/tests/test_check_icon_only_padding_formula.sh +79 -0
  730. package/ds-canonical/hooks/retired/tests/test_check_item_content_primitive.sh +15 -0
  731. package/ds-canonical/hooks/retired/tests/test_check_item_list_gap.sh +163 -0
  732. package/ds-canonical/hooks/retired/tests/test_check_sideoffset_canonical.sh +15 -0
  733. package/ds-canonical/hooks/retired/tests/test_check_spec_iteration_tag.sh +15 -0
  734. package/ds-canonical/hooks/retired/tests/test_check_ssot_consultation.sh +15 -0
  735. package/ds-canonical/hooks/retired/tests/test_check_sync_update.sh +14 -0
  736. package/ds-canonical/hooks/retired/tests/test_check_third_party_dom_verified.sh +15 -0
  737. package/ds-canonical/hooks/retired/tests/test_enforce_home_charter.sh +15 -0
  738. package/ds-canonical/hooks/retired/tests/test_pre_edit_spec_check.sh +15 -0
  739. package/ds-canonical/hooks/retired/tests/test_pre_new_component_spec.sh +15 -0
  740. package/ds-canonical/hooks/retired/tests/test_pre_write_subsumption_check.sh +63 -0
  741. package/ds-canonical/hooks/session_start_governance_check.sh +263 -0
  742. package/ds-canonical/hooks/stop_passive_logging.sh +322 -0
  743. package/ds-canonical/hooks/stop_self_audit.sh +450 -0
  744. package/ds-canonical/hooks/tests/KNOWN-BROKEN.md +15 -0
  745. package/ds-canonical/hooks/tests/run-all.sh +76 -0
  746. package/ds-canonical/hooks/tests/test_block_prototype_imports.sh +143 -0
  747. package/ds-canonical/hooks/tests/test_check_app_shell_primary_header_consistency.sh +140 -0
  748. package/ds-canonical/hooks/tests/test_check_audit_post_report_validator.sh +115 -0
  749. package/ds-canonical/hooks/tests/test_check_audit_sample_escape.sh +93 -0
  750. package/ds-canonical/hooks/tests/test_check_benchmark_citation.sh +115 -0
  751. package/ds-canonical/hooks/tests/test_check_canonical_propagation.sh +133 -0
  752. package/ds-canonical/hooks/tests/test_check_chrome_header_handcraft.sh +123 -0
  753. package/ds-canonical/hooks/tests/test_check_code_quality.sh +15 -0
  754. package/ds-canonical/hooks/tests/test_check_codex_collab_5step.sh +96 -0
  755. package/ds-canonical/hooks/tests/test_check_cva_default_sync.sh +15 -0
  756. package/ds-canonical/hooks/tests/test_check_datatable_invariants.sh +122 -0
  757. package/ds-canonical/hooks/tests/test_check_dim_count_drift.sh +98 -0
  758. package/ds-canonical/hooks/tests/test_check_field_controls_contracts.sh +126 -0
  759. package/ds-canonical/hooks/tests/test_check_field_family_invariants.sh +194 -0
  760. package/ds-canonical/hooks/tests/test_check_file_size_budget.sh +32 -0
  761. package/ds-canonical/hooks/tests/test_check_hardcoded_strings.sh +14 -0
  762. package/ds-canonical/hooks/tests/test_check_header_with_tabs_border.sh +110 -0
  763. package/ds-canonical/hooks/tests/test_check_layout_space_canonical.sh +73 -0
  764. package/ds-canonical/hooks/tests/test_check_main_branch_workbench.sh +147 -0
  765. package/ds-canonical/hooks/tests/test_check_naming_and_abstraction.sh +136 -0
  766. package/ds-canonical/hooks/tests/test_check_opacity_token_usage.sh +110 -0
  767. package/ds-canonical/hooks/tests/test_check_overlay_handcraft.sh +126 -0
  768. package/ds-canonical/hooks/tests/test_check_pattern_invariants.sh +148 -0
  769. package/ds-canonical/hooks/tests/test_check_peoplepicker_ssot_drift.sh +108 -0
  770. package/ds-canonical/hooks/tests/test_check_person_data_richness.sh +58 -0
  771. package/ds-canonical/hooks/tests/test_check_pixel_quantified_audit.sh +142 -0
  772. package/ds-canonical/hooks/tests/test_check_propose_plain_chinese.sh +126 -0
  773. package/ds-canonical/hooks/tests/test_check_propose_pre_grep_verify.sh +117 -0
  774. package/ds-canonical/hooks/tests/test_check_select_all_canonical.sh +125 -0
  775. package/ds-canonical/hooks/tests/test_check_solo_workflow.sh +201 -0
  776. package/ds-canonical/hooks/tests/test_check_spec_class_drift.sh +135 -0
  777. package/ds-canonical/hooks/tests/test_check_story_anatomy.sh.broken +197 -0
  778. package/ds-canonical/hooks/tests/test_check_story_category.sh.broken +187 -0
  779. package/ds-canonical/hooks/tests/test_check_story_compile_drift.sh +15 -0
  780. package/ds-canonical/hooks/tests/test_check_story_invariants.sh +209 -0
  781. package/ds-canonical/hooks/tests/test_check_story_name_jargon.sh.broken +53 -0
  782. package/ds-canonical/hooks/tests/test_check_story_slot_split.sh +156 -0
  783. package/ds-canonical/hooks/tests/test_check_substantive_edit_approval_preflight.sh +176 -0
  784. package/ds-canonical/hooks/tests/test_check_tab_lg_chrome_header_equal.sh +138 -0
  785. package/ds-canonical/hooks/tests/test_check_token_hygiene.sh +21 -0
  786. package/ds-canonical/hooks/tests/test_check_wrapper_primitive_schema_drift.sh +169 -0
  787. package/ds-canonical/hooks/tests/test_enforce_home_charter.sh +77 -0
  788. package/ds-canonical/hooks/tests/test_inject_pending_self_audit.sh +125 -0
  789. package/ds-canonical/hooks/tests/test_log_governance_fires.sh +10 -0
  790. package/ds-canonical/hooks/tests/test_log_skill_invokes.sh +7 -0
  791. package/ds-canonical/hooks/tests/test_post_edit_dispatcher.sh +108 -0
  792. package/ds-canonical/hooks/tests/test_session_start_governance_check.sh +143 -0
  793. package/ds-canonical/hooks/tests/test_stop_capture_metrics.sh +95 -0
  794. package/ds-canonical/hooks/tests/test_stop_governance_drift_check.sh.broken +125 -0
  795. package/ds-canonical/hooks/tests/test_stop_harvest_corrections.sh +10 -0
  796. package/ds-canonical/hooks/tests/test_stop_passive_logging.sh +100 -0
  797. package/ds-canonical/hooks/tests/test_stop_self_audit.sh +76 -0
  798. package/ds-canonical/hooks/tests/test_stop_tsc_sanity.sh +10 -0
  799. package/ds-canonical/references/README.md +43 -0
  800. package/ds-canonical/references/audit-coverage-vs-24-checklist.md +74 -0
  801. package/ds-canonical/references/build-ui-canonicals.md +69 -0
  802. package/ds-canonical/references/cva-patterns.md +41 -0
  803. package/ds-canonical/references/drag-canonical.md +331 -0
  804. package/ds-canonical/references/item-anatomy-recipe.md +225 -0
  805. package/ds-canonical/references/naming-conventions.md +56 -0
  806. package/ds-canonical/references/principle-dim-map.json +515 -0
  807. package/ds-canonical/references/props-naming.md +45 -0
  808. package/ds-canonical/references/spec-rules.md +58 -0
  809. package/ds-canonical/references/ssot-consultation.md +63 -0
  810. package/ds-canonical/references/ssot-index.md +40 -0
  811. package/ds-canonical/references/story-baseline-registry.json +79 -0
  812. package/ds-canonical/references/structural-token-retention.md +42 -0
  813. package/ds-canonical/references/tailwind-gotchas.md +87 -0
  814. package/ds-canonical/references/ui-dev-rules.md +60 -0
  815. package/ds-canonical/rules/README.md +34 -0
  816. package/ds-canonical/rules/meta-patterns.md +87 -0
  817. package/ds-canonical/rules/self-verify.md +53 -0
  818. package/ds-canonical/rules/spec-rules.md +25 -0
  819. package/ds-canonical/rules/story-rules.md +56 -0
  820. package/ds-canonical/rules/ui-development.md +87 -0
  821. package/ds-canonical/skills/README.md +88 -0
  822. package/ds-canonical/skills/bug-fix-rhythm/SKILL.md +181 -0
  823. package/ds-canonical/skills/code-quality-audit/SKILL.md +63 -0
  824. package/ds-canonical/skills/codex-collab/SKILL.md +249 -0
  825. package/ds-canonical/skills/codex-collab/references/brief-template.md +48 -0
  826. package/ds-canonical/skills/codex-collab/references/transport.md +58 -0
  827. package/ds-canonical/skills/codify-corrections/SKILL.md +184 -0
  828. package/ds-canonical/skills/codify-principle/SKILL.md +151 -0
  829. package/ds-canonical/skills/component-quality-gate/SKILL.md +102 -0
  830. package/ds-canonical/skills/component-quality-gate/references/checklist.md +79 -0
  831. package/ds-canonical/skills/deep-audit-cross-codex/SKILL.md +247 -0
  832. package/ds-canonical/skills/deep-audit-cross-codex/references/phase-a-workflow.md +123 -0
  833. package/ds-canonical/skills/deep-audit-cross-codex/references/phase-b-codex-brief.md +165 -0
  834. package/ds-canonical/skills/deep-audit-cross-codex/references/triage-rubric.md +91 -0
  835. package/ds-canonical/skills/delivery-handoff/SKILL.md +229 -0
  836. package/ds-canonical/skills/delivery-handoff/references/flow-diagram.md +180 -0
  837. package/ds-canonical/skills/delivery-handoff/references/handoff-template.md +177 -0
  838. package/ds-canonical/skills/delivery-handoff/references/inventory-checklist.md +196 -0
  839. package/ds-canonical/skills/design-system-audit/SKILL.md +343 -0
  840. package/ds-canonical/skills/design-system-audit/references/audit-prompts.md +1260 -0
  841. package/ds-canonical/skills/design-system-audit/references/checkpoints.md +240 -0
  842. package/ds-canonical/skills/design-system-audit/references/historical-bugs.md +240 -0
  843. package/ds-canonical/skills/design-system-audit/references/principle-audit-protocol.md +364 -0
  844. package/ds-canonical/skills/design-system-audit/references/rule-placement.md +175 -0
  845. package/ds-canonical/skills/design-system-audit/references/spec-template.md +66 -0
  846. package/ds-canonical/skills/ensure-canonical/SKILL.md +196 -0
  847. package/ds-canonical/skills/governance-health/SKILL.md +146 -0
  848. package/ds-canonical/skills/knowledge-prune/SKILL.md +303 -0
  849. package/ds-canonical/skills/new-component/SKILL.md +170 -0
  850. package/ds-canonical/skills/new-component/references/new-component-checklist.md +85 -0
  851. package/ds-canonical/skills/performance-audit/SKILL.md +107 -0
  852. package/ds-canonical/skills/product-ui-audit/SKILL.md +230 -0
  853. package/ds-canonical/skills/product-ui-audit/references/audit-checks.md +246 -0
  854. package/ds-canonical/skills/product-ui-audit/references/common-misuses.md +329 -0
  855. package/ds-canonical/skills/product-ui-audit/references/report-template.md +159 -0
  856. package/ds-canonical/skills/propose-options/SKILL.md +177 -0
  857. package/ds-canonical/skills/prototype/SKILL.md +244 -0
  858. package/ds-canonical/skills/prototype/references/audit-checks.md +37 -0
  859. package/ds-canonical/skills/prototype/references/benchmark-sources.md +94 -0
  860. package/ds-canonical/skills/prototype/references/checkpoints.md +191 -0
  861. package/ds-canonical/skills/prototype/references/evaluation-matrix.md +141 -0
  862. package/ds-canonical/skills/prototype/references/ooux-template.md +198 -0
  863. package/ds-canonical/skills/prototype/references/proposal-template.md +229 -0
  864. package/ds-canonical/skills/scan-similar-bugs/SKILL.md +198 -0
  865. package/ds-canonical/skills/story-auto-compile-migrate/SKILL.md +159 -0
  866. package/ds-canonical/skills/story-writing/SKILL.md +122 -0
  867. package/ds-canonical/skills/story-writing/references/anatomy-standard.md +217 -0
  868. package/ds-canonical/skills/story-writing/references/category-templates.md +174 -0
  869. package/ds-canonical/skills/story-writing/references/example-selection.md +70 -0
  870. package/ds-canonical/skills/story-writing/references/self-check.md +20 -0
  871. package/ds-canonical/skills/ux-audit/SKILL.md +130 -0
  872. package/ds-canonical/skills/visual-audit/SKILL.md +245 -0
  873. package/ds-canonical/skills/visual-audit/output/.gitkeep +0 -0
  874. package/ds-canonical/skills/visual-audit/references/audit-architecture.md +100 -0
  875. package/ds-canonical/skills/visual-audit/references/visual-checklist.md +297 -0
  876. package/ds-canonical/skills/visual-audit/references/world-class-benchmarks.md +198 -0
  877. package/ds-canonical/templates/_README.md +23 -0
  878. package/ds-canonical/templates/dashboard-app.tsx +145 -0
  879. package/ds-story-manifest.json +1690 -0
  880. package/package.json +22 -9
  881. package/src/components/Accordion/accordion.spec.md +114 -0
  882. package/src/components/Accordion/index.ts +5 -0
  883. package/src/components/Alert/alert.spec.md +197 -0
  884. package/src/components/Alert/index.ts +5 -0
  885. package/src/components/AppShell/app-shell.spec.md +331 -0
  886. package/src/components/AppShell/index.ts +5 -0
  887. package/src/components/AspectRatio/aspect-ratio.spec.md +134 -0
  888. package/src/components/AspectRatio/index.ts +5 -0
  889. package/src/components/Avatar/avatar.spec.md +319 -0
  890. package/src/components/Avatar/index.ts +5 -0
  891. package/src/components/Badge/badge.spec.md +380 -0
  892. package/src/components/Badge/index.ts +5 -0
  893. package/src/components/Breadcrumb/breadcrumb.spec.md +251 -0
  894. package/src/components/Breadcrumb/breadcrumb.tsx +26 -16
  895. package/src/components/Breadcrumb/index.ts +5 -0
  896. package/src/components/BulkActionBar/bulk-action-bar.spec.md +210 -0
  897. package/src/components/BulkActionBar/index.ts +5 -0
  898. package/src/components/Button/button.spec.md +445 -0
  899. package/src/components/Button/index.ts +5 -0
  900. package/src/components/Calendar/calendar.spec.md +242 -0
  901. package/src/components/Calendar/index.ts +5 -0
  902. package/src/components/Carousel/carousel.spec.md +253 -0
  903. package/src/components/Carousel/index.ts +5 -0
  904. package/src/components/Chart/chart.spec.md +155 -0
  905. package/src/components/Chart/index.ts +5 -0
  906. package/src/components/Checkbox/checkbox.spec.md +344 -0
  907. package/src/components/Checkbox/index.ts +5 -0
  908. package/src/components/Chip/chip.spec.md +230 -0
  909. package/src/components/Chip/index.ts +5 -0
  910. package/src/components/CircularProgress/circular-progress.spec.md +268 -0
  911. package/src/components/CircularProgress/index.ts +5 -0
  912. package/src/components/Coachmark/coachmark.spec.md +230 -0
  913. package/src/components/Coachmark/index.ts +5 -0
  914. package/src/components/Combobox/combobox.spec.md +180 -0
  915. package/src/components/Combobox/combobox.tsx +6 -6
  916. package/src/components/Combobox/index.ts +5 -0
  917. package/src/components/Command/command.spec.md +171 -0
  918. package/src/components/Command/index.ts +5 -0
  919. package/src/components/DataTable/data-table.spec.md +525 -0
  920. package/src/components/DataTable/index.ts +5 -0
  921. package/src/components/DateGrid/date-grid.spec.md +215 -0
  922. package/src/components/DateGrid/index.ts +5 -0
  923. package/src/components/DatePicker/date-picker.spec.md +334 -0
  924. package/src/components/DatePicker/index.ts +5 -0
  925. package/src/components/DescriptionList/description-list.spec.md +214 -0
  926. package/src/components/DescriptionList/index.ts +5 -0
  927. package/src/components/Dialog/dialog.spec.md +193 -0
  928. package/src/components/Dialog/dialog.tsx +4 -4
  929. package/src/components/Dialog/index.ts +5 -0
  930. package/src/components/DropdownMenu/dropdown-menu.spec.md +241 -0
  931. package/src/components/DropdownMenu/index.ts +5 -0
  932. package/src/components/Empty/empty.spec.md +204 -0
  933. package/src/components/Empty/index.ts +5 -0
  934. package/src/components/Field/field-controls.spec.md +338 -0
  935. package/src/components/Field/field.spec.md +438 -0
  936. package/src/components/Field/form-validation.spec.md +142 -0
  937. package/src/components/Field/index.ts +5 -0
  938. package/src/components/FieldControlGroup/field-control-group.spec.md +176 -0
  939. package/src/components/FieldControlGroup/index.ts +5 -0
  940. package/src/components/FileItem/file-item.spec.md +467 -0
  941. package/src/components/FileItem/index.ts +5 -0
  942. package/src/components/FileUpload/file-upload.spec.md +123 -0
  943. package/src/components/FileUpload/index.ts +5 -0
  944. package/src/components/FileViewer/file-viewer.spec.md +373 -0
  945. package/src/components/FileViewer/index.ts +5 -0
  946. package/src/components/HoverCard/hover-card.spec.md +149 -0
  947. package/src/components/HoverCard/index.ts +5 -0
  948. package/src/components/Input/index.ts +5 -0
  949. package/src/components/Input/input.spec.md +193 -0
  950. package/src/components/LinkInput/index.ts +5 -0
  951. package/src/components/LinkInput/link-input.spec.md +130 -0
  952. package/src/components/Menu/index.ts +5 -0
  953. package/src/components/Menu/menu-item.spec.md +283 -0
  954. package/src/components/NameCard/index.ts +5 -0
  955. package/src/components/NameCard/name-card.spec.md +171 -0
  956. package/src/components/Notice/index.ts +5 -0
  957. package/src/components/Notice/notice.spec.md +149 -0
  958. package/src/components/NumberInput/index.ts +5 -0
  959. package/src/components/NumberInput/number-input.spec.md +126 -0
  960. package/src/components/OverflowIndicator/index.ts +5 -0
  961. package/src/components/OverflowIndicator/overflow-indicator.spec.md +120 -0
  962. package/src/components/PeoplePicker/index.ts +5 -0
  963. package/src/components/PeoplePicker/people-picker.spec.md +263 -0
  964. package/src/components/Popover/index.ts +5 -0
  965. package/src/components/Popover/popover.spec.md +191 -0
  966. package/src/components/Popover/popover.tsx +1 -1
  967. package/src/components/ProgressBar/index.ts +5 -0
  968. package/src/components/ProgressBar/progress-bar.spec.md +232 -0
  969. package/src/components/RadioGroup/index.ts +5 -0
  970. package/src/components/RadioGroup/radio-group.spec.md +141 -0
  971. package/src/components/Rating/index.ts +5 -0
  972. package/src/components/Rating/rating.spec.md +208 -0
  973. package/src/components/ScrollArea/index.ts +5 -0
  974. package/src/components/ScrollArea/scroll-area.spec.md +145 -0
  975. package/src/components/SegmentedControl/index.ts +5 -0
  976. package/src/components/SegmentedControl/segmented-control.spec.md +295 -0
  977. package/src/components/Select/index.ts +5 -0
  978. package/src/components/Select/select.spec.md +299 -0
  979. package/src/components/SelectMenu/index.ts +5 -0
  980. package/src/components/SelectMenu/select-menu.spec.md +220 -0
  981. package/src/components/SelectionControl/index.ts +5 -0
  982. package/src/components/SelectionControl/selection-item.spec.md +128 -0
  983. package/src/components/Separator/index.ts +5 -0
  984. package/src/components/Separator/separator.spec.md +109 -0
  985. package/src/components/Sheet/index.ts +5 -0
  986. package/src/components/Sheet/sheet.spec.md +141 -0
  987. package/src/components/Sheet/sheet.tsx +1 -1
  988. package/src/components/Sidebar/index.ts +5 -0
  989. package/src/components/Sidebar/sidebar.spec.md +706 -0
  990. package/src/components/Skeleton/index.ts +5 -0
  991. package/src/components/Skeleton/skeleton.spec.md +104 -0
  992. package/src/components/Slider/index.ts +5 -0
  993. package/src/components/Slider/slider.spec.md +353 -0
  994. package/src/components/Steps/index.ts +5 -0
  995. package/src/components/Steps/steps.spec.md +465 -0
  996. package/src/components/Switch/index.ts +5 -0
  997. package/src/components/Switch/switch.spec.md +215 -0
  998. package/src/components/Tabs/index.ts +5 -0
  999. package/src/components/Tabs/tabs.spec.md +314 -0
  1000. package/src/components/Tag/index.ts +5 -0
  1001. package/src/components/Tag/tag.spec.md +282 -0
  1002. package/src/components/Textarea/index.ts +5 -0
  1003. package/src/components/Textarea/textarea.spec.md +151 -0
  1004. package/src/components/TimePicker/index.ts +5 -0
  1005. package/src/components/TimePicker/time-picker.spec.md +279 -0
  1006. package/src/components/TimePicker/time-picker.tsx +4 -4
  1007. package/src/components/Toast/index.ts +5 -0
  1008. package/src/components/Toast/toast.spec.md +177 -0
  1009. package/src/components/Tooltip/index.ts +5 -0
  1010. package/src/components/Tooltip/tooltip.spec.md +132 -0
  1011. package/src/components/TreeView/index.ts +5 -0
  1012. package/src/components/TreeView/tree-view.spec.md +388 -0
  1013. package/src/components/TreeView/tree-view.tsx +24 -12
  1014. package/src/index.ts +70 -69
  1015. package/src/patterns/action-bar/action-bar.spec.md +458 -0
  1016. package/src/patterns/element-anatomy/element-anatomy.spec.md +215 -0
  1017. package/src/patterns/element-anatomy/index.ts +5 -0
  1018. package/src/patterns/element-anatomy/inline-action.spec.md +304 -0
  1019. package/src/patterns/element-anatomy/item-anatomy.spec.md +1042 -0
  1020. package/src/patterns/header-canonical/header-canonical.spec.md +285 -0
  1021. package/src/patterns/header-canonical/index.ts +5 -0
  1022. package/src/patterns/horizontal-overflow/horizontal-overflow.spec.md +191 -0
  1023. package/src/patterns/horizontal-overflow/index.ts +5 -0
  1024. package/src/patterns/overlay-surface/index.ts +5 -0
  1025. package/src/patterns/overlay-surface/overlay-surface.spec.md +419 -0
  1026. package/src/patterns/resize-handle/index.ts +5 -0
  1027. package/src/patterns/resize-handle/resize-handle.spec.md +109 -0
  1028. package/src/styles/tokens.css +42 -0
  1029. package/src/tokens/README.md +2 -0
  1030. package/src/tokens/color/color.spec.md +772 -0
  1031. package/src/tokens/density/density.spec.md +127 -0
  1032. package/src/tokens/elevation/elevation.spec.md +72 -0
  1033. package/src/tokens/layoutSpace/layoutSpace.spec.md +303 -0
  1034. package/src/tokens/motion/motion.spec.md +97 -0
  1035. package/src/tokens/opacity/opacity.spec.md +78 -0
  1036. package/src/tokens/orphan-tokens.spec.md +117 -0
  1037. package/src/tokens/radius/radius.spec.md +123 -0
  1038. package/src/tokens/token-system.spec.md +243 -0
  1039. package/src/tokens/typography/typography.spec.md +202 -0
  1040. package/src/tokens/uiSize/uiSize.css +16 -0
  1041. package/src/tokens/uiSize/uiSize.spec.md +428 -0
@@ -0,0 +1,231 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { X, Upload } from "lucide-react";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { Empty } from "../Empty/empty.js";
6
+ import { CircularProgress } from "../CircularProgress/circular-progress.js";
7
+ import { FileItem } from "../FileItem/file-item.js";
8
+ import { Button } from "../Button/button.js";
9
+ const FileUpload = React.forwardRef(
10
+ ({
11
+ onUpload,
12
+ onReject,
13
+ multiple = false,
14
+ accept,
15
+ maxSize,
16
+ disabled = false,
17
+ loading = false,
18
+ loadingTitle = "上傳中…",
19
+ // i18n-allow: DS default; consumer override via loadingTitle prop
20
+ title = "Click or drag file here to upload",
21
+ // i18n-allow: DS default; consumer override via title prop
22
+ description = multiple ? "Support for a single or bulk upload" : "Support for a single file upload",
23
+ // i18n-allow: DS default; consumer override via description prop
24
+ children,
25
+ files,
26
+ fileListMode = "compact",
27
+ onRemove,
28
+ removeAriaLabel = (name) => `移除 ${name}`,
29
+ // i18n-allow: DS default; consumer override via removeAriaLabel prop
30
+ className,
31
+ onClick,
32
+ ...props
33
+ }, ref) => {
34
+ const inputRef = React.useRef(null);
35
+ const [isDragOver, setDragOver] = React.useState(false);
36
+ const filterAndDispatch = (files2) => {
37
+ if (!files2 || files2.length === 0) return;
38
+ const accepted = [];
39
+ const rejectedBySize = [];
40
+ const rejectedByType = [];
41
+ Array.from(files2).forEach((f) => {
42
+ if (maxSize != null && f.size > maxSize) {
43
+ rejectedBySize.push(f);
44
+ return;
45
+ }
46
+ if (accept && !matchAccept(f, accept)) {
47
+ rejectedByType.push(f);
48
+ return;
49
+ }
50
+ accepted.push(f);
51
+ });
52
+ if (rejectedBySize.length) onReject == null ? void 0 : onReject(rejectedBySize, "size");
53
+ if (rejectedByType.length) onReject == null ? void 0 : onReject(rejectedByType, "type");
54
+ if (accepted.length) onUpload == null ? void 0 : onUpload(multiple ? accepted : accepted.slice(0, 1));
55
+ };
56
+ const handleClick = (e) => {
57
+ var _a;
58
+ if (!disabled) (_a = inputRef.current) == null ? void 0 : _a.click();
59
+ onClick == null ? void 0 : onClick(e);
60
+ };
61
+ const state = disabled ? "disabled" : loading ? "loading" : isDragOver ? "drag-over" : "idle";
62
+ const isBlocked = disabled || loading;
63
+ const hasFiles = Array.isArray(files) && files.length > 0;
64
+ const fileListNode = hasFiles ? /* @__PURE__ */ jsx(
65
+ "ul",
66
+ {
67
+ className: cn(
68
+ // stack vertically with consistent gap;bg-surface 在容器外的 chrome / consumer bg 之上
69
+ "flex flex-col gap-2 w-full",
70
+ "mt-3"
71
+ ),
72
+ "aria-label": "Uploaded files",
73
+ children: files.map((f) => /* @__PURE__ */ jsx("li", { className: "list-none", children: /* @__PURE__ */ jsx(
74
+ FileItem,
75
+ {
76
+ mode: fileListMode,
77
+ name: f.name,
78
+ status: f.status,
79
+ progress: f.progress,
80
+ description: f.description ?? (f.size != null ? formatBytes(f.size) : void 0),
81
+ thumbnailSrc: f.thumbnailSrc,
82
+ actions: onRemove ? (
83
+ // Collection remove(per-file)— 不是 dismiss surface,故不套 `dismiss` prop。
84
+ // 視覺與 dismiss 一致(text variant + fg-muted dim)— 對齊 inline-action.spec.md
85
+ // 「Dismiss canonical — X close only」L249-251:onRemove callback 不觸發 dismiss prop。
86
+ /* @__PURE__ */ jsx(
87
+ Button,
88
+ {
89
+ iconOnly: true,
90
+ variant: "text",
91
+ size: "xs",
92
+ startIcon: X,
93
+ "aria-label": removeAriaLabel(f.name),
94
+ onClick: (e) => {
95
+ e.stopPropagation();
96
+ onRemove(f.id);
97
+ },
98
+ className: "text-fg-muted hover:text-foreground"
99
+ }
100
+ )
101
+ ) : void 0
102
+ }
103
+ ) }, f.id))
104
+ }
105
+ ) : null;
106
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("w-full", hasFiles && "flex flex-col"), children: [
107
+ /* @__PURE__ */ jsxs(
108
+ "div",
109
+ {
110
+ role: "button",
111
+ tabIndex: isBlocked ? -1 : 0,
112
+ "aria-disabled": disabled || void 0,
113
+ "aria-busy": loading || void 0,
114
+ "data-state": state,
115
+ onClick: handleClick,
116
+ onKeyDown: (e) => {
117
+ var _a;
118
+ if (isBlocked) return;
119
+ if (e.key === "Enter" || e.key === " ") {
120
+ e.preventDefault();
121
+ (_a = inputRef.current) == null ? void 0 : _a.click();
122
+ }
123
+ },
124
+ onDragEnter: (e) => {
125
+ if (isBlocked) return;
126
+ e.preventDefault();
127
+ setDragOver(true);
128
+ },
129
+ onDragLeave: (e) => {
130
+ if (isBlocked) return;
131
+ e.preventDefault();
132
+ setDragOver(false);
133
+ },
134
+ onDragOver: (e) => {
135
+ if (isBlocked) return;
136
+ e.preventDefault();
137
+ },
138
+ onDrop: (e) => {
139
+ if (isBlocked) return;
140
+ e.preventDefault();
141
+ setDragOver(false);
142
+ filterAndDispatch(e.dataTransfer.files);
143
+ },
144
+ className: cn(
145
+ // 寬度 w-full 填滿 consumer 容器(user 明示「寬度填滿」);高度由 padding + 內容物決定(不固定 h)
146
+ "flex flex-col items-center justify-center gap-2 text-center w-full",
147
+ // 對稱 padding p-[var(--layout-space-loose)]:四邊等距,density-aware(md=24px / lg=32px),對齊 DS chrome padding canonical。
148
+ // 不再硬寫 px-6 py-10(不對稱+非 token)。內容物(icon + title + description)垂直堆疊由 gap-2 控制
149
+ "rounded-md border-2 border-dashed p-[var(--layout-space-loose)]",
150
+ "cursor-pointer transition-colors",
151
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
152
+ // idle
153
+ "border-divider bg-surface hover:bg-neutral-hover",
154
+ // drag-over
155
+ "data-[state=drag-over]:border-primary data-[state=drag-over]:bg-primary-subtle data-[state=drag-over]:hover:bg-primary-subtle",
156
+ // loading(阻擋新互動但不 opacity-disabled — 避免跟 disabled 視覺撞,保持「處理中」語意)
157
+ "data-[state=loading]:cursor-progress data-[state=loading]:pointer-events-none",
158
+ // disabled
159
+ "data-[state=disabled]:opacity-disabled data-[state=disabled]:pointer-events-none data-[state=disabled]:cursor-not-allowed",
160
+ className
161
+ ),
162
+ ...props,
163
+ children: [
164
+ /* @__PURE__ */ jsx(
165
+ "input",
166
+ {
167
+ ref: inputRef,
168
+ type: "file",
169
+ className: "hidden",
170
+ multiple,
171
+ accept,
172
+ disabled,
173
+ onChange: (e) => filterAndDispatch(e.target.files)
174
+ }
175
+ ),
176
+ loading ? /* @__PURE__ */ jsx(
177
+ Empty,
178
+ {
179
+ icon: /* @__PURE__ */ jsx(CircularProgress, { size: 48 }),
180
+ title: loadingTitle
181
+ }
182
+ ) : children ?? /* @__PURE__ */ jsx(
183
+ Empty,
184
+ {
185
+ icon: Upload,
186
+ title,
187
+ description
188
+ }
189
+ )
190
+ ]
191
+ }
192
+ ),
193
+ fileListNode
194
+ ] });
195
+ }
196
+ );
197
+ FileUpload.displayName = "FileUpload";
198
+ function formatBytes(n) {
199
+ if (n < 1024) return `${n} B`;
200
+ if (n < 1024 * 1024) return `${(n / 1024).toFixed(1)} KB`;
201
+ if (n < 1024 * 1024 * 1024) return `${(n / (1024 * 1024)).toFixed(1)} MB`;
202
+ return `${(n / (1024 * 1024 * 1024)).toFixed(1)} GB`;
203
+ }
204
+ function matchAccept(file, accept) {
205
+ const patterns = accept.split(",").map((s) => s.trim().toLowerCase());
206
+ const fileName = file.name.toLowerCase();
207
+ const fileType = file.type.toLowerCase();
208
+ return patterns.some((p) => {
209
+ if (p.startsWith(".")) return fileName.endsWith(p);
210
+ if (p.endsWith("/*")) return fileType.startsWith(p.slice(0, -1));
211
+ return fileType === p;
212
+ });
213
+ }
214
+ const fileUploadMeta = {
215
+ component: "FileUpload",
216
+ family: null,
217
+ // non-family composite / overlay / layout
218
+ variants: {},
219
+ sizes: {},
220
+ states: ["default", "hover", "active", "focus-visible", "disabled"],
221
+ tokens: {
222
+ bg: ["bg-neutral-hover", "bg-primary-subtle", "bg-surface"],
223
+ fg: [],
224
+ ring: ["ring-ring"]
225
+ }
226
+ };
227
+ export {
228
+ FileUpload,
229
+ fileUploadMeta
230
+ };
231
+ //# sourceMappingURL=file-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.js","sources":["../../../src/components/FileUpload/file-upload.tsx"],"sourcesContent":["// @benchmark-unverified-blanket: file-level retraction per M22 (d) — claims herein not individually URL-cited; treat as unverified visual/usage rumor unless retrofit per-claim. Hook escape preserved.\nimport * as React from 'react'\nimport { Upload as UploadIcon, X } from 'lucide-react'\nimport { cn } from '@/lib/utils'\nimport { Empty } from '@/design-system/components/Empty/empty'\nimport { CircularProgress } from '@/design-system/components/CircularProgress/circular-progress'\nimport { FileItem } from '@/design-system/components/FileItem/file-item'\nimport { Button } from '@/design-system/components/Button/button'\n\n/**\n * FileUpload — 拖放 / 點擊上傳區塊\n *\n * 世界級對照:Ant Design `Upload.Dragger`、Polaris `DropZone`、Material community MUI-File-Input。\n * 與本 DS 既有 FileItem(顯示已上傳檔案)配對 — 這裡 own「上傳觸發 + 拖放偵測」,\n * 上傳後的檔案清單顯示交給 consumer 用 FileItem 渲染。\n *\n * ── 4 狀態 ──\n * idle (default) — border-dashed border-divider bg-surface\n * drag-over — border-dashed border-primary bg-primary-subtle\n * loading — 上傳中(async)顯示 CircularProgress,阻擋新互動\n * disabled — opacity-disabled pointer-events-none\n *\n * ── children 插槽 ──\n * 預設渲染 `<Empty icon={Upload} title description />` — 重用 Empty 元件 own\n * 的「icon + title + description 垂直居中」SSOT 避免視覺漂移。Empty 改字體 /\n * gap / icon 尺寸時 FileUpload 自動跟進。若 consumer 傳 children 則整個覆寫。\n *\n * ── API ──\n * onUpload: 使用者選取或拖放檔案時觸發,回傳 File[](至少 1 個)。\n * multiple: 允許多檔。預設 false(單檔)。\n * accept: MIME filter(例 \"image/*,.pdf\"),傳給 <input type=file>。\n * maxSize: 單檔最大 bytes;超過靜默忽略(consumer 若需要錯誤提示,走 onReject)。\n * onReject: 被 maxSize / accept 擋下的檔案(提供錯誤訊息顯示機會)。\n */\n\n/**\n * Uploaded / uploading file status item(for `files` prop)。\n * Consumer 持 state(progress / status),FileUpload 只負責渲染。\n */\nexport interface FileUploadStatus {\n id: string\n name: string\n /** bytes */\n size?: number\n /** Upload 進度(0-100)— uploading 時顯示 progress bar */\n progress?: number\n status?: 'uploading' | 'completed' | 'error'\n /** Error 訊息 / size 等 description */\n description?: React.ReactNode\n /** Thumbnail URL for rich mode */\n thumbnailSrc?: string\n}\n\nexport interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onDrop'> {\n onUpload?: (files: File[]) => void\n onReject?: (files: File[], reason: 'size' | 'type') => void\n multiple?: boolean\n accept?: string\n maxSize?: number\n disabled?: boolean\n /**\n * Loading 狀態(async 上傳 / 伺服器處理中)。\n * - 顯示 CircularProgress 取代預設 Empty 內容\n * - 阻擋新點擊 / drag 事件(避免 double-submit)\n * - 宣告 `aria-busy=\"true\"` 讓 screen reader 感知處理中\n * - Consumer 負責在上傳完成後自己切回 `loading={false}`\n */\n loading?: boolean\n /** Loading 狀態的文字標題(預設「上傳中…」) */\n loadingTitle?: string\n /** 標題文字(預設「Click or drag file here to upload」) */\n title?: string\n /** 說明文字(預設「Support for a single or bulk upload」) */\n description?: string\n /** 若傳入 children,覆寫預設 Empty 結構 */\n children?: React.ReactNode\n /**\n * Uploaded / uploading 檔案清單。傳入 → FileUpload 在 drop zone 下方渲染列表。\n * 不傳 → 不顯示(consumer 可自行用 FileItem 組成,pre-2026-04-24 行為)。\n * 每項有 status 狀態會對應 icon:\n * - `uploading`:CircularProgress(+ progress bar 若 progress 給)\n * - `completed`:綠色 ✓(success 狀態視覺確認)\n * - `error`:紅色 ✗(+ description 顯示錯誤訊息)\n */\n files?: FileUploadStatus[]\n /** File list 每項顯示模式。Default: 'compact'(單行);'rich' = 含 thumbnail / size / progress bar */\n fileListMode?: 'compact' | 'rich'\n /** File list 移除 callback。有值 → 每項右側顯示 X dismiss button;無 → 不可移除(view-only) */\n onRemove?: (id: string) => void\n /** File list dismiss button ARIA label template。預設 `移除 {name}`。For i18n. */\n removeAriaLabel?: (name: string) => string\n}\n\n// code-quality-allow: long-function — foundational composite main body — 拆 sub-fn 會複雜化 local state / ref / context binding\nconst FileUpload = React.forwardRef<HTMLDivElement, FileUploadProps>(\n (\n {\n onUpload,\n onReject,\n multiple = false,\n accept,\n maxSize,\n disabled = false,\n loading = false,\n loadingTitle = '上傳中…', // i18n-allow: DS default; consumer override via loadingTitle prop\n title = 'Click or drag file here to upload', // i18n-allow: DS default; consumer override via title prop\n description = multiple ? 'Support for a single or bulk upload' : 'Support for a single file upload', // i18n-allow: DS default; consumer override via description prop\n children,\n files,\n fileListMode = 'compact',\n onRemove,\n removeAriaLabel = (name: string) => `移除 ${name}`, // i18n-allow: DS default; consumer override via removeAriaLabel prop\n className,\n onClick,\n ...props\n },\n ref,\n ) => {\n const inputRef = React.useRef<HTMLInputElement>(null)\n const [isDragOver, setDragOver] = React.useState(false)\n\n const filterAndDispatch = (files: FileList | null) => {\n if (!files || files.length === 0) return\n const accepted: File[] = []\n const rejectedBySize: File[] = []\n const rejectedByType: File[] = []\n\n Array.from(files).forEach((f) => {\n if (maxSize != null && f.size > maxSize) {\n rejectedBySize.push(f)\n return\n }\n if (accept && !matchAccept(f, accept)) {\n rejectedByType.push(f)\n return\n }\n accepted.push(f)\n })\n\n if (rejectedBySize.length) onReject?.(rejectedBySize, 'size')\n if (rejectedByType.length) onReject?.(rejectedByType, 'type')\n if (accepted.length) onUpload?.(multiple ? accepted : accepted.slice(0, 1))\n }\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!disabled) inputRef.current?.click()\n onClick?.(e)\n }\n\n // State 優先序:disabled > loading > drag-over > idle(disabled 最硬,loading 次之)\n const state = disabled ? 'disabled' : loading ? 'loading' : isDragOver ? 'drag-over' : 'idle'\n const isBlocked = disabled || loading\n\n const hasFiles = Array.isArray(files) && files.length > 0\n\n const fileListNode = hasFiles ? (\n <ul\n className={cn(\n // stack vertically with consistent gap;bg-surface 在容器外的 chrome / consumer bg 之上\n 'flex flex-col gap-2 w-full',\n 'mt-3',\n )}\n aria-label=\"Uploaded files\"\n >\n {files!.map((f) => (\n <li key={f.id} className=\"list-none\">\n <FileItem\n mode={fileListMode}\n name={f.name}\n status={f.status}\n progress={f.progress}\n description={f.description ?? (f.size != null ? formatBytes(f.size) : undefined)}\n thumbnailSrc={f.thumbnailSrc}\n actions={\n onRemove ? (\n // Collection remove(per-file)— 不是 dismiss surface,故不套 `dismiss` prop。\n // 視覺與 dismiss 一致(text variant + fg-muted dim)— 對齊 inline-action.spec.md\n // 「Dismiss canonical — X close only」L249-251:onRemove callback 不觸發 dismiss prop。\n <Button\n iconOnly\n variant=\"text\"\n size=\"xs\"\n startIcon={X}\n aria-label={removeAriaLabel(f.name)}\n onClick={(e) => {\n e.stopPropagation()\n onRemove(f.id)\n }}\n className=\"text-fg-muted hover:text-foreground\"\n />\n ) : undefined\n }\n />\n </li>\n ))}\n </ul>\n ) : null\n\n return (\n <div ref={ref} className={cn('w-full', hasFiles && 'flex flex-col')}>\n <div\n role=\"button\"\n tabIndex={isBlocked ? -1 : 0}\n aria-disabled={disabled || undefined}\n aria-busy={loading || undefined}\n data-state={state}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (isBlocked) return\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n inputRef.current?.click()\n }\n }}\n onDragEnter={(e) => {\n if (isBlocked) return\n e.preventDefault()\n setDragOver(true)\n }}\n onDragLeave={(e) => {\n if (isBlocked) return\n e.preventDefault()\n setDragOver(false)\n }}\n onDragOver={(e) => {\n if (isBlocked) return\n e.preventDefault()\n }}\n onDrop={(e) => {\n if (isBlocked) return\n e.preventDefault()\n setDragOver(false)\n filterAndDispatch(e.dataTransfer.files)\n }}\n className={cn(\n // 寬度 w-full 填滿 consumer 容器(user 明示「寬度填滿」);高度由 padding + 內容物決定(不固定 h)\n 'flex flex-col items-center justify-center gap-2 text-center w-full',\n // 對稱 padding p-[var(--layout-space-loose)]:四邊等距,density-aware(md=24px / lg=32px),對齊 DS chrome padding canonical。\n // 不再硬寫 px-6 py-10(不對稱+非 token)。內容物(icon + title + description)垂直堆疊由 gap-2 控制\n 'rounded-md border-2 border-dashed p-[var(--layout-space-loose)]',\n 'cursor-pointer transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n // idle\n 'border-divider bg-surface hover:bg-neutral-hover',\n // drag-over\n 'data-[state=drag-over]:border-primary data-[state=drag-over]:bg-primary-subtle data-[state=drag-over]:hover:bg-primary-subtle',\n // loading(阻擋新互動但不 opacity-disabled — 避免跟 disabled 視覺撞,保持「處理中」語意)\n 'data-[state=loading]:cursor-progress data-[state=loading]:pointer-events-none',\n // disabled\n 'data-[state=disabled]:opacity-disabled data-[state=disabled]:pointer-events-none data-[state=disabled]:cursor-not-allowed',\n className,\n )}\n {...props}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"hidden\"\n multiple={multiple}\n accept={accept}\n disabled={disabled}\n onChange={(e) => filterAndDispatch(e.target.files)}\n />\n {loading ? (\n <Empty\n icon={<CircularProgress size={48} />}\n title={loadingTitle}\n />\n ) : (\n children ?? (\n <Empty\n icon={UploadIcon}\n title={title}\n description={description}\n />\n )\n )}\n </div>\n {fileListNode}\n </div>\n )\n },\n)\nFileUpload.displayName = 'FileUpload'\n\n// ── helper: bytes formatter ───────────────────────────────────────────────\nfunction formatBytes(n: number): string {\n if (n < 1024) return `${n} B`\n if (n < 1024 * 1024) return `${(n / 1024).toFixed(1)} KB`\n if (n < 1024 * 1024 * 1024) return `${(n / (1024 * 1024)).toFixed(1)} MB`\n return `${(n / (1024 * 1024 * 1024)).toFixed(1)} GB`\n}\n\n// ── helpers ─────────────────────────────────────────────────────────────────\n\nfunction matchAccept(file: File, accept: string): boolean {\n const patterns = accept.split(',').map((s) => s.trim().toLowerCase())\n const fileName = file.name.toLowerCase()\n const fileType = file.type.toLowerCase()\n return patterns.some((p) => {\n if (p.startsWith('.')) return fileName.endsWith(p) // 副檔名 e.g. \".pdf\"\n if (p.endsWith('/*')) return fileType.startsWith(p.slice(0, -1)) // e.g. \"image/*\"\n return fileType === p // 完整 MIME\n })\n}\n\n// Story auto-compile metadata — Phase 1 mechanical migration(2026-04-24)\n// Phase 2 fill needed: purpose descriptions + when rationale + world-class refs\nexport const fileUploadMeta = {\n component: 'FileUpload',\n family: null, // non-family composite / overlay / layout\n variants: {\n\n },\n sizes: {\n\n },\n states: ['default', 'hover', 'active', 'focus-visible', 'disabled'],\n tokens: {\n bg: ['bg-neutral-hover', 'bg-primary-subtle', 'bg-surface'],\n fg: [],\n ring: ['ring-ring'],\n },\n} as const\n\nexport { FileUpload }\n"],"names":["files","UploadIcon"],"mappings":";;;;;;;;AA8FA,MAAM,aAAa,MAAM;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,eAAe;AAAA;AAAA,IACf,QAAQ;AAAA;AAAA,IACR,cAAc,WAAW,wCAAwC;AAAA;AAAA,IACjE;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA,kBAAkB,CAAC,SAAiB,MAAM,IAAI;AAAA;AAAA,IAC9C;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,WAAW,MAAM,OAAyB,IAAI;AACpD,UAAM,CAAC,YAAY,WAAW,IAAI,MAAM,SAAS,KAAK;AAEtD,UAAM,oBAAoB,CAACA,WAA2B;AACpD,UAAI,CAACA,UAASA,OAAM,WAAW,EAAG;AAClC,YAAM,WAAmB,CAAA;AACzB,YAAM,iBAAyB,CAAA;AAC/B,YAAM,iBAAyB,CAAA;AAE/B,YAAM,KAAKA,MAAK,EAAE,QAAQ,CAAC,MAAM;AAC/B,YAAI,WAAW,QAAQ,EAAE,OAAO,SAAS;AACvC,yBAAe,KAAK,CAAC;AACrB;AAAA,QACF;AACA,YAAI,UAAU,CAAC,YAAY,GAAG,MAAM,GAAG;AACrC,yBAAe,KAAK,CAAC;AACrB;AAAA,QACF;AACA,iBAAS,KAAK,CAAC;AAAA,MACjB,CAAC;AAED,UAAI,eAAe,OAAQ,sCAAW,gBAAgB;AACtD,UAAI,eAAe,OAAQ,sCAAW,gBAAgB;AACtD,UAAI,SAAS,OAAQ,sCAAW,WAAW,WAAW,SAAS,MAAM,GAAG,CAAC;AAAA,IAC3E;AAEA,UAAM,cAAc,CAAC,MAAwC;;AAC3D,UAAI,CAAC,SAAU,gBAAS,YAAT,mBAAkB;AACjC,yCAAU;AAAA,IACZ;AAGA,UAAM,QAAQ,WAAW,aAAa,UAAU,YAAY,aAAa,cAAc;AACvF,UAAM,YAAY,YAAY;AAE9B,UAAM,WAAW,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS;AAExD,UAAM,eAAe,WACnB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA;AAAA,UAET;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,cAAW;AAAA,QAEV,gBAAO,IAAI,CAAC,MACX,oBAAC,MAAA,EAAc,WAAU,aACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN,MAAM,EAAE;AAAA,YACR,QAAQ,EAAE;AAAA,YACV,UAAU,EAAE;AAAA,YACZ,aAAa,EAAE,gBAAgB,EAAE,QAAQ,OAAO,YAAY,EAAE,IAAI,IAAI;AAAA,YACtE,cAAc,EAAE;AAAA,YAChB,SACE;AAAA;AAAA;AAAA;AAAA,cAIE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,UAAQ;AAAA,kBACR,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,WAAW;AAAA,kBACX,cAAY,gBAAgB,EAAE,IAAI;AAAA,kBAClC,SAAS,CAAC,MAAM;AACd,sBAAE,gBAAA;AACF,6BAAS,EAAE,EAAE;AAAA,kBACf;AAAA,kBACA,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,gBAEV;AAAA,UAAA;AAAA,QAAA,EAER,GA3BO,EAAE,EA4BX,CACD;AAAA,MAAA;AAAA,IAAA,IAED;AAEJ,WACE,qBAAC,SAAI,KAAU,WAAW,GAAG,UAAU,YAAY,eAAe,GAClE,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAU,YAAY,KAAK;AAAA,UAC3B,iBAAe,YAAY;AAAA,UAC3B,aAAW,WAAW;AAAA,UACtB,cAAY;AAAA,UACZ,SAAS;AAAA,UACT,WAAW,CAAC,MAAM;;AAChB,gBAAI,UAAW;AACf,gBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,gBAAE,eAAA;AACF,6BAAS,YAAT,mBAAkB;AAAA,YACpB;AAAA,UACF;AAAA,UACA,aAAa,CAAC,MAAM;AAClB,gBAAI,UAAW;AACf,cAAE,eAAA;AACF,wBAAY,IAAI;AAAA,UAClB;AAAA,UACA,aAAa,CAAC,MAAM;AAClB,gBAAI,UAAW;AACf,cAAE,eAAA;AACF,wBAAY,KAAK;AAAA,UACnB;AAAA,UACA,YAAY,CAAC,MAAM;AACjB,gBAAI,UAAW;AACf,cAAE,eAAA;AAAA,UACJ;AAAA,UACA,QAAQ,CAAC,MAAM;AACb,gBAAI,UAAW;AACf,cAAE,eAAA;AACF,wBAAY,KAAK;AACjB,8BAAkB,EAAE,aAAa,KAAK;AAAA,UACxC;AAAA,UACA,WAAW;AAAA;AAAA,YAET;AAAA;AAAA;AAAA,YAGA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA;AAAA,YAEA;AAAA;AAAA,YAEA;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,UAAA;AAAA,UAED,GAAG;AAAA,UAEJ,UAAA;AAAA,YAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAK;AAAA,gBACL,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,UAAU,CAAC,MAAM,kBAAkB,EAAE,OAAO,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,YAElD,UACC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAM,oBAAC,kBAAA,EAAiB,MAAM,GAAA,CAAI;AAAA,gBAClC,OAAO;AAAA,cAAA;AAAA,YAAA,IAGT,YACE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAMC;AAAAA,gBACN;AAAA,gBACA;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAIL;AAAA,IAAA,GACD;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;AAGzB,SAAS,YAAY,GAAmB;AACtC,MAAI,IAAI,KAAM,QAAO,GAAG,CAAC;AACzB,MAAI,IAAI,OAAO,KAAM,QAAO,IAAI,IAAI,MAAM,QAAQ,CAAC,CAAC;AACpD,MAAI,IAAI,OAAO,OAAO,KAAM,QAAO,IAAI,KAAK,OAAO,OAAO,QAAQ,CAAC,CAAC;AACpE,SAAO,IAAI,KAAK,OAAO,OAAO,OAAO,QAAQ,CAAC,CAAC;AACjD;AAIA,SAAS,YAAY,MAAY,QAAyB;AACxD,QAAM,WAAW,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAA,EAAO,YAAA,CAAa;AACpE,QAAM,WAAW,KAAK,KAAK,YAAA;AAC3B,QAAM,WAAW,KAAK,KAAK,YAAA;AAC3B,SAAO,SAAS,KAAK,CAAC,MAAM;AAC1B,QAAI,EAAE,WAAW,GAAG,EAAG,QAAO,SAAS,SAAS,CAAC;AACjD,QAAI,EAAE,SAAS,IAAI,EAAG,QAAO,SAAS,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC;AAC/D,WAAO,aAAa;AAAA,EACtB,CAAC;AACH;AAIO,MAAM,iBAAiB;AAAA,EAC5B,WAAW;AAAA,EACX,QAAQ;AAAA;AAAA,EACR,UAAU,CAAA;AAAA,EAGV,OAAO,CAAA;AAAA,EAGP,QAAQ,CAAC,WAAW,SAAS,UAAU,iBAAiB,UAAU;AAAA,EAClE,QAAQ;AAAA,IACN,IAAI,CAAC,oBAAoB,qBAAqB,YAAY;AAAA,IAC1D,IAAI,CAAA;AAAA,IACJ,MAAM,CAAC,WAAW;AAAA,EAAA;AAEtB;"}
@@ -0,0 +1,2 @@
1
+ export * from './file-upload';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { FileUpload, fileUploadMeta } from "./file-upload.js";
2
+ export {
3
+ FileUpload,
4
+ fileUploadMeta
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,73 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * FileViewer — shared types
4
+ *
5
+ * 單獨檔避免 file-viewer.tsx 跟 renderer 檔之間的 circular import
6
+ * (renderer 檔需要 FileInfo / FileRendererProps,shell 也需要 FileRenderer
7
+ * interface 做 registry iteration)。
8
+ */
9
+ export interface FileInfo {
10
+ id: string;
11
+ url: string;
12
+ name: string;
13
+ mimeType: string;
14
+ /** Bytes。consumer 負責格式化,shell 只呈現 formatted 字串。 */
15
+ size?: number;
16
+ /** 描述文字,顯示於 InfoPanel(consumer 透過 onDescriptionChange 持久化)。 */
17
+ description?: string;
18
+ /** 自由 metadata 欄位,InfoPanel 逐行呈現 key: value。 */
19
+ metadata?: Record<string, string | number>;
20
+ }
21
+ /**
22
+ * Renderer 能力宣告 — 告訴 shell 目前 renderer 支援哪些 toolbar affordances。
23
+ * Shell 根據這個 object 動態決定 toolbar 顯示(zoom controls / page nav 等)。
24
+ */
25
+ export interface FileRendererCapabilities {
26
+ /** 是否支援 zoom(shell 據此顯示 ZoomInput)。 */
27
+ zoom: boolean;
28
+ /** 是否支援旋轉(預留給未來 PDF / Image rotate)。 */
29
+ rotate?: boolean;
30
+ /** PDF 專用:當前頁 / 總頁數。預留。 */
31
+ pageNumber?: {
32
+ current: number;
33
+ total: number;
34
+ };
35
+ }
36
+ /**
37
+ * Fit-to-* 指令:shell 向 renderer 下指令「請用 width 或 page fit 比例重新 zoom」。
38
+ * 採 nonce(counter)模式而非 boolean,讓 shell 可以重複下同一個 fit 指令
39
+ * (例:user 連按兩次 Fit to page 應該都觸發 ImageRenderer 重新計算)。
40
+ * renderer 收到 nonce 變化時才執行 fit,不看 fit 值本身是否變。
41
+ */
42
+ export interface FitRequest {
43
+ /** 'fit-width' = 寬度填滿;'fit-page' = 整頁符合(width 和 height 都 fit,取較小 scale) */
44
+ fit: 'fit-width' | 'fit-page';
45
+ /** 每次 shell 下指令時 +1,renderer watch 此值變化才觸發 fit */
46
+ nonce: number;
47
+ }
48
+ export interface FileRendererProps {
49
+ file: FileInfo;
50
+ /** 當前 zoom(%);shell own state,passed down 給 renderer。 */
51
+ zoom: number;
52
+ /** Renderer 內部 zoom 變化時呼叫(wheel / pinch)。 */
53
+ onZoomChange: (next: number) => void;
54
+ /**
55
+ * Shell 下的 fit-to-* 指令。renderer 負責算出 container / image 比例,
56
+ * 並透過 `onZoomChange` 回報算出的 zoom %。null 時不動作。
57
+ * renderer 若不支援 fit(未計算能力),可忽略此 prop。
58
+ */
59
+ fitRequest?: FitRequest | null;
60
+ /**
61
+ * Renderer 在 mount 或 file/capability 改變時呼叫,告訴 shell 目前支援哪些
62
+ * capability。不 emit 代表 shell 維持上一個 renderer 的 capability(第一個
63
+ * renderer mount 時必須 emit)。
64
+ */
65
+ onCapabilitiesChange: (caps: FileRendererCapabilities) => void;
66
+ }
67
+ export interface FileRenderer {
68
+ /** unique id(registry debug 用)。 */
69
+ id: string;
70
+ canRender: (file: FileInfo) => boolean;
71
+ component: React.ComponentType<FileRendererProps>;
72
+ }
73
+ //# sourceMappingURL=file-viewer-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-viewer-types.d.ts","sourceRoot":"","sources":["../../../src/components/FileViewer/file-viewer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,wCAAwC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2BAA2B;IAC3B,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAChD;AAED;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,GAAG,EAAE,WAAW,GAAG,UAAU,CAAA;IAC7B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAA;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC9B;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAA;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAA;IACtC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAClD"}
@@ -0,0 +1,82 @@
1
+ import * as React from 'react';
2
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
3
+ import type { FileInfo, FileRenderer } from './file-viewer-types';
4
+ export declare function registerFileRenderer(renderer: FileRenderer): void;
5
+ /**
6
+ * i18n-able labels for FileViewer chrome / controls.
7
+ * All keys are optional — defaults are CJK (see `DEFAULT_LABELS`).
8
+ * Consumer typically spreads partial override:
9
+ * `<FileViewer labels={{ close: 'Close', download: 'Download' }} />`
10
+ */
11
+ export interface FileViewerLabels {
12
+ /** Zoom input ARIA label */
13
+ zoomInput?: string;
14
+ /** Zoom menu trigger ARIA label */
15
+ zoomMenu?: string;
16
+ /** Info panel toggle button — shown when panel is OPEN */
17
+ infoToggleCollapse?: string;
18
+ /** Info panel toggle button — shown when panel is CLOSED */
19
+ infoToggleExpand?: string;
20
+ /** Download button ARIA label */
21
+ download?: string;
22
+ /** Close viewer button ARIA label */
23
+ close?: string;
24
+ /** InfoPanel outer aside ARIA label */
25
+ detailPanel?: string;
26
+ /** InfoPanel heading text */
27
+ detailsHeading?: string;
28
+ /** InfoPanel close button ARIA label */
29
+ detailPanelClose?: string;
30
+ /** Description textarea placeholder (readOnly) */
31
+ descriptionPlaceholderReadOnly?: string;
32
+ /** Description textarea placeholder (editable) */
33
+ descriptionPlaceholderEdit?: string;
34
+ /** Detail section — file info section heading */
35
+ fileInfoHeading?: string;
36
+ /** Filmstrip tablist ARIA label */
37
+ filmstripLabel?: string;
38
+ /** Previous-file nav button ARIA label */
39
+ previousFile?: string;
40
+ /** Next-file nav button ARIA label */
41
+ nextFile?: string;
42
+ }
43
+ export interface FileViewerProps extends Omit<React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, 'onOpenChange'> {
44
+ files: FileInfo[];
45
+ initialIndex?: number;
46
+ /** Controlled open state。與 `defaultOpen` 二擇一。 */
47
+ open?: boolean;
48
+ /** Uncontrolled open 預設(2026-04-25 加,對齊 Dialog/Sheet/Popover dual-mode canonical)。 */
49
+ defaultOpen?: boolean;
50
+ onOpenChange?: (open: boolean) => void;
51
+ /** 當前索引(controlled);consumer 想自己控制 active file 時傳。不傳則 shell 管理。 */
52
+ index?: number;
53
+ onIndexChange?: (index: number) => void;
54
+ /** 當前檔案 description 變化。consumer 負責持久化。readOnly 為 true 時不觸發。 */
55
+ onDescriptionChange?: (fileId: string, description: string) => void;
56
+ /** true → InfoPanel 的 description textarea 為 readOnly。預設 false。 */
57
+ readOnly?: boolean;
58
+ /** 顯示底部 filmstrip。預設 false;files.length < 2 時自動隱藏。 */
59
+ showFilmstrip?: boolean;
60
+ /** 是否提供 download 按鈕。預設 true。 */
61
+ allowDownload?: boolean;
62
+ /** 自訂 download 行為;未傳則用 anchor download attribute。 */
63
+ onDownload?: (file: FileInfo) => void;
64
+ /** i18n labels override. Partial — merged with DS defaults. */
65
+ labels?: FileViewerLabels;
66
+ }
67
+ declare const FileViewer: React.ForwardRefExoticComponent<FileViewerProps & React.RefAttributes<HTMLDivElement>>;
68
+ export declare const fileViewerMeta: {
69
+ readonly component: "FileViewer";
70
+ readonly family: null;
71
+ readonly variants: {};
72
+ readonly sizes: {};
73
+ readonly states: readonly ["default", "hover", "active", "focus-visible", "disabled"];
74
+ readonly tokens: {
75
+ readonly bg: readonly ["bg-muted", "bg-surface", "bg-surface-raised"];
76
+ readonly fg: readonly ["text-fg-muted", "text-foreground"];
77
+ readonly ring: readonly ["ring-primary", "ring-ring"];
78
+ };
79
+ };
80
+ export { FileViewer };
81
+ export type { FileInfo, FileRenderer, FileRendererCapabilities, FileRendererProps } from './file-viewer-types';
82
+ //# sourceMappingURL=file-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/FileViewer/file-viewer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAuCzD,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EAEb,MAAM,qBAAqB,CAAA;AA6D5B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAQjE;AA4gBD;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,kDAAkD;IAClD,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAqBD,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EAC9D,cAAc,CACf;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAC1B;AAED,QAAA,MAAM,UAAU,wFA0Td,CAAA;AAKF,eAAO,MAAM,cAAc;;;;;;;;;;;CAejB,CAAA;AAEV,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}