@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,444 +0,0 @@
1
- import {
2
- Badge,
3
- Card,
4
- CardContent,
5
- CardDescription,
6
- CardHeader,
7
- CardTitle,
8
- ListRow,
9
- } from "@godxjp/ui/data-display";
10
- import { Button, Text } from "@godxjp/ui/general";
11
- import { useTranslation } from "@godxjp/ui/i18n";
12
- import { Flex, PageContainer } from "@godxjp/ui/layout";
13
-
14
- /**
15
- * Flex · canonical flex primitive (replaced Stack/Inline as named shortcuts).
16
- * The default direction is "row" — matching the CSS `display:flex` initial value.
17
- * Use direction="col" for vertical stacks (formerly Stack); direction="row" is the
18
- * default for horizontal groups (formerly Inline). Keep spacing in gap prop · same
19
- * token scale as Stack/Inline. align + justify expose cross-axis and main-axis control.
20
- * wrap allows chip clusters and action rows to reflow. Composed only from real
21
- * @godxjp/ui components.
22
- */
23
- export default function Demo() {
24
- const { t } = useTranslation();
25
- return (
26
- <PageContainer
27
- title="Flex"
28
- subtitle="方向・整列・間隔・折り返し · Stack/Inline を置き換えた汎用フレックスプリミティブ"
29
- >
30
- <Flex direction="col" gap="lg">
31
- <Card>
32
- <CardHeader>
33
- <CardTitle level={2}>既定 direction=&quot;row&quot; · CSS 標準</CardTitle>
34
- <CardDescription>
35
- direction を省略すると row(CSS の display:flex の初期値)。横並びが既定で、
36
- 縦積みには direction=&quot;col&quot; を明示する。
37
- </CardDescription>
38
- </CardHeader>
39
- <CardContent>
40
- <Flex gap="sm" align="center">
41
- <Badge variant="outline">借方</Badge>
42
- <Badge variant="outline">貸方</Badge>
43
- <Badge variant="outline">残高</Badge>
44
- </Flex>
45
- </CardContent>
46
- </Card>
47
-
48
- <Card>
49
- <CardHeader>
50
- <CardTitle level={2}>direction=&quot;col&quot; · 縦スタック</CardTitle>
51
- <CardDescription>
52
- 縦積みは direction=&quot;col&quot; を明示する。gap
53
- トークンで間隔を均一に制御。className で raw gap-* を使わない。
54
- </CardDescription>
55
- </CardHeader>
56
- <CardContent>
57
- <Flex direction="col" gap="sm">
58
- <Card>
59
- <CardContent>
60
- <Text tone="muted">行 1 · 仕訳入力</Text>
61
- </CardContent>
62
- </Card>
63
- <Card>
64
- <CardContent>
65
- <Text tone="muted">行 2 · 補助元帳</Text>
66
- </CardContent>
67
- </Card>
68
- <Card>
69
- <CardContent>
70
- <Text tone="muted">行 3 · 試算表</Text>
71
- </CardContent>
72
- </Card>
73
- </Flex>
74
- </CardContent>
75
- </Card>
76
-
77
- <Card>
78
- <CardHeader>
79
- <CardTitle level={2}>
80
- direction=&quot;row&quot; + justify=&quot;between&quot; · ツールバー
81
- </CardTitle>
82
- <CardDescription>
83
- カードヘッダー内でタイトルとアクションを左右に配置する典型パターン。
84
- </CardDescription>
85
- </CardHeader>
86
- <CardContent>
87
- <Flex direction="row" gap="sm" align="center" justify="between">
88
- <Text weight="medium">請求書一覧</Text>
89
- <Flex direction="row" gap="xs" align="center">
90
- <Button variant="outline" size="sm">
91
- エクスポート
92
- </Button>
93
- <Button size="sm">新規作成</Button>
94
- </Flex>
95
- </Flex>
96
- </CardContent>
97
- </Card>
98
-
99
- <Card>
100
- <CardHeader>
101
- <CardTitle level={2}>
102
- align=&quot;center&quot; + justify=&quot;center&quot; · センタリング
103
- </CardTitle>
104
- <CardDescription>
105
- 空状態やローディングブロックを両軸で中央揃えにする用途。
106
- </CardDescription>
107
- </CardHeader>
108
- <CardContent>
109
- <Flex direction="col" align="center" justify="center" gap="sm" className="min-h-32">
110
- <Text tone="muted">データがありません</Text>
111
- <Button variant="outline" size="sm">
112
- インポート
113
- </Button>
114
- </Flex>
115
- </CardContent>
116
- </Card>
117
-
118
- <Card>
119
- <CardHeader>
120
- <CardTitle level={2}>align · 交差軸の整列(全 5 値)</CardTitle>
121
- <CardDescription>
122
- direction=&quot;row&quot; の交差軸(縦方向)の揃え方。高さの異なる子要素で
123
- start・center・end・baseline・stretch の違いを比較。baseline はテキストの
124
- ベースライン、stretch は子要素を行の高さまで引き伸ばす。
125
- </CardDescription>
126
- </CardHeader>
127
- <CardContent>
128
- <Flex direction="col" gap="md">
129
- {(["start", "center", "end", "stretch", "baseline"] as const).map((a) => (
130
- <Flex
131
- key={a}
132
- direction="row"
133
- gap="sm"
134
- align={a}
135
- className="bg-muted min-h-20 rounded-md"
136
- style={{ padding: "var(--space-2)" }}
137
- >
138
- <Text size="xs" tone="muted" className="w-16">
139
- {a}
140
- </Text>
141
- <Badge variant="outline">短</Badge>
142
- <Text>標準テキスト</Text>
143
- <Text size="2xl" weight="bold">
144
- 大
145
- </Text>
146
- </Flex>
147
- ))}
148
- </Flex>
149
- </CardContent>
150
- </Card>
151
-
152
- <Card>
153
- <CardHeader>
154
- <CardTitle level={2}>justify · 主軸の配置(全 6 値)</CardTitle>
155
- <CardDescription>
156
- direction=&quot;row&quot; の主軸(横方向)の配置。固定幅トラックで余白の
157
- 分配を比較。between は端寄せ、around は各要素の周囲、evenly は要素間と端を
158
- すべて均等にする。
159
- </CardDescription>
160
- </CardHeader>
161
- <CardContent>
162
- <Flex direction="col" gap="md">
163
- {(["start", "center", "end", "between", "around", "evenly"] as const).map((j) => (
164
- <Flex key={j} direction="row" gap="sm" align="center">
165
- <Text size="xs" tone="muted" className="w-16">
166
- {j}
167
- </Text>
168
- <Flex
169
- direction="row"
170
- gap="xs"
171
- align="center"
172
- justify={j}
173
- className="bg-muted flex-1 rounded-md"
174
- style={{ padding: "var(--space-2)" }}
175
- >
176
- <Badge variant="outline">借方</Badge>
177
- <Badge variant="outline">貸方</Badge>
178
- <Badge variant="outline">残高</Badge>
179
- </Flex>
180
- </Flex>
181
- ))}
182
- </Flex>
183
- </CardContent>
184
- </Card>
185
-
186
- <Card>
187
- <CardHeader>
188
- <CardTitle level={2}>wrap · 折り返しの有無を比較</CardTitle>
189
- <CardDescription>
190
- wrap=&#123;true&#125;(既定の false に対して)。狭いトラックで折り返しの有無を
191
- 並べて比較。false では子要素が一行に圧縮され、true では次行へ流れる。
192
- </CardDescription>
193
- </CardHeader>
194
- <CardContent>
195
- <Flex direction="row" gap="md" align="start" wrap>
196
- <Flex direction="col" gap="xs" className="w-44">
197
- <Text size="xs" tone="muted">
198
- wrap=&#123;false&#125;(既定)
199
- </Text>
200
- {/* ui-audit-disable-next-line no-utility-spacing — a tinted tile so the gap between children is visible; the box IS the subject */}
201
- <Flex direction="row" gap="xs" wrap={false} className="bg-muted rounded-md p-2">
202
- <Badge variant="outline">勘定科目</Badge>
203
- <Badge variant="outline">補助科目</Badge>
204
- <Badge variant="outline">部門</Badge>
205
- </Flex>
206
- </Flex>
207
- <Flex direction="col" gap="xs" className="w-44">
208
- <Text size="xs" tone="muted">
209
- wrap=&#123;true&#125;
210
- </Text>
211
- {/* ui-audit-disable-next-line no-utility-spacing — a tinted tile so the gap between children is visible; the box IS the subject */}
212
- <Flex direction="row" gap="xs" wrap className="bg-muted rounded-md p-2">
213
- <Badge variant="outline">勘定科目</Badge>
214
- <Badge variant="outline">補助科目</Badge>
215
- <Badge variant="outline">部門</Badge>
216
- </Flex>
217
- </Flex>
218
- </Flex>
219
- </CardContent>
220
- </Card>
221
-
222
- <Card>
223
- <CardHeader>
224
- <CardTitle level={2}>wrap · バッジ・チップクラスター</CardTitle>
225
- <CardDescription>
226
- direction=&quot;row&quot; + wrap=&#123;true&#125; でタグ・ステータスバッジが折り返す。
227
- gap トークンで均一スペーシング。
228
- </CardDescription>
229
- </CardHeader>
230
- <CardContent>
231
- <Flex direction="row" wrap gap="xs" align="center">
232
- <Badge tone="success">承認済</Badge>
233
- <Badge tone="warning">保留中</Badge>
234
- <Badge tone="info">確認待ち</Badge>
235
- <Badge tone="destructive">却下</Badge>
236
- <Badge variant="secondary">下書き</Badge>
237
- <Badge variant="outline">アーカイブ</Badge>
238
- <Badge>既定</Badge>
239
- <Badge tone="neutral">中立</Badge>
240
- </Flex>
241
- </CardContent>
242
- </Card>
243
-
244
- <Card>
245
- <CardHeader>
246
- <CardTitle level={2}>gap トークンスケール</CardTitle>
247
- <CardDescription>
248
- xs · sm · md(既定)· lg · xl。raw gap-* / space-* ユーティリティは使わない。
249
- </CardDescription>
250
- </CardHeader>
251
- <CardContent>
252
- <Flex direction="col" gap="md">
253
- {(["xs", "sm", "md", "lg", "xl"] as const).map((g) => (
254
- <Flex key={g} direction="row" gap={g} align="center">
255
- <Text size="xs" tone="muted" className="w-6">
256
- {g}
257
- </Text>
258
- <Badge variant="outline">勘定科目</Badge>
259
- <Badge variant="outline">補助科目</Badge>
260
- <Badge variant="outline">部門</Badge>
261
- </Flex>
262
- ))}
263
- </Flex>
264
- </CardContent>
265
- </Card>
266
-
267
- <Card>
268
- <CardHeader>
269
- <CardTitle level={2}>レスポンシブな操作行</CardTitle>
270
- </CardHeader>
271
- <CardContent>
272
- <Flex
273
- id="responsive-actions"
274
- direction={{ base: "col", lg: "row" }}
275
- gap="md"
276
- align="start"
277
- >
278
- <Flex fill>
279
- <Text>画面幅に合わせて操作をまとめます。</Text>
280
- </Flex>
281
- <Button>保存</Button>
282
- <Button variant="outline">キャンセル</Button>
283
- </Flex>
284
- </CardContent>
285
- </Card>
286
- <Card>
287
- <CardHeader>
288
- <CardTitle level={2}>刻みにない幅で折りたたむ</CardTitle>
289
- <CardDescription>
290
- hideBelow の 4 段(40/48/64/80rem)に無い幅は hideBelowRaw / hideFromRaw
291
- で指定します。900px ちょうどでは「広い側」だけが残り、両方消える隙間はありません。
292
- </CardDescription>
293
- </CardHeader>
294
- <CardContent>
295
- <Flex align="center" gap="sm">
296
- <Flex id="raw-wide-nav" hideBelowRaw={900} align="center" gap="sm">
297
- <Button variant="ghost" size="sm">
298
- 機能
299
- </Button>
300
- <Button variant="ghost" size="sm">
301
- 料金
302
- </Button>
303
- <Button variant="ghost" size="sm">
304
- 導入事例
305
- </Button>
306
- </Flex>
307
- <Flex id="raw-narrow-nav" hideFromRaw={900} align="center" gap="sm">
308
- <Button variant="outline" size="sm">
309
- メニュー
310
- </Button>
311
- </Flex>
312
- </Flex>
313
- </CardContent>
314
- </Card>
315
- <Card>
316
- <CardHeader>
317
- <CardTitle level={2}>marker=&quot;none&quot; · 装飾のない意味的リスト</CardTitle>
318
- <CardDescription>
319
- as=&quot;ul&quot; は既定で中黒と字下げが付きます。設定メニューのような「行の一覧」では
320
- marker=&quot;none&quot; を指定すると、ul と li の意味づけと gap トークンは残したまま、
321
- 中黒も字下げも消えます。行は ListRow as=&quot;li&quot;
322
- で、区切り線は行が自分で描きます。
323
- </CardDescription>
324
- </CardHeader>
325
- <CardContent flush>
326
- <Flex id="semantic-list" as="ul" marker="none" direction="col" gap="none">
327
- <ListRow
328
- as="li"
329
- title="二要素認証"
330
- description="認証アプリ · 有効"
331
- trailing={
332
- <Button size="xs" variant="outline">
333
- 管理
334
- </Button>
335
- }
336
- />
337
- <ListRow
338
- as="li"
339
- title="パスキー"
340
- description="2 件登録済み"
341
- trailing={
342
- <Button size="xs" variant="outline">
343
- 管理
344
- </Button>
345
- }
346
- />
347
- <ListRow
348
- as="li"
349
- title="回復コード"
350
- description="未発行"
351
- trailing={
352
- <Button size="xs" variant="outline">
353
- 発行
354
- </Button>
355
- }
356
- />
357
- </Flex>
358
- </CardContent>
359
- <CardContent>
360
- <Flex id="semantic-list-gap" as="ul" marker="none" gap="sm" wrap>
361
- <Flex as="li">
362
- <Badge variant="outline">監査ログ</Badge>
363
- </Flex>
364
- <Flex as="li">
365
- <Badge variant="outline">IP 制限</Badge>
366
- </Flex>
367
- <Flex as="li">
368
- <Badge variant="outline">SSO</Badge>
369
- </Flex>
370
- </Flex>
371
- </CardContent>
372
- </Card>
373
- <Card>
374
- <CardHeader>
375
- <CardTitle level={2}>軽い強調と行アクション</CardTitle>
376
- </CardHeader>
377
- <CardContent>
378
- <Flex direction="col" gap="md">
379
- <Flex id="hover-notice" surface="warning" pad={3} tabIndex={0}>
380
- <Text>締切を確認してください。</Text>
381
- <Flex reveal="hover" surface="popover" gap="xs" pad={1}>
382
- <Button variant="ghost" size="sm">
383
- 編集
384
- </Button>
385
- <Button variant="ghost" size="sm">
386
- 解除
387
- </Button>
388
- </Flex>
389
- </Flex>
390
- <Flex as="ul" direction="col" gap="xs">
391
- <li>添付ファイルを確認</li>
392
- <li>担当者を選択</li>
393
- </Flex>
394
- <Flex surface="muted" pad={{ block: 2, inline: 3 }}>
395
- <Text as="code" chip decoration="line-through">
396
- old_status
397
- </Text>
398
- <Text>更新済み</Text>
399
- </Flex>
400
- </Flex>
401
- </CardContent>
402
- </Card>
403
-
404
- <Card>
405
- <CardHeader>
406
- <CardTitle level={2}>{t("showcase.flexMeasure.title")}</CardTitle>
407
- <CardDescription>{t("showcase.flexMeasure.lead")}</CardDescription>
408
- </CardHeader>
409
- <CardContent>
410
- <Flex direction="col" gap="sm">
411
- <Flex
412
- id="measure-narrow"
413
- measure="narrow"
414
- surface="muted"
415
- pad={{ block: 2, inline: 6 }}
416
- justify="center"
417
- >
418
- <Text tone="muted">measure=&quot;narrow&quot; · 42rem</Text>
419
- </Flex>
420
- <Flex
421
- id="measure-medium"
422
- measure="medium"
423
- surface="muted"
424
- pad={{ block: 2, inline: 6 }}
425
- justify="center"
426
- >
427
- <Text tone="muted">measure=&quot;medium&quot; · 48rem</Text>
428
- </Flex>
429
- <Flex
430
- id="measure-wide"
431
- measure="wide"
432
- surface="muted"
433
- pad={{ block: 2, inline: 6 }}
434
- justify="center"
435
- >
436
- <Text tone="muted">measure=&quot;wide&quot; · 72rem</Text>
437
- </Flex>
438
- </Flex>
439
- </CardContent>
440
- </Card>
441
- </Flex>
442
- </PageContainer>
443
- );
444
- }
@@ -1,110 +0,0 @@
1
- /**
2
- * Legal copy fixtures for the LegalDocumentShell pages.
3
- *
4
- * DATA ONLY (a `.ts` module, never a `.tsx` "kit") — the pages compose the real
5
- * `@godxjp/ui` primitives themselves, so a consumer can copy any page verbatim.
6
- * All legal text is CONSUMER-owned; the shell only receives it through `sections`.
7
- */
8
-
9
- export type LegalSectionFixture = {
10
- id: string;
11
- title: string;
12
- paragraphs: string[];
13
- };
14
-
15
- /** Canonical JA terms-of-service document (SCR-005 shape). */
16
- export const TERMS_JA: LegalSectionFixture[] = [
17
- {
18
- id: "acceptance",
19
- title: "第1条(本規約への同意)",
20
- paragraphs: [
21
- "本規約は、GodX 株式会社(以下「当社」といいます)が提供する各種サービス(以下「本サービス」といいます)の利用条件を定めるものです。利用者は、本サービスを利用することにより、本規約のすべての条項に同意したものとみなされます。",
22
- "当社は、必要と判断した場合には、利用者に事前に通知することなく本規約を変更することがあります。変更後の本規約は、当社所定のウェブサイトに掲示された時点から効力を生じるものとします。",
23
- ],
24
- },
25
- {
26
- id: "accounts",
27
- title: "第2条(アカウントの管理)",
28
- paragraphs: [
29
- "利用者は、自己の責任において、本サービスのアカウント情報を適切に管理するものとします。利用者は、いかなる場合にも、アカウントを第三者に譲渡または貸与することはできません。",
30
- "アカウント情報が第三者によって使用されたことによって生じた損害について、当社に故意または重大な過失がある場合を除き、当社は一切の責任を負いません。",
31
- ],
32
- },
33
- {
34
- id: "prohibited",
35
- title: "第3条(禁止事項)",
36
- paragraphs: [
37
- "利用者は、本サービスの利用にあたり、法令または公序良俗に違反する行為、当社もしくは第三者の知的財産権を侵害する行為、本サービスの運営を妨害するおそれのある行為を行ってはなりません。",
38
- "当社は、利用者が前項に違反したと判断した場合、事前の通知なく、当該利用者に対して本サービスの全部または一部の利用を停止することができます。",
39
- ],
40
- },
41
- {
42
- id: "data-retention",
43
- title: "第4条(データの保持期間)",
44
- paragraphs: [
45
- "当社は、会計関連法令および犯罪収益移転防止法に基づき、取引記録を取引終了日から7年間保持します。保持期間の経過後、当社は速やかに当該記録を削除または匿名化します。",
46
- "利用者は、いつでも自己の個人データの開示、訂正または削除を請求することができます。ただし、法令上の保持義務が優先する場合はこの限りではありません。",
47
- ],
48
- },
49
- {
50
- id: "third-party",
51
- title: "第5条(第三者サービスの利用)",
52
- paragraphs: [
53
- "本サービスは、決済、本人確認、通知配信などの目的で第三者のサービスを利用することがあります。当該第三者サービスの利用にあたっては、当該第三者が定める利用条件が別途適用されます。",
54
- ],
55
- },
56
- {
57
- id: "disclaimer",
58
- title: "第6条(免責事項)",
59
- paragraphs: [
60
- "当社は、本サービスに事実上または法律上の瑕疵がないことを明示的にも黙示的にも保証しておりません。当社は、本サービスに起因して利用者に生じたあらゆる損害について、当社の故意または重過失による場合を除き、一切の責任を負いません。",
61
- ],
62
- },
63
- {
64
- id: "governing-law",
65
- title: "第7条(準拠法および管轄裁判所)",
66
- paragraphs: [
67
- "本規約の解釈にあたっては、日本法を準拠法とします。本サービスに関して紛争が生じた場合には、東京地方裁判所を第一審の専属的合意管轄裁判所とします。",
68
- ],
69
- },
70
- {
71
- id: "contact",
72
- title: "第8条(お問い合わせ窓口)",
73
- paragraphs: [
74
- "本規約に関するお問い合わせは、当社所定のお問い合わせフォームまたは legal@example.com までご連絡ください。",
75
- ],
76
- },
77
- ];
78
-
79
- /**
80
- * Mixed-script wrapping fixture: the same document rendered with deliberately hostile
81
- * line-breaking material in JA (no spaces / kinsoku), EN (long compounds + a very long URL)
82
- * and VI (diacritic-heavy words that must never break mid-word).
83
- */
84
- export const WRAPPING_MIXED: LegalSectionFixture[] = [
85
- {
86
- id: "ja-kinsoku",
87
- title: "日本語の長文セクション(禁則処理・行分割の確認)",
88
- paragraphs: [
89
- "当社は、個人情報の保護に関する法律その他の関係法令等を遵守し、利用者の個人情報を適正に取り扱うとともに、個人情報の漏えい、滅失または毀損の防止その他の個人情報の安全管理のために必要かつ適切な措置を講じるものとします。",
90
- "「特定個人情報等」「要配慮個人情報」「仮名加工情報」「匿名加工情報」——これらの用語は、いずれも個人情報保護法に定義される意味を有し、句読点や括弧が行頭に来ないよう禁則処理が適用されます。",
91
- ],
92
- },
93
- {
94
- id: "en-long-compounds",
95
- title:
96
- "2. Cross-border data transfers, sub-processor notifications and telecommunications-infrastructure obligations",
97
- paragraphs: [
98
- "The Controller acknowledges that the Processor may engage sub-processors established outside the European Economic Area, provided that an adequacy decision, standard contractual clauses, or another transfer mechanism recognised under Chapter V of the General Data Protection Regulation is in place.",
99
- "The current sub-processor register is published at https://example.com/legal/sub-processors/register?revision=2026-04-01&format=machine-readable and is updated at least thirty calendar days before any addition takes effect.",
100
- ],
101
- },
102
- {
103
- id: "vi-dau-thanh",
104
- title: "3. Quyền riêng tư và nghĩa vụ bảo mật thông tin của người dùng",
105
- paragraphs: [
106
- "Chúng tôi chỉ thu thập những thông tin thực sự cần thiết để cung cấp dịch vụ, và tuyệt đối không chia sẻ dữ liệu cá nhân của bạn với bên thứ ba khi chưa nhận được sự đồng ý rõ ràng bằng văn bản.",
107
- "Người dùng có quyền yêu cầu truy cập, chỉnh sửa hoặc xoá dữ liệu cá nhân của mình bất cứ lúc nào, trừ trường hợp pháp luật hiện hành quy định nghĩa vụ lưu trữ bắt buộc đối với dữ liệu đó.",
108
- ],
109
- },
110
- ];
@@ -1,12 +0,0 @@
1
- ---
2
- title: Viewport 1440x900
3
- viewport: 1440x900
4
- ---
5
-
6
- Reference desktop geometry. The shell is wider than 56rem, so the contents render as a **sticky rail**
7
- on the start side — spanning the header, body and footer rows — beside a 46rem measure-capped
8
- document column.
9
-
10
- Scroll the frame: the active contents entry tracks the reading line (`aria-current="location"` + the
11
- leading marker + a heavier weight), and the rail stays pinned at
12
- `--legal-document-toc-inset-block-start`.
@@ -1,83 +0,0 @@
1
- import { useState } from "react";
2
- import { CenteredShell, Flex, LegalDocumentShell, Topbar } from "@godxjp/ui/layout";
3
- import { Button, Logo, Text } from "@godxjp/ui/general";
4
- import { AppSettingPicker } from "@godxjp/ui/navigation";
5
-
6
- import { TERMS_JA } from "../_data";
7
-
8
- /**
9
- * Viewport fixture — 1440×900 (desktop).
10
- *
11
- * Reference geometry: the shell is wider than 56rem, so the contents become a STICKY rail on the
12
- * start side, spanning the header / body / footer rows, beside a 46rem measure-capped column.
13
- * The rail stays in view for the whole scroll; the active entry tracks the reading line.
14
- */
15
- export default function Demo() {
16
- const [activeSection, setActiveSection] = useState("acceptance");
17
-
18
- return (
19
- <CenteredShell
20
- width="lg"
21
- topbar={
22
- <Topbar
23
- start={
24
- <Flex align="center" gap="sm">
25
- <Logo glyph="G" />
26
- <Text weight="medium">GodX ID</Text>
27
- </Flex>
28
- }
29
- end={<AppSettingPicker kind="locale" />}
30
- />
31
- }
32
- footer={
33
- <Text size="xs" tone="muted">
34
- 2026 GodX 株式会社
35
- </Text>
36
- }
37
- >
38
- <LegalDocumentShell
39
- title="利用規約"
40
- version="2.4"
41
- effectiveDate="2026-04-01"
42
- summary="本規約は、GodX ID および連携する各サービスの利用条件を定めるものです。ご利用の前に必ずお読みください。"
43
- contentsLabel="目次"
44
- activeSection={activeSection}
45
- onActiveSectionChange={setActiveSection}
46
- sections={TERMS_JA.map((section) => ({
47
- id: section.id,
48
- title: section.title,
49
- content: (
50
- <Flex direction="col" gap="sm">
51
- {section.paragraphs.map((paragraph) => (
52
- <Text as="p" key={paragraph}>
53
- {paragraph}
54
- </Text>
55
- ))}
56
- </Flex>
57
- ),
58
- }))}
59
- documentNavigation={
60
- <Flex direction="col" gap="xs" role="group" aria-label="法的文書">
61
- <Button variant="secondary" size="sm" fullWidth aria-current="page">
62
- 利用規約
63
- </Button>
64
- <Button variant="ghost" size="sm" fullWidth>
65
- プライバシーポリシー
66
- </Button>
67
- <Button variant="ghost" size="sm" fullWidth>
68
- Cookie ポリシー
69
- </Button>
70
- </Flex>
71
- }
72
- footerAction={
73
- <Flex gap="sm" wrap>
74
- <Button size="sm">同意する</Button>
75
- <Button size="sm" variant="outline">
76
- PDF をダウンロード
77
- </Button>
78
- </Flex>
79
- }
80
- />
81
- </CenteredShell>
82
- );
83
- }
@@ -1,22 +0,0 @@
1
- ---
2
- title: Viewport 390x844
3
- viewport: 390x844
4
- ---
5
-
6
- ## Documented mobile behaviour
7
-
8
- Below the **56rem** container threshold the shell collapses to one column and the DOM order is
9
- exactly the reading order:
10
-
11
- 1. document header (`h1` · version · `<time>` effective date · summary)
12
- 2. **contents** — a static compact block
13
- 3. the sections
14
- 4. `footerAction`
15
-
16
- The rail is **deliberately not sticky and not height-capped** at this size: pinning a 8-item contents
17
- list on a 390×844 screen costs more vertical space than it saves, and a height-capped inner scroller
18
- inside a page scroller is a known touch-scroll trap. The entries stay real anchors with the same
19
- `--legal-document-scroll-offset` and the same focus handoff, so tapping one jumps to — and focuses —
20
- the section.
21
-
22
- Nothing here is a media query: the same rules apply to a 56rem-narrow pane on a large screen.