@godxjp/ui 31.31.8 → 32.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. package/README.md +102 -121
  2. package/agent/START-HERE.md +10 -10
  3. package/agent/components/Accordion.json +2 -2
  4. package/agent/components/AccountChip.json +1 -1
  5. package/agent/components/Actions.json +1 -1
  6. package/agent/components/Activity.json +2 -2
  7. package/agent/components/Affix.json +1 -1
  8. package/agent/components/Alert.json +22 -6
  9. package/agent/components/AlertDialog.json +8 -1
  10. package/agent/components/Anchor.json +4 -3
  11. package/agent/components/AppLauncher.json +2 -2
  12. package/agent/components/AppProvider.json +19 -11
  13. package/agent/components/AppSettingPicker.json +18 -2
  14. package/agent/components/AppShell.json +4 -5
  15. package/agent/components/AreaChart.json +0 -1
  16. package/agent/components/AspectRatio.json +2 -2
  17. package/agent/components/Attachments.json +3 -3
  18. package/agent/components/AuthAccountSummary.json +1 -1
  19. package/agent/components/AuthDivider.json +1 -1
  20. package/agent/components/AuthExpiryProvider.json +0 -1
  21. package/agent/components/AuthFooter.json +2 -2
  22. package/agent/components/AuthIdentity.json +3 -3
  23. package/agent/components/AuthStack.json +1 -1
  24. package/agent/components/Avatar.json +2 -12
  25. package/agent/components/Badge.json +1 -1
  26. package/agent/components/BarChart.json +0 -1
  27. package/agent/components/BranchScopePicker.json +1 -1
  28. package/agent/components/Breadcrumb.json +1 -1
  29. package/agent/components/Button.json +3 -3
  30. package/agent/components/Calendar.json +1 -1
  31. package/agent/components/Card.json +2 -2
  32. package/agent/components/CardBar.json +0 -1
  33. package/agent/components/CardContent.json +0 -1
  34. package/agent/components/Carousel.json +4 -3
  35. package/agent/components/Cascader.json +1 -1
  36. package/agent/components/CenteredShell.json +78 -17
  37. package/agent/components/ChatBubble.json +3 -3
  38. package/agent/components/ChatBubbleList.json +3 -3
  39. package/agent/components/ChatComposer.json +3 -3
  40. package/agent/components/ChatSuggestion.json +3 -3
  41. package/agent/components/Checkbox.json +1 -1
  42. package/agent/components/CheckboxGroup.json +0 -1
  43. package/agent/components/CodeBlock.json +1 -1
  44. package/agent/components/Collapsible.json +4 -4
  45. package/agent/components/ColorPicker.json +1 -1
  46. package/agent/components/Command.json +5 -5
  47. package/agent/components/CommandPalette.json +1 -1
  48. package/agent/components/CompactBarTrend.json +1 -1
  49. package/agent/components/Conversations.json +3 -3
  50. package/agent/components/CredentialReveal.json +1 -1
  51. package/agent/components/DataState.json +2 -2
  52. package/agent/components/DataTable.json +1 -1
  53. package/agent/components/DatePicker.json +1 -1
  54. package/agent/components/Descriptions.json +1 -1
  55. package/agent/components/Dialog.json +2 -2
  56. package/agent/components/DraggablePanel.json +5 -4
  57. package/agent/components/DropdownMenu.json +1 -1
  58. package/agent/components/EmojiPicker.json +3 -2
  59. package/agent/components/EmptyState.json +1 -1
  60. package/agent/components/ErrorSurface.json +3 -3
  61. package/agent/components/FeatureList.json +1 -1
  62. package/agent/components/Field.json +0 -1
  63. package/agent/components/Flex.json +34 -4
  64. package/agent/components/FloatButton.json +6 -5
  65. package/agent/components/Form.json +1 -1
  66. package/agent/components/FormErrors.json +0 -1
  67. package/agent/components/FormField.json +6 -6
  68. package/agent/components/FormFieldArray.json +0 -1
  69. package/agent/components/FormFieldControl.json +0 -1
  70. package/agent/components/FormRoot.json +1 -1
  71. package/agent/components/Heading.json +3 -0
  72. package/agent/components/Icon.json +1 -1
  73. package/agent/components/Image.json +7 -4
  74. package/agent/components/InfiniteQueryState.json +1 -1
  75. package/agent/components/Input.json +1 -1
  76. package/agent/components/InputOTP.json +2 -2
  77. package/agent/components/Label.json +3 -3
  78. package/agent/components/LegalDocumentShell.json +5 -4
  79. package/agent/components/Legend.json +1 -1
  80. package/agent/components/LineChart.json +0 -1
  81. package/agent/components/Link.json +0 -1
  82. package/agent/components/ListRow.json +1 -1
  83. package/agent/components/Logo.json +5 -4
  84. package/agent/components/Marquee.json +4 -3
  85. package/agent/components/Masonry.json +4 -3
  86. package/agent/components/MasterDetail.json +1 -1
  87. package/agent/components/MegaMenu.json +4 -3
  88. package/agent/components/MobileShell.json +4 -4
  89. package/agent/components/NavList.json +1 -1
  90. package/agent/components/NumberInput.json +1 -1
  91. package/agent/components/OrgChart.json +4 -3
  92. package/agent/components/OrgSwitcher.json +1 -1
  93. package/agent/components/OverlayPortalProvider.json +0 -1
  94. package/agent/components/PageContainer.json +3 -3
  95. package/agent/components/PageCover.json +3 -2
  96. package/agent/components/Pagination.json +1 -1
  97. package/agent/components/PasswordInput.json +1 -1
  98. package/agent/components/PasswordStrength.json +1 -1
  99. package/agent/components/PermissionMatrix.json +1 -1
  100. package/agent/components/PieChart.json +0 -1
  101. package/agent/components/Popover.json +31 -6
  102. package/agent/components/PrefetchLink.json +1 -1
  103. package/agent/components/Progress.json +1 -1
  104. package/agent/components/Prose.json +1 -1
  105. package/agent/components/QrCode.json +1 -1
  106. package/agent/components/Radio.json +0 -1
  107. package/agent/components/RadioGroup.json +2 -2
  108. package/agent/components/RangeTimeline.json +2 -1
  109. package/agent/components/Rating.json +1 -1
  110. package/agent/components/RecordPicker.json +1 -1
  111. package/agent/components/ResizablePanel.json +1 -1
  112. package/agent/components/ResponsiveGrid.json +2 -2
  113. package/agent/components/Reveal.json +3 -3
  114. package/agent/components/ScrollArea.json +2 -2
  115. package/agent/components/SearchInput.json +1 -1
  116. package/agent/components/Segmented.json +1 -1
  117. package/agent/components/Select.json +7 -5
  118. package/agent/components/Separator.json +1 -1
  119. package/agent/components/ServiceCatalogCta.json +0 -1
  120. package/agent/components/ServiceLauncherCard.json +1 -1
  121. package/agent/components/ServiceRolePanel.json +1 -1
  122. package/agent/components/Sheet.json +5 -5
  123. package/agent/components/Sidebar.json +1 -1
  124. package/agent/components/Skeleton.json +26 -12
  125. package/agent/components/Slider.json +2 -2
  126. package/agent/components/SortableList.json +3 -2
  127. package/agent/components/SplitPane.json +1 -1
  128. package/agent/components/StatCard.json +1 -1
  129. package/agent/components/Steps.json +1 -1
  130. package/agent/components/Swatch.json +1 -1
  131. package/agent/components/Switch.json +1 -1
  132. package/agent/components/Table.json +1 -1
  133. package/agent/components/Tabs.json +3 -3
  134. package/agent/components/Text.json +5 -1
  135. package/agent/components/TextDiff.json +5 -4
  136. package/agent/components/Textarea.json +1 -1
  137. package/agent/components/ThemeScope.json +1 -1
  138. package/agent/components/ThoughtChain.json +3 -3
  139. package/agent/components/TimePicker.json +1 -1
  140. package/agent/components/Timeline.json +1 -1
  141. package/agent/components/TimelineGrid.json +5 -4
  142. package/agent/components/Toaster.json +0 -1
  143. package/agent/components/Toggle.json +3 -3
  144. package/agent/components/ToggleGroup.json +1 -1
  145. package/agent/components/Toolbar.json +10 -3
  146. package/agent/components/Tooltip.json +9 -9
  147. package/agent/components/Topbar.json +1 -1
  148. package/agent/components/TopbarItem.json +1 -1
  149. package/agent/components/Transfer.json +2 -2
  150. package/agent/components/Tree.json +1 -1
  151. package/agent/components/TreeSelect.json +1 -1
  152. package/agent/components/TwoFactorSetup.json +1 -1
  153. package/agent/components/Upload.json +1 -1
  154. package/agent/components/UploadCropDialog.json +1 -1
  155. package/agent/components/Welcome.json +3 -3
  156. package/agent/components/formatDate.json +2 -2
  157. package/agent/components/inertiaUpload.json +0 -1
  158. package/agent/components/useZodForm.json +0 -1
  159. package/agent/components-index.json +80 -154
  160. package/agent/components.json +541 -1737
  161. package/agent/index.json +10 -10
  162. package/agent/llms.txt +9 -9
  163. package/agent/patterns/account-recovery-settings.json +1 -1
  164. package/agent/patterns/auth-recovery-panels.json +2 -2
  165. package/agent/patterns/error-pages.json +1 -1
  166. package/agent/patterns/pricing-plans.json +17 -0
  167. package/agent/patterns-index.json +17 -1
  168. package/agent/patterns.json +21 -4
  169. package/agent/rules.json +30 -65
  170. package/agent/tokens.json +27 -57
  171. package/agent/vocabulary.json +3 -3
  172. package/dist/app/app-provider.d.ts +5 -3
  173. package/dist/app/app-provider.js +47 -12
  174. package/dist/app/date-format-labels.d.ts +3 -1
  175. package/dist/app/date-format-labels.js +2 -4
  176. package/dist/app/date-formats.d.ts +21 -2
  177. package/dist/app/date-formats.js +51 -2
  178. package/dist/app/index.d.ts +3 -1
  179. package/dist/app/index.js +5 -0
  180. package/dist/app/locales.d.ts +58 -3
  181. package/dist/app/locales.js +134 -8
  182. package/dist/app/preset.d.ts +25 -0
  183. package/dist/app/preset.js +10 -0
  184. package/dist/app/request-headers.d.ts +3 -3
  185. package/dist/app/request-headers.js +19 -10
  186. package/dist/app/settings-scope.d.ts +54 -0
  187. package/dist/app/settings-scope.js +46 -0
  188. package/dist/app/tenant-theme.js +8 -3
  189. package/dist/app/time-format-labels.d.ts +4 -1
  190. package/dist/app/time-format-labels.js +7 -1
  191. package/dist/app/types.d.ts +10 -2
  192. package/dist/app/use-formatting.d.ts +1 -1
  193. package/dist/components/admin/index.d.ts +1 -1
  194. package/dist/components/admin/index.js +1 -1
  195. package/dist/components/data-display/accordion.d.ts +51 -1
  196. package/dist/components/data-display/accordion.js +247 -1
  197. package/dist/components/data-display/avatar.d.ts +16 -1
  198. package/dist/components/data-display/avatar.js +109 -1
  199. package/dist/components/data-display/credential-reveal.d.ts +9 -2
  200. package/dist/components/data-display/credential-reveal.js +156 -1
  201. package/dist/components/data-display/image.js +5 -3
  202. package/dist/components/data-display/index.d.ts +0 -21
  203. package/dist/components/data-display/index.js +1 -43
  204. package/dist/components/data-display/popover.d.ts +15 -3
  205. package/dist/components/data-display/popover.js +168 -2
  206. package/dist/components/data-entry/branch-scope-picker.d.ts +1 -1
  207. package/dist/components/data-entry/index.d.ts +5 -12
  208. package/dist/components/data-entry/index.js +11 -12
  209. package/dist/components/data-entry/input-otp.d.ts +48 -2
  210. package/dist/components/data-entry/input-otp.js +94 -1
  211. package/dist/components/data-entry/number-input.d.ts +1 -1
  212. package/dist/components/data-entry/password-input.d.ts +38 -2
  213. package/dist/components/data-entry/password-input.js +56 -1
  214. package/dist/components/data-entry/rating.d.ts +38 -2
  215. package/dist/components/data-entry/rating.js +127 -1
  216. package/dist/components/data-entry/segmented.d.ts +94 -2
  217. package/dist/components/data-entry/segmented.js +104 -1
  218. package/dist/components/{ui/tag-input.d.ts → data-entry/select-tags-inline.d.ts} +7 -4
  219. package/dist/components/{ui/tag-input.js → data-entry/select-tags-inline.js} +4 -4
  220. package/dist/components/data-entry/select.js +4 -0
  221. package/dist/components/data-entry/toggle-group.d.ts +108 -2
  222. package/dist/components/data-entry/toggle-group.js +189 -1
  223. package/dist/components/data-entry/toggle.d.ts +86 -2
  224. package/dist/components/data-entry/toggle.js +153 -2
  225. package/dist/components/feedback/alert.d.ts +5 -3
  226. package/dist/components/feedback/alert.js +14 -2
  227. package/dist/components/feedback/index.d.ts +2 -6
  228. package/dist/components/feedback/index.js +1 -13
  229. package/dist/components/feedback/skeleton.d.ts +4 -17
  230. package/dist/components/feedback/skeleton.js +3 -40
  231. package/dist/components/general/index.d.ts +2 -4
  232. package/dist/components/general/index.js +1 -6
  233. package/dist/components/general/typography.d.ts +4 -58
  234. package/dist/components/general/typography.js +7 -141
  235. package/dist/components/layout/aspect-ratio.d.ts +24 -1
  236. package/dist/components/layout/aspect-ratio.js +18 -1
  237. package/dist/components/layout/auth-divider.js +1 -1
  238. package/dist/components/layout/auth-identity.js +6 -2
  239. package/dist/components/layout/centered-shell.d.ts +13 -8
  240. package/dist/components/layout/centered-shell.js +43 -1
  241. package/dist/components/layout/flex.d.ts +1 -1
  242. package/dist/components/layout/flex.js +73 -1
  243. package/dist/components/layout/index.d.ts +1 -13
  244. package/dist/components/layout/index.js +0 -12
  245. package/dist/components/layout/separator.d.ts +25 -2
  246. package/dist/components/layout/separator.js +71 -1
  247. package/dist/components/navigation/{app-setting-toggle.d.ts → app-setting-cycle.d.ts} +3 -4
  248. package/dist/components/navigation/{app-setting-toggle.js → app-setting-cycle.js} +3 -3
  249. package/dist/components/navigation/app-setting-picker.d.ts +6 -2
  250. package/dist/components/navigation/app-setting-picker.js +20 -2
  251. package/dist/components/navigation/index.d.ts +3 -11
  252. package/dist/components/navigation/index.js +1 -9
  253. package/dist/components/navigation/tabs.js +1 -1
  254. package/dist/components/ui/carousel.d.ts +1 -1
  255. package/dist/components/ui/carousel.js +1 -1
  256. package/dist/components/ui/index.d.ts +11 -5
  257. package/dist/components/ui/index.js +5 -5
  258. package/dist/contracts/measurement.json +2 -2
  259. package/dist/email/brand-mark.d.ts +3 -2
  260. package/dist/email/brand-mark.js +1 -1
  261. package/dist/email/color.d.ts +7 -0
  262. package/dist/email/color.js +14 -1
  263. package/dist/email/index.d.ts +10 -2
  264. package/dist/email/index.js +23 -2
  265. package/dist/email/tokens.generated.d.ts +120 -2
  266. package/dist/email/tokens.generated.js +119 -1
  267. package/dist/i18n/locale-tags.d.ts +25 -0
  268. package/dist/i18n/locale-tags.js +59 -0
  269. package/dist/i18n/translate.d.ts +20 -3
  270. package/dist/i18n/translate.js +25 -14
  271. package/dist/i18n/use-translation.d.ts +3 -3
  272. package/dist/i18n/use-translation.js +4 -2
  273. package/dist/{components/navigation → lab}/anchor.d.ts +2 -2
  274. package/dist/{components/navigation → lab}/anchor.js +5 -5
  275. package/dist/{components/data-display → lab}/carousel.js +2 -2
  276. package/dist/{components/layout → lab}/draggable-panel.d.ts +8 -8
  277. package/dist/{components/layout → lab}/draggable-panel.js +2 -2
  278. package/dist/{components/data-entry → lab}/emoji-picker.d.ts +2 -2
  279. package/dist/{components/data-entry → lab}/emoji-picker.js +6 -6
  280. package/dist/{components/general → lab}/float-button.d.ts +8 -8
  281. package/dist/{components/general → lab}/float-button.js +7 -7
  282. package/dist/lab/index.d.ts +39 -0
  283. package/dist/lab/index.js +48 -0
  284. package/dist/{components/layout → lab}/legal-document-shell.d.ts +2 -2
  285. package/dist/{components/layout → lab}/legal-document-shell.js +4 -4
  286. package/dist/{components/data-display → lab}/marquee.d.ts +5 -5
  287. package/dist/{components/data-display → lab}/marquee.js +5 -5
  288. package/dist/{components/layout → lab}/masonry.d.ts +2 -2
  289. package/dist/{components/layout → lab}/masonry.js +3 -3
  290. package/dist/{components/navigation → lab}/mega-menu.d.ts +4 -4
  291. package/dist/{components/navigation → lab}/mega-menu.js +2 -2
  292. package/dist/{components/data-display → lab}/org-chart.d.ts +2 -2
  293. package/dist/{components/data-display → lab}/org-chart.js +4 -4
  294. package/dist/{components/layout → lab}/page-cover.d.ts +2 -2
  295. package/dist/{components/layout → lab}/page-cover.js +2 -2
  296. package/dist/{components/data-display → lab}/range-timeline.d.ts +1 -1
  297. package/dist/{components/data-display → lab}/range-timeline.js +6 -6
  298. package/dist/{components/data-entry → lab}/sortable-list.d.ts +2 -2
  299. package/dist/{components/data-entry → lab}/sortable-list.js +3 -3
  300. package/dist/{components/data-display → lab}/text-diff.d.ts +3 -3
  301. package/dist/{components/data-display → lab}/text-diff.js +4 -4
  302. package/dist/{components/data-display → lab}/timeline-grid.d.ts +2 -2
  303. package/dist/{components/data-display → lab}/timeline-grid.js +1 -1
  304. package/dist/lib/control-styles.js +1 -1
  305. package/dist/lib/datetime/format.js +20 -6
  306. package/dist/lib/datetime/sync.d.ts +6 -2
  307. package/dist/lib/datetime/sync.js +14 -18
  308. package/dist/lib/platform.d.ts +1 -1
  309. package/dist/props/components/app.prop.d.ts +28 -13
  310. package/dist/props/components/data-display.prop.d.ts +19 -29
  311. package/dist/props/components/feedback.prop.d.ts +15 -44
  312. package/dist/props/components/general.prop.d.ts +2 -64
  313. package/dist/props/components/index.d.ts +9 -1
  314. package/dist/props/components/layout.prop.d.ts +41 -57
  315. package/dist/props/registry.d.ts +48 -101
  316. package/dist/props/registry.js +45 -129
  317. package/dist/props/vocabulary/index.d.ts +1 -1
  318. package/dist/props/vocabulary/interaction.prop.d.ts +3 -12
  319. package/dist/styles/alert-layout.css +0 -29
  320. package/dist/styles/data-display-layout.css +14 -22
  321. package/dist/styles/fonts/OFL.txt +93 -0
  322. package/dist/styles/form-layout.css +4 -0
  323. package/dist/styles/index.css +0 -2
  324. package/dist/styles/layers.json +44 -179
  325. package/dist/styles/text-layout.css +0 -15
  326. package/dist/styles.css +2 -0
  327. package/dist/themes/godx-tokens.css +41 -0
  328. package/dist/themes/godx.css +3 -0
  329. package/dist/themes/godx.d.ts +16 -0
  330. package/dist/themes/godx.js +12 -0
  331. package/dist/tokens/components/feedback.css +0 -6
  332. package/dist/tokens/derived.css +23 -22
  333. package/dist/tokens/foundation.css +4 -6
  334. package/docs/COMPOSITION-VS-COMPONENT.md +58 -33
  335. package/docs/CONSUMER-RULES.md +1 -1
  336. package/docs/CUSTOMER-THEMING.md +17 -53
  337. package/docs/migrations/v32.md +105 -0
  338. package/package.json +59 -19
  339. package/scripts/_agent-setup.mjs +54 -3
  340. package/scripts/brand-accent.generated.mjs +15 -2
  341. package/scripts/cli.mjs +36 -11
  342. package/scripts/codemod.mjs +542 -0
  343. package/scripts/consumer-rule.md +21 -43
  344. package/scripts/postinstall.mjs +10 -47
  345. package/scripts/prune-css.mjs +1 -1
  346. package/scripts/ui-audit.mjs +5 -2
  347. package/dist/components/data-display/chat-bubble.d.ts +0 -30
  348. package/dist/components/data-display/chat-bubble.js +0 -229
  349. package/dist/components/data-display/hover-card.d.ts +0 -1
  350. package/dist/components/data-display/hover-card.js +0 -7
  351. package/dist/components/data-display/thought-chain.d.ts +0 -42
  352. package/dist/components/data-display/thought-chain.js +0 -177
  353. package/dist/components/data-display/thumbnail.d.ts +0 -37
  354. package/dist/components/data-display/thumbnail.js +0 -20
  355. package/dist/components/data-display/welcome.d.ts +0 -26
  356. package/dist/components/data-display/welcome.js +0 -37
  357. package/dist/components/data-entry/attachments.d.ts +0 -19
  358. package/dist/components/data-entry/attachments.js +0 -366
  359. package/dist/components/data-entry/chat-composer.d.ts +0 -51
  360. package/dist/components/data-entry/chat-composer.js +0 -200
  361. package/dist/components/data-entry/chat-suggestion.d.ts +0 -28
  362. package/dist/components/data-entry/chat-suggestion.js +0 -309
  363. package/dist/components/data-entry/tag-input.d.ts +0 -2
  364. package/dist/components/data-entry/tag-input.js +0 -5
  365. package/dist/components/feedback/banner.d.ts +0 -21
  366. package/dist/components/feedback/banner.js +0 -19
  367. package/dist/components/feedback/callout.d.ts +0 -23
  368. package/dist/components/feedback/callout.js +0 -42
  369. package/dist/components/layout/auth-shell.d.ts +0 -10
  370. package/dist/components/layout/auth-shell.js +0 -42
  371. package/dist/components/layout/space-compact.d.ts +0 -65
  372. package/dist/components/layout/space-compact.js +0 -52
  373. package/dist/components/navigation/conversations.d.ts +0 -39
  374. package/dist/components/navigation/conversations.js +0 -371
  375. package/dist/components/ui/accordion.d.ts +0 -51
  376. package/dist/components/ui/accordion.js +0 -254
  377. package/dist/components/ui/aspect-ratio.d.ts +0 -24
  378. package/dist/components/ui/aspect-ratio.js +0 -21
  379. package/dist/components/ui/avatar.d.ts +0 -16
  380. package/dist/components/ui/avatar.js +0 -115
  381. package/dist/components/ui/credential-reveal.d.ts +0 -9
  382. package/dist/components/ui/credential-reveal.js +0 -160
  383. package/dist/components/ui/hover-card.d.ts +0 -47
  384. package/dist/components/ui/hover-card.js +0 -205
  385. package/dist/components/ui/input-otp.d.ts +0 -48
  386. package/dist/components/ui/input-otp.js +0 -101
  387. package/dist/components/ui/password-input.d.ts +0 -38
  388. package/dist/components/ui/password-input.js +0 -60
  389. package/dist/components/ui/rating.d.ts +0 -38
  390. package/dist/components/ui/rating.js +0 -131
  391. package/dist/components/ui/segmented.d.ts +0 -94
  392. package/dist/components/ui/segmented.js +0 -108
  393. package/dist/components/ui/separator.d.ts +0 -25
  394. package/dist/components/ui/separator.js +0 -74
  395. package/dist/components/ui/toggle-group.d.ts +0 -108
  396. package/dist/components/ui/toggle-group.js +0 -194
  397. package/dist/components/ui/toggle.d.ts +0 -86
  398. package/dist/components/ui/toggle.js +0 -156
  399. package/docs/CANONICAL-CONTRACTS.md +0 -206
  400. package/docs/COMPONENTS.md +0 -163
  401. package/docs/DATETIME.md +0 -78
  402. package/docs/DEVELOPMENT.md +0 -269
  403. package/docs/FRAME-A11Y-CI.md +0 -287
  404. package/docs/FRAME-COVERAGE-LEDGER.md +0 -123
  405. package/docs/FRAME-COVERAGE-REPORT.md +0 -228
  406. package/docs/FRAME-COVERAGE-STANDARD.md +0 -65
  407. package/docs/FRAME-COVERAGE.md +0 -29
  408. package/docs/MEASUREMENT-CONTRACT.md +0 -109
  409. package/docs/PROPS-REGISTRY.md +0 -61
  410. package/docs/PROPS-VOCABULARY.md +0 -100
  411. package/docs/REGISTRY.md +0 -70
  412. package/docs/TESTING.md +0 -107
  413. package/docs/THEME-API-COVERAGE.md +0 -538
  414. package/docs/WHAT-BELONGS-HERE.md +0 -179
  415. package/docs/asset-modules.d.ts +0 -53
  416. package/docs/assets/cover-terrain.svg +0 -6
  417. package/docs/assets/portrait-amber.svg +0 -5
  418. package/docs/assets/portrait-clay.svg +0 -5
  419. package/docs/assets/portrait-indigo.svg +0 -5
  420. package/docs/assets/portrait-iris.svg +0 -5
  421. package/docs/assets/portrait-moss.svg +0 -5
  422. package/docs/assets/portrait-plum.svg +0 -5
  423. package/docs/assets/portrait-slate.svg +0 -5
  424. package/docs/assets/service-mark-rose.svg +0 -6
  425. package/docs/assets/service-mark-teal.svg +0 -5
  426. package/docs/assets/shot-landscape.svg +0 -12
  427. package/docs/assets/shot-portrait.svg +0 -10
  428. package/docs/assets/tcgm/card-1.svg +0 -1
  429. package/docs/assets/tcgm/card-2.svg +0 -1
  430. package/docs/assets/tcgm/card-3.svg +0 -1
  431. package/docs/assets/tcgm/card-4.svg +0 -1
  432. package/docs/assets/tcgm/card-5.svg +0 -1
  433. package/docs/assets/tcgm/card-6.svg +0 -1
  434. package/docs/assets/tcgm/hero-prism.svg +0 -1
  435. package/docs/assets/tcgm/scene-1.svg +0 -1
  436. package/docs/assets/tcgm/scene-2.svg +0 -1
  437. package/docs/assets/tcgm/scene-3.svg +0 -1
  438. package/docs/assets/tcgm/scene-4.svg +0 -1
  439. package/docs/assets/tcgm/scene-5.svg +0 -1
  440. package/docs/assets/tcgm/tcgm-lockup-color.svg +0 -1
  441. package/docs/assets/tcgm/tcgm-symbol-color.svg +0 -1
  442. package/docs/charts/cjk-category-axis.tsx +0 -81
  443. package/docs/charts/compact-bar-trend.tsx +0 -327
  444. package/docs/charts/size-tiers.tsx +0 -192
  445. package/docs/data-display/accordion.tsx +0 -99
  446. package/docs/data-display/avatar.tsx +0 -502
  447. package/docs/data-display/badge.tsx +0 -335
  448. package/docs/data-display/card/examples/detail-panel.tsx +0 -106
  449. package/docs/data-display/card/examples/tab-list.tsx +0 -97
  450. package/docs/data-display/card/index.md +0 -3
  451. package/docs/data-display/card/index.tsx +0 -390
  452. package/docs/data-display/carousel.tsx +0 -160
  453. package/docs/data-display/charts.tsx +0 -278
  454. package/docs/data-display/chat-bubble.tsx +0 -397
  455. package/docs/data-display/code-block.tsx +0 -188
  456. package/docs/data-display/collapsible.tsx +0 -162
  457. package/docs/data-display/credential-reveal.tsx +0 -148
  458. package/docs/data-display/data-table/examples/antd-parity.tsx +0 -257
  459. package/docs/data-display/data-table/examples/approval-queue.tsx +0 -212
  460. package/docs/data-display/data-table/examples/grid-features.tsx +0 -158
  461. package/docs/data-display/data-table/examples/list-page.tsx +0 -175
  462. package/docs/data-display/data-table/examples/selectable-inbox.tsx +0 -113
  463. package/docs/data-display/data-table/examples/server-paged.tsx +0 -179
  464. package/docs/data-display/data-table/examples/striped-list.tsx +0 -173
  465. package/docs/data-display/data-table/index.md +0 -9
  466. package/docs/data-display/data-table/index.tsx +0 -407
  467. package/docs/data-display/descriptions.tsx +0 -263
  468. package/docs/data-display/empty-state.tsx +0 -164
  469. package/docs/data-display/feature-list.tsx +0 -159
  470. package/docs/data-display/hover-card.tsx +0 -181
  471. package/docs/data-display/image.tsx +0 -170
  472. package/docs/data-display/legend.tsx +0 -158
  473. package/docs/data-display/list-row.tsx +0 -441
  474. package/docs/data-display/markdown.tsx +0 -86
  475. package/docs/data-display/marquee.tsx +0 -254
  476. package/docs/data-display/org-chart.tsx +0 -165
  477. package/docs/data-display/permission-matrix.tsx +0 -188
  478. package/docs/data-display/popover-touch.tsx +0 -27
  479. package/docs/data-display/popover.tsx +0 -331
  480. package/docs/data-display/progress.tsx +0 -162
  481. package/docs/data-display/prose.tsx +0 -169
  482. package/docs/data-display/qr-code.tsx +0 -68
  483. package/docs/data-display/scroll-area.tsx +0 -420
  484. package/docs/data-display/service-launcher-card.tsx +0 -445
  485. package/docs/data-display/stat-card.tsx +0 -354
  486. package/docs/data-display/swatch.tsx +0 -107
  487. package/docs/data-display/table.tsx +0 -362
  488. package/docs/data-display/text-diff.tsx +0 -89
  489. package/docs/data-display/thought-chain.tsx +0 -176
  490. package/docs/data-display/thumbnail.tsx +0 -128
  491. package/docs/data-display/timeline-grid.tsx +0 -119
  492. package/docs/data-display/timeline.tsx +0 -671
  493. package/docs/data-display/touch-actions.tsx +0 -36
  494. package/docs/data-display/tree.tsx +0 -724
  495. package/docs/data-display/welcome.tsx +0 -115
  496. package/docs/data-entry/attachments.tsx +0 -160
  497. package/docs/data-entry/block-editor.tsx +0 -105
  498. package/docs/data-entry/branch-scope-picker.tsx +0 -128
  499. package/docs/data-entry/calendar.tsx +0 -226
  500. package/docs/data-entry/cascader.tsx +0 -380
  501. package/docs/data-entry/chat-composer.tsx +0 -619
  502. package/docs/data-entry/chat-suggestion.tsx +0 -301
  503. package/docs/data-entry/checkbox.tsx +0 -256
  504. package/docs/data-entry/color-picker.tsx +0 -189
  505. package/docs/data-entry/command-palette.tsx +0 -179
  506. package/docs/data-entry/command.tsx +0 -341
  507. package/docs/data-entry/country-picker-recipe.tsx +0 -175
  508. package/docs/data-entry/date-picker.tsx +0 -452
  509. package/docs/data-entry/emoji-picker.tsx +0 -35
  510. package/docs/data-entry/form/examples/employee-settings.tsx +0 -267
  511. package/docs/data-entry/form/examples/invoice-form.tsx +0 -387
  512. package/docs/data-entry/form-dynamic-fields.tsx +0 -199
  513. package/docs/data-entry/form-field/examples/a11y-contract.tsx +0 -242
  514. package/docs/data-entry/form-field/examples/create-form.tsx +0 -107
  515. package/docs/data-entry/form-field/index.md +0 -8
  516. package/docs/data-entry/form-field/index.tsx +0 -337
  517. package/docs/data-entry/form-inertia.tsx +0 -80
  518. package/docs/data-entry/form-root.tsx +0 -112
  519. package/docs/data-entry/form.tsx +0 -1498
  520. package/docs/data-entry/input-otp.tsx +0 -258
  521. package/docs/data-entry/input.tsx +0 -796
  522. package/docs/data-entry/label.tsx +0 -102
  523. package/docs/data-entry/markdown-editor.tsx +0 -69
  524. package/docs/data-entry/number-input.tsx +0 -279
  525. package/docs/data-entry/password-input.tsx +0 -102
  526. package/docs/data-entry/password-strength.tsx +0 -99
  527. package/docs/data-entry/radio-group.tsx +0 -316
  528. package/docs/data-entry/rating.tsx +0 -91
  529. package/docs/data-entry/record-picker.tsx +0 -209
  530. package/docs/data-entry/search-input.tsx +0 -121
  531. package/docs/data-entry/segmented-in-filter-row.tsx +0 -60
  532. package/docs/data-entry/segmented.tsx +0 -300
  533. package/docs/data-entry/select-async-contracts.tsx +0 -108
  534. package/docs/data-entry/select-matrix.tsx +0 -209
  535. package/docs/data-entry/select.tsx +0 -547
  536. package/docs/data-entry/slider.tsx +0 -212
  537. package/docs/data-entry/sortable-list.tsx +0 -76
  538. package/docs/data-entry/switch.tsx +0 -314
  539. package/docs/data-entry/tag-input.tsx +0 -145
  540. package/docs/data-entry/textarea.tsx +0 -249
  541. package/docs/data-entry/time-picker.tsx +0 -187
  542. package/docs/data-entry/time-range-picker.tsx +0 -55
  543. package/docs/data-entry/toggle-count.tsx +0 -348
  544. package/docs/data-entry/toggle-group.tsx +0 -438
  545. package/docs/data-entry/toggle.tsx +0 -217
  546. package/docs/data-entry/transfer.tsx +0 -115
  547. package/docs/data-entry/tree-select.tsx +0 -204
  548. package/docs/data-entry/upload-crop-dialog.tsx +0 -109
  549. package/docs/data-entry/upload.tsx +0 -310
  550. package/docs/feedback/alert-dialog.tsx +0 -270
  551. package/docs/feedback/alert.tsx +0 -248
  552. package/docs/feedback/auth-expiry.tsx +0 -104
  553. package/docs/feedback/banner.tsx +0 -183
  554. package/docs/feedback/callout.tsx +0 -220
  555. package/docs/feedback/danger-confirm.tsx +0 -91
  556. package/docs/feedback/dialog-touch.tsx +0 -24
  557. package/docs/feedback/dialog.tsx +0 -373
  558. package/docs/feedback/sheet.tsx +0 -510
  559. package/docs/feedback/skeleton.tsx +0 -168
  560. package/docs/feedback/toast.tsx +0 -135
  561. package/docs/feedback/tooltip.tsx +0 -171
  562. package/docs/feedback/two-factor-setup.tsx +0 -68
  563. package/docs/foundation/_email-specimen.ts +0 -274
  564. package/docs/foundation/_theme-editor-scope.ts +0 -222
  565. package/docs/foundation/colors.tsx +0 -207
  566. package/docs/foundation/density.tsx +0 -242
  567. package/docs/foundation/email-tokens.tsx +0 -323
  568. package/docs/foundation/radius-shadow.tsx +0 -154
  569. package/docs/foundation/spacing.tsx +0 -216
  570. package/docs/foundation/theme-editor.tsx +0 -654
  571. package/docs/foundation/typography.tsx +0 -147
  572. package/docs/general/actions.tsx +0 -175
  573. package/docs/general/activity.tsx +0 -289
  574. package/docs/general/button/examples/destructive-confirm.tsx +0 -90
  575. package/docs/general/button/examples/form-actions.tsx +0 -87
  576. package/docs/general/button/examples/toolbar.tsx +0 -160
  577. package/docs/general/button/index.md +0 -16
  578. package/docs/general/button/index.tsx +0 -236
  579. package/docs/general/float-button.tsx +0 -133
  580. package/docs/general/icon.tsx +0 -217
  581. package/docs/general/logo.tsx +0 -194
  582. package/docs/general/reveal.tsx +0 -309
  583. package/docs/general/typography.tsx +0 -542
  584. package/docs/i18n/messages/en.json +0 -1715
  585. package/docs/i18n/messages/ja.json +0 -1708
  586. package/docs/i18n/messages/vi.json +0 -1708
  587. package/docs/layout/account-chip.tsx +0 -72
  588. package/docs/layout/admin-collection.tsx +0 -122
  589. package/docs/layout/affix.tsx +0 -209
  590. package/docs/layout/app-launcher.tsx +0 -211
  591. package/docs/layout/app-shell-arrangements.tsx +0 -225
  592. package/docs/layout/app-shell-narrow-bar.tsx +0 -205
  593. package/docs/layout/app-shell-states.tsx +0 -171
  594. package/docs/layout/app-shell.tsx +0 -395
  595. package/docs/layout/aspect-ratio.tsx +0 -135
  596. package/docs/layout/auth-account-summary.tsx +0 -103
  597. package/docs/layout/auth-divider.tsx +0 -28
  598. package/docs/layout/auth-footer.tsx +0 -37
  599. package/docs/layout/auth-identity.tsx +0 -70
  600. package/docs/layout/auth-recovery/examples/mfa-challenge.md +0 -41
  601. package/docs/layout/auth-recovery/examples/mfa-challenge.tsx +0 -254
  602. package/docs/layout/auth-recovery/examples/mobile-390.md +0 -25
  603. package/docs/layout/auth-recovery/examples/mobile-390.tsx +0 -82
  604. package/docs/layout/auth-recovery/examples/password-recovery.md +0 -24
  605. package/docs/layout/auth-recovery/examples/password-recovery.tsx +0 -197
  606. package/docs/layout/auth-recovery/examples/wrapping-ja-en-vi.md +0 -27
  607. package/docs/layout/auth-recovery/examples/wrapping-ja-en-vi.tsx +0 -156
  608. package/docs/layout/auth-recovery/index.md +0 -140
  609. package/docs/layout/auth-recovery/index.tsx +0 -96
  610. package/docs/layout/auth-shell-context.tsx +0 -103
  611. package/docs/layout/auth-shell-device.tsx +0 -112
  612. package/docs/layout/auth-shell-registration.tsx +0 -338
  613. package/docs/layout/auth-shell-variants.tsx +0 -143
  614. package/docs/layout/auth-shell.tsx +0 -59
  615. package/docs/layout/auth-stack.tsx +0 -40
  616. package/docs/layout/centered-shell.tsx +0 -102
  617. package/docs/layout/draggable-panel.tsx +0 -127
  618. package/docs/layout/error-surface/examples/application-403.tsx +0 -84
  619. package/docs/layout/error-surface/examples/application-404.tsx +0 -77
  620. package/docs/layout/error-surface/examples/system-500.tsx +0 -47
  621. package/docs/layout/error-surface/examples/system-503.tsx +0 -48
  622. package/docs/layout/error-surface/index.md +0 -153
  623. package/docs/layout/error-surface/index.tsx +0 -239
  624. package/docs/layout/flex.tsx +0 -444
  625. package/docs/layout/legal-document-shell/_data.ts +0 -110
  626. package/docs/layout/legal-document-shell/examples/desktop-1440.md +0 -12
  627. package/docs/layout/legal-document-shell/examples/desktop-1440.tsx +0 -83
  628. package/docs/layout/legal-document-shell/examples/mobile-390.md +0 -22
  629. package/docs/layout/legal-document-shell/examples/mobile-390.tsx +0 -70
  630. package/docs/layout/legal-document-shell/examples/tablet-1024.md +0 -3
  631. package/docs/layout/legal-document-shell/examples/tablet-1024.tsx +0 -84
  632. package/docs/layout/legal-document-shell/examples/wrapping-ja-en-vi.md +0 -18
  633. package/docs/layout/legal-document-shell/examples/wrapping-ja-en-vi.tsx +0 -61
  634. package/docs/layout/legal-document-shell/index.md +0 -51
  635. package/docs/layout/legal-document-shell/index.tsx +0 -101
  636. package/docs/layout/masonry.tsx +0 -291
  637. package/docs/layout/master-detail.tsx +0 -390
  638. package/docs/layout/mobile-shell.tsx +0 -106
  639. package/docs/layout/nav-list.tsx +0 -584
  640. package/docs/layout/org-switcher.tsx +0 -131
  641. package/docs/layout/page-container.tsx +0 -1020
  642. package/docs/layout/page-cover.tsx +0 -56
  643. package/docs/layout/resizable-panel.tsx +0 -419
  644. package/docs/layout/responsive-grid.tsx +0 -403
  645. package/docs/layout/separator.tsx +0 -327
  646. package/docs/layout/service-role-panel.tsx +0 -144
  647. package/docs/layout/sidebar.tsx +0 -689
  648. package/docs/layout/space-compact.tsx +0 -202
  649. package/docs/layout/split-pane.tsx +0 -532
  650. package/docs/layout/topbar-item.tsx +0 -233
  651. package/docs/layout/topbar.tsx +0 -360
  652. package/docs/navigation/anchor.tsx +0 -295
  653. package/docs/navigation/app-setting-picker.tsx +0 -178
  654. package/docs/navigation/app-setting-toggle.tsx +0 -111
  655. package/docs/navigation/breadcrumb.tsx +0 -207
  656. package/docs/navigation/card-tabs.tsx +0 -344
  657. package/docs/navigation/conversations.tsx +0 -176
  658. package/docs/navigation/dropdown-menu.tsx +0 -345
  659. package/docs/navigation/filter-bar.tsx +0 -247
  660. package/docs/navigation/mega-menu-panel.tsx +0 -86
  661. package/docs/navigation/mega-menu.tsx +0 -254
  662. package/docs/navigation/pagination.tsx +0 -293
  663. package/docs/navigation/steps.tsx +0 -315
  664. package/docs/navigation/tabs-rtl.tsx +0 -28
  665. package/docs/navigation/tabs.tsx +0 -755
  666. package/docs/navigation/toolbar.tsx +0 -347
  667. package/docs/providers/app-provider.tsx +0 -191
  668. package/docs/providers/format-date.tsx +0 -230
  669. package/docs/providers/theme-scope.tsx +0 -186
  670. package/docs/query/button-refetch.tsx +0 -161
  671. package/docs/query/data-state.tsx +0 -262
  672. package/docs/query/infinite-query-state.tsx +0 -97
  673. package/docs/query/mutation-feedback.tsx +0 -128
  674. package/docs/query/touch-actions.tsx +0 -68
  675. package/docs/react-router/prefetch-link.tsx +0 -262
  676. package/docs/roadmap/ai-chat-components.md +0 -206
  677. package/docs/roadmap/antd-parity.md +0 -155
  678. package/docs/roadmap/badge-tag-chip-count.md +0 -172
  679. package/docs/roadmap/list-masonry.md +0 -159
  680. package/docs/roadmap/parity-audit-data-display-feedback.md +0 -567
  681. package/docs/roadmap/parity-audit-data-entry.md +0 -368
  682. package/docs/roadmap/parity-audit-layout-navigation-general.md +0 -459
  683. package/docs/roadmap/parity-backlog.md +0 -77
  684. package/docs/roadmap/tree-components.md +0 -151
  685. package/docs/roadmap/website-components.md +0 -813
  686. package/docs/showcase/acme-portal.tsx +0 -461
  687. package/docs/showcase/acme-website.tsx +0 -499
  688. package/docs/showcase/caimono-price-comparison.tsx +0 -919
  689. package/docs/showcase/case1-warehouse-dashboard.tsx +0 -358
  690. package/docs/showcase/case2-employee-me.tsx +0 -438
  691. package/docs/showcase/case3-approval-workflow.tsx +0 -531
  692. package/docs/showcase/case4-login.tsx +0 -312
  693. package/docs/showcase/case5-shift-calendar.tsx +0 -702
  694. package/docs/showcase/case6-agency-handy.tsx +0 -1120
  695. package/docs/showcase/futurelastic-web.tsx +0 -441
  696. package/docs/showcase/marketing-page.tsx +0 -895
  697. package/docs/showcase/org-switcher.tsx +0 -320
  698. package/docs/showcase/permission-matrix.tsx +0 -354
  699. package/docs/showcase/public-landing.tsx +0 -210
  700. package/docs/showcase/settings-account-sections.tsx +0 -559
  701. package/docs/showcase/settings-security-mfa.tsx +0 -145
  702. package/docs/showcase/table-approval-queue.tsx +0 -199
  703. package/docs/showcase/table-bulk-actions.tsx +0 -468
  704. package/docs/showcase/table-compact-kintone.tsx +0 -438
  705. package/docs/showcase/table-conditional-format.tsx +0 -367
  706. package/docs/showcase/table-crud-list.tsx +0 -544
  707. package/docs/showcase/table-density.tsx +0 -349
  708. package/docs/showcase/table-expandable-rows.tsx +0 -496
  709. package/docs/showcase/table-filter-chips.tsx +0 -468
  710. package/docs/showcase/table-footer-totals.tsx +0 -328
  711. package/docs/showcase/table-grouped-subtotals.tsx +0 -398
  712. package/docs/showcase/table-master-detail.tsx +0 -482
  713. package/docs/showcase/table-pagination.tsx +0 -409
  714. package/docs/showcase/table-states.tsx +0 -371
  715. package/docs/showcase/table-sticky-columns.tsx +0 -377
  716. package/docs/showcase/table-tree-rows.tsx +0 -451
  717. package/docs/showcase/table-view-tabs.tsx +0 -488
  718. package/docs/showcase/tcgm-website.tsx +0 -1047
  719. package/docs/showcase/tenant-brand-color.tsx +0 -338
  720. package/docs/showcase/theme-customization.tsx +0 -1292
  721. package/docs/showcase/theme-lab.tsx +0 -2125
  722. package/docs/themes/flat.css +0 -466
  723. package/docs/themes/glassmorphism.css +0 -960
  724. package/docs/themes/index.ts +0 -219
  725. package/docs/themes/neubrutalism.css +0 -481
  726. /package/dist/components/navigation/{filter-bar.d.ts → toolbar.d.ts} +0 -0
  727. /package/dist/components/navigation/{filter-bar.js → toolbar.js} +0 -0
  728. /package/dist/{components/data-display → lab}/carousel.d.ts +0 -0
  729. /package/dist/{components/data-entry → lab}/emoji-data.d.ts +0 -0
  730. /package/dist/{components/data-entry → lab}/emoji-data.js +0 -0
  731. /package/dist/{components/data-display → lab}/marquee-reveal.d.ts +0 -0
  732. /package/dist/{components/data-display → lab}/marquee-reveal.js +0 -0
@@ -1,510 +0,0 @@
1
- import { useState } from "react";
2
- import {
3
- Sheet,
4
- SheetBody,
5
- SheetContent,
6
- SheetDescription,
7
- SheetFooter,
8
- SheetHeader,
9
- SheetTitle,
10
- SheetTrigger,
11
- useSheetResponsiveMode,
12
- } from "@godxjp/ui/feedback";
13
- import {
14
- Badge,
15
- Card,
16
- CardContent,
17
- CardDescription,
18
- CardHeader,
19
- CardTitle,
20
- } from "@godxjp/ui/data-display";
21
- import { Button, Text } from "@godxjp/ui/general";
22
- import {
23
- Form,
24
- FormField,
25
- Input,
26
- Select,
27
- SelectContent,
28
- SelectItem,
29
- SelectTrigger,
30
- SelectValue,
31
- } from "@godxjp/ui/data-entry";
32
- import { Flex, PageContainer } from "@godxjp/ui/layout";
33
- import { SlidersHorizontal } from "lucide-react";
34
-
35
- /** Every branch of SheetHeader's `tone`, in the order the vocabulary declares them. */
36
- const headerTones = [
37
- "default",
38
- "success",
39
- "warning",
40
- "destructive",
41
- "info",
42
- "muted",
43
- "neutral",
44
- ] as const;
45
-
46
- /** Order lines behind the non-modal sheet — they stay editable while it is open. */
47
- const initialLines = [
48
- { id: "coffee", name: "ブレンドコーヒー", unitPrice: 480, quantity: 2 },
49
- { id: "sandwich", name: "ミックスサンド", unitPrice: 650, quantity: 1 },
50
- { id: "cake", name: "チーズケーキ", unitPrice: 520, quantity: 1 },
51
- ];
52
-
53
- const yen = new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" });
54
-
55
- /**
56
- * Sheet · side-panel drawer (Radix Dialog). Slides in from an edge. Compose
57
- * Sheet > SheetTrigger (asChild) > SheetContent(side) > SheetHeader >
58
- * SheetTitle (a11y required) > scrollable body > SheetFooter.
59
- *
60
- * SheetFooter is a PINNED action bar: it sticks to the bottom
61
- * via mt-auto, draws a full-bleed top border, and right-aligns its actions with
62
- * the PRIMARY button rightmost. A destructive / clear / reset action goes
63
- * far-LEFT · give THAT button className="me-auto". Never stack footer buttons
64
- * full-width or center them. See cardinal rule #41 "Drawer & dialog footer layout".
65
- *
66
- * Fields are real FormField + Input + Select primitives · never faked with
67
- * styled <span>/<div>. Composed only from real @godxjp/ui components.
68
- */
69
- export default function Demo() {
70
- // Card 1 · pre-opened so the pinned footer + clear-left/apply-right layout is visible at rest.
71
- const [filterOpen, setFilterOpen] = useState(true);
72
- const [account, setAccount] = useState("all");
73
- const [status, setStatus] = useState("all");
74
- const [source, setSource] = useState("all");
75
- const [minAmount, setMinAmount] = useState("");
76
- const [maxAmount, setMaxAmount] = useState("");
77
-
78
- // Card 2 · quick-edit form: Cancel + Save, both right-aligned (primary rightmost).
79
- const [editOpen, setEditOpen] = useState(false);
80
- const [companyName, setCompanyName] = useState("株式会社サンプル");
81
- const [registration, setRegistration] = useState("T1234567890123");
82
-
83
- // Card 3 · edit with a destructive action: 削除 far-left (mr-auto), Cancel + Save right.
84
- const [recordOpen, setRecordOpen] = useState(false);
85
- const [memo, setMemo] = useState("4月度 経費精算");
86
-
87
- // Card 4 · responsive detail panel. The SAME hook SheetContent uses, so the label below always
88
- // reports the presentation the panel will actually render — resize the frame to 390 to see it flip.
89
- const [detailOpen, setDetailOpen] = useState(false);
90
- const presentation = useSheetResponsiveMode("auto");
91
-
92
- // Card 5 · SheetHeader tone band. One panel, re-opened per branch, so only one overlay is ever
93
- // mounted and the focus trap stays honest.
94
- const [toneOpen, setToneOpen] = useState(false);
95
- const [headerTone, setHeaderTone] = useState<(typeof headerTones)[number]>("default");
96
-
97
- // Card 6 · non-modal sheet: the order lines behind it stay editable while it is open.
98
- const [summaryOpen, setSummaryOpen] = useState(false);
99
- const [lines, setLines] = useState(initialLines);
100
- const total = lines.reduce((sum, line) => sum + line.unitPrice * line.quantity, 0);
101
- const changeQuantity = (id: string, delta: number) => {
102
- setLines((current) =>
103
- current.map((line) =>
104
- line.id === id ? { ...line, quantity: Math.max(0, line.quantity + delta) } : line,
105
- ),
106
- );
107
- };
108
-
109
- return (
110
- <PageContainer
111
- title="Sheet"
112
- subtitle="side-panel drawer · filters, quick-edit, detail peek (NOT a Dialog replacement)"
113
- >
114
- <Flex direction="col" gap="lg">
115
- <Card>
116
- <CardHeader>
117
- <CardTitle level={2}>Advanced filter (pre-opened, side=right)</CardTitle>
118
- <CardDescription>
119
- The defining footer pattern: actions are end-aligned, the primary 適用 is last, and
120
- the clear/reset action クリア moves to the leading edge via
121
- className=&quot;me-auto&quot;. The footer is pinned to the bottom with a full-bleed
122
- top border; the body scrolls between a fixed header and footer (header inset == footer
123
- inset). Fields are real FormField + Select + Input.
124
- </CardDescription>
125
- </CardHeader>
126
- <CardContent>
127
- <Sheet open={filterOpen} onOpenChange={setFilterOpen}>
128
- <SheetTrigger asChild>
129
- {/* data-axe-open: check:frame-axe presses this before its overlay scan. */}
130
- <Button data-axe-open variant="outline" size="sm">
131
- <SlidersHorizontal />
132
- 詳細検索
133
- </Button>
134
- </SheetTrigger>
135
- <SheetContent side="right" width={420}>
136
- <SheetHeader
137
- tone="info"
138
- title="詳細検索"
139
- subtitle="条件を組み合わせて仕訳を絞り込みます。"
140
- extra={<Badge tone="info">3 条件</Badge>}
141
- />
142
- <SheetBody>
143
- <Form>
144
- <Flex direction="col" gap="md">
145
- <FormField id="filter-account" label="勘定科目">
146
- <Select aria-label="勘定科目" value={account} onValueChange={setAccount}>
147
- <SelectTrigger id="filter-account">
148
- <SelectValue placeholder="すべての勘定科目" />
149
- </SelectTrigger>
150
- <SelectContent>
151
- <SelectItem value="all">すべての勘定科目</SelectItem>
152
- <SelectItem value="cash">現金</SelectItem>
153
- <SelectItem value="sales">売上高</SelectItem>
154
- <SelectItem value="expense">旅費交通費</SelectItem>
155
- </SelectContent>
156
- </Select>
157
- </FormField>
158
- <FormField id="filter-status" label="ステータス">
159
- <Select aria-label="ステータス" value={status} onValueChange={setStatus}>
160
- <SelectTrigger id="filter-status">
161
- <SelectValue placeholder="すべてのステータス" />
162
- </SelectTrigger>
163
- <SelectContent>
164
- <SelectItem value="all">すべてのステータス</SelectItem>
165
- <SelectItem value="draft">下書き</SelectItem>
166
- <SelectItem value="approved">承認済み</SelectItem>
167
- </SelectContent>
168
- </Select>
169
- </FormField>
170
- <FormField id="filter-source" label="ソース">
171
- <Select aria-label="ソース" value={source} onValueChange={setSource}>
172
- <SelectTrigger id="filter-source">
173
- <SelectValue placeholder="すべてのソース" />
174
- </SelectTrigger>
175
- <SelectContent>
176
- <SelectItem value="all">すべてのソース</SelectItem>
177
- <SelectItem value="manual">手入力</SelectItem>
178
- <SelectItem value="import">インポート</SelectItem>
179
- </SelectContent>
180
- </Select>
181
- </FormField>
182
- <FormField id="filter-amount-min" label="金額">
183
- <Flex direction="row" gap="sm" align="center">
184
- <Input
185
- id="filter-amount-min"
186
- className="min-w-0 flex-1"
187
- inputMode="numeric"
188
- placeholder="最小"
189
- value={minAmount}
190
- onChange={(e) => setMinAmount(e.target.value)}
191
- />
192
- <Text tone="muted" aria-hidden="true">
193
- –
194
- </Text>
195
- <Input
196
- id="filter-amount-max"
197
- aria-label="最大金額"
198
- className="min-w-0 flex-1"
199
- inputMode="numeric"
200
- placeholder="最大"
201
- value={maxAmount}
202
- onChange={(e) => setMaxAmount(e.target.value)}
203
- />
204
- </Flex>
205
- </FormField>
206
- </Flex>
207
- </Form>
208
- </SheetBody>
209
- <SheetFooter>
210
- <Button
211
- variant="outline"
212
- className="me-auto"
213
- onClick={() => {
214
- setAccount("all");
215
- setStatus("all");
216
- setSource("all");
217
- setMinAmount("");
218
- setMaxAmount("");
219
- }}
220
- >
221
- クリア
222
- </Button>
223
- <Button onClick={() => setFilterOpen(false)}>適用</Button>
224
- </SheetFooter>
225
- </SheetContent>
226
- </Sheet>
227
- </CardContent>
228
- </Card>
229
-
230
- <Card>
231
- <CardHeader>
232
- <CardTitle level={2}>Quick-edit form (Cancel + Save, right-aligned)</CardTitle>
233
- <CardDescription>
234
- No destructive action, so both buttons sit on the right: キャンセル (secondary) to the
235
- left of 保存 (primary). Close programmatically on submit success.
236
- </CardDescription>
237
- </CardHeader>
238
- <CardContent>
239
- <Sheet open={editOpen} onOpenChange={setEditOpen}>
240
- <SheetTrigger asChild>
241
- <Button variant="ghost" size="sm">
242
- 取引先を編集
243
- </Button>
244
- </SheetTrigger>
245
- <SheetContent side="right">
246
- <SheetHeader>
247
- <SheetTitle>取引先編集 · 株式会社サンプル</SheetTitle>
248
- <SheetDescription>取引先の基本情報を編集します。</SheetDescription>
249
- </SheetHeader>
250
- <SheetBody>
251
- <Form>
252
- <Flex direction="col" gap="md">
253
- <FormField id="edit-company" label="会社名" required>
254
- <Input
255
- id="edit-company"
256
- value={companyName}
257
- onChange={(e) => setCompanyName(e.target.value)}
258
- />
259
- </FormField>
260
- <FormField id="edit-registration" label="登録番号" helper="T + 13桁">
261
- <Input
262
- id="edit-registration"
263
- value={registration}
264
- onChange={(e) => setRegistration(e.target.value)}
265
- />
266
- </FormField>
267
- </Flex>
268
- </Form>
269
- </SheetBody>
270
- <SheetFooter>
271
- <Button variant="outline" onClick={() => setEditOpen(false)}>
272
- キャンセル
273
- </Button>
274
- <Button onClick={() => setEditOpen(false)}>保存</Button>
275
- </SheetFooter>
276
- </SheetContent>
277
- </Sheet>
278
- </CardContent>
279
- </Card>
280
-
281
- <Card>
282
- <CardHeader>
283
- <CardTitle level={2}>Edit with destructive action (削除 far-left)</CardTitle>
284
- <CardDescription>
285
- A destructive / clear / reset action goes to the leading edge via
286
- className=&quot;me-auto&quot; with variant=&quot;destructive&quot;, while キャンセル +
287
- 保存 stay grouped at the end. This is the same me-auto slot the filter&apos;s クリア
288
- uses.
289
- </CardDescription>
290
- </CardHeader>
291
- <CardContent>
292
- <Sheet open={recordOpen} onOpenChange={setRecordOpen}>
293
- <SheetTrigger asChild>
294
- <Button variant="ghost" size="sm">
295
- 仕訳を編集
296
- </Button>
297
- </SheetTrigger>
298
- <SheetContent side="right">
299
- <SheetHeader>
300
- <SheetTitle>仕訳編集 · #2024-0412</SheetTitle>
301
- <SheetDescription>摘要を編集します。削除は元に戻せません。</SheetDescription>
302
- </SheetHeader>
303
- <SheetBody>
304
- <Flex direction="col" gap="md">
305
- <FormField id="record-memo" label="摘要">
306
- <Input
307
- id="record-memo"
308
- value={memo}
309
- onChange={(e) => setMemo(e.target.value)}
310
- />
311
- </FormField>
312
- </Flex>
313
- </SheetBody>
314
- <SheetFooter>
315
- <Button
316
- variant="destructive"
317
- className="me-auto"
318
- onClick={() => setRecordOpen(false)}
319
- >
320
- 削除
321
- </Button>
322
- <Button variant="outline" onClick={() => setRecordOpen(false)}>
323
- キャンセル
324
- </Button>
325
- <Button onClick={() => setRecordOpen(false)}>保存</Button>
326
- </SheetFooter>
327
- </SheetContent>
328
- </Sheet>
329
- </CardContent>
330
- </Card>
331
-
332
- <Card>
333
- <CardHeader>
334
- <CardTitle level={2}>
335
- Responsive detail panel (responsive=&quot;auto&quot; · desktop side / mobile bottom)
336
- </CardTitle>
337
- <CardDescription>
338
- ONE Sheet covers both viewports: above{" "}
339
- <code>--sheet-responsive-breakpoint-width</code> (48rem / 768px) it is the desktop
340
- side panel, at or below it the mobile bottom sheet capped by{" "}
341
- <code>--sheet-bottom-max-height</code>. The breakpoint comes from a theme token. Never
342
- re-derive it with a page-local <code>useMediaQuery</code>. Focus trap, Escape and
343
- focus restoration are identical in both presentations because it is the same Radix
344
- Dialog.
345
- </CardDescription>
346
- </CardHeader>
347
- <CardContent>
348
- <Flex direction="col" gap="md">
349
- <Text size="sm" tone="muted" aria-live="polite">
350
- 現在の表示: {presentation === "bottom" ? "bottom sheet (mobile)" : "side panel"}
351
- </Text>
352
- <Sheet open={detailOpen} onOpenChange={setDetailOpen}>
353
- <SheetTrigger asChild>
354
- <Button variant="outline" size="sm">
355
- 請求書の詳細
356
- </Button>
357
- </SheetTrigger>
358
- <SheetContent responsive="auto" width={420}>
359
- <SheetHeader
360
- title="請求書 INV-1024"
361
- subtitle="2026-07-30 発行 · 株式会社サンプル"
362
- extra={<Badge tone="success">支払済み</Badge>}
363
- />
364
- <SheetBody>
365
- <Flex direction="col" gap="md">
366
- <Text size="sm">
367
- レコードのdetail surfaceはdesktopでは右side panel、mobileではbottom
368
- sheetとして表示されます。
369
- </Text>
370
- <Text size="sm" tone="muted">
371
- 幅は side panel のときだけ適用され、bottom sheet
372
- では全幅になります(widthはbottomでは無視されます)。
373
- </Text>
374
- </Flex>
375
- </SheetBody>
376
- <SheetFooter>
377
- <Button variant="outline" onClick={() => setDetailOpen(false)}>
378
- 閉じる
379
- </Button>
380
- </SheetFooter>
381
- </SheetContent>
382
- </Sheet>
383
- </Flex>
384
- </CardContent>
385
- </Card>
386
-
387
- <Card>
388
- <CardHeader>
389
- <CardTitle level={2}>SheetHeader tone band (every branch)</CardTitle>
390
- <CardDescription>
391
- SheetHeader carries the same header contract as DialogHeader: title, subtitle, an
392
- extra slot and tone. tone tints only the band and leaves the text at the foreground
393
- colour. default paints no band; muted and neutral share the same quiet band on
394
- purpose, so a caller can name intent without adding colour. Close the pre-opened
395
- filter panel above with Escape, then pick a branch.
396
- </CardDescription>
397
- </CardHeader>
398
- <CardContent>
399
- <Flex direction="col" gap="md">
400
- <Flex direction="row" gap="sm" wrap>
401
- {headerTones.map((tone) => (
402
- <Button
403
- key={tone}
404
- variant="outline"
405
- size="sm"
406
- onClick={() => {
407
- setHeaderTone(tone);
408
- setToneOpen(true);
409
- }}
410
- >
411
- {tone}
412
- </Button>
413
- ))}
414
- </Flex>
415
- <Sheet open={toneOpen} onOpenChange={setToneOpen}>
416
- <SheetContent side="right" width={420}>
417
- <SheetHeader
418
- tone={headerTone}
419
- title="承認ステータス"
420
- subtitle={`見出し帯は tone="${headerTone}" で描画しています。`}
421
- extra={<Badge tone={headerTone}>{headerTone}</Badge>}
422
- />
423
- <SheetBody>
424
- <Flex direction="col" gap="md">
425
- <Text size="sm">
426
- 帯の色だけが tone
427
- に追従し、見出しと本文の文字色は変わりません。帯は本文と同じ左右インセットで全幅に広がります。
428
- </Text>
429
- <Text size="sm" tone="muted">
430
- extra スロットは帯の右端に固定され、閉じるボタンとは重なりません。
431
- </Text>
432
- </Flex>
433
- </SheetBody>
434
- <SheetFooter>
435
- <Button variant="outline" onClick={() => setToneOpen(false)}>
436
- 閉じる
437
- </Button>
438
- </SheetFooter>
439
- </SheetContent>
440
- </Sheet>
441
- </Flex>
442
- </CardContent>
443
- </Card>
444
-
445
- <Card>
446
- <CardHeader>
447
- <CardTitle level={2}>Non-modal sheet: the list behind stays editable</CardTitle>
448
- <CardDescription>
449
- modal=&#123;false&#125; on Sheet renders a non-modal panel, a pattern WAI-ARIA APG
450
- allows. The page behind keeps working: no scrim, no scroll lock, nothing hidden from
451
- assistive tech, and a press outside does not close the panel. Open the order summary
452
- (side=&quot;left&quot;, so the quantity controls stay uncovered), then change a
453
- quantity below. The total inside the panel follows. Focus moves into the panel on
454
- open, Tab can leave it, Escape closes it while focus is inside, and focus returns to
455
- the trigger.
456
- </CardDescription>
457
- </CardHeader>
458
- <CardContent>
459
- <Flex direction="col" gap="md">
460
- {lines.map((line) => (
461
- <Flex key={line.id} direction="row" align="center" justify="between" gap="sm">
462
- <Text>{line.name}</Text>
463
- <Flex direction="row" align="center" gap="sm">
464
- <Button
465
- variant="outline"
466
- size="sm"
467
- aria-label={`${line.name}を減らす`}
468
- disabled={line.quantity === 0}
469
- onClick={() => changeQuantity(line.id, -1)}
470
- >
471
- −
472
- </Button>
473
- <Text aria-live="polite">{line.quantity}</Text>
474
- <Button
475
- variant="outline"
476
- size="sm"
477
- aria-label={`${line.name}を増やす`}
478
- onClick={() => changeQuantity(line.id, 1)}
479
- >
480
- +
481
- </Button>
482
- </Flex>
483
- </Flex>
484
- ))}
485
- <Sheet modal={false} open={summaryOpen} onOpenChange={setSummaryOpen}>
486
- <SheetTrigger asChild>
487
- <Button variant="outline" size="sm">
488
- 注文サマリー
489
- </Button>
490
- </SheetTrigger>
491
- <SheetContent side="left" width={360}>
492
- <SheetHeader title="注文サマリー" subtitle="明細は背面で編集を続けられます。" />
493
- <SheetBody>
494
- <Flex direction="row" justify="between">
495
- <Text tone="muted">合計</Text>
496
- <Text>{yen.format(total)}</Text>
497
- </Flex>
498
- </SheetBody>
499
- <SheetFooter>
500
- <Button onClick={() => setSummaryOpen(false)}>完了</Button>
501
- </SheetFooter>
502
- </SheetContent>
503
- </Sheet>
504
- </Flex>
505
- </CardContent>
506
- </Card>
507
- </Flex>
508
- </PageContainer>
509
- );
510
- }
@@ -1,168 +0,0 @@
1
- import {
2
- Skeleton,
3
- SkeletonArticle,
4
- SkeletonAvatar,
5
- SkeletonButton,
6
- SkeletonDetail,
7
- SkeletonImage,
8
- SkeletonInput,
9
- SkeletonNode,
10
- SkeletonRows,
11
- SkeletonStat,
12
- SkeletonTable,
13
- } from "@godxjp/ui/feedback";
14
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@godxjp/ui/data-display";
15
- import { Flex, PageContainer, ResponsiveGrid } from "@godxjp/ui/layout";
16
-
17
- /**
18
- * Skeleton · loading placeholders. Three levels:
19
- * Skeleton · custom pulsing block (h + w via className).
20
- * SkeletonTable · pre-mount DataTable placeholder (rows, columns props).
21
- * SkeletonStat · StatCard/KPI tile placeholder (no props; use in ResponsiveGrid).
22
- * SkeletonDetail · single-record detail placeholder (title + metadata rows, no props).
23
- * SkeletonArticle · avatar + heading + paragraph (Ant Design's own Skeleton shape).
24
- * SkeletonAvatar/Button/Input/Node/Image · the shaped presets, also on the Skeleton namespace.
25
- * Never use a spinner overlay on skeletonable content.
26
- */
27
- export default function Demo() {
28
- return (
29
- <PageContainer
30
- title="Skeleton"
31
- subtitle="loading placeholders · Skeleton (custom block) · SkeletonTable (DataTable pre-mount) · SkeletonStat (KPI tile) · SkeletonDetail (record page)"
32
- >
33
- <Flex direction="col" gap="lg">
34
- <Card>
35
- <CardHeader>
36
- <CardTitle level={2}>Skeleton · custom pulsing blocks</CardTitle>
37
- <CardDescription>
38
- Base primitive. Pass className for h + w. Use when SkeletonTable / SkeletonStat do not
39
- match the target layout (e.g. a single loading line, a media placeholder, inline
40
- metadata).
41
- </CardDescription>
42
- </CardHeader>
43
- <CardContent>
44
- <Flex direction="col" gap="sm">
45
- <Skeleton className="h-5 w-48" />
46
- <Skeleton className="h-4 w-72" />
47
- <Skeleton className="h-4 w-60" />
48
- <Flex direction="row" gap="sm" align="center">
49
- <Skeleton className="size-10 rounded-full" />
50
- <Flex direction="col" gap="xs">
51
- <Skeleton className="h-4 w-32" />
52
- <Skeleton className="h-3 w-24" />
53
- </Flex>
54
- </Flex>
55
- </Flex>
56
- </CardContent>
57
- </Card>
58
-
59
- <Card>
60
- <CardHeader>
61
- <CardTitle level={2}>SkeletonArticle · avatar + heading + paragraph</CardTitle>
62
- <CardDescription>
63
- Ant Design's own Skeleton shape. Defaults follow it exactly: no avatar, a 38% heading
64
- and three body lines; with an avatar the heading drops to 50% and the body to two
65
- lines. `active` swaps the resting pulse for the travelling sheen · `round` pills every
66
- line · `loading={false}` renders children instead.
67
- </CardDescription>
68
- </CardHeader>
69
- <CardContent>
70
- <Flex direction="col" gap="lg">
71
- <SkeletonArticle />
72
- <SkeletonArticle avatar />
73
- <SkeletonArticle avatar active round paragraph={{ rows: 4, width: ["90%", "80%"] }} />
74
- <SkeletonArticle avatar paragraph={false} title={{ width: "14rem" }} />
75
- </Flex>
76
- </CardContent>
77
- </Card>
78
-
79
- <Card>
80
- <CardHeader>
81
- <CardTitle level={2}>Shaped presets · the boxes the controls occupy</CardTitle>
82
- <CardDescription>
83
- Each preset carries the box of the control it stands in for, from the --control-height
84
- tier · SkeletonButton is two heights wide, SkeletonInput five. Reachable as named
85
- exports or through the Skeleton namespace (Skeleton.Button…).
86
- </CardDescription>
87
- </CardHeader>
88
- <CardContent>
89
- <Flex direction="col" gap="md">
90
- <Flex direction="row" gap="sm" align="center" wrap>
91
- <SkeletonAvatar size="sm" />
92
- <SkeletonAvatar />
93
- <SkeletonAvatar size="lg" shape="square" />
94
- <SkeletonButton size="sm" />
95
- <SkeletonButton />
96
- <SkeletonButton size="lg" shape="pill" active />
97
- <SkeletonInput size="sm" />
98
- </Flex>
99
- <SkeletonInput block />
100
- <Flex direction="row" gap="sm" align="center" wrap>
101
- <SkeletonNode />
102
- <SkeletonImage active />
103
- </Flex>
104
- </Flex>
105
- </CardContent>
106
- </Card>
107
-
108
- <Card>
109
- <CardHeader>
110
- <CardTitle>SkeletonRows · generic repeated rows</CardTitle>
111
- <CardDescription>
112
- Use for non-table list layouts with deterministic row count.
113
- </CardDescription>
114
- </CardHeader>
115
- <CardContent>
116
- <SkeletonRows rows={3} columns={2} />
117
- </CardContent>
118
- </Card>
119
-
120
- <Card>
121
- <CardHeader>
122
- <CardTitle level={2}>SkeletonTable · DataTable pre-mount placeholder</CardTitle>
123
- <CardDescription>
124
- Drop-in while deferred prop / query resolves. Match rows to page size and columns to
125
- column count so the layout does not jump on hydration. Do NOT wrap in Card · it owns
126
- its own structure.
127
- </CardDescription>
128
- </CardHeader>
129
- <CardContent flush>
130
- <SkeletonTable rows={6} columns={6} />
131
- </CardContent>
132
- </Card>
133
-
134
- <Card>
135
- <CardHeader>
136
- <CardTitle level={2}>SkeletonStat · KPI / StatCard tile placeholder</CardTitle>
137
- <CardDescription>
138
- Use inside a ResponsiveGrid · one SkeletonStat per expected StatCard. No props. Do NOT
139
- wrap in an extra Card (SkeletonStat owns its own bordered box).
140
- </CardDescription>
141
- </CardHeader>
142
- <CardContent>
143
- <ResponsiveGrid columns={4}>
144
- <SkeletonStat />
145
- <SkeletonStat />
146
- <SkeletonStat />
147
- <SkeletonStat />
148
- </ResponsiveGrid>
149
- </CardContent>
150
- </Card>
151
-
152
- <Card>
153
- <CardHeader>
154
- <CardTitle level={2}>SkeletonDetail · single-record detail loading state</CardTitle>
155
- <CardDescription>
156
- The ready-made detail placeholder (title + metadata rows). Reach for this on a record
157
- / show page while the record loads · do NOT hand-compose it from base Skeleton blocks.
158
- No props.
159
- </CardDescription>
160
- </CardHeader>
161
- <CardContent>
162
- <SkeletonDetail />
163
- </CardContent>
164
- </Card>
165
- </Flex>
166
- </PageContainer>
167
- );
168
- }