@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.
- 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/color.d.ts +7 -0
- package/dist/email/color.js +14 -1
- package/dist/email/index.d.ts +10 -2
- package/dist/email/index.js +23 -2
- package/dist/email/tokens.generated.d.ts +120 -2
- package/dist/email/tokens.generated.js +119 -1
- 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/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-tokens.css +41 -0
- package/dist/themes/godx.css +3 -0
- package/dist/themes/godx.d.ts +16 -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 +105 -0
- package/package.json +59 -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 +542 -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,295 +0,0 @@
|
|
|
1
|
-
import { useRef, useState } from "react";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
Badge,
|
|
5
|
-
Card,
|
|
6
|
-
CardContent,
|
|
7
|
-
CardDescription,
|
|
8
|
-
CardHeader,
|
|
9
|
-
CardTitle,
|
|
10
|
-
Descriptions,
|
|
11
|
-
ScrollArea,
|
|
12
|
-
} from "@godxjp/ui/data-display";
|
|
13
|
-
import { Heading, Paragraph, Text } from "@godxjp/ui/general";
|
|
14
|
-
import { Flex, PageContainer } from "@godxjp/ui/layout";
|
|
15
|
-
import { Anchor, type AnchorItemProp } from "@godxjp/ui/navigation";
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Anchor — Ant Design `Anchor` (6.6.5). The in-page section navigation, and the only thing in the
|
|
19
|
-
* library that COMPUTES which section is current.
|
|
20
|
-
*
|
|
21
|
-
* This page is built out of the cases that break a table of contents, not the one that flatters it:
|
|
22
|
-
*
|
|
23
|
-
* — a FORTY-entry rail beside a TWO-entry one, in the same screen, because the rail that works at
|
|
24
|
-
* two entries is not the rail that works at forty (it scrolls, and the ink rail has to keep up);
|
|
25
|
-
* — a 71-character UNBREAKABLE label, which is a real section title (a config key, a German
|
|
26
|
-
* compound, a URL) and the shape that widens a rail until the page grows a scrollbar;
|
|
27
|
-
* — CJK beside Latin in the same list, where the same nominal size is a taller line box;
|
|
28
|
-
* — a section TALLER than its scrollport, which is where an IntersectionObserver band goes blank
|
|
29
|
-
* and this component keeps answering;
|
|
30
|
-
* — the HORIZONTAL direction, which is what a narrow viewport collapses to;
|
|
31
|
-
* — and a bounded `getContainer`, because a page is very often not the thing that scrolls.
|
|
32
|
-
*
|
|
33
|
-
* Composed only from real @godxjp/ui components.
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
/** A real section title that cannot be broken anywhere. Exactly 71 characters. */
|
|
37
|
-
const UNBREAKABLE = "RegionalDeploymentConfigurationParameterNamespaceIdentifierOverrides123";
|
|
38
|
-
|
|
39
|
-
const PRIMER: AnchorItemProp[] = [
|
|
40
|
-
{ key: "p1", href: "#primer-what", title: "What it resolves" },
|
|
41
|
-
{ key: "p2", href: "#primer-why", title: "Why not sticky" },
|
|
42
|
-
];
|
|
43
|
-
|
|
44
|
-
const CHAPTERS = [
|
|
45
|
-
{ id: "ch-intro", latin: "Introduction", cjk: "はじめに" },
|
|
46
|
-
{ id: "ch-scope", latin: "Scope and audience", cjk: "対象範囲と読者" },
|
|
47
|
-
{ id: "ch-terms", latin: "Defined terms", cjk: "用語の定義" },
|
|
48
|
-
{ id: "ch-accounts", latin: "Accounts", cjk: "アカウント" },
|
|
49
|
-
{ id: "ch-identity", latin: "Identity verification", cjk: "本人確認" },
|
|
50
|
-
{ id: "ch-billing", latin: "Billing", cjk: "請求" },
|
|
51
|
-
{ id: "ch-invoices", latin: "Invoices and receipts", cjk: "請求書と領収書" },
|
|
52
|
-
{ id: "ch-taxes", latin: "Taxes", cjk: "税" },
|
|
53
|
-
{ id: "ch-refunds", latin: "Refunds", cjk: "返金" },
|
|
54
|
-
{ id: "ch-plans", latin: "Plans", cjk: "プラン" },
|
|
55
|
-
{ id: "ch-limits", latin: "Usage limits", cjk: "利用上限" },
|
|
56
|
-
{ id: "ch-fair-use", latin: "Fair use", cjk: "公正利用" },
|
|
57
|
-
{ id: "ch-data", latin: "Data ownership", cjk: "データの帰属" },
|
|
58
|
-
{ id: "ch-retention", latin: "Retention", cjk: "保持期間" },
|
|
59
|
-
{ id: "ch-deletion", latin: "Deletion", cjk: "削除" },
|
|
60
|
-
{ id: "ch-export", latin: "Export", cjk: "エクスポート" },
|
|
61
|
-
{ id: "ch-security", latin: "Security", cjk: "セキュリティ" },
|
|
62
|
-
{ id: "ch-incident", latin: "Incident response", cjk: "インシデント対応" },
|
|
63
|
-
{ id: "ch-subprocessors", latin: "Sub-processors", cjk: "再委託先" },
|
|
64
|
-
{ id: "ch-transfers", latin: "International transfers", cjk: "国際移転" },
|
|
65
|
-
{ id: "ch-availability", latin: "Availability", cjk: "可用性" },
|
|
66
|
-
{ id: "ch-maintenance", latin: "Maintenance windows", cjk: "メンテナンス" },
|
|
67
|
-
{ id: "ch-support", latin: "Support", cjk: "サポート" },
|
|
68
|
-
{ id: "ch-escalation", latin: "Escalation", cjk: "エスカレーション" },
|
|
69
|
-
{ id: "ch-credits", latin: "Service credits", cjk: "サービスクレジット" },
|
|
70
|
-
{ id: "ch-acceptable", latin: "Acceptable use", cjk: "禁止事項" },
|
|
71
|
-
{ id: "ch-content", latin: "Customer content", cjk: "顧客コンテンツ" },
|
|
72
|
-
{ id: "ch-ip", latin: "Intellectual property", cjk: "知的財産" },
|
|
73
|
-
{ id: "ch-feedback", latin: "Feedback", cjk: "フィードバック" },
|
|
74
|
-
{ id: "ch-publicity", latin: "Publicity", cjk: "公表" },
|
|
75
|
-
{ id: "ch-warranty", latin: "Warranties", cjk: "保証" },
|
|
76
|
-
{ id: "ch-liability", latin: "Limitation of liability", cjk: "責任の制限" },
|
|
77
|
-
{ id: "ch-indemnity", latin: "Indemnity", cjk: "補償" },
|
|
78
|
-
{ id: "ch-term", latin: "Term", cjk: "契約期間" },
|
|
79
|
-
{ id: "ch-suspension", latin: "Suspension", cjk: "利用停止" },
|
|
80
|
-
{ id: "ch-termination", latin: "Termination", cjk: "解約" },
|
|
81
|
-
{ id: "ch-survival", latin: "Survival", cjk: "存続条項" },
|
|
82
|
-
{ id: "ch-law", latin: "Governing law", cjk: "準拠法" },
|
|
83
|
-
{ id: "ch-disputes", latin: "Disputes", cjk: "紛争解決" },
|
|
84
|
-
{ id: "ch-namespace", latin: UNBREAKABLE, cjk: "名前空間の上書き" },
|
|
85
|
-
{ id: "ch-changes", latin: "Changes to these terms", cjk: "本規約の変更" },
|
|
86
|
-
{ id: "ch-contact", latin: "Contact", cjk: "お問い合わせ" },
|
|
87
|
-
];
|
|
88
|
-
|
|
89
|
-
const CHAPTER_ITEMS: AnchorItemProp[] = CHAPTERS.map((chapter) => ({
|
|
90
|
-
key: chapter.id,
|
|
91
|
-
href: `#${chapter.id}`,
|
|
92
|
-
// CJK beside Latin on ONE row: the same nominal size, a taller line box, and the rail has to
|
|
93
|
-
// hold both without the ink rail losing its alignment.
|
|
94
|
-
title: (
|
|
95
|
-
<>
|
|
96
|
-
{chapter.cjk} · {chapter.latin}
|
|
97
|
-
</>
|
|
98
|
-
),
|
|
99
|
-
}));
|
|
100
|
-
|
|
101
|
-
const HORIZONTAL: AnchorItemProp[] = [
|
|
102
|
-
{ key: "h-overview", href: "#bar-overview", title: "概要 · Overview" },
|
|
103
|
-
{ key: "h-pricing", href: "#bar-pricing", title: "価格 · Pricing" },
|
|
104
|
-
{ key: "h-security", href: "#bar-security", title: "セキュリティ · Security" },
|
|
105
|
-
{ key: "h-faq", href: "#bar-faq", title: "よくある質問 · FAQ" },
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
function Chapter({ id, title, lines }: { id: string; title: string; lines: number }) {
|
|
109
|
-
return (
|
|
110
|
-
<section id={id} aria-labelledby={`${id}-heading`}>
|
|
111
|
-
<Heading level={3} id={`${id}-heading`}>
|
|
112
|
-
{title}
|
|
113
|
-
</Heading>
|
|
114
|
-
{Array.from({ length: lines }, (_, line) => (
|
|
115
|
-
<Paragraph key={line}>
|
|
116
|
-
本条は{title}について定めます。The clause is deliberately long enough that a reader spends
|
|
117
|
-
several scroll gestures inside it, which is the case an IntersectionObserver band cannot
|
|
118
|
-
answer and a decision line can.
|
|
119
|
-
</Paragraph>
|
|
120
|
-
))}
|
|
121
|
-
</section>
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export default function Demo() {
|
|
126
|
-
const primerRef = useRef<HTMLDivElement>(null);
|
|
127
|
-
const chaptersRef = useRef<HTMLDivElement>(null);
|
|
128
|
-
const barRef = useRef<HTMLDivElement>(null);
|
|
129
|
-
const [reading, setReading] = useState<string>("");
|
|
130
|
-
|
|
131
|
-
return (
|
|
132
|
-
<PageContainer
|
|
133
|
-
title="Anchor"
|
|
134
|
-
subtitle="antd Anchor · the decision line, the suppressed click, the landing hash, aria-current=location"
|
|
135
|
-
>
|
|
136
|
-
<Flex direction="col" gap="lg">
|
|
137
|
-
<Card>
|
|
138
|
-
<CardHeader>
|
|
139
|
-
<CardTitle>1 · Two entries, and what the component reports</CardTitle>
|
|
140
|
-
<CardDescription>
|
|
141
|
-
The smallest rail there is, bounded by its own `getContainer` rather than the page.
|
|
142
|
-
`onValueChange` hands back the href the SCROLL POSITION resolved, which is the value
|
|
143
|
-
printed below it.
|
|
144
|
-
</CardDescription>
|
|
145
|
-
</CardHeader>
|
|
146
|
-
<CardContent>
|
|
147
|
-
<Flex gap="lg" align="start">
|
|
148
|
-
<Anchor
|
|
149
|
-
affix={false}
|
|
150
|
-
showInkInFixed
|
|
151
|
-
label="Primer sections"
|
|
152
|
-
items={PRIMER}
|
|
153
|
-
getContainer={() => primerRef.current ?? window}
|
|
154
|
-
onValueChange={setReading}
|
|
155
|
-
/>
|
|
156
|
-
<ScrollArea viewportRef={primerRef} className="h-64 flex-1" label="Primer">
|
|
157
|
-
<Flex direction="col" gap="md">
|
|
158
|
-
<Chapter id="primer-what" title="What it resolves" lines={4} />
|
|
159
|
-
<Chapter id="primer-why" title="Why not sticky" lines={4} />
|
|
160
|
-
</Flex>
|
|
161
|
-
</ScrollArea>
|
|
162
|
-
</Flex>
|
|
163
|
-
<Descriptions
|
|
164
|
-
items={[
|
|
165
|
-
{ label: "onValueChange", children: <Text>{reading || "—"}</Text> },
|
|
166
|
-
{
|
|
167
|
-
label: "aria-current",
|
|
168
|
-
children: <Badge variant="secondary">location</Badge>,
|
|
169
|
-
},
|
|
170
|
-
]}
|
|
171
|
-
/>
|
|
172
|
-
</CardContent>
|
|
173
|
-
</Card>
|
|
174
|
-
|
|
175
|
-
<Card>
|
|
176
|
-
<CardHeader>
|
|
177
|
-
<CardTitle>2 · Forty-two entries, CJK beside Latin, and a 71-character label</CardTitle>
|
|
178
|
-
<CardDescription>
|
|
179
|
-
The rail that works at two entries is not the rail that works at forty-two: this one
|
|
180
|
-
scrolls, the ink rail keeps up, and the `{UNBREAKABLE.length}`-character unbreakable
|
|
181
|
-
title wraps instead of widening the column until the page grows a scrollbar.
|
|
182
|
-
</CardDescription>
|
|
183
|
-
</CardHeader>
|
|
184
|
-
<CardContent>
|
|
185
|
-
{/* Side by side from md; on a phone the rail stacks above the text it indexes. A 256px
|
|
186
|
-
rail beside a 244px card left the chapters a column one glyph wide (gh#965). */}
|
|
187
|
-
<Flex direction={{ base: "col", md: "row" }} gap="lg" align="start">
|
|
188
|
-
<ScrollArea className="h-48 w-full shrink-0 md:h-96 md:w-64" label="Contents">
|
|
189
|
-
<Anchor
|
|
190
|
-
affix={false}
|
|
191
|
-
showInkInFixed
|
|
192
|
-
label="Agreement contents"
|
|
193
|
-
items={CHAPTER_ITEMS}
|
|
194
|
-
getContainer={() => chaptersRef.current ?? window}
|
|
195
|
-
/>
|
|
196
|
-
</ScrollArea>
|
|
197
|
-
<ScrollArea
|
|
198
|
-
viewportRef={chaptersRef}
|
|
199
|
-
className="h-96 w-full md:w-auto md:flex-1"
|
|
200
|
-
label="Agreement"
|
|
201
|
-
>
|
|
202
|
-
<Flex direction="col" gap="md">
|
|
203
|
-
{CHAPTERS.map((chapter) => (
|
|
204
|
-
<Chapter
|
|
205
|
-
key={chapter.id}
|
|
206
|
-
id={chapter.id}
|
|
207
|
-
title={`${chapter.cjk} · ${chapter.latin}`}
|
|
208
|
-
// One chapter is far taller than the scrollport on purpose — the case a
|
|
209
|
-
// band-based scrollspy cannot answer and a decision line can.
|
|
210
|
-
lines={chapter.id === "ch-billing" ? 24 : 3}
|
|
211
|
-
/>
|
|
212
|
-
))}
|
|
213
|
-
</Flex>
|
|
214
|
-
</ScrollArea>
|
|
215
|
-
</Flex>
|
|
216
|
-
</CardContent>
|
|
217
|
-
</Card>
|
|
218
|
-
|
|
219
|
-
<Card>
|
|
220
|
-
<CardHeader>
|
|
221
|
-
<CardTitle>3 · direction="horizontal" — the narrow case</CardTitle>
|
|
222
|
-
<CardDescription>
|
|
223
|
-
One row that scrolls inline rather than wrapping onto a second, because the ink rail
|
|
224
|
-
has to stay beside the label it belongs to. Nesting is not available here, and Ant
|
|
225
|
-
Design says the same.
|
|
226
|
-
</CardDescription>
|
|
227
|
-
</CardHeader>
|
|
228
|
-
<CardContent>
|
|
229
|
-
<Anchor
|
|
230
|
-
affix={false}
|
|
231
|
-
showInkInFixed
|
|
232
|
-
direction="horizontal"
|
|
233
|
-
label="Page sections"
|
|
234
|
-
items={HORIZONTAL}
|
|
235
|
-
getContainer={() => barRef.current ?? window}
|
|
236
|
-
/>
|
|
237
|
-
<ScrollArea viewportRef={barRef} className="h-64" label="Sections">
|
|
238
|
-
<Flex direction="col" gap="md">
|
|
239
|
-
<Chapter id="bar-overview" title="概要 · Overview" lines={3} />
|
|
240
|
-
<Chapter id="bar-pricing" title="価格 · Pricing" lines={3} />
|
|
241
|
-
<Chapter id="bar-security" title="セキュリティ · Security" lines={3} />
|
|
242
|
-
<Chapter id="bar-faq" title="よくある質問 · FAQ" lines={3} />
|
|
243
|
-
</Flex>
|
|
244
|
-
</ScrollArea>
|
|
245
|
-
</CardContent>
|
|
246
|
-
</Card>
|
|
247
|
-
|
|
248
|
-
<Card>
|
|
249
|
-
<CardHeader>
|
|
250
|
-
<CardTitle>4 · Against the page, pinned by Affix</CardTitle>
|
|
251
|
-
<CardDescription>
|
|
252
|
-
The default. `affix` is `true`, so the rail pins itself once it reaches the line;
|
|
253
|
-
`targetOffsetBlockStart` is the room a clicked section leaves for whatever is pinned
|
|
254
|
-
above it. Landing on one of these hashes selects the entry with no scroll event at
|
|
255
|
-
all, and the click moves FOCUS to the section, not just the scroll position.
|
|
256
|
-
</CardDescription>
|
|
257
|
-
</CardHeader>
|
|
258
|
-
<CardContent>
|
|
259
|
-
<Flex gap="lg" align="start">
|
|
260
|
-
{/* A pinned side rail has no room on a phone: at 320px it was squeezed to 58px and
|
|
261
|
-
broke "Gamma" mid-word. Documentation sites drop the in-page rail below md. */}
|
|
262
|
-
<Flex hideBelow="md">
|
|
263
|
-
<Anchor
|
|
264
|
-
offsetBlockStart={16}
|
|
265
|
-
targetOffsetBlockStart={24}
|
|
266
|
-
label="On this page"
|
|
267
|
-
items={[
|
|
268
|
-
{ key: "page-a", href: "#page-alpha", title: "Alpha · 第一章" },
|
|
269
|
-
{
|
|
270
|
-
key: "page-b",
|
|
271
|
-
href: "#page-beta",
|
|
272
|
-
title: "Beta · 第二章",
|
|
273
|
-
children: [
|
|
274
|
-
{ key: "page-b1", href: "#page-beta-one", title: "Beta, part one" },
|
|
275
|
-
{ key: "page-b2", href: "#page-beta-two", title: "Beta, part two" },
|
|
276
|
-
],
|
|
277
|
-
},
|
|
278
|
-
{ key: "page-c", href: "#page-gamma", title: "Gamma · 第三章" },
|
|
279
|
-
]}
|
|
280
|
-
/>
|
|
281
|
-
</Flex>
|
|
282
|
-
<Flex direction="col" gap="md" className="flex-1">
|
|
283
|
-
<Chapter id="page-alpha" title="Alpha · 第一章" lines={6} />
|
|
284
|
-
<Chapter id="page-beta" title="Beta · 第二章" lines={2} />
|
|
285
|
-
<Chapter id="page-beta-one" title="Beta, part one" lines={6} />
|
|
286
|
-
<Chapter id="page-beta-two" title="Beta, part two" lines={6} />
|
|
287
|
-
<Chapter id="page-gamma" title="Gamma · 第三章" lines={8} />
|
|
288
|
-
</Flex>
|
|
289
|
-
</Flex>
|
|
290
|
-
</CardContent>
|
|
291
|
-
</Card>
|
|
292
|
-
</Flex>
|
|
293
|
-
</PageContainer>
|
|
294
|
-
);
|
|
295
|
-
}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { AppProvider } from "@godxjp/ui/app";
|
|
2
|
-
import {
|
|
3
|
-
Avatar,
|
|
4
|
-
AvatarFallback,
|
|
5
|
-
Card,
|
|
6
|
-
CardContent,
|
|
7
|
-
CardDescription,
|
|
8
|
-
CardHeader,
|
|
9
|
-
CardTitle,
|
|
10
|
-
} from "@godxjp/ui/data-display";
|
|
11
|
-
import { Text } from "@godxjp/ui/general";
|
|
12
|
-
import { Flex, PageContainer, Topbar, TopbarItem } from "@godxjp/ui/layout";
|
|
13
|
-
import { AppSettingPicker } from "@godxjp/ui/navigation";
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* AppSettingPicker — ONE provider-bound Select for any single AppProvider setting,
|
|
17
|
-
* chosen via `kind` (locale/timezone/date/time plus theme/brand/density/fontSize). It replaces the
|
|
18
|
-
* former Locale/Timezone/Date-format/Time-format pickers (4 components → 1). Mount under
|
|
19
|
-
* <AppProvider> and it reads/writes the matching context with NO value/onValueChange; pass
|
|
20
|
-
* those to control it instead. Composed only from real @godxjp/ui components.
|
|
21
|
-
*/
|
|
22
|
-
export default function Demo() {
|
|
23
|
-
return (
|
|
24
|
-
<AppProvider
|
|
25
|
-
defaultLocale="ja"
|
|
26
|
-
defaultTimezone="Asia/Tokyo"
|
|
27
|
-
defaultDateFormat="iso"
|
|
28
|
-
defaultTimeFormat="24h"
|
|
29
|
-
persist={false}
|
|
30
|
-
>
|
|
31
|
-
<PageContainer
|
|
32
|
-
title="AppSettingPicker"
|
|
33
|
-
subtitle="kind で 1 つの AppProvider 設定を読み書きする統合ピッカー"
|
|
34
|
-
>
|
|
35
|
-
<Flex direction="col" gap="lg">
|
|
36
|
-
<Card>
|
|
37
|
-
<CardHeader>
|
|
38
|
-
<CardTitle level={2}>インライン表示</CardTitle>
|
|
39
|
-
</CardHeader>
|
|
40
|
-
<CardContent>
|
|
41
|
-
<Flex gap="md" align="center">
|
|
42
|
-
<Text>表示言語</Text>
|
|
43
|
-
<AppSettingPicker kind="locale" appearance="inline" id="setting-inline" />
|
|
44
|
-
</Flex>
|
|
45
|
-
</CardContent>
|
|
46
|
-
</Card>
|
|
47
|
-
<Card>
|
|
48
|
-
<CardHeader>
|
|
49
|
-
<CardTitle level={2}>kind で対象設定を選ぶ</CardTitle>
|
|
50
|
-
<CardDescription>
|
|
51
|
-
旧 Locale / Timezone / DateFormat / TimeFormat ピッカーを 1 コンポーネントに統合。
|
|
52
|
-
<AppProvider> 配下に置くと value / onValueChange
|
|
53
|
-
なしでコンテキストを読み書きする。
|
|
54
|
-
</CardDescription>
|
|
55
|
-
</CardHeader>
|
|
56
|
-
<CardContent>
|
|
57
|
-
<Flex direction="row" gap="md" wrap>
|
|
58
|
-
<Flex direction="col" gap="sm" className="min-w-40 flex-1">
|
|
59
|
-
<Text weight="medium">表示言語</Text>
|
|
60
|
-
{/* locale defaults to the icon-only switcher; a labeled settings-form row opts
|
|
61
|
-
into the full trigger with an explicit appearance="labeled". */}
|
|
62
|
-
<AppSettingPicker kind="locale" appearance="labeled" id="setting-locale" />
|
|
63
|
-
</Flex>
|
|
64
|
-
<Flex direction="col" gap="sm" className="min-w-56 flex-1">
|
|
65
|
-
<Text weight="medium">タイムゾーン</Text>
|
|
66
|
-
<AppSettingPicker kind="timezone" id="setting-timezone" />
|
|
67
|
-
</Flex>
|
|
68
|
-
<Flex direction="col" gap="sm" className="min-w-44 flex-1">
|
|
69
|
-
<Text weight="medium">日付フォーマット</Text>
|
|
70
|
-
<AppSettingPicker kind="dateFormat" id="setting-date-format" />
|
|
71
|
-
</Flex>
|
|
72
|
-
<Flex direction="col" gap="sm" className="min-w-44 flex-1">
|
|
73
|
-
<Text weight="medium">時刻フォーマット</Text>
|
|
74
|
-
<AppSettingPicker kind="timeFormat" id="setting-time-format" />
|
|
75
|
-
</Flex>
|
|
76
|
-
<Flex direction="col" gap="sm" className="min-w-36 flex-1">
|
|
77
|
-
<Text weight="medium">テーマ</Text>
|
|
78
|
-
<AppSettingPicker kind="theme" id="setting-theme" />
|
|
79
|
-
</Flex>
|
|
80
|
-
<Flex direction="col" gap="sm" className="min-w-44 flex-1">
|
|
81
|
-
<Text weight="medium">ブランド</Text>
|
|
82
|
-
<AppSettingPicker kind="brand" id="setting-brand" />
|
|
83
|
-
</Flex>
|
|
84
|
-
<Flex direction="col" gap="sm" className="min-w-40 flex-1">
|
|
85
|
-
<Text weight="medium">密度</Text>
|
|
86
|
-
<AppSettingPicker kind="density" id="setting-density" />
|
|
87
|
-
</Flex>
|
|
88
|
-
<Flex direction="col" gap="sm" className="min-w-36 flex-1">
|
|
89
|
-
<Text weight="medium">文字サイズ</Text>
|
|
90
|
-
<AppSettingPicker kind="fontSize" id="setting-font-size" />
|
|
91
|
-
</Flex>
|
|
92
|
-
</Flex>
|
|
93
|
-
</CardContent>
|
|
94
|
-
</Card>
|
|
95
|
-
|
|
96
|
-
<Card>
|
|
97
|
-
<CardHeader>
|
|
98
|
-
<CardTitle level={2}>狭いコンテナと長いラベル</CardTitle>
|
|
99
|
-
<CardDescription>
|
|
100
|
-
320px 相当で長いタイムゾーン名の折返し・クリッピングを確認する。
|
|
101
|
-
</CardDescription>
|
|
102
|
-
</CardHeader>
|
|
103
|
-
<CardContent>
|
|
104
|
-
<Card className="max-w-80" lang="ja">
|
|
105
|
-
<CardContent>
|
|
106
|
-
<AppSettingPicker kind="timezone" id="setting-timezone-narrow" />
|
|
107
|
-
</CardContent>
|
|
108
|
-
</Card>
|
|
109
|
-
</CardContent>
|
|
110
|
-
</Card>
|
|
111
|
-
|
|
112
|
-
<Card>
|
|
113
|
-
<CardHeader>
|
|
114
|
-
<CardTitle level={2}>アイコンのみ(トップバー)</CardTitle>
|
|
115
|
-
<CardDescription>
|
|
116
|
-
appearance="icon" は正方形トリガーとローカライズ済み accessible name
|
|
117
|
-
を保持し、選択肢はメニュー内で完全表示する。
|
|
118
|
-
</CardDescription>
|
|
119
|
-
</CardHeader>
|
|
120
|
-
<CardContent>
|
|
121
|
-
<Topbar
|
|
122
|
-
start={
|
|
123
|
-
<Avatar className="rounded-md">
|
|
124
|
-
<AvatarFallback>G</AvatarFallback>
|
|
125
|
-
</Avatar>
|
|
126
|
-
}
|
|
127
|
-
end={
|
|
128
|
-
<Flex direction="row" gap="sm" align="center">
|
|
129
|
-
<AppSettingPicker kind="locale" appearance="inline" id="topbar-locale-inline" />
|
|
130
|
-
<AppSettingPicker kind="locale" appearance="icon" id="topbar-locale-icon" />
|
|
131
|
-
</Flex>
|
|
132
|
-
}
|
|
133
|
-
/>
|
|
134
|
-
</CardContent>
|
|
135
|
-
</Card>
|
|
136
|
-
|
|
137
|
-
<Card>
|
|
138
|
-
<CardHeader>
|
|
139
|
-
<CardTitle level={2}>バーのセル(appearance="bar")</CardTitle>
|
|
140
|
-
<CardDescription>
|
|
141
|
-
<code>icon</code> と同じ構造上の省略を保ったまま、箱だけがバーの
|
|
142
|
-
<strong>セル</strong>になる。バーの高さいっぱいに伸び、角は
|
|
143
|
-
<code>--topbar-item-radius</code>(<code>TopbarItem</code> と同じつまみ)で四角い。
|
|
144
|
-
ホバーの面はバーそのものを塗る。
|
|
145
|
-
<code>icon</code> をバーに置くと <code>--control-height</code>
|
|
146
|
-
の丸い錠剤が背の高い帯の中に浮き、バー本来のクロームとは別系統に読める。
|
|
147
|
-
</CardDescription>
|
|
148
|
-
</CardHeader>
|
|
149
|
-
<CardContent>
|
|
150
|
-
<Topbar
|
|
151
|
-
start={<TopbarItem>プロジェクト</TopbarItem>}
|
|
152
|
-
end={
|
|
153
|
-
<>
|
|
154
|
-
<AppSettingPicker kind="locale" appearance="bar" id="topbar-locale-bar" />
|
|
155
|
-
<AppSettingPicker kind="theme" appearance="bar" id="topbar-theme-bar" />
|
|
156
|
-
</>
|
|
157
|
-
}
|
|
158
|
-
/>
|
|
159
|
-
</CardContent>
|
|
160
|
-
</Card>
|
|
161
|
-
|
|
162
|
-
<Card>
|
|
163
|
-
<CardHeader>
|
|
164
|
-
<CardTitle level={2}>無効化</CardTitle>
|
|
165
|
-
<CardDescription>disabled で操作を止める。</CardDescription>
|
|
166
|
-
</CardHeader>
|
|
167
|
-
<CardContent>
|
|
168
|
-
<Flex direction="col" gap="sm" className="max-w-56">
|
|
169
|
-
<Text weight="medium">タイムゾーン (disabled)</Text>
|
|
170
|
-
<AppSettingPicker kind="timezone" id="setting-timezone-disabled" disabled />
|
|
171
|
-
</Flex>
|
|
172
|
-
</CardContent>
|
|
173
|
-
</Card>
|
|
174
|
-
</Flex>
|
|
175
|
-
</PageContainer>
|
|
176
|
-
</AppProvider>
|
|
177
|
-
);
|
|
178
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { AppProvider } from "@godxjp/ui/app";
|
|
2
|
-
import {
|
|
3
|
-
Avatar,
|
|
4
|
-
AvatarFallback,
|
|
5
|
-
Card,
|
|
6
|
-
CardContent,
|
|
7
|
-
CardDescription,
|
|
8
|
-
CardHeader,
|
|
9
|
-
CardTitle,
|
|
10
|
-
} from "@godxjp/ui/data-display";
|
|
11
|
-
import { Text } from "@godxjp/ui/general";
|
|
12
|
-
import { Flex, PageContainer, Topbar } from "@godxjp/ui/layout";
|
|
13
|
-
import { AppSettingToggle } from "@godxjp/ui/navigation";
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* AppSettingToggle — ONE button that steps a single AppProvider setting to its next value and
|
|
17
|
-
* shows that value as its glyph. The no-menu counterpart to AppSettingPicker: same binding
|
|
18
|
-
* contract, same option order, one tap instead of open-then-choose. `appearance="bar"` (the
|
|
19
|
-
* default) is a CELL of the bar — full bar height, the bar's own hover surface, square corners.
|
|
20
|
-
*/
|
|
21
|
-
export default function Demo() {
|
|
22
|
-
return (
|
|
23
|
-
<AppProvider defaultLocale="ja" defaultTimeFormat="24h" persist={false}>
|
|
24
|
-
<PageContainer
|
|
25
|
-
title="AppSettingToggle"
|
|
26
|
-
subtitle="押すたびに次の値へ送る 1 ボタン。ドロップダウンなし。"
|
|
27
|
-
>
|
|
28
|
-
<Flex direction="col" gap="lg">
|
|
29
|
-
<Card>
|
|
30
|
-
<CardHeader>
|
|
31
|
-
<CardTitle level={2}>トップバーのセル(既定)</CardTitle>
|
|
32
|
-
<CardDescription>
|
|
33
|
-
appearance="bar" はバーの一部として全高で伸び、角は
|
|
34
|
-
--topbar-item-radius。--control-height の錠剤がバーの中に浮くことはない。
|
|
35
|
-
</CardDescription>
|
|
36
|
-
</CardHeader>
|
|
37
|
-
<CardContent>
|
|
38
|
-
<Topbar
|
|
39
|
-
start={
|
|
40
|
-
<Avatar className="rounded-md">
|
|
41
|
-
<AvatarFallback>G</AvatarFallback>
|
|
42
|
-
</Avatar>
|
|
43
|
-
}
|
|
44
|
-
end={
|
|
45
|
-
<>
|
|
46
|
-
<AppSettingToggle kind="theme" id="topbar-theme-toggle" />
|
|
47
|
-
<AppSettingToggle kind="density" id="topbar-density-toggle" />
|
|
48
|
-
<AppSettingToggle kind="fontSize" id="topbar-font-size-toggle" />
|
|
49
|
-
<AppSettingToggle kind="timeFormat" id="topbar-time-format-toggle" />
|
|
50
|
-
</>
|
|
51
|
-
}
|
|
52
|
-
/>
|
|
53
|
-
</CardContent>
|
|
54
|
-
</Card>
|
|
55
|
-
|
|
56
|
-
<Card>
|
|
57
|
-
<CardHeader>
|
|
58
|
-
<CardTitle level={2}>バー以外(appearance="icon")</CardTitle>
|
|
59
|
-
<CardDescription>
|
|
60
|
-
設定行やカードヘッダーなど、バーではない場所。--control-height
|
|
61
|
-
の正方形ゴーストボタン。
|
|
62
|
-
</CardDescription>
|
|
63
|
-
</CardHeader>
|
|
64
|
-
<CardContent>
|
|
65
|
-
<Flex direction="row" gap="md" align="center" wrap>
|
|
66
|
-
<Flex direction="row" gap="sm" align="center">
|
|
67
|
-
<Text weight="medium">テーマ</Text>
|
|
68
|
-
<AppSettingToggle kind="theme" appearance="icon" id="icon-theme-toggle" />
|
|
69
|
-
</Flex>
|
|
70
|
-
<Flex direction="row" gap="sm" align="center">
|
|
71
|
-
<Text weight="medium">時刻形式</Text>
|
|
72
|
-
<AppSettingToggle
|
|
73
|
-
kind="timeFormat"
|
|
74
|
-
appearance="icon"
|
|
75
|
-
id="icon-time-format-toggle"
|
|
76
|
-
/>
|
|
77
|
-
</Flex>
|
|
78
|
-
</Flex>
|
|
79
|
-
</CardContent>
|
|
80
|
-
</Card>
|
|
81
|
-
|
|
82
|
-
<Card>
|
|
83
|
-
<CardHeader>
|
|
84
|
-
<CardTitle level={2}>制御モードと無効化</CardTitle>
|
|
85
|
-
<CardDescription>
|
|
86
|
-
value + onValueChange で外部状態に紐づけ、disabled で操作を止める。
|
|
87
|
-
</CardDescription>
|
|
88
|
-
</CardHeader>
|
|
89
|
-
<CardContent>
|
|
90
|
-
<Flex direction="row" gap="md" align="center">
|
|
91
|
-
<AppSettingToggle
|
|
92
|
-
kind="density"
|
|
93
|
-
appearance="icon"
|
|
94
|
-
value="comfortable"
|
|
95
|
-
onValueChange={() => {}}
|
|
96
|
-
id="controlled-density-toggle"
|
|
97
|
-
/>
|
|
98
|
-
<AppSettingToggle
|
|
99
|
-
kind="theme"
|
|
100
|
-
appearance="icon"
|
|
101
|
-
disabled
|
|
102
|
-
id="disabled-theme-toggle"
|
|
103
|
-
/>
|
|
104
|
-
</Flex>
|
|
105
|
-
</CardContent>
|
|
106
|
-
</Card>
|
|
107
|
-
</Flex>
|
|
108
|
-
</PageContainer>
|
|
109
|
-
</AppProvider>
|
|
110
|
-
);
|
|
111
|
-
}
|