banhaten 0.1.2 → 0.2.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/CHANGELOG.md +45 -0
- package/CONTRIBUTING.md +44 -0
- package/README.md +145 -328
- package/SECURITY.md +15 -0
- package/banhaten.config.example.json +1 -3
- package/docs/design-system/README.md +20 -0
- package/docs/design-system/adoption-quality-remediation.md +87 -0
- package/docs/design-system/agent-usage.md +13 -0
- package/docs/design-system/appearance-presets.md +189 -0
- package/docs/design-system/appearances/default.md +94 -0
- package/docs/design-system/appearances/rounded.md +95 -0
- package/docs/design-system/appearances/sharp.md +95 -0
- package/docs/design-system/component-docs-pattern.md +81 -0
- package/docs/design-system/component-showcase-consistency-report.md +217 -0
- package/docs/design-system/component-token-consistency-audit.md +173 -0
- package/docs/design-system/components/README.md +75 -0
- package/docs/design-system/components/accordion.md +67 -0
- package/docs/design-system/components/activity-feed.md +106 -0
- package/docs/design-system/components/alert-dialog.md +87 -0
- package/docs/design-system/components/alert.md +111 -0
- package/docs/design-system/components/aspect-ratio.md +59 -0
- package/docs/design-system/components/attribute.md +103 -0
- package/docs/design-system/components/autocomplete.md +93 -0
- package/docs/design-system/components/avatar.md +70 -0
- package/docs/design-system/components/badge.md +72 -0
- package/docs/design-system/components/banner.md +99 -0
- package/docs/design-system/components/breadcrumbs.md +188 -0
- package/docs/design-system/components/button-group.md +117 -0
- package/docs/design-system/components/button.md +95 -0
- package/docs/design-system/components/card.md +95 -0
- package/docs/design-system/components/carousel.md +61 -0
- package/docs/design-system/components/catalog-components.md +59 -0
- package/docs/design-system/components/chart.md +58 -0
- package/docs/design-system/components/checkbox.md +68 -0
- package/docs/design-system/components/collapsible.md +63 -0
- package/docs/design-system/components/command.md +75 -0
- package/docs/design-system/components/context-menu.md +59 -0
- package/docs/design-system/components/date-picker.md +97 -0
- package/docs/design-system/components/divider.md +117 -0
- package/docs/design-system/components/empty-state.md +72 -0
- package/docs/design-system/components/field.md +86 -0
- package/docs/design-system/components/file-upload.md +199 -0
- package/docs/design-system/components/hover-card.md +61 -0
- package/docs/design-system/components/icons.md +48 -0
- package/docs/design-system/components/input-group.md +73 -0
- package/docs/design-system/components/input-otp.md +73 -0
- package/docs/design-system/components/input.md +84 -0
- package/docs/design-system/components/item.md +72 -0
- package/docs/design-system/components/kbd.md +62 -0
- package/docs/design-system/components/label.md +64 -0
- package/docs/design-system/components/menu.md +76 -0
- package/docs/design-system/components/menubar.md +60 -0
- package/docs/design-system/components/modal.md +119 -0
- package/docs/design-system/components/native-select.md +70 -0
- package/docs/design-system/components/navigation-menu.md +63 -0
- package/docs/design-system/components/onboarding-step-list-item.md +94 -0
- package/docs/design-system/components/page-header.md +98 -0
- package/docs/design-system/components/pagination.md +71 -0
- package/docs/design-system/components/popover.md +77 -0
- package/docs/design-system/components/progress-slider.md +66 -0
- package/docs/design-system/components/progress.md +92 -0
- package/docs/design-system/components/radio-card.md +65 -0
- package/docs/design-system/components/radio-group.md +72 -0
- package/docs/design-system/components/resizable.md +57 -0
- package/docs/design-system/components/scroll-area.md +60 -0
- package/docs/design-system/components/segmented-control.md +71 -0
- package/docs/design-system/components/select.md +87 -0
- package/docs/design-system/components/sheet.md +82 -0
- package/docs/design-system/components/sidebar.md +83 -0
- package/docs/design-system/components/skeleton.md +91 -0
- package/docs/design-system/components/slideout.md +77 -0
- package/docs/design-system/components/slider.md +81 -0
- package/docs/design-system/components/social-button.md +65 -0
- package/docs/design-system/components/spinner.md +77 -0
- package/docs/design-system/components/steps.md +77 -0
- package/docs/design-system/components/table.md +411 -0
- package/docs/design-system/components/tabs.md +69 -0
- package/docs/design-system/components/tag.md +95 -0
- package/docs/design-system/components/textarea.md +64 -0
- package/docs/design-system/components/timeline.md +95 -0
- package/docs/design-system/components/toast.md +73 -0
- package/docs/design-system/components/toggle.md +96 -0
- package/docs/design-system/components/toolbar.md +105 -0
- package/docs/design-system/components/tooltip.md +107 -0
- package/docs/design-system/components/typography.md +18 -0
- package/docs/design-system/density-and-elevation.md +44 -0
- package/docs/design-system/design-system-test-missing-items.md +368 -0
- package/docs/design-system/direction-and-localization.md +23 -0
- package/docs/design-system/form-recipes.md +73 -0
- package/docs/design-system/gap-promotion-policy.md +21 -0
- package/docs/design-system/gap-promotion-report.md +166 -0
- package/docs/design-system/icons.md +69 -0
- package/docs/design-system/installation.md +68 -0
- package/docs/design-system/launch-comparison-shadcn.md +98 -0
- package/docs/design-system/registry-and-cli.md +64 -0
- package/docs/design-system/release-policy.md +30 -0
- package/docs/design-system/roadmap.md +14 -0
- package/docs/design-system/support-matrix.md +23 -0
- package/docs/design-system/tabs.md +53 -0
- package/docs/design-system/token-governance.md +60 -0
- package/package.json +97 -65
- package/registry/component-contract.json +40 -0
- package/registry/components/alert-dialog.tsx +297 -0
- package/registry/components/alert.tsx +86 -65
- package/registry/components/aspect-ratio.tsx +30 -0
- package/registry/components/autocomplete.tsx +23 -9
- package/registry/components/avatar.tsx +7 -7
- package/registry/components/badge.tsx +1 -1
- package/registry/components/button-group.tsx +321 -4
- package/registry/components/button.tsx +38 -17
- package/registry/components/card.tsx +68 -59
- package/registry/components/carousel.tsx +282 -0
- package/registry/components/chart.tsx +203 -0
- package/registry/components/checkbox.tsx +3 -3
- package/registry/components/collapsible.tsx +69 -0
- package/registry/components/command.tsx +174 -0
- package/registry/components/context-menu.tsx +236 -0
- package/registry/components/date-picker.tsx +246 -105
- package/registry/components/expanded/ActivityFeed.tsx +6 -15
- package/registry/components/expanded/Banner.tsx +3 -3
- package/registry/components/expanded/Breadcrumbs.tsx +5 -5
- package/registry/components/expanded/CatalogComponentsShowcase.tsx +13 -13
- package/registry/components/expanded/CatalogDivider.tsx +1 -1
- package/registry/components/expanded/EmptyState.tsx +1 -1
- package/registry/components/expanded/FileUpload.tsx +9 -2
- package/registry/components/expanded/OnboardingStepListItem.tsx +2 -4
- package/registry/components/expanded/PageHeader.tsx +14 -14
- package/registry/components/expanded/Slideout.tsx +15 -415
- package/registry/components/expanded/Steps.tsx +4 -4
- package/registry/components/expanded/Table.tsx +116 -69
- package/registry/components/expanded/Timeline.tsx +3 -3
- package/registry/components/expanded/activityFeed.css +1 -1
- package/registry/components/expanded/breadcrumbs.css +139 -139
- package/registry/components/expanded/catalogComponentsShowcase.css +83 -83
- package/registry/components/expanded/divider.css +1 -1
- package/registry/components/expanded/emptyState.css +1 -1
- package/registry/components/expanded/fileUpload.css +6 -6
- package/registry/components/expanded/slideout.css +9 -685
- package/registry/components/expanded/steps.css +274 -274
- package/registry/components/expanded/table.css +2 -2
- package/registry/components/expanded/timeline.css +264 -264
- package/registry/components/field.tsx +230 -0
- package/registry/components/hover-card.tsx +48 -0
- package/registry/components/input-content.ts +1 -0
- package/registry/components/input-group.tsx +130 -0
- package/registry/components/input-otp.tsx +13 -3
- package/registry/components/input.tsx +70 -45
- package/registry/components/item.tsx +189 -0
- package/registry/components/kbd.tsx +151 -0
- package/registry/components/label.tsx +78 -0
- package/registry/components/menu.tsx +34 -246
- package/registry/components/menubar.tsx +226 -0
- package/registry/components/modal.tsx +216 -143
- package/registry/components/native-select.tsx +205 -0
- package/registry/components/navigation-menu.tsx +171 -0
- package/registry/components/pagination.tsx +80 -58
- package/registry/components/popover.tsx +162 -664
- package/registry/components/radio-card.tsx +116 -87
- package/registry/components/radio-group.tsx +1 -1
- package/registry/components/resizable.tsx +74 -0
- package/registry/components/scroll-area.tsx +67 -0
- package/registry/components/segmented-control.tsx +87 -0
- package/registry/components/select-content.tsx +2 -2
- package/registry/components/select.tsx +54 -20
- package/registry/components/sheet.tsx +305 -0
- package/registry/components/sidebar.tsx +352 -0
- package/registry/components/skeleton.css +0 -3
- package/registry/components/social-button.tsx +116 -30
- package/registry/components/spinner.tsx +18 -55
- package/registry/components/{expanded/tabs.css → tabs.css} +127 -106
- package/registry/components/tabs.tsx +246 -0
- package/registry/components/tag.tsx +2 -2
- package/registry/components/textarea.tsx +4 -4
- package/registry/components/toast.tsx +136 -0
- package/registry/components/toggle.tsx +2 -2
- package/registry/components/toolbar.tsx +89 -17
- package/registry/components/tooltip.tsx +1 -1
- package/registry/examples/alert-demo.tsx +25 -5
- package/registry/examples/alert-dialog-demo.tsx +42 -0
- package/registry/examples/aspect-ratio-demo.tsx +11 -0
- package/registry/examples/attribute-demo.tsx +1 -1
- package/registry/examples/autocomplete-demo.tsx +3 -3
- package/registry/examples/avatar-demo.tsx +7 -7
- package/registry/examples/badge-demo.tsx +1 -1
- package/registry/examples/button-demo.tsx +6 -6
- package/registry/examples/button-group-demo.tsx +23 -2
- package/registry/examples/card-demo.tsx +46 -8
- package/registry/examples/carousel-demo.tsx +43 -0
- package/registry/examples/chart-demo.tsx +33 -0
- package/registry/examples/checkbox-demo.tsx +5 -5
- package/registry/examples/collapsible-demo.tsx +16 -0
- package/registry/examples/collection-filter-bar-demo.tsx +135 -0
- package/registry/examples/command-demo.tsx +42 -0
- package/registry/examples/{expanded/command-bar-demo.tsx → command-palette-demo.tsx} +5 -15
- package/registry/examples/context-menu-demo.tsx +29 -0
- package/registry/examples/control-density-contract-demo.tsx +61 -0
- package/registry/examples/date-picker-demo.tsx +12 -12
- package/registry/examples/divider-demo.tsx +3 -3
- package/registry/examples/expanded/banner-demo.tsx +1 -1
- package/registry/examples/expanded/breadcrumbs-demo.tsx +1 -1
- package/registry/examples/expanded/empty-state-demo.tsx +1 -1
- package/registry/examples/expanded/file-upload-demo.tsx +1 -1
- package/registry/examples/expanded/onboarding-step-demo.tsx +1 -1
- package/registry/examples/expanded/slideout-demo.tsx +2 -2
- package/registry/examples/expanded/steps-demo.tsx +1 -1
- package/registry/examples/expanded/tabs-demo.tsx +2 -2
- package/registry/examples/expanded/timeline-demo.tsx +1 -1
- package/registry/examples/field-demo.tsx +51 -0
- package/registry/examples/hover-card-demo.tsx +23 -0
- package/registry/examples/input-demo.tsx +6 -6
- package/registry/examples/input-group-demo.tsx +16 -0
- package/registry/examples/input-otp-demo.tsx +4 -4
- package/registry/examples/item-demo.tsx +46 -0
- package/registry/examples/kbd-demo.tsx +11 -0
- package/registry/examples/label-demo.tsx +20 -0
- package/registry/examples/menu-demo.tsx +1 -1
- package/registry/examples/menubar-demo.tsx +34 -0
- package/registry/examples/modal-demo.tsx +67 -9
- package/registry/examples/native-select-demo.tsx +16 -0
- package/registry/examples/navigation-menu-demo.tsx +29 -0
- package/registry/examples/pagination-demo.tsx +6 -3
- package/registry/examples/popover-demo.tsx +19 -19
- package/registry/examples/progress-demo.tsx +1 -1
- package/registry/examples/progress-slider-demo.tsx +1 -1
- package/registry/examples/radio-card-demo.tsx +4 -4
- package/registry/examples/radio-group-demo.tsx +2 -2
- package/registry/examples/resizable-demo.tsx +22 -0
- package/registry/examples/results-toolbar-demo.tsx +44 -0
- package/registry/examples/scroll-area-demo.tsx +15 -0
- package/registry/examples/segmented-control-demo.tsx +39 -0
- package/registry/examples/select-demo.tsx +1 -1
- package/registry/examples/sheet-demo.tsx +47 -0
- package/registry/examples/sidebar-demo.tsx +55 -0
- package/registry/examples/slider-demo.tsx +3 -3
- package/registry/examples/social-button-demo.tsx +18 -8
- package/registry/examples/spinner-demo.tsx +13 -13
- package/registry/examples/tabs-demo.tsx +13 -0
- package/registry/examples/tag-demo.tsx +1 -1
- package/registry/examples/textarea-demo.tsx +4 -4
- package/registry/examples/toast-demo.tsx +35 -0
- package/registry/examples/toggle-demo.tsx +6 -6
- package/registry/examples/tooltip-demo.tsx +4 -4
- package/registry/guidance/USAGE.md +27 -0
- package/registry/hooks/use-direction.ts +193 -13
- package/registry/index.json +6010 -432
- package/registry/styles/globals.css +3112 -4690
- package/registry.json +1582 -0
- package/schema/config.schema.json +51 -0
- package/schema/registry.schema.json +190 -0
- package/schema/tokens.schema.json +163 -0
- package/src/cli/command-line.js +194 -0
- package/src/cli/config-editors.js +9 -0
- package/src/cli/doctor.js +399 -0
- package/src/cli/file-transaction.js +295 -0
- package/src/cli/global-css.js +153 -0
- package/src/cli/index.js +639 -1391
- package/src/cli/install-plan.js +592 -0
- package/src/cli/install-receipt.js +171 -0
- package/src/cli/jsonc.js +203 -0
- package/src/cli/package-install-state.js +254 -0
- package/src/cli/package-manager.js +238 -0
- package/src/cli/package-plan.js +185 -0
- package/src/cli/package-version.js +97 -0
- package/src/cli/registry-query.js +207 -0
- package/src/cli/reporting.js +55 -0
- package/src/cli/schema-validation.js +19 -0
- package/src/cli/source-scanner.js +686 -0
- package/src/cli/vite-config.js +478 -0
- package/tokens/banhaten.tokens.json +4313 -310
- package/registry/assets/avatars/avatar-02.jpg +0 -0
- package/registry/assets/avatars/avatar-03.jpg +0 -0
- package/registry/assets/avatars/avatar-04.jpg +0 -0
- package/registry/assets/avatars/avatar-05.jpg +0 -0
- package/registry/assets/avatars/avatar-06.jpg +0 -0
- package/registry/assets/avatars/avatar-07.jpg +0 -0
- package/registry/assets/avatars/avatar-08.jpg +0 -0
- package/registry/assets/avatars/avatar-09.jpg +0 -0
- package/registry/assets/avatars/avatar-10.jpg +0 -0
- package/registry/assets/avatars/avatar-11.jpg +0 -0
- package/registry/assets/avatars/avatar-12.jpg +0 -0
- package/registry/assets/avatars/avatar-13.jpg +0 -0
- package/registry/assets/avatars/avatar-14.jpg +0 -0
- package/registry/assets/avatars/avatar-15.jpg +0 -0
- package/registry/assets/avatars/avatar-16.jpg +0 -0
- package/registry/assets/avatars/avatar-17.jpg +0 -0
- package/registry/assets/avatars/avatar-18.jpg +0 -0
- package/registry/assets/avatars/avatar-19.jpg +0 -0
- package/registry/assets/avatars/avatar-20.jpg +0 -0
- package/registry/assets/avatars/avatar-21.jpg +0 -0
- package/registry/assets/avatars/avatar-22.jpg +0 -0
- package/registry/assets/avatars/avatar-23.jpg +0 -0
- package/registry/assets/avatars/avatar-24.jpg +0 -0
- package/registry/assets/avatars/avatar-25.jpg +0 -0
- package/registry/assets/avatars/avatar-26.jpg +0 -0
- package/registry/assets/avatars/avatar-27.jpg +0 -0
- package/registry/assets/avatars/avatar-28.jpg +0 -0
- package/registry/assets/avatars/avatar-29.jpg +0 -0
- package/registry/assets/avatars/avatar-30.jpg +0 -0
- package/registry/assets/avatars/avatar-31.jpg +0 -0
- package/registry/assets/avatars/avatar-32.jpg +0 -0
- package/registry/assets/avatars/avatar-33.jpg +0 -0
- package/registry/assets/avatars/avatar-34.jpg +0 -0
- package/registry/assets/avatars/avatar-35.jpg +0 -0
- package/registry/assets/image-assets.json +0 -744
- package/registry/assets/images/art-02.jpg +0 -0
- package/registry/assets/images/art-03.jpg +0 -0
- package/registry/assets/images/art-04.jpg +0 -0
- package/registry/assets/images/art-05.jpg +0 -0
- package/registry/assets/images/art-06.jpg +0 -0
- package/registry/assets/images/art-07.jpg +0 -0
- package/registry/assets/images/art-08.jpg +0 -0
- package/registry/assets/images/art-09.jpg +0 -0
- package/registry/assets/images/art-10.jpg +0 -0
- package/registry/assets/images/art-11.jpg +0 -0
- package/registry/assets/images/art-12.jpg +0 -0
- package/registry/assets/images/art-13.jpg +0 -0
- package/registry/assets/images/art-14.jpg +0 -0
- package/registry/assets/images/art-15.jpg +0 -0
- package/registry/assets/images/art-16.jpg +0 -0
- package/registry/assets/images/art-17.jpg +0 -0
- package/registry/assets/images/art-18.jpg +0 -0
- package/registry/assets/images/art-19.jpg +0 -0
- package/registry/assets/images/art-20.jpg +0 -0
- package/registry/assets/images/art-21.jpg +0 -0
- package/registry/assets/images/art-22.jpg +0 -0
- package/registry/assets/images/art-23.jpg +0 -0
- package/registry/assets/images/art-24.jpg +0 -0
- package/registry/assets/images/art-25.jpg +0 -0
- package/registry/assets/images/art-26.jpg +0 -0
- package/registry/assets/images/art-27.jpg +0 -0
- package/registry/assets/images/nature-01.jpg +0 -0
- package/registry/assets/images/nature-02.jpg +0 -0
- package/registry/assets/images/nature-03.jpg +0 -0
- package/registry/assets/images/nature-04.jpg +0 -0
- package/registry/assets/images/nature-05.jpg +0 -0
- package/registry/assets/images/nature-06.jpg +0 -0
- package/registry/assets/images/nature-07.jpg +0 -0
- package/registry/assets/images/nature-08.jpg +0 -0
- package/registry/assets/images/nature-09.jpg +0 -0
- package/registry/assets/images/nature-10.jpg +0 -0
- package/registry/assets/images/nature-11.jpg +0 -0
- package/registry/assets/images/nature-12.jpg +0 -0
- package/registry/assets/images/nature-13.jpg +0 -0
- package/registry/assets/images/nature-14.jpg +0 -0
- package/registry/assets/images/nature-15.jpg +0 -0
- package/registry/assets/images/nature-16.jpg +0 -0
- package/registry/assets/images/nature-17.jpg +0 -0
- package/registry/assets/images/nature-18.jpg +0 -0
- package/registry/assets/images/nature-19.jpg +0 -0
- package/registry/assets/images/nature-20.jpg +0 -0
- package/registry/components/expanded/BannerBoard.tsx +0 -225
- package/registry/components/expanded/CatalogTag.tsx +0 -85
- package/registry/components/expanded/CommandBar.tsx +0 -386
- package/registry/components/expanded/IconExplorer.tsx +0 -612
- package/registry/components/expanded/Tabs.tsx +0 -86
- package/registry/components/expanded/TimelineShowcase.tsx +0 -158
- package/registry/components/expanded/commandBar.css +0 -470
- package/registry/components/expanded/iconExplorer.css +0 -764
- package/registry/components/expanded/iconPacks.ts +0 -866
- package/registry/components/expanded/tag.css +0 -148
- package/registry/examples/expanded/icons-demo.tsx +0 -5
- package/tokens/Color mode.zip +0 -0
- package/tokens/Numbers.zip +0 -0
- package/tokens/Radius.zip +0 -0
- package/tokens/Theme.zip +0 -0
|
@@ -54,8 +54,8 @@ function classes(...names: Array<string | false | undefined>) {
|
|
|
54
54
|
|
|
55
55
|
function StatusDot() {
|
|
56
56
|
return (
|
|
57
|
-
<span className="ds-activity-feed-item__status" aria-hidden="true"
|
|
58
|
-
<span
|
|
57
|
+
<span className="ds-activity-feed-item__status" aria-hidden="true">
|
|
58
|
+
<span />
|
|
59
59
|
</span>
|
|
60
60
|
);
|
|
61
61
|
}
|
|
@@ -63,21 +63,15 @@ function StatusDot() {
|
|
|
63
63
|
function Indicator({
|
|
64
64
|
avatarAlt,
|
|
65
65
|
avatarSrc,
|
|
66
|
-
rtl,
|
|
67
66
|
showLine,
|
|
68
|
-
type,
|
|
69
67
|
}: {
|
|
70
68
|
avatarAlt: string;
|
|
71
69
|
avatarSrc: string;
|
|
72
|
-
rtl: boolean;
|
|
73
70
|
showLine: boolean;
|
|
74
|
-
type: ActivityFeedItemType;
|
|
75
71
|
}) {
|
|
76
|
-
const avatarNodeId = rtl ? (type === "caption" ? "587:18722" : "587:18703") : type === "caption" ? "584:18593" : "584:10955";
|
|
77
|
-
|
|
78
72
|
return (
|
|
79
73
|
<span className="ds-activity-feed-item__indicator" aria-hidden={avatarAlt ? undefined : "true"}>
|
|
80
|
-
<span className="ds-activity-feed-item__avatar"
|
|
74
|
+
<span className="ds-activity-feed-item__avatar">
|
|
81
75
|
<img alt={avatarAlt} src={avatarSrc} />
|
|
82
76
|
</span>
|
|
83
77
|
{showLine && <span className="ds-activity-feed-item__line" />}
|
|
@@ -146,7 +140,7 @@ export function ActivityFeedItem({
|
|
|
146
140
|
hasTwoActionButtons = true,
|
|
147
141
|
label,
|
|
148
142
|
link,
|
|
149
|
-
dir
|
|
143
|
+
dir,
|
|
150
144
|
showLine = true,
|
|
151
145
|
showPaddingBottom = true,
|
|
152
146
|
slotContent,
|
|
@@ -156,7 +150,6 @@ export function ActivityFeedItem({
|
|
|
156
150
|
}: ActivityFeedItemProps) {
|
|
157
151
|
const actionItems = actions === false || !hasActionButtons ? [] : (actions ?? []).slice(0, hasTwoActionButtons ? 2 : 1);
|
|
158
152
|
const rtl = dir === "rtl";
|
|
159
|
-
const nodeId = rtl ? (type === "caption" ? "587:18720" : "587:18701") : type === "caption" ? "584:18591" : "584:10411";
|
|
160
153
|
|
|
161
154
|
const textParts = [
|
|
162
155
|
label && <strong key="label">{label}</strong>,
|
|
@@ -172,10 +165,9 @@ export function ActivityFeedItem({
|
|
|
172
165
|
rtl ? "ds-activity-feed-item--rtl" : "ds-activity-feed-item--ltr",
|
|
173
166
|
className,
|
|
174
167
|
)}
|
|
175
|
-
data-node-id={nodeId}
|
|
176
168
|
dir={rtl ? "rtl" : "ltr"}
|
|
177
169
|
>
|
|
178
|
-
<Indicator avatarAlt={avatarAlt} avatarSrc={avatarSrc}
|
|
170
|
+
<Indicator avatarAlt={avatarAlt} avatarSrc={avatarSrc} showLine={showLine} />
|
|
179
171
|
|
|
180
172
|
<div className="ds-activity-feed-item__content">
|
|
181
173
|
<div className="ds-activity-feed-item__container">
|
|
@@ -215,7 +207,7 @@ export function ActivityFeed({
|
|
|
215
207
|
ariaLabel,
|
|
216
208
|
avatarSrc = defaultAvatarSrc,
|
|
217
209
|
className,
|
|
218
|
-
dir
|
|
210
|
+
dir,
|
|
219
211
|
items = [],
|
|
220
212
|
}: ActivityFeedProps) {
|
|
221
213
|
const rtl = dir === "rtl";
|
|
@@ -224,7 +216,6 @@ export function ActivityFeed({
|
|
|
224
216
|
<section
|
|
225
217
|
aria-label={ariaLabel}
|
|
226
218
|
className={classes("ds-activity-feed", rtl ? "ds-activity-feed--rtl" : "ds-activity-feed--ltr", className)}
|
|
227
|
-
data-node-id={rtl ? "587:19711" : "587:19381"}
|
|
228
219
|
dir={rtl ? "rtl" : "ltr"}
|
|
229
220
|
>
|
|
230
221
|
{items.map((item, index) => (
|
|
@@ -35,11 +35,11 @@ export type BannerProps = {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
function MegaphoneIcon() {
|
|
38
|
-
return <LucideMegaphoneIcon aria-hidden="true" className="ds-banner__icon" strokeWidth=
|
|
38
|
+
return <LucideMegaphoneIcon aria-hidden="true" className="ds-banner__icon" strokeWidth="var(--bh-icon-stroke-210)" />;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function CloseIcon() {
|
|
42
|
-
return <XIcon aria-hidden="true" className="ds-banner__close-icon" strokeWidth=
|
|
42
|
+
return <XIcon aria-hidden="true" className="ds-banner__close-icon" strokeWidth="var(--bh-icon-stroke-225)" />;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
function getBannerActionVariant(color: BannerColor): ButtonProps["variant"] {
|
|
@@ -60,7 +60,7 @@ export function Banner({
|
|
|
60
60
|
color = "brand",
|
|
61
61
|
content = "title",
|
|
62
62
|
description,
|
|
63
|
-
dir
|
|
63
|
+
dir,
|
|
64
64
|
icon,
|
|
65
65
|
inputAriaLabel,
|
|
66
66
|
inputPlaceholder,
|
|
@@ -49,7 +49,7 @@ function visibleItems(
|
|
|
49
49
|
|
|
50
50
|
export function Breadcrumbs({
|
|
51
51
|
"aria-label": ariaLabel,
|
|
52
|
-
dir
|
|
52
|
+
dir,
|
|
53
53
|
iconOnly = false,
|
|
54
54
|
items,
|
|
55
55
|
maxItems,
|
|
@@ -112,17 +112,17 @@ function Separator({ separator }: { separator: BreadcrumbSeparator }) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
export function BreadcrumbHomeIcon() {
|
|
115
|
-
return <HomeIcon aria-hidden="true" strokeWidth=
|
|
115
|
+
return <HomeIcon aria-hidden="true" strokeWidth="var(--bh-icon-stroke-190)" />;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
export function BreadcrumbFolderIcon() {
|
|
119
|
-
return <FolderIcon aria-hidden="true" strokeWidth=
|
|
119
|
+
return <FolderIcon aria-hidden="true" strokeWidth="var(--bh-icon-stroke-190)" />;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
function ChevronIcon() {
|
|
123
|
-
return <ChevronRightIcon aria-hidden="true" strokeWidth=
|
|
123
|
+
return <ChevronRightIcon aria-hidden="true" strokeWidth="var(--bh-icon-stroke-200)" />;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
function OverflowIcon() {
|
|
127
|
-
return <EllipsisIcon aria-hidden="true" strokeWidth=
|
|
127
|
+
return <EllipsisIcon aria-hidden="true" strokeWidth="var(--bh-icon-stroke-225)" />;
|
|
128
128
|
}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { CatalogContentDivider, CatalogDivider } from "./CatalogDivider";
|
|
9
9
|
import { FileUpload, type FileUploadFile } from "./FileUpload";
|
|
10
10
|
import { Table, type TableColumn, type TableRowBase } from "./Table";
|
|
11
|
-
import {
|
|
11
|
+
import { Tag, type TagState, type TagType } from "@/components/ui/tag";
|
|
12
12
|
import "./catalogComponentsShowcase.css";
|
|
13
13
|
|
|
14
14
|
type ProjectRow = TableRowBase & {
|
|
@@ -99,8 +99,8 @@ const columns: TableColumn<ProjectRow>[] = [
|
|
|
99
99
|
{ id: "actions", width: 44, kind: "actions", item: () => ({ type: "action", icon: "more", label: "Open row actions" }) },
|
|
100
100
|
];
|
|
101
101
|
|
|
102
|
-
const tagTypes:
|
|
103
|
-
const tagStates:
|
|
102
|
+
const tagTypes: TagType[] = ["simple", "dot", "flag", "avatar", "icon"];
|
|
103
|
+
const tagStates: TagState[] = ["default", "active", "disabled"];
|
|
104
104
|
|
|
105
105
|
export function CatalogComponentsShowcase() {
|
|
106
106
|
const [selectedRows, setSelectedRows] = useState(["1", "2"]);
|
|
@@ -136,7 +136,7 @@ export function CatalogComponentsShowcase() {
|
|
|
136
136
|
<ShowcaseCard title="Tags" description="Type, state, size, close button, and RTL coverage.">
|
|
137
137
|
<div className="catalog-showcase__tag-grid">
|
|
138
138
|
{tagTypes.map((type) => (
|
|
139
|
-
<
|
|
139
|
+
<Tag
|
|
140
140
|
closeLabel="Remove tag"
|
|
141
141
|
key={type}
|
|
142
142
|
showCloseButton={type === "simple"}
|
|
@@ -144,19 +144,19 @@ export function CatalogComponentsShowcase() {
|
|
|
144
144
|
avatar={type === "avatar" ? "A" : undefined}
|
|
145
145
|
>
|
|
146
146
|
{type}
|
|
147
|
-
</
|
|
147
|
+
</Tag>
|
|
148
148
|
))}
|
|
149
149
|
{tagStates.map((state) => (
|
|
150
|
-
<
|
|
150
|
+
<Tag key={state} state={state} type="dot">
|
|
151
151
|
{state}
|
|
152
|
-
</
|
|
152
|
+
</Tag>
|
|
153
153
|
))}
|
|
154
|
-
<
|
|
155
|
-
<
|
|
156
|
-
<
|
|
154
|
+
<Tag size="xs">xs</Tag>
|
|
155
|
+
<Tag size="md">md</Tag>
|
|
156
|
+
<Tag closeLabel="Remove tag" size="lg" showCloseButton>
|
|
157
157
|
large
|
|
158
|
-
</
|
|
159
|
-
<
|
|
158
|
+
</Tag>
|
|
159
|
+
<Tag
|
|
160
160
|
avatar={"\u0645"}
|
|
161
161
|
closeLabel={"\u0625\u0632\u0627\u0644\u0629 \u0648\u0633\u0645"}
|
|
162
162
|
dir="rtl"
|
|
@@ -164,7 +164,7 @@ export function CatalogComponentsShowcase() {
|
|
|
164
164
|
showCloseButton
|
|
165
165
|
>
|
|
166
166
|
{"\u0645\u0644\u0635\u0642"}
|
|
167
|
-
</
|
|
167
|
+
</Tag>
|
|
168
168
|
</div>
|
|
169
169
|
</ShowcaseCard>
|
|
170
170
|
|
|
@@ -52,7 +52,7 @@ export function FileUpload({
|
|
|
52
52
|
accept,
|
|
53
53
|
browseLabel,
|
|
54
54
|
cancelLabel = "Cancel upload",
|
|
55
|
-
dir
|
|
55
|
+
dir,
|
|
56
56
|
disabled = false,
|
|
57
57
|
dropzoneState = "default",
|
|
58
58
|
files = [],
|
|
@@ -251,7 +251,14 @@ function FileUploadRow({
|
|
|
251
251
|
)}
|
|
252
252
|
|
|
253
253
|
{isProgress && (
|
|
254
|
-
<div
|
|
254
|
+
<div
|
|
255
|
+
aria-label={`Upload progress ${progressLabel}`}
|
|
256
|
+
aria-valuemax={100}
|
|
257
|
+
aria-valuemin={0}
|
|
258
|
+
aria-valuenow={progressValue}
|
|
259
|
+
className="ds-file-upload-row__progress"
|
|
260
|
+
role="progressbar"
|
|
261
|
+
>
|
|
255
262
|
<span className="ds-file-upload-row__progress-track">
|
|
256
263
|
<span className="ds-file-upload-row__progress-fill" style={{ width: `${progressValue}%` }} />
|
|
257
264
|
</span>
|
|
@@ -15,7 +15,7 @@ export type OnboardingStepListItemProps = {
|
|
|
15
15
|
|
|
16
16
|
export function OnboardingStepListItem({
|
|
17
17
|
className = "",
|
|
18
|
-
dir
|
|
18
|
+
dir,
|
|
19
19
|
label,
|
|
20
20
|
showLeadingLine = true,
|
|
21
21
|
showTrailingLine = true,
|
|
@@ -55,9 +55,7 @@ function CheckCircleIcon() {
|
|
|
55
55
|
<CircleCheckIcon
|
|
56
56
|
aria-hidden="true"
|
|
57
57
|
className="ds-onboarding-step__check"
|
|
58
|
-
|
|
59
|
-
strokeWidth={2.25}
|
|
60
|
-
width="20"
|
|
58
|
+
strokeWidth="var(--bh-icon-stroke-225)"
|
|
61
59
|
/>
|
|
62
60
|
);
|
|
63
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { HomeIcon as LucideHomeIcon } from "lucide-react";
|
|
3
|
-
import { Tabs, type TabsProps } from "
|
|
3
|
+
import { Tabs, type TabsProps } from "../tabs";
|
|
4
4
|
import "./pageHeader.css";
|
|
5
5
|
|
|
6
6
|
export type PageHeaderBreadcrumb = {
|
|
@@ -41,12 +41,12 @@ function classes(...names: Array<string | false | undefined>) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
function HomeIcon() {
|
|
44
|
-
return <LucideHomeIcon aria-hidden="true" className="ds-page-header__home-icon" strokeWidth=
|
|
44
|
+
return <LucideHomeIcon aria-hidden="true" className="ds-page-header__home-icon" strokeWidth="var(--bh-icon-stroke-190)" />;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
function Breadcrumbs({ items, label }: { items: PageHeaderBreadcrumb[]; label?: string }) {
|
|
48
48
|
return (
|
|
49
|
-
<nav aria-label={label} className="ds-page-header__breadcrumbs"
|
|
49
|
+
<nav aria-label={label} className="ds-page-header__breadcrumbs">
|
|
50
50
|
<ol>
|
|
51
51
|
{items.map((item, index) => {
|
|
52
52
|
const isLast = index === items.length - 1;
|
|
@@ -111,7 +111,7 @@ export function PageHeader({
|
|
|
111
111
|
breadcrumbs = [],
|
|
112
112
|
className,
|
|
113
113
|
description,
|
|
114
|
-
dir
|
|
114
|
+
dir,
|
|
115
115
|
icon,
|
|
116
116
|
metaInfo,
|
|
117
117
|
tabs = {},
|
|
@@ -122,32 +122,32 @@ export function PageHeader({
|
|
|
122
122
|
const showIcon = icon !== false;
|
|
123
123
|
|
|
124
124
|
return (
|
|
125
|
-
<header className={classes("ds-page-header", className)}
|
|
125
|
+
<header className={classes("ds-page-header", className)} dir={dir}>
|
|
126
126
|
{breadcrumbItems.length > 0 && <Breadcrumbs items={breadcrumbItems} label={breadcrumbLabel} />}
|
|
127
127
|
|
|
128
|
-
<div className="ds-page-header__section"
|
|
129
|
-
<div className="ds-page-header__topline"
|
|
130
|
-
<div className="ds-page-header__copy"
|
|
131
|
-
<div className="ds-page-header__heading-row"
|
|
132
|
-
<div className="ds-page-header__heading-main"
|
|
128
|
+
<div className="ds-page-header__section">
|
|
129
|
+
<div className="ds-page-header__topline">
|
|
130
|
+
<div className="ds-page-header__copy">
|
|
131
|
+
<div className="ds-page-header__heading-row">
|
|
132
|
+
<div className="ds-page-header__heading-main">
|
|
133
133
|
{showIcon && <span className="ds-page-header__icon">{icon ?? <HomeIcon />}</span>}
|
|
134
|
-
{title && <h1
|
|
134
|
+
{title && <h1>{title}</h1>}
|
|
135
135
|
</div>
|
|
136
136
|
{metaInfo && (
|
|
137
|
-
<span className="ds-page-header__meta"
|
|
137
|
+
<span className="ds-page-header__meta">
|
|
138
138
|
{metaInfo}
|
|
139
139
|
</span>
|
|
140
140
|
)}
|
|
141
141
|
</div>
|
|
142
142
|
{description && (
|
|
143
|
-
<p className="ds-page-header__description"
|
|
143
|
+
<p className="ds-page-header__description">
|
|
144
144
|
{description}
|
|
145
145
|
</p>
|
|
146
146
|
)}
|
|
147
147
|
</div>
|
|
148
148
|
|
|
149
149
|
{actionItems.length > 0 && (
|
|
150
|
-
<div className="ds-page-header__actions"
|
|
150
|
+
<div className="ds-page-header__actions">
|
|
151
151
|
{actionItems.map((action, index) => (
|
|
152
152
|
<Action action={action} key={`${action.label}-${index}`} />
|
|
153
153
|
))}
|