@godxjp/ui 31.31.7 → 32.0.0
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.
- package/README.md +102 -121
- package/agent/START-HERE.md +10 -10
- package/agent/components/Accordion.json +2 -2
- package/agent/components/AccountChip.json +1 -1
- package/agent/components/Actions.json +1 -1
- package/agent/components/Activity.json +2 -2
- package/agent/components/Affix.json +1 -1
- package/agent/components/Alert.json +22 -6
- package/agent/components/AlertDialog.json +8 -1
- package/agent/components/Anchor.json +4 -3
- package/agent/components/AppLauncher.json +2 -2
- package/agent/components/AppProvider.json +19 -11
- package/agent/components/AppSettingPicker.json +18 -2
- package/agent/components/AppShell.json +4 -5
- package/agent/components/AreaChart.json +0 -1
- package/agent/components/AspectRatio.json +2 -2
- package/agent/components/Attachments.json +3 -3
- package/agent/components/AuthAccountSummary.json +1 -1
- package/agent/components/AuthDivider.json +1 -1
- package/agent/components/AuthExpiryProvider.json +0 -1
- package/agent/components/AuthFooter.json +2 -2
- package/agent/components/AuthIdentity.json +3 -3
- package/agent/components/AuthStack.json +1 -1
- package/agent/components/Avatar.json +2 -12
- package/agent/components/Badge.json +1 -1
- package/agent/components/BarChart.json +0 -1
- package/agent/components/BranchScopePicker.json +1 -1
- package/agent/components/Breadcrumb.json +1 -1
- package/agent/components/Button.json +3 -3
- package/agent/components/Calendar.json +1 -1
- package/agent/components/Card.json +2 -2
- package/agent/components/CardBar.json +0 -1
- package/agent/components/CardContent.json +0 -1
- package/agent/components/Carousel.json +4 -3
- package/agent/components/Cascader.json +1 -1
- package/agent/components/CenteredShell.json +78 -17
- package/agent/components/ChatBubble.json +3 -3
- package/agent/components/ChatBubbleList.json +3 -3
- package/agent/components/ChatComposer.json +3 -3
- package/agent/components/ChatSuggestion.json +3 -3
- package/agent/components/Checkbox.json +1 -1
- package/agent/components/CheckboxGroup.json +0 -1
- package/agent/components/CodeBlock.json +1 -1
- package/agent/components/Collapsible.json +4 -4
- package/agent/components/ColorPicker.json +1 -1
- package/agent/components/Command.json +5 -5
- package/agent/components/CommandPalette.json +1 -1
- package/agent/components/CompactBarTrend.json +1 -1
- package/agent/components/Conversations.json +3 -3
- package/agent/components/CredentialReveal.json +1 -1
- package/agent/components/DataState.json +2 -2
- package/agent/components/DataTable.json +1 -1
- package/agent/components/DatePicker.json +1 -1
- package/agent/components/Descriptions.json +1 -1
- package/agent/components/Dialog.json +2 -2
- package/agent/components/DraggablePanel.json +5 -4
- package/agent/components/DropdownMenu.json +1 -1
- package/agent/components/EmojiPicker.json +3 -2
- package/agent/components/EmptyState.json +1 -1
- package/agent/components/ErrorSurface.json +3 -3
- package/agent/components/FeatureList.json +1 -1
- package/agent/components/Field.json +0 -1
- package/agent/components/Flex.json +34 -4
- package/agent/components/FloatButton.json +6 -5
- package/agent/components/Form.json +1 -1
- package/agent/components/FormErrors.json +0 -1
- package/agent/components/FormField.json +6 -6
- package/agent/components/FormFieldArray.json +0 -1
- package/agent/components/FormFieldControl.json +0 -1
- package/agent/components/FormRoot.json +1 -1
- package/agent/components/Heading.json +3 -0
- package/agent/components/Icon.json +1 -1
- package/agent/components/Image.json +7 -4
- package/agent/components/InfiniteQueryState.json +1 -1
- package/agent/components/Input.json +1 -1
- package/agent/components/InputOTP.json +2 -2
- package/agent/components/Label.json +3 -3
- package/agent/components/LegalDocumentShell.json +5 -4
- package/agent/components/Legend.json +1 -1
- package/agent/components/LineChart.json +0 -1
- package/agent/components/Link.json +0 -1
- package/agent/components/ListRow.json +1 -1
- package/agent/components/Logo.json +5 -4
- package/agent/components/Marquee.json +4 -3
- package/agent/components/Masonry.json +4 -3
- package/agent/components/MasterDetail.json +1 -1
- package/agent/components/MegaMenu.json +4 -3
- package/agent/components/MobileShell.json +4 -4
- package/agent/components/NavList.json +1 -1
- package/agent/components/NumberInput.json +1 -1
- package/agent/components/OrgChart.json +4 -3
- package/agent/components/OrgSwitcher.json +1 -1
- package/agent/components/OverlayPortalProvider.json +0 -1
- package/agent/components/PageContainer.json +3 -3
- package/agent/components/PageCover.json +3 -2
- package/agent/components/Pagination.json +1 -1
- package/agent/components/PasswordInput.json +1 -1
- package/agent/components/PasswordStrength.json +1 -1
- package/agent/components/PermissionMatrix.json +1 -1
- package/agent/components/PieChart.json +0 -1
- package/agent/components/Popover.json +31 -6
- package/agent/components/PrefetchLink.json +1 -1
- package/agent/components/Progress.json +1 -1
- package/agent/components/Prose.json +1 -1
- package/agent/components/QrCode.json +1 -1
- package/agent/components/Radio.json +0 -1
- package/agent/components/RadioGroup.json +2 -2
- package/agent/components/RangeTimeline.json +2 -1
- package/agent/components/Rating.json +1 -1
- package/agent/components/RecordPicker.json +1 -1
- package/agent/components/ResizablePanel.json +1 -1
- package/agent/components/ResponsiveGrid.json +2 -2
- package/agent/components/Reveal.json +3 -3
- package/agent/components/ScrollArea.json +2 -2
- package/agent/components/SearchInput.json +1 -1
- package/agent/components/Segmented.json +1 -1
- package/agent/components/Select.json +7 -5
- package/agent/components/Separator.json +1 -1
- package/agent/components/ServiceCatalogCta.json +0 -1
- package/agent/components/ServiceLauncherCard.json +1 -1
- package/agent/components/ServiceRolePanel.json +1 -1
- package/agent/components/Sheet.json +5 -5
- package/agent/components/Sidebar.json +1 -1
- package/agent/components/Skeleton.json +26 -12
- package/agent/components/Slider.json +2 -2
- package/agent/components/SortableList.json +3 -2
- package/agent/components/SplitPane.json +1 -1
- package/agent/components/StatCard.json +1 -1
- package/agent/components/Steps.json +1 -1
- package/agent/components/Swatch.json +1 -1
- package/agent/components/Switch.json +1 -1
- package/agent/components/Table.json +1 -1
- package/agent/components/Tabs.json +3 -3
- package/agent/components/Text.json +5 -1
- package/agent/components/TextDiff.json +5 -4
- package/agent/components/Textarea.json +1 -1
- package/agent/components/ThemeScope.json +1 -1
- package/agent/components/ThoughtChain.json +3 -3
- package/agent/components/TimePicker.json +1 -1
- package/agent/components/Timeline.json +1 -1
- package/agent/components/TimelineGrid.json +5 -4
- package/agent/components/Toaster.json +0 -1
- package/agent/components/Toggle.json +3 -3
- package/agent/components/ToggleGroup.json +1 -1
- package/agent/components/Toolbar.json +10 -3
- package/agent/components/Tooltip.json +9 -9
- package/agent/components/Topbar.json +1 -1
- package/agent/components/TopbarItem.json +1 -1
- package/agent/components/Transfer.json +2 -2
- package/agent/components/Tree.json +1 -1
- package/agent/components/TreeSelect.json +1 -1
- package/agent/components/TwoFactorSetup.json +1 -1
- package/agent/components/Upload.json +1 -1
- package/agent/components/UploadCropDialog.json +1 -1
- package/agent/components/Welcome.json +3 -3
- package/agent/components/formatDate.json +2 -2
- package/agent/components/inertiaUpload.json +0 -1
- package/agent/components/useZodForm.json +0 -1
- package/agent/components-index.json +80 -154
- package/agent/components.json +541 -1737
- package/agent/index.json +10 -10
- package/agent/llms.txt +9 -9
- package/agent/patterns/account-recovery-settings.json +1 -1
- package/agent/patterns/auth-recovery-panels.json +2 -2
- package/agent/patterns/error-pages.json +1 -1
- package/agent/patterns/pricing-plans.json +17 -0
- package/agent/patterns-index.json +17 -1
- package/agent/patterns.json +21 -4
- package/agent/rules.json +30 -65
- package/agent/tokens.json +27 -57
- package/agent/vocabulary.json +3 -3
- package/dist/app/app-provider.d.ts +5 -3
- package/dist/app/app-provider.js +47 -12
- package/dist/app/date-format-labels.d.ts +3 -1
- package/dist/app/date-format-labels.js +2 -4
- package/dist/app/date-formats.d.ts +21 -2
- package/dist/app/date-formats.js +51 -2
- package/dist/app/index.d.ts +3 -1
- package/dist/app/index.js +5 -0
- package/dist/app/locales.d.ts +58 -3
- package/dist/app/locales.js +134 -8
- package/dist/app/preset.d.ts +25 -0
- package/dist/app/preset.js +10 -0
- package/dist/app/request-headers.d.ts +3 -3
- package/dist/app/request-headers.js +19 -10
- package/dist/app/settings-scope.d.ts +54 -0
- package/dist/app/settings-scope.js +46 -0
- package/dist/app/tenant-theme.js +8 -3
- package/dist/app/time-format-labels.d.ts +4 -1
- package/dist/app/time-format-labels.js +7 -1
- package/dist/app/types.d.ts +10 -2
- package/dist/app/use-formatting.d.ts +1 -1
- package/dist/components/admin/index.d.ts +1 -1
- package/dist/components/admin/index.js +1 -1
- package/dist/components/data-display/accordion.d.ts +51 -1
- package/dist/components/data-display/accordion.js +247 -1
- package/dist/components/data-display/avatar.d.ts +16 -1
- package/dist/components/data-display/avatar.js +109 -1
- package/dist/components/data-display/credential-reveal.d.ts +9 -2
- package/dist/components/data-display/credential-reveal.js +156 -1
- package/dist/components/data-display/image.js +5 -3
- package/dist/components/data-display/index.d.ts +0 -21
- package/dist/components/data-display/index.js +1 -43
- package/dist/components/data-display/popover.d.ts +15 -3
- package/dist/components/data-display/popover.js +168 -2
- package/dist/components/data-entry/branch-scope-picker.d.ts +1 -1
- package/dist/components/data-entry/index.d.ts +5 -12
- package/dist/components/data-entry/index.js +11 -12
- package/dist/components/data-entry/input-otp.d.ts +48 -2
- package/dist/components/data-entry/input-otp.js +94 -1
- package/dist/components/data-entry/number-input.d.ts +1 -1
- package/dist/components/data-entry/password-input.d.ts +38 -2
- package/dist/components/data-entry/password-input.js +56 -1
- package/dist/components/data-entry/rating.d.ts +38 -2
- package/dist/components/data-entry/rating.js +127 -1
- package/dist/components/data-entry/segmented.d.ts +94 -2
- package/dist/components/data-entry/segmented.js +104 -1
- package/dist/components/{ui/tag-input.d.ts → data-entry/select-tags-inline.d.ts} +7 -4
- package/dist/components/{ui/tag-input.js → data-entry/select-tags-inline.js} +4 -4
- package/dist/components/data-entry/select.js +4 -0
- package/dist/components/data-entry/toggle-group.d.ts +108 -2
- package/dist/components/data-entry/toggle-group.js +189 -1
- package/dist/components/data-entry/toggle.d.ts +86 -2
- package/dist/components/data-entry/toggle.js +153 -2
- package/dist/components/feedback/alert.d.ts +5 -3
- package/dist/components/feedback/alert.js +14 -2
- package/dist/components/feedback/index.d.ts +2 -6
- package/dist/components/feedback/index.js +1 -13
- package/dist/components/feedback/skeleton.d.ts +4 -17
- package/dist/components/feedback/skeleton.js +3 -40
- package/dist/components/general/index.d.ts +2 -4
- package/dist/components/general/index.js +1 -6
- package/dist/components/general/typography.d.ts +4 -58
- package/dist/components/general/typography.js +7 -141
- package/dist/components/layout/aspect-ratio.d.ts +24 -1
- package/dist/components/layout/aspect-ratio.js +18 -1
- package/dist/components/layout/auth-divider.js +1 -1
- package/dist/components/layout/auth-identity.js +6 -2
- package/dist/components/layout/centered-shell.d.ts +13 -8
- package/dist/components/layout/centered-shell.js +43 -1
- package/dist/components/layout/flex.d.ts +1 -1
- package/dist/components/layout/flex.js +73 -1
- package/dist/components/layout/index.d.ts +1 -13
- package/dist/components/layout/index.js +0 -12
- package/dist/components/layout/separator.d.ts +25 -2
- package/dist/components/layout/separator.js +71 -1
- package/dist/components/navigation/{app-setting-toggle.d.ts → app-setting-cycle.d.ts} +3 -4
- package/dist/components/navigation/{app-setting-toggle.js → app-setting-cycle.js} +3 -3
- package/dist/components/navigation/app-setting-picker.d.ts +6 -2
- package/dist/components/navigation/app-setting-picker.js +20 -2
- package/dist/components/navigation/index.d.ts +3 -11
- package/dist/components/navigation/index.js +1 -9
- package/dist/components/navigation/tabs.js +1 -1
- package/dist/components/ui/carousel.d.ts +1 -1
- package/dist/components/ui/carousel.js +1 -1
- package/dist/components/ui/index.d.ts +11 -5
- package/dist/components/ui/index.js +5 -5
- package/dist/contracts/measurement.json +2 -2
- package/dist/email/brand-mark.d.ts +3 -2
- package/dist/email/brand-mark.js +1 -1
- package/dist/email/tokens.generated.d.ts +6 -6
- package/dist/email/tokens.generated.js +6 -6
- package/dist/i18n/locale-tags.d.ts +25 -0
- package/dist/i18n/locale-tags.js +59 -0
- package/dist/i18n/translate.d.ts +20 -3
- package/dist/i18n/translate.js +25 -14
- package/dist/i18n/use-translation.d.ts +3 -3
- package/dist/i18n/use-translation.js +4 -2
- package/dist/{components/navigation → lab}/anchor.d.ts +2 -2
- package/dist/{components/navigation → lab}/anchor.js +5 -5
- package/dist/{components/data-display → lab}/carousel.js +2 -2
- package/dist/{components/layout → lab}/draggable-panel.d.ts +8 -8
- package/dist/{components/layout → lab}/draggable-panel.js +2 -2
- package/dist/{components/data-entry → lab}/emoji-picker.d.ts +2 -2
- package/dist/{components/data-entry → lab}/emoji-picker.js +6 -6
- package/dist/{components/general → lab}/float-button.d.ts +8 -8
- package/dist/{components/general → lab}/float-button.js +7 -7
- package/dist/lab/index.d.ts +39 -0
- package/dist/lab/index.js +48 -0
- package/dist/{components/layout → lab}/legal-document-shell.d.ts +2 -2
- package/dist/{components/layout → lab}/legal-document-shell.js +4 -4
- package/dist/{components/data-display → lab}/marquee.d.ts +5 -5
- package/dist/{components/data-display → lab}/marquee.js +5 -5
- package/dist/{components/layout → lab}/masonry.d.ts +2 -2
- package/dist/{components/layout → lab}/masonry.js +3 -3
- package/dist/{components/navigation → lab}/mega-menu.d.ts +4 -4
- package/dist/{components/navigation → lab}/mega-menu.js +2 -2
- package/dist/{components/data-display → lab}/org-chart.d.ts +2 -2
- package/dist/{components/data-display → lab}/org-chart.js +4 -4
- package/dist/{components/layout → lab}/page-cover.d.ts +2 -2
- package/dist/{components/layout → lab}/page-cover.js +2 -2
- package/dist/{components/data-display → lab}/range-timeline.d.ts +1 -1
- package/dist/{components/data-display → lab}/range-timeline.js +6 -6
- package/dist/{components/data-entry → lab}/sortable-list.d.ts +2 -2
- package/dist/{components/data-entry → lab}/sortable-list.js +3 -3
- package/dist/{components/data-display → lab}/text-diff.d.ts +3 -3
- package/dist/{components/data-display → lab}/text-diff.js +4 -4
- package/dist/{components/data-display → lab}/timeline-grid.d.ts +2 -2
- package/dist/{components/data-display → lab}/timeline-grid.js +1 -1
- package/dist/lib/control-styles.js +1 -1
- package/dist/lib/datetime/format.js +20 -6
- package/dist/lib/datetime/sync.d.ts +6 -2
- package/dist/lib/datetime/sync.js +14 -18
- package/dist/lib/platform.d.ts +1 -1
- package/dist/props/components/app.prop.d.ts +28 -13
- package/dist/props/components/data-display.prop.d.ts +19 -29
- package/dist/props/components/feedback.prop.d.ts +15 -44
- package/dist/props/components/general.prop.d.ts +2 -64
- package/dist/props/components/index.d.ts +9 -1
- package/dist/props/components/layout.prop.d.ts +41 -57
- package/dist/props/registry.d.ts +48 -101
- package/dist/props/registry.js +45 -129
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/props/vocabulary/interaction.prop.d.ts +3 -12
- package/dist/styles/alert-layout.css +0 -29
- package/dist/styles/data-display-layout.css +14 -22
- package/dist/styles/dialog-layout.css +4 -0
- package/dist/styles/fonts/OFL.txt +93 -0
- package/dist/styles/form-layout.css +4 -0
- package/dist/styles/index.css +0 -2
- package/dist/styles/layers.json +44 -179
- package/dist/styles/text-layout.css +0 -15
- package/dist/styles.css +2 -0
- package/dist/themes/godx.css +43 -0
- package/dist/themes/godx.d.ts +13 -0
- package/dist/themes/godx.js +12 -0
- package/dist/tokens/components/feedback.css +0 -6
- package/dist/tokens/derived.css +23 -22
- package/dist/tokens/foundation.css +4 -6
- package/docs/COMPOSITION-VS-COMPONENT.md +58 -33
- package/docs/CONSUMER-RULES.md +1 -1
- package/docs/CUSTOMER-THEMING.md +17 -53
- package/docs/migrations/v32.md +98 -0
- package/package.json +58 -19
- package/scripts/_agent-setup.mjs +54 -3
- package/scripts/brand-accent.generated.mjs +15 -2
- package/scripts/cli.mjs +36 -11
- package/scripts/codemod.mjs +522 -0
- package/scripts/consumer-rule.md +21 -43
- package/scripts/postinstall.mjs +10 -47
- package/scripts/prune-css.mjs +1 -1
- package/scripts/ui-audit.mjs +5 -2
- package/dist/components/data-display/chat-bubble.d.ts +0 -30
- package/dist/components/data-display/chat-bubble.js +0 -229
- package/dist/components/data-display/hover-card.d.ts +0 -1
- package/dist/components/data-display/hover-card.js +0 -7
- package/dist/components/data-display/thought-chain.d.ts +0 -42
- package/dist/components/data-display/thought-chain.js +0 -177
- package/dist/components/data-display/thumbnail.d.ts +0 -37
- package/dist/components/data-display/thumbnail.js +0 -20
- package/dist/components/data-display/welcome.d.ts +0 -26
- package/dist/components/data-display/welcome.js +0 -37
- package/dist/components/data-entry/attachments.d.ts +0 -19
- package/dist/components/data-entry/attachments.js +0 -366
- package/dist/components/data-entry/chat-composer.d.ts +0 -51
- package/dist/components/data-entry/chat-composer.js +0 -200
- package/dist/components/data-entry/chat-suggestion.d.ts +0 -28
- package/dist/components/data-entry/chat-suggestion.js +0 -309
- package/dist/components/data-entry/tag-input.d.ts +0 -2
- package/dist/components/data-entry/tag-input.js +0 -5
- package/dist/components/feedback/banner.d.ts +0 -21
- package/dist/components/feedback/banner.js +0 -19
- package/dist/components/feedback/callout.d.ts +0 -23
- package/dist/components/feedback/callout.js +0 -42
- package/dist/components/layout/auth-shell.d.ts +0 -10
- package/dist/components/layout/auth-shell.js +0 -42
- package/dist/components/layout/space-compact.d.ts +0 -65
- package/dist/components/layout/space-compact.js +0 -52
- package/dist/components/navigation/conversations.d.ts +0 -39
- package/dist/components/navigation/conversations.js +0 -371
- package/dist/components/ui/accordion.d.ts +0 -51
- package/dist/components/ui/accordion.js +0 -254
- package/dist/components/ui/aspect-ratio.d.ts +0 -24
- package/dist/components/ui/aspect-ratio.js +0 -21
- package/dist/components/ui/avatar.d.ts +0 -16
- package/dist/components/ui/avatar.js +0 -115
- package/dist/components/ui/credential-reveal.d.ts +0 -9
- package/dist/components/ui/credential-reveal.js +0 -160
- package/dist/components/ui/hover-card.d.ts +0 -47
- package/dist/components/ui/hover-card.js +0 -205
- package/dist/components/ui/input-otp.d.ts +0 -48
- package/dist/components/ui/input-otp.js +0 -101
- package/dist/components/ui/password-input.d.ts +0 -38
- package/dist/components/ui/password-input.js +0 -60
- package/dist/components/ui/rating.d.ts +0 -38
- package/dist/components/ui/rating.js +0 -131
- package/dist/components/ui/segmented.d.ts +0 -94
- package/dist/components/ui/segmented.js +0 -108
- package/dist/components/ui/separator.d.ts +0 -25
- package/dist/components/ui/separator.js +0 -74
- package/dist/components/ui/toggle-group.d.ts +0 -108
- package/dist/components/ui/toggle-group.js +0 -194
- package/dist/components/ui/toggle.d.ts +0 -86
- package/dist/components/ui/toggle.js +0 -156
- package/docs/CANONICAL-CONTRACTS.md +0 -206
- package/docs/COMPONENTS.md +0 -163
- package/docs/DATETIME.md +0 -78
- package/docs/DEVELOPMENT.md +0 -269
- package/docs/FRAME-A11Y-CI.md +0 -287
- package/docs/FRAME-COVERAGE-LEDGER.md +0 -123
- package/docs/FRAME-COVERAGE-REPORT.md +0 -228
- package/docs/FRAME-COVERAGE-STANDARD.md +0 -65
- package/docs/FRAME-COVERAGE.md +0 -29
- package/docs/MEASUREMENT-CONTRACT.md +0 -109
- package/docs/PROPS-REGISTRY.md +0 -61
- package/docs/PROPS-VOCABULARY.md +0 -100
- package/docs/REGISTRY.md +0 -70
- package/docs/TESTING.md +0 -107
- package/docs/THEME-API-COVERAGE.md +0 -538
- package/docs/WHAT-BELONGS-HERE.md +0 -179
- package/docs/asset-modules.d.ts +0 -53
- package/docs/assets/cover-terrain.svg +0 -6
- package/docs/assets/portrait-amber.svg +0 -5
- package/docs/assets/portrait-clay.svg +0 -5
- package/docs/assets/portrait-indigo.svg +0 -5
- package/docs/assets/portrait-iris.svg +0 -5
- package/docs/assets/portrait-moss.svg +0 -5
- package/docs/assets/portrait-plum.svg +0 -5
- package/docs/assets/portrait-slate.svg +0 -5
- package/docs/assets/service-mark-rose.svg +0 -6
- package/docs/assets/service-mark-teal.svg +0 -5
- package/docs/assets/shot-landscape.svg +0 -12
- package/docs/assets/shot-portrait.svg +0 -10
- package/docs/assets/tcgm/card-1.svg +0 -1
- package/docs/assets/tcgm/card-2.svg +0 -1
- package/docs/assets/tcgm/card-3.svg +0 -1
- package/docs/assets/tcgm/card-4.svg +0 -1
- package/docs/assets/tcgm/card-5.svg +0 -1
- package/docs/assets/tcgm/card-6.svg +0 -1
- package/docs/assets/tcgm/hero-prism.svg +0 -1
- package/docs/assets/tcgm/scene-1.svg +0 -1
- package/docs/assets/tcgm/scene-2.svg +0 -1
- package/docs/assets/tcgm/scene-3.svg +0 -1
- package/docs/assets/tcgm/scene-4.svg +0 -1
- package/docs/assets/tcgm/scene-5.svg +0 -1
- package/docs/assets/tcgm/tcgm-lockup-color.svg +0 -1
- package/docs/assets/tcgm/tcgm-symbol-color.svg +0 -1
- package/docs/charts/cjk-category-axis.tsx +0 -81
- package/docs/charts/compact-bar-trend.tsx +0 -327
- package/docs/charts/size-tiers.tsx +0 -192
- package/docs/data-display/accordion.tsx +0 -99
- package/docs/data-display/avatar.tsx +0 -502
- package/docs/data-display/badge.tsx +0 -335
- package/docs/data-display/card/examples/detail-panel.tsx +0 -106
- package/docs/data-display/card/examples/tab-list.tsx +0 -97
- package/docs/data-display/card/index.md +0 -3
- package/docs/data-display/card/index.tsx +0 -390
- package/docs/data-display/carousel.tsx +0 -160
- package/docs/data-display/charts.tsx +0 -278
- package/docs/data-display/chat-bubble.tsx +0 -397
- package/docs/data-display/code-block.tsx +0 -188
- package/docs/data-display/collapsible.tsx +0 -162
- package/docs/data-display/credential-reveal.tsx +0 -148
- package/docs/data-display/data-table/examples/antd-parity.tsx +0 -257
- package/docs/data-display/data-table/examples/approval-queue.tsx +0 -212
- package/docs/data-display/data-table/examples/grid-features.tsx +0 -158
- package/docs/data-display/data-table/examples/list-page.tsx +0 -175
- package/docs/data-display/data-table/examples/selectable-inbox.tsx +0 -113
- package/docs/data-display/data-table/examples/server-paged.tsx +0 -179
- package/docs/data-display/data-table/examples/striped-list.tsx +0 -173
- package/docs/data-display/data-table/index.md +0 -9
- package/docs/data-display/data-table/index.tsx +0 -407
- package/docs/data-display/descriptions.tsx +0 -263
- package/docs/data-display/empty-state.tsx +0 -164
- package/docs/data-display/feature-list.tsx +0 -159
- package/docs/data-display/hover-card.tsx +0 -181
- package/docs/data-display/image.tsx +0 -170
- package/docs/data-display/legend.tsx +0 -158
- package/docs/data-display/list-row.tsx +0 -441
- package/docs/data-display/markdown.tsx +0 -86
- package/docs/data-display/marquee.tsx +0 -254
- package/docs/data-display/org-chart.tsx +0 -165
- package/docs/data-display/permission-matrix.tsx +0 -188
- package/docs/data-display/popover-touch.tsx +0 -27
- package/docs/data-display/popover.tsx +0 -331
- package/docs/data-display/progress.tsx +0 -162
- package/docs/data-display/prose.tsx +0 -169
- package/docs/data-display/qr-code.tsx +0 -68
- package/docs/data-display/scroll-area.tsx +0 -420
- package/docs/data-display/service-launcher-card.tsx +0 -445
- package/docs/data-display/stat-card.tsx +0 -354
- package/docs/data-display/swatch.tsx +0 -107
- package/docs/data-display/table.tsx +0 -362
- package/docs/data-display/text-diff.tsx +0 -89
- package/docs/data-display/thought-chain.tsx +0 -176
- package/docs/data-display/thumbnail.tsx +0 -128
- package/docs/data-display/timeline-grid.tsx +0 -119
- package/docs/data-display/timeline.tsx +0 -671
- package/docs/data-display/touch-actions.tsx +0 -36
- package/docs/data-display/tree.tsx +0 -724
- package/docs/data-display/welcome.tsx +0 -115
- package/docs/data-entry/attachments.tsx +0 -160
- package/docs/data-entry/block-editor.tsx +0 -105
- package/docs/data-entry/branch-scope-picker.tsx +0 -128
- package/docs/data-entry/calendar.tsx +0 -226
- package/docs/data-entry/cascader.tsx +0 -380
- package/docs/data-entry/chat-composer.tsx +0 -619
- package/docs/data-entry/chat-suggestion.tsx +0 -301
- package/docs/data-entry/checkbox.tsx +0 -256
- package/docs/data-entry/color-picker.tsx +0 -189
- package/docs/data-entry/command-palette.tsx +0 -179
- package/docs/data-entry/command.tsx +0 -341
- package/docs/data-entry/country-picker-recipe.tsx +0 -175
- package/docs/data-entry/date-picker.tsx +0 -452
- package/docs/data-entry/emoji-picker.tsx +0 -35
- package/docs/data-entry/form/examples/employee-settings.tsx +0 -267
- package/docs/data-entry/form/examples/invoice-form.tsx +0 -387
- package/docs/data-entry/form-dynamic-fields.tsx +0 -199
- package/docs/data-entry/form-field/examples/a11y-contract.tsx +0 -242
- package/docs/data-entry/form-field/examples/create-form.tsx +0 -107
- package/docs/data-entry/form-field/index.md +0 -8
- package/docs/data-entry/form-field/index.tsx +0 -337
- package/docs/data-entry/form-inertia.tsx +0 -80
- package/docs/data-entry/form-root.tsx +0 -112
- package/docs/data-entry/form.tsx +0 -1498
- package/docs/data-entry/input-otp.tsx +0 -258
- package/docs/data-entry/input.tsx +0 -796
- package/docs/data-entry/label.tsx +0 -102
- package/docs/data-entry/markdown-editor.tsx +0 -69
- package/docs/data-entry/number-input.tsx +0 -279
- package/docs/data-entry/password-input.tsx +0 -102
- package/docs/data-entry/password-strength.tsx +0 -99
- package/docs/data-entry/radio-group.tsx +0 -316
- package/docs/data-entry/rating.tsx +0 -91
- package/docs/data-entry/record-picker.tsx +0 -209
- package/docs/data-entry/search-input.tsx +0 -121
- package/docs/data-entry/segmented-in-filter-row.tsx +0 -60
- package/docs/data-entry/segmented.tsx +0 -300
- package/docs/data-entry/select-async-contracts.tsx +0 -108
- package/docs/data-entry/select-matrix.tsx +0 -209
- package/docs/data-entry/select.tsx +0 -547
- package/docs/data-entry/slider.tsx +0 -212
- package/docs/data-entry/sortable-list.tsx +0 -76
- package/docs/data-entry/switch.tsx +0 -314
- package/docs/data-entry/tag-input.tsx +0 -145
- package/docs/data-entry/textarea.tsx +0 -249
- package/docs/data-entry/time-picker.tsx +0 -187
- package/docs/data-entry/time-range-picker.tsx +0 -55
- package/docs/data-entry/toggle-count.tsx +0 -348
- package/docs/data-entry/toggle-group.tsx +0 -438
- package/docs/data-entry/toggle.tsx +0 -217
- package/docs/data-entry/transfer.tsx +0 -115
- package/docs/data-entry/tree-select.tsx +0 -204
- package/docs/data-entry/upload-crop-dialog.tsx +0 -109
- package/docs/data-entry/upload.tsx +0 -310
- package/docs/feedback/alert-dialog.tsx +0 -270
- package/docs/feedback/alert.tsx +0 -248
- package/docs/feedback/auth-expiry.tsx +0 -104
- package/docs/feedback/banner.tsx +0 -183
- package/docs/feedback/callout.tsx +0 -220
- package/docs/feedback/danger-confirm.tsx +0 -91
- package/docs/feedback/dialog-touch.tsx +0 -24
- package/docs/feedback/dialog.tsx +0 -373
- package/docs/feedback/sheet.tsx +0 -510
- package/docs/feedback/skeleton.tsx +0 -168
- package/docs/feedback/toast.tsx +0 -135
- package/docs/feedback/tooltip.tsx +0 -171
- package/docs/feedback/two-factor-setup.tsx +0 -68
- package/docs/foundation/_email-specimen.ts +0 -274
- package/docs/foundation/_theme-editor-scope.ts +0 -222
- package/docs/foundation/colors.tsx +0 -207
- package/docs/foundation/density.tsx +0 -242
- package/docs/foundation/email-tokens.tsx +0 -323
- package/docs/foundation/radius-shadow.tsx +0 -154
- package/docs/foundation/spacing.tsx +0 -216
- package/docs/foundation/theme-editor.tsx +0 -654
- package/docs/foundation/typography.tsx +0 -147
- package/docs/general/actions.tsx +0 -175
- package/docs/general/activity.tsx +0 -289
- package/docs/general/button/examples/destructive-confirm.tsx +0 -90
- package/docs/general/button/examples/form-actions.tsx +0 -87
- package/docs/general/button/examples/toolbar.tsx +0 -160
- package/docs/general/button/index.md +0 -16
- package/docs/general/button/index.tsx +0 -236
- package/docs/general/float-button.tsx +0 -133
- package/docs/general/icon.tsx +0 -217
- package/docs/general/logo.tsx +0 -194
- package/docs/general/reveal.tsx +0 -309
- package/docs/general/typography.tsx +0 -542
- package/docs/i18n/messages/en.json +0 -1715
- package/docs/i18n/messages/ja.json +0 -1708
- package/docs/i18n/messages/vi.json +0 -1708
- package/docs/layout/account-chip.tsx +0 -72
- package/docs/layout/admin-collection.tsx +0 -122
- package/docs/layout/affix.tsx +0 -209
- package/docs/layout/app-launcher.tsx +0 -211
- package/docs/layout/app-shell-arrangements.tsx +0 -225
- package/docs/layout/app-shell-narrow-bar.tsx +0 -205
- package/docs/layout/app-shell-states.tsx +0 -171
- package/docs/layout/app-shell.tsx +0 -395
- package/docs/layout/aspect-ratio.tsx +0 -135
- package/docs/layout/auth-account-summary.tsx +0 -103
- package/docs/layout/auth-divider.tsx +0 -28
- package/docs/layout/auth-footer.tsx +0 -37
- package/docs/layout/auth-identity.tsx +0 -70
- package/docs/layout/auth-recovery/examples/mfa-challenge.md +0 -41
- package/docs/layout/auth-recovery/examples/mfa-challenge.tsx +0 -254
- package/docs/layout/auth-recovery/examples/mobile-390.md +0 -25
- package/docs/layout/auth-recovery/examples/mobile-390.tsx +0 -82
- package/docs/layout/auth-recovery/examples/password-recovery.md +0 -24
- package/docs/layout/auth-recovery/examples/password-recovery.tsx +0 -197
- package/docs/layout/auth-recovery/examples/wrapping-ja-en-vi.md +0 -27
- package/docs/layout/auth-recovery/examples/wrapping-ja-en-vi.tsx +0 -156
- package/docs/layout/auth-recovery/index.md +0 -140
- package/docs/layout/auth-recovery/index.tsx +0 -96
- package/docs/layout/auth-shell-context.tsx +0 -103
- package/docs/layout/auth-shell-device.tsx +0 -112
- package/docs/layout/auth-shell-registration.tsx +0 -338
- package/docs/layout/auth-shell-variants.tsx +0 -143
- package/docs/layout/auth-shell.tsx +0 -59
- package/docs/layout/auth-stack.tsx +0 -40
- package/docs/layout/centered-shell.tsx +0 -102
- package/docs/layout/draggable-panel.tsx +0 -127
- package/docs/layout/error-surface/examples/application-403.tsx +0 -84
- package/docs/layout/error-surface/examples/application-404.tsx +0 -77
- package/docs/layout/error-surface/examples/system-500.tsx +0 -47
- package/docs/layout/error-surface/examples/system-503.tsx +0 -48
- package/docs/layout/error-surface/index.md +0 -153
- package/docs/layout/error-surface/index.tsx +0 -239
- package/docs/layout/flex.tsx +0 -444
- package/docs/layout/legal-document-shell/_data.ts +0 -110
- package/docs/layout/legal-document-shell/examples/desktop-1440.md +0 -12
- package/docs/layout/legal-document-shell/examples/desktop-1440.tsx +0 -83
- package/docs/layout/legal-document-shell/examples/mobile-390.md +0 -22
- package/docs/layout/legal-document-shell/examples/mobile-390.tsx +0 -70
- package/docs/layout/legal-document-shell/examples/tablet-1024.md +0 -3
- package/docs/layout/legal-document-shell/examples/tablet-1024.tsx +0 -84
- package/docs/layout/legal-document-shell/examples/wrapping-ja-en-vi.md +0 -18
- package/docs/layout/legal-document-shell/examples/wrapping-ja-en-vi.tsx +0 -61
- package/docs/layout/legal-document-shell/index.md +0 -51
- package/docs/layout/legal-document-shell/index.tsx +0 -101
- package/docs/layout/masonry.tsx +0 -291
- package/docs/layout/master-detail.tsx +0 -390
- package/docs/layout/mobile-shell.tsx +0 -106
- package/docs/layout/nav-list.tsx +0 -584
- package/docs/layout/org-switcher.tsx +0 -131
- package/docs/layout/page-container.tsx +0 -1020
- package/docs/layout/page-cover.tsx +0 -56
- package/docs/layout/resizable-panel.tsx +0 -419
- package/docs/layout/responsive-grid.tsx +0 -403
- package/docs/layout/separator.tsx +0 -327
- package/docs/layout/service-role-panel.tsx +0 -144
- package/docs/layout/sidebar.tsx +0 -689
- package/docs/layout/space-compact.tsx +0 -202
- package/docs/layout/split-pane.tsx +0 -532
- package/docs/layout/topbar-item.tsx +0 -233
- package/docs/layout/topbar.tsx +0 -360
- package/docs/navigation/anchor.tsx +0 -295
- package/docs/navigation/app-setting-picker.tsx +0 -178
- package/docs/navigation/app-setting-toggle.tsx +0 -111
- package/docs/navigation/breadcrumb.tsx +0 -207
- package/docs/navigation/card-tabs.tsx +0 -344
- package/docs/navigation/conversations.tsx +0 -176
- package/docs/navigation/dropdown-menu.tsx +0 -345
- package/docs/navigation/filter-bar.tsx +0 -247
- package/docs/navigation/mega-menu-panel.tsx +0 -86
- package/docs/navigation/mega-menu.tsx +0 -254
- package/docs/navigation/pagination.tsx +0 -293
- package/docs/navigation/steps.tsx +0 -315
- package/docs/navigation/tabs-rtl.tsx +0 -28
- package/docs/navigation/tabs.tsx +0 -755
- package/docs/navigation/toolbar.tsx +0 -347
- package/docs/providers/app-provider.tsx +0 -191
- package/docs/providers/format-date.tsx +0 -230
- package/docs/providers/theme-scope.tsx +0 -186
- package/docs/query/button-refetch.tsx +0 -161
- package/docs/query/data-state.tsx +0 -262
- package/docs/query/infinite-query-state.tsx +0 -97
- package/docs/query/mutation-feedback.tsx +0 -128
- package/docs/query/touch-actions.tsx +0 -68
- package/docs/react-router/prefetch-link.tsx +0 -262
- package/docs/roadmap/ai-chat-components.md +0 -206
- package/docs/roadmap/antd-parity.md +0 -155
- package/docs/roadmap/badge-tag-chip-count.md +0 -172
- package/docs/roadmap/list-masonry.md +0 -159
- package/docs/roadmap/parity-audit-data-display-feedback.md +0 -567
- package/docs/roadmap/parity-audit-data-entry.md +0 -368
- package/docs/roadmap/parity-audit-layout-navigation-general.md +0 -459
- package/docs/roadmap/parity-backlog.md +0 -77
- package/docs/roadmap/tree-components.md +0 -151
- package/docs/roadmap/website-components.md +0 -813
- package/docs/showcase/acme-portal.tsx +0 -461
- package/docs/showcase/acme-website.tsx +0 -499
- package/docs/showcase/caimono-price-comparison.tsx +0 -919
- package/docs/showcase/case1-warehouse-dashboard.tsx +0 -358
- package/docs/showcase/case2-employee-me.tsx +0 -438
- package/docs/showcase/case3-approval-workflow.tsx +0 -531
- package/docs/showcase/case4-login.tsx +0 -312
- package/docs/showcase/case5-shift-calendar.tsx +0 -702
- package/docs/showcase/case6-agency-handy.tsx +0 -1120
- package/docs/showcase/futurelastic-web.tsx +0 -441
- package/docs/showcase/marketing-page.tsx +0 -895
- package/docs/showcase/org-switcher.tsx +0 -320
- package/docs/showcase/permission-matrix.tsx +0 -354
- package/docs/showcase/public-landing.tsx +0 -210
- package/docs/showcase/settings-account-sections.tsx +0 -559
- package/docs/showcase/settings-security-mfa.tsx +0 -145
- package/docs/showcase/table-approval-queue.tsx +0 -199
- package/docs/showcase/table-bulk-actions.tsx +0 -468
- package/docs/showcase/table-compact-kintone.tsx +0 -438
- package/docs/showcase/table-conditional-format.tsx +0 -367
- package/docs/showcase/table-crud-list.tsx +0 -544
- package/docs/showcase/table-density.tsx +0 -349
- package/docs/showcase/table-expandable-rows.tsx +0 -496
- package/docs/showcase/table-filter-chips.tsx +0 -468
- package/docs/showcase/table-footer-totals.tsx +0 -328
- package/docs/showcase/table-grouped-subtotals.tsx +0 -398
- package/docs/showcase/table-master-detail.tsx +0 -482
- package/docs/showcase/table-pagination.tsx +0 -409
- package/docs/showcase/table-states.tsx +0 -371
- package/docs/showcase/table-sticky-columns.tsx +0 -377
- package/docs/showcase/table-tree-rows.tsx +0 -451
- package/docs/showcase/table-view-tabs.tsx +0 -488
- package/docs/showcase/tcgm-website.tsx +0 -1047
- package/docs/showcase/tenant-brand-color.tsx +0 -338
- package/docs/showcase/theme-customization.tsx +0 -1292
- package/docs/showcase/theme-lab.tsx +0 -2125
- package/docs/themes/flat.css +0 -466
- package/docs/themes/glassmorphism.css +0 -960
- package/docs/themes/index.ts +0 -219
- package/docs/themes/neubrutalism.css +0 -481
- /package/dist/components/navigation/{filter-bar.d.ts → toolbar.d.ts} +0 -0
- /package/dist/components/navigation/{filter-bar.js → toolbar.js} +0 -0
- /package/dist/{components/data-display → lab}/carousel.d.ts +0 -0
- /package/dist/{components/data-entry → lab}/emoji-data.d.ts +0 -0
- /package/dist/{components/data-entry → lab}/emoji-data.js +0 -0
- /package/dist/{components/data-display → lab}/marquee-reveal.d.ts +0 -0
- /package/dist/{components/data-display → lab}/marquee-reveal.js +0 -0
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@godxjp/ui/data-display";
|
|
2
|
-
import { Flex, PageContainer } from "@godxjp/ui/layout";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Typography · design-token foundation. Real semantic <h1>-<h6> elements (no
|
|
6
|
-
* faked sizes): the base heading layer renders the reference-design scale and keeps
|
|
7
|
-
* the document outline SEO/accessibility correct. Composed only from real
|
|
8
|
-
* @godxjp/ui components.
|
|
9
|
-
*/
|
|
10
|
-
export default function Demo() {
|
|
11
|
-
return (
|
|
12
|
-
<PageContainer
|
|
13
|
-
title="Typography"
|
|
14
|
-
subtitle="Noto Sans JP (M PLUS 2 fallback) · 14 / 1.7 body · headings 20/18/14/13 @ 500 · three weights only"
|
|
15
|
-
>
|
|
16
|
-
<Flex direction="col" gap="lg">
|
|
17
|
-
<Card>
|
|
18
|
-
<CardHeader>
|
|
19
|
-
<CardTitle level={2}>Heading scale</CardTitle>
|
|
20
|
-
<CardDescription>
|
|
21
|
-
h1 20 / h2 18 / h3 14 / h4-h6 13px, weight 500 (h5/h6 collapse to 13px). SEO/a11y:
|
|
22
|
-
exactly one <h1> per page (the page title above); h2-h6 below never skip a
|
|
23
|
-
level.
|
|
24
|
-
</CardDescription>
|
|
25
|
-
</CardHeader>
|
|
26
|
-
<CardContent>
|
|
27
|
-
<Flex direction="col" gap="xs">
|
|
28
|
-
<h2><h2> 見出し · section heading · 18px / 500</h2>
|
|
29
|
-
<h3><h3> 見出し · subsection · 14px / 500</h3>
|
|
30
|
-
<h4><h4> 見出し · minor heading · 13px / 500</h4>
|
|
31
|
-
<h5><h5> 見出し · 13px / 500</h5>
|
|
32
|
-
<h6><h6> 見出し · 13px / 500</h6>
|
|
33
|
-
</Flex>
|
|
34
|
-
</CardContent>
|
|
35
|
-
</Card>
|
|
36
|
-
|
|
37
|
-
<Card>
|
|
38
|
-
<CardHeader>
|
|
39
|
-
<CardTitle level={2}>Body & weights</CardTitle>
|
|
40
|
-
<CardDescription>
|
|
41
|
-
Default body 14px / 1.7 (間 ma); dense tables 13px / 1.5. Three weights only · 400
|
|
42
|
-
body, 500 heading/label, 700 emphasis. NO 300, NO 600.
|
|
43
|
-
</CardDescription>
|
|
44
|
-
</CardHeader>
|
|
45
|
-
<CardContent>
|
|
46
|
-
<Flex direction="col" gap="sm">
|
|
47
|
-
<p className="text-sm">
|
|
48
|
-
本文 14px / 1.7 · 漢字の密度に合わせて行間を広めに取り、読み疲れを抑えます。Body
|
|
49
|
-
copy mixes 日本語 and Latin without breaking rhythm.
|
|
50
|
-
</p>
|
|
51
|
-
<Flex direction="col" gap="xs">
|
|
52
|
-
<p className="text-sm font-normal">400 normal · 通常の本文 · regular body</p>
|
|
53
|
-
<p className="text-sm font-medium">
|
|
54
|
-
500 medium · 見出し・ラベル · headings, labels
|
|
55
|
-
</p>
|
|
56
|
-
<p className="text-sm font-bold">700 bold · 強調のみ · emphasis only</p>
|
|
57
|
-
</Flex>
|
|
58
|
-
</Flex>
|
|
59
|
-
</CardContent>
|
|
60
|
-
</Card>
|
|
61
|
-
|
|
62
|
-
<Card>
|
|
63
|
-
<CardHeader>
|
|
64
|
-
<CardTitle level={2}>Tabular figures</CardTitle>
|
|
65
|
-
<CardDescription>
|
|
66
|
-
tabular-nums on every numeric column / large stat so digits align under 1.7 leading.
|
|
67
|
-
</CardDescription>
|
|
68
|
-
</CardHeader>
|
|
69
|
-
<CardContent>
|
|
70
|
-
<Flex direction="col" gap="xs">
|
|
71
|
-
<span className="text-2xl tabular-nums">¥1,284,500 · tabular ✓</span>
|
|
72
|
-
<span className="text-2xl normal-nums">¥1,284,500 · proportional ✗</span>
|
|
73
|
-
</Flex>
|
|
74
|
-
</CardContent>
|
|
75
|
-
</Card>
|
|
76
|
-
|
|
77
|
-
<Card>
|
|
78
|
-
<CardHeader>
|
|
79
|
-
<CardTitle level={2}>Size scale</CardTitle>
|
|
80
|
-
<CardDescription>
|
|
81
|
-
Six steps on the JP-dense base. text-sm (14px) is body; text-base+ are for stats /
|
|
82
|
-
large numerals, not running copy.
|
|
83
|
-
</CardDescription>
|
|
84
|
-
</CardHeader>
|
|
85
|
-
<CardContent>
|
|
86
|
-
<Flex direction="col" gap="xs">
|
|
87
|
-
<p className="text-xs">text-xs · 13px · 補足・密なテーブル</p>
|
|
88
|
-
<p className="text-sm">text-sm · 14px · 本文 body</p>
|
|
89
|
-
<p className="text-base">text-base · 15px · やや大きい本文</p>
|
|
90
|
-
<p className="text-lg">text-lg · 19px · リード文 lead</p>
|
|
91
|
-
<p className="text-xl">text-xl · 22px · 小見出し統計</p>
|
|
92
|
-
<p className="text-2xl">text-2xl · 26px · 大きな統計値</p>
|
|
93
|
-
</Flex>
|
|
94
|
-
</CardContent>
|
|
95
|
-
</Card>
|
|
96
|
-
|
|
97
|
-
<Card>
|
|
98
|
-
<CardHeader>
|
|
99
|
-
<CardTitle level={2}>Font family</CardTitle>
|
|
100
|
-
<CardDescription>
|
|
101
|
-
font-sans · Noto Sans JP by default (Japanese + Latin, incl. the Vietnamese subset); M
|
|
102
|
-
PLUS 2 is the fallback face for every supported locale. font-mono · the UI-monospace
|
|
103
|
-
stack for code, IDs and aligned digits.
|
|
104
|
-
</CardDescription>
|
|
105
|
-
</CardHeader>
|
|
106
|
-
<CardContent>
|
|
107
|
-
<Flex direction="col" gap="sm">
|
|
108
|
-
<p className="font-sans text-sm">
|
|
109
|
-
春はあけぼの · Số hóa văn bản · The quick brown fox jumps over the lazy dog
|
|
110
|
-
0123456789
|
|
111
|
-
</p>
|
|
112
|
-
<code className="font-mono text-sm">
|
|
113
|
-
const id = "EMP-2025-001"; // 0123456789 IlO0
|
|
114
|
-
</code>
|
|
115
|
-
</Flex>
|
|
116
|
-
</CardContent>
|
|
117
|
-
</Card>
|
|
118
|
-
|
|
119
|
-
<Card>
|
|
120
|
-
<CardHeader>
|
|
121
|
-
<CardTitle level={2}>Line height</CardTitle>
|
|
122
|
-
<CardDescription>
|
|
123
|
-
tight 1.25 · headings · normal 1.5 · dense tables · body 1.7 · running 日本語/Latin
|
|
124
|
-
copy (the default applied to <body>).
|
|
125
|
-
</CardDescription>
|
|
126
|
-
</CardHeader>
|
|
127
|
-
<CardContent>
|
|
128
|
-
<Flex direction="col" gap="sm">
|
|
129
|
-
<p className="text-sm leading-tight">
|
|
130
|
-
tight 1.25 · 見出し向けの詰めた行間。Compact leading for headings and single-line
|
|
131
|
-
labels where vertical rhythm should stay tight.
|
|
132
|
-
</p>
|
|
133
|
-
<p className="text-sm leading-normal">
|
|
134
|
-
normal 1.5 · 密なテーブル向け。Slightly looser for dense tables and metadata where
|
|
135
|
-
rows must stay scannable but not cramped.
|
|
136
|
-
</p>
|
|
137
|
-
<p className="text-sm leading-[var(--line-height-body)]">
|
|
138
|
-
body 1.7 · 本文向け。Generous leading for running mixed 日本語 and Latin copy so the
|
|
139
|
-
kanji density never reads as a wall of text.
|
|
140
|
-
</p>
|
|
141
|
-
</Flex>
|
|
142
|
-
</CardContent>
|
|
143
|
-
</Card>
|
|
144
|
-
</Flex>
|
|
145
|
-
</PageContainer>
|
|
146
|
-
);
|
|
147
|
-
}
|
package/docs/general/actions.tsx
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
2
|
-
|
|
3
|
-
import { ChatBubble } from "@godxjp/ui/data-display";
|
|
4
|
-
import {
|
|
5
|
-
Actions,
|
|
6
|
-
ActionsCopy,
|
|
7
|
-
ActionsFeedback,
|
|
8
|
-
ActionsItem,
|
|
9
|
-
type ActionsFeedbackValueProp,
|
|
10
|
-
Text,
|
|
11
|
-
} from "@godxjp/ui/general";
|
|
12
|
-
import {
|
|
13
|
-
AppShell,
|
|
14
|
-
Flex,
|
|
15
|
-
PageContainer,
|
|
16
|
-
Sidebar,
|
|
17
|
-
type SidebarSectionProp,
|
|
18
|
-
Topbar,
|
|
19
|
-
} from "@godxjp/ui/layout";
|
|
20
|
-
import {
|
|
21
|
-
Bot,
|
|
22
|
-
Flag,
|
|
23
|
-
MessageSquare,
|
|
24
|
-
RefreshCw,
|
|
25
|
-
Settings,
|
|
26
|
-
Share2,
|
|
27
|
-
Users,
|
|
28
|
-
Volume2,
|
|
29
|
-
} from "lucide-react";
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Actions — the strip of actions under an assistant message (Ant Design X `Actions`).
|
|
33
|
-
*
|
|
34
|
-
* Every card is one axis at rest. The first shows the strip where it belongs, under a real
|
|
35
|
-
* `ChatBubble`; the rest are the three variants, the `subItems` menu, the four `ActionsItem`
|
|
36
|
-
* statuses, and the two ready-made actions (`ActionsCopy`, `ActionsFeedback`).
|
|
37
|
-
*
|
|
38
|
-
* The strip is a WAI-ARIA toolbar: one Tab reaches it, the arrows move inside it. Ant X's own
|
|
39
|
-
* strip is a row of `<div onClick>` and cannot be reached from the keyboard at all.
|
|
40
|
-
*
|
|
41
|
-
* Composed only from real @godxjp/ui components.
|
|
42
|
-
*/
|
|
43
|
-
const sections: SidebarSectionProp[] = [
|
|
44
|
-
{
|
|
45
|
-
label: "アシスタント",
|
|
46
|
-
items: [
|
|
47
|
-
{ id: "chat", label: "チャット", icon: MessageSquare },
|
|
48
|
-
{ id: "agents", label: "エージェント", icon: Bot },
|
|
49
|
-
{ id: "members", label: "メンバー", icon: Users },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{ label: "管理", items: [{ id: "settings", label: "設定", icon: Settings }] },
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
const ANSWER = "差分は3件でした。金額、支払期日、宛名のうちどれから直しますか。";
|
|
56
|
-
|
|
57
|
-
export default function ActionsDoc() {
|
|
58
|
-
const [vote, setVote] = useState<ActionsFeedbackValueProp>("default");
|
|
59
|
-
const [log, setLog] = useState("まだ何も押されていません。");
|
|
60
|
-
|
|
61
|
-
return (
|
|
62
|
-
<AppShell
|
|
63
|
-
sidebar={
|
|
64
|
-
<Sidebar
|
|
65
|
-
activeId="chat"
|
|
66
|
-
sections={sections}
|
|
67
|
-
onSelect={() => {}}
|
|
68
|
-
product={{ name: "CoreDesk", role: "アシスタント", color: "hsl(var(--primary))" }}
|
|
69
|
-
/>
|
|
70
|
-
}
|
|
71
|
-
topbar={<Topbar />}
|
|
72
|
-
>
|
|
73
|
-
<PageContainer
|
|
74
|
-
title="回答の操作"
|
|
75
|
-
subtitle="Actions · 一つの回答にぶら下がる操作の帯。Tab は一回、中は矢印キー。"
|
|
76
|
-
>
|
|
77
|
-
{/* WHERE IT BELONGS: under the answer it acts on. */}
|
|
78
|
-
<Flex direction="col" gap="sm">
|
|
79
|
-
<Text size="sm" weight="medium">
|
|
80
|
-
in place · 回答の下
|
|
81
|
-
</Text>
|
|
82
|
-
<ChatBubble placement="start" variant="filled">
|
|
83
|
-
{ANSWER}
|
|
84
|
-
</ChatBubble>
|
|
85
|
-
<Actions
|
|
86
|
-
label="回答の操作"
|
|
87
|
-
items={[
|
|
88
|
-
{ key: "retry", label: "やり直す", icon: <RefreshCw /> },
|
|
89
|
-
{ key: "copy", actionRender: <ActionsCopy text={ANSWER} /> },
|
|
90
|
-
{
|
|
91
|
-
key: "feedback",
|
|
92
|
-
actionRender: <ActionsFeedback value={vote} onChange={setVote} />,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
key: "more",
|
|
96
|
-
label: "その他",
|
|
97
|
-
subItems: [
|
|
98
|
-
{ key: "share", label: "共有", icon: <Share2 /> },
|
|
99
|
-
{ key: "report", label: "報告", icon: <Flag />, danger: true },
|
|
100
|
-
],
|
|
101
|
-
},
|
|
102
|
-
]}
|
|
103
|
-
onClick={({ key, keyPath }) => setLog(`${key} — keyPath: ${keyPath.join(" ← ")}`)}
|
|
104
|
-
/>
|
|
105
|
-
<Text size="xs" tone="muted">
|
|
106
|
-
{log}
|
|
107
|
-
</Text>
|
|
108
|
-
</Flex>
|
|
109
|
-
|
|
110
|
-
{/* THE THREE VARIANTS. */}
|
|
111
|
-
<Flex direction="col" gap="sm">
|
|
112
|
-
<Text size="sm" weight="medium">
|
|
113
|
-
variant · borderless · filled · outlined
|
|
114
|
-
</Text>
|
|
115
|
-
<Actions
|
|
116
|
-
label="borderless の例"
|
|
117
|
-
variant="borderless"
|
|
118
|
-
items={[
|
|
119
|
-
{ key: "a", label: "やり直す", icon: <RefreshCw /> },
|
|
120
|
-
{ key: "b", label: "共有", icon: <Share2 /> },
|
|
121
|
-
]}
|
|
122
|
-
/>
|
|
123
|
-
<Actions
|
|
124
|
-
label="filled の例"
|
|
125
|
-
variant="filled"
|
|
126
|
-
items={[
|
|
127
|
-
{ key: "a", label: "やり直す", icon: <RefreshCw /> },
|
|
128
|
-
{ key: "b", label: "共有", icon: <Share2 /> },
|
|
129
|
-
]}
|
|
130
|
-
/>
|
|
131
|
-
<Actions
|
|
132
|
-
label="outlined の例"
|
|
133
|
-
variant="outlined"
|
|
134
|
-
items={[
|
|
135
|
-
{ key: "a", label: "やり直す", icon: <RefreshCw /> },
|
|
136
|
-
{ key: "b", label: "共有", icon: <Share2 /> },
|
|
137
|
-
]}
|
|
138
|
-
/>
|
|
139
|
-
</Flex>
|
|
140
|
-
|
|
141
|
-
{/* ACTIONSITEM — the four statuses, side by side. */}
|
|
142
|
-
<Flex direction="col" gap="sm">
|
|
143
|
-
<Text size="sm" weight="medium">
|
|
144
|
-
ActionsItem · status
|
|
145
|
-
</Text>
|
|
146
|
-
<Text size="xs" tone="muted">
|
|
147
|
-
状態は字にもなる。読み上げのボタン名に「実行中」「失敗」が入るので、
|
|
148
|
-
アイコンの差し替えだけに頼らない。
|
|
149
|
-
</Text>
|
|
150
|
-
<Flex gap="sm">
|
|
151
|
-
<ActionsItem defaultIcon={<Volume2 />} label="読み上げ" />
|
|
152
|
-
<ActionsItem defaultIcon={<Volume2 />} label="読み上げ" status="running" />
|
|
153
|
-
<ActionsItem defaultIcon={<Volume2 />} label="読み上げ" status="loading" />
|
|
154
|
-
<ActionsItem defaultIcon={<Volume2 />} label="読み上げ" status="error" />
|
|
155
|
-
</Flex>
|
|
156
|
-
</Flex>
|
|
157
|
-
|
|
158
|
-
{/* THE TWO READY-MADE ACTIONS, alone. */}
|
|
159
|
-
<Flex direction="col" gap="sm">
|
|
160
|
-
<Text size="sm" weight="medium">
|
|
161
|
-
ActionsCopy · ActionsFeedback
|
|
162
|
-
</Text>
|
|
163
|
-
<Text size="xs" tone="muted">
|
|
164
|
-
どちらも両方のボタンが画面に残る。押した側は aria-pressed
|
|
165
|
-
で示され、押していない側が消えることはない。
|
|
166
|
-
</Text>
|
|
167
|
-
<Flex gap="sm">
|
|
168
|
-
<ActionsCopy text={ANSWER} />
|
|
169
|
-
<ActionsFeedback value={vote} onChange={setVote} />
|
|
170
|
-
</Flex>
|
|
171
|
-
</Flex>
|
|
172
|
-
</PageContainer>
|
|
173
|
-
</AppShell>
|
|
174
|
-
);
|
|
175
|
-
}
|
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
import { Activity, Heading, Text } from "@godxjp/ui/general";
|
|
2
|
-
import {
|
|
3
|
-
Avatar,
|
|
4
|
-
AvatarFallback,
|
|
5
|
-
Card,
|
|
6
|
-
CardContent,
|
|
7
|
-
CardHeader,
|
|
8
|
-
CardTitle,
|
|
9
|
-
} from "@godxjp/ui/data-display";
|
|
10
|
-
import { Textarea } from "@godxjp/ui/data-entry";
|
|
11
|
-
import { Flex, PageContainer, Separator } from "@godxjp/ui/layout";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Activity · the official AMBIENT-motion primitive: a continuous, unbounded "something is happening
|
|
15
|
-
* right now, elsewhere". The LOOP counterpart to `Reveal`'s one-shot entrance.
|
|
16
|
-
*
|
|
17
|
-
* Reads the DS motion tokens (`--activity-interval`, `--activity-stagger-step`,
|
|
18
|
-
* `--activity-mark-offset`, `--activity-color`, `--ease-standard`) so a consumer never hand-rolls a
|
|
19
|
-
* looping `@keyframes` + its own `prefers-reduced-motion` guard. Under reduced motion the loop is
|
|
20
|
-
* dropped and each mark falls back to a DESIGNED resting state · three solid dots, a solid pulse
|
|
21
|
-
* mark, a bar segment parked at the reading-start · never to nothing.
|
|
22
|
-
*
|
|
23
|
-
* Composed only from real @godxjp/ui components. All copy is consumer-owned and localized.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
const MESSAGES = [
|
|
27
|
-
{ id: "m1", who: "田中", initials: "田", body: "在庫の締めは今日の18時でお願いします。" },
|
|
28
|
-
{ id: "m2", who: "佐藤", initials: "佐", body: "了解しました。倉庫Bの棚卸しを先に片付けます。" },
|
|
29
|
-
{ id: "m3", who: "田中", initials: "田", body: "助かります。差異があれば共有してください。" },
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
const TONES = [
|
|
33
|
-
{ tone: "muted", label: "muted · 既定(環境音)" },
|
|
34
|
-
{ tone: "default", label: "default · 前景色" },
|
|
35
|
-
{ tone: "primary", label: "primary · 主要導線" },
|
|
36
|
-
{ tone: "success", label: "success · 接続中" },
|
|
37
|
-
{ tone: "warning", label: "warning · 再接続中" },
|
|
38
|
-
{ tone: "destructive", label: "destructive · 録画中" },
|
|
39
|
-
{ tone: "info", label: "info · 同期中" },
|
|
40
|
-
] as const;
|
|
41
|
-
|
|
42
|
-
const SIZES = [
|
|
43
|
-
{ size: "xs", label: "xs" },
|
|
44
|
-
{ size: "sm", label: "sm(既定)" },
|
|
45
|
-
{ size: "md", label: "md" },
|
|
46
|
-
{ size: "lg", label: "lg" },
|
|
47
|
-
] as const;
|
|
48
|
-
|
|
49
|
-
export default function Demo() {
|
|
50
|
-
return (
|
|
51
|
-
<PageContainer
|
|
52
|
-
title="Activity"
|
|
53
|
-
subtitle="環境モーション(無限ループ)· モーショントークン準拠 · prefers-reduced-motion で静止フレームに退避"
|
|
54
|
-
>
|
|
55
|
-
<Flex direction="col" gap="lg">
|
|
56
|
-
{/* ── The real screen: a channel with a live typing affordance under the composer ── */}
|
|
57
|
-
<Card>
|
|
58
|
-
<CardHeader>
|
|
59
|
-
<CardTitle level={2}>#倉庫-運用</CardTitle>
|
|
60
|
-
</CardHeader>
|
|
61
|
-
<CardContent>
|
|
62
|
-
<Flex direction="col" gap="md">
|
|
63
|
-
{/* Ambient sync state at the top of the channel · the same primitive, `bar` mark. */}
|
|
64
|
-
<Activity variant="bar" tone="info" label="同期中…" />
|
|
65
|
-
|
|
66
|
-
{MESSAGES.map((message) => (
|
|
67
|
-
<Flex key={message.id} direction="row" gap="sm" align="start">
|
|
68
|
-
<Avatar>
|
|
69
|
-
<AvatarFallback>{message.initials}</AvatarFallback>
|
|
70
|
-
</Avatar>
|
|
71
|
-
<Flex direction="col" gap="xs">
|
|
72
|
-
<Text weight="medium">{message.who}</Text>
|
|
73
|
-
<Text tone="muted">{message.body}</Text>
|
|
74
|
-
</Flex>
|
|
75
|
-
</Flex>
|
|
76
|
-
))}
|
|
77
|
-
|
|
78
|
-
<Separator />
|
|
79
|
-
|
|
80
|
-
{/*
|
|
81
|
-
* The typing affordance. `announce` is left at its default `false`: typing flickers
|
|
82
|
-
* on and off with every socket event, and a live region there re-announces
|
|
83
|
-
* continuously. The row sits ABOVE the composer and keeps its own height, so the
|
|
84
|
-
* composer does not jump when the indicator appears or disappears.
|
|
85
|
-
*/}
|
|
86
|
-
<Activity label="佐藤さんが入力しています…" />
|
|
87
|
-
|
|
88
|
-
<Textarea aria-label="メッセージを入力" placeholder="メッセージを入力…" rows={2} />
|
|
89
|
-
</Flex>
|
|
90
|
-
</CardContent>
|
|
91
|
-
</Card>
|
|
92
|
-
|
|
93
|
-
{/* ── variant × every union value ── */}
|
|
94
|
-
<Card>
|
|
95
|
-
<CardHeader>
|
|
96
|
-
<CardTitle level={2}>variant · 3 つのマーク</CardTitle>
|
|
97
|
-
</CardHeader>
|
|
98
|
-
<CardContent>
|
|
99
|
-
<Flex direction="col" gap="md">
|
|
100
|
-
<Flex direction="col" gap="xs">
|
|
101
|
-
<Text size="xs" tone="muted">
|
|
102
|
-
dots(既定)· 3 点が順に浮く。“入力中” の省略記号の慣習。
|
|
103
|
-
</Text>
|
|
104
|
-
<Activity variant="dots" label="佐藤さんが入力しています…" />
|
|
105
|
-
</Flex>
|
|
106
|
-
<Flex direction="col" gap="xs">
|
|
107
|
-
<Text size="xs" tone="muted">
|
|
108
|
-
pulse · 単一の呼吸するマーク。ライブ / 録画中。
|
|
109
|
-
</Text>
|
|
110
|
-
<Activity variant="pulse" tone="destructive" label="録画中" />
|
|
111
|
-
</Flex>
|
|
112
|
-
<Flex direction="col" gap="xs">
|
|
113
|
-
<Text size="xs" tone="muted">
|
|
114
|
-
bar · 不確定スイープ。同期中 / ストリーミング中。
|
|
115
|
-
</Text>
|
|
116
|
-
<Activity variant="bar" tone="info" label="仕訳を同期しています…" />
|
|
117
|
-
</Flex>
|
|
118
|
-
</Flex>
|
|
119
|
-
</CardContent>
|
|
120
|
-
</Card>
|
|
121
|
-
|
|
122
|
-
{/* ── size × every union value ── */}
|
|
123
|
-
<Card>
|
|
124
|
-
<CardHeader>
|
|
125
|
-
<CardTitle level={2}>size · マークとラベルが同時にスケール</CardTitle>
|
|
126
|
-
</CardHeader>
|
|
127
|
-
<CardContent>
|
|
128
|
-
<Flex direction="col" gap="sm">
|
|
129
|
-
{SIZES.map((step) => (
|
|
130
|
-
<Activity key={step.size} size={step.size} label={`入力中… (${step.label})`} />
|
|
131
|
-
))}
|
|
132
|
-
</Flex>
|
|
133
|
-
</CardContent>
|
|
134
|
-
</Card>
|
|
135
|
-
|
|
136
|
-
{/* ── tone × every union value ── */}
|
|
137
|
-
<Card>
|
|
138
|
-
<CardHeader>
|
|
139
|
-
<CardTitle level={2}>tone · 意味づけされた配色(既定は muted)</CardTitle>
|
|
140
|
-
</CardHeader>
|
|
141
|
-
<CardContent>
|
|
142
|
-
<Flex direction="col" gap="sm">
|
|
143
|
-
{TONES.map((entry) => (
|
|
144
|
-
<Activity key={entry.tone} tone={entry.tone} label={entry.label} />
|
|
145
|
-
))}
|
|
146
|
-
</Flex>
|
|
147
|
-
</CardContent>
|
|
148
|
-
</Card>
|
|
149
|
-
|
|
150
|
-
{/* ── children / label / announce ── */}
|
|
151
|
-
<Card>
|
|
152
|
-
<CardHeader>
|
|
153
|
-
<CardTitle level={2}>ラベルと読み上げ</CardTitle>
|
|
154
|
-
</CardHeader>
|
|
155
|
-
<CardContent>
|
|
156
|
-
<Flex direction="col" gap="md">
|
|
157
|
-
<Flex direction="col" gap="xs">
|
|
158
|
-
<Text size="xs" tone="muted">
|
|
159
|
-
label のみ ·
|
|
160
|
-
マークの隣に可視テキストとして描画される。アニメーションだけで意味を運ばせない。
|
|
161
|
-
</Text>
|
|
162
|
-
<Activity label="佐藤さんが入力しています…" />
|
|
163
|
-
</Flex>
|
|
164
|
-
|
|
165
|
-
<Flex direction="col" gap="xs">
|
|
166
|
-
<Text size="xs" tone="muted">
|
|
167
|
-
children + label · children が可視スロットを持ち、label は sr-only の説明になる。
|
|
168
|
-
</Text>
|
|
169
|
-
<Activity label="佐藤さんが入力しています…">
|
|
170
|
-
<Text size="xs" tone="muted">
|
|
171
|
-
<Text as="strong" size="xs" weight="medium">
|
|
172
|
-
佐藤
|
|
173
|
-
</Text>
|
|
174
|
-
ほか 2 名
|
|
175
|
-
</Text>
|
|
176
|
-
</Activity>
|
|
177
|
-
</Flex>
|
|
178
|
-
|
|
179
|
-
<Flex direction="col" gap="xs">
|
|
180
|
-
<Text size="xs" tone="muted">
|
|
181
|
-
announce="polite" · ライブリージョンは label だけを包む。既定は
|
|
182
|
-
false(リージョンを一切出さない)。ソケットのたびに読み上げが走る面では使わないこと。
|
|
183
|
-
</Text>
|
|
184
|
-
<Activity announce="polite" tone="warning" label="接続を再試行しています…" />
|
|
185
|
-
</Flex>
|
|
186
|
-
|
|
187
|
-
<Flex direction="col" gap="xs">
|
|
188
|
-
<Text size="xs" tone="muted">
|
|
189
|
-
label なし · 装飾のみ。支援技術には何も伝わらないので、意味を持つ場面では必ず
|
|
190
|
-
label を渡す。
|
|
191
|
-
</Text>
|
|
192
|
-
<Activity variant="pulse" />
|
|
193
|
-
</Flex>
|
|
194
|
-
</Flex>
|
|
195
|
-
</CardContent>
|
|
196
|
-
</Card>
|
|
197
|
-
|
|
198
|
-
{/*
|
|
199
|
-
* gh#830 — "there is no standalone spinner". There is; this is it. What was missing was
|
|
200
|
-
* the signpost, so it lives here, on the page someone lands on.
|
|
201
|
-
*/}
|
|
202
|
-
<Card>
|
|
203
|
-
<CardHeader>
|
|
204
|
-
<CardTitle level={2}>スピナーを探して来た場合(antd Spin との対応)</CardTitle>
|
|
205
|
-
</CardHeader>
|
|
206
|
-
<CardContent>
|
|
207
|
-
<Flex direction="col" gap="md">
|
|
208
|
-
<Text tone="muted">
|
|
209
|
-
antd の Spin は spinning という真偽値ひとつで 4
|
|
210
|
-
つの異なる状況を兼ねている。ここではそれが 4
|
|
211
|
-
つの別コンポーネントになっている。見た目ではなく、支援技術に対する意味が
|
|
212
|
-
それぞれ違うからで、形(「丸いやつが欲しい」)で選ぶと、常駐インジケータが
|
|
213
|
-
スクリーンリーダーに「このページはずっと処理中です」と言い続けることになる。
|
|
214
|
-
</Text>
|
|
215
|
-
|
|
216
|
-
<Flex direction="col" gap="sm">
|
|
217
|
-
<Flex direction="col" gap="xs">
|
|
218
|
-
<Text weight="medium">1 · どこか別の場所で、無期限に、何かが起きている</Text>
|
|
219
|
-
<Text size="xs" tone="muted">
|
|
220
|
-
→ この Activity。既定ではライブリージョンを一切出さない。
|
|
221
|
-
</Text>
|
|
222
|
-
<Activity variant="bar" tone="info" label="同期中…" />
|
|
223
|
-
</Flex>
|
|
224
|
-
|
|
225
|
-
<Separator />
|
|
226
|
-
|
|
227
|
-
<Flex direction="col" gap="xs">
|
|
228
|
-
<Text weight="medium">2 · この領域の「中身」が読み込み中</Text>
|
|
229
|
-
<Text size="xs" tone="muted">
|
|
230
|
-
→ Skeleton(aria-busy + aria-live と、形のあるプレースホルダ)。これが antd Spin
|
|
231
|
-
の ラッパー形態(<Spin spinning>{"{children}"}</Spin>)に当たる。
|
|
232
|
-
クエリのライフサイクル全体(skeleton → 前提未充足 → 空 →
|
|
233
|
-
エラー、原因別の再試行つき)なら DataState。
|
|
234
|
-
</Text>
|
|
235
|
-
</Flex>
|
|
236
|
-
|
|
237
|
-
<Separator />
|
|
238
|
-
|
|
239
|
-
<Flex direction="col" gap="xs">
|
|
240
|
-
<Text weight="medium">3 · 「この操作」が実行中</Text>
|
|
241
|
-
<Text size="xs" tone="muted">
|
|
242
|
-
→ Button の loading。aria-busy はコントロール自身に付き、起動もブロックされる。
|
|
243
|
-
</Text>
|
|
244
|
-
</Flex>
|
|
245
|
-
|
|
246
|
-
<Separator />
|
|
247
|
-
|
|
248
|
-
<Flex direction="col" gap="xs">
|
|
249
|
-
<Text weight="medium">4 · 進捗の数値が分かっている</Text>
|
|
250
|
-
<Text size="xs" tone="muted">
|
|
251
|
-
→ Progress。数値が分からないときが Activity の bar
|
|
252
|
-
で、それがこの体系の不確定インジケータ。円が回る形ではなく走るバーなのは、
|
|
253
|
-
システムとして決めたことであって、欠落ではない。antd の percent="auto"
|
|
254
|
-
(100% に決して到達しない合成の進捗率)は意図的に移植していない。
|
|
255
|
-
分からない待ち時間に作った数字を被せるのは、確定に見える嘘だから。
|
|
256
|
-
</Text>
|
|
257
|
-
</Flex>
|
|
258
|
-
</Flex>
|
|
259
|
-
</Flex>
|
|
260
|
-
</CardContent>
|
|
261
|
-
</Card>
|
|
262
|
-
|
|
263
|
-
<Card>
|
|
264
|
-
<CardHeader>
|
|
265
|
-
<CardTitle level={2}>prefers-reduced-motion</CardTitle>
|
|
266
|
-
</CardHeader>
|
|
267
|
-
<CardContent>
|
|
268
|
-
<Flex direction="col" gap="sm">
|
|
269
|
-
<Heading level={3}>静止フレームは「設計されたもの」であって「無」ではない</Heading>
|
|
270
|
-
<Text tone="muted">
|
|
271
|
-
OS
|
|
272
|
-
のモーション低減設定では、ループを止めるだけでマークは可視の休止状態に落ちる。dots
|
|
273
|
-
は 3 点が実体のまま並ぶ静的な省略記号、pulse は塗りつぶしのマーク、bar
|
|
274
|
-
は読み始め側に停めたセグメント(満杯にすると「完了」に読めてしまう)。ラベルはどちらの場合も可視テキストなので、意味は必ず伝わる。レイアウトシフトも起きない(WCAG
|
|
275
|
-
2.2 SC 2.3.3 / SC 2.2.2)。
|
|
276
|
-
</Text>
|
|
277
|
-
<Text tone="muted">
|
|
278
|
-
テーマ側のつまみ: --activity-interval · --activity-stagger-step ·
|
|
279
|
-
--activity-mark-size · --activity-mark-offset · --activity-mark-rest-alpha ·
|
|
280
|
-
--activity-pulse-mark-size · --activity-gap · --activity-font-size · --activity-bar
|
|
281
|
-
· --activity-color(--duration-loop がループ全体の基準間隔)。
|
|
282
|
-
</Text>
|
|
283
|
-
</Flex>
|
|
284
|
-
</CardContent>
|
|
285
|
-
</Card>
|
|
286
|
-
</Flex>
|
|
287
|
-
</PageContainer>
|
|
288
|
-
);
|
|
289
|
-
}
|