@db-vincent/components 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/package.json +28 -4
  2. package/src/astro/Accordion.astro +37 -0
  3. package/src/astro/Alert.astro +73 -0
  4. package/src/astro/Avatar.astro +88 -0
  5. package/src/astro/AvatarGroup.astro +63 -0
  6. package/src/astro/Badge.astro +23 -0
  7. package/src/astro/Breadcrumbs.astro +45 -0
  8. package/src/astro/Button.astro +125 -0
  9. package/src/astro/Card.astro +63 -0
  10. package/src/astro/Checkbox.astro +61 -0
  11. package/src/astro/Chip.astro +135 -0
  12. package/src/astro/CodeBlock.astro +17 -0
  13. package/src/astro/Drawer.astro +30 -0
  14. package/src/astro/EmptyState.astro +45 -0
  15. package/src/astro/Example.astro +37 -0
  16. package/src/astro/Grid.astro +56 -0
  17. package/src/astro/GridItem.astro +25 -0
  18. package/src/astro/Icon.astro +52 -0
  19. package/src/astro/Menu.astro +151 -0
  20. package/src/astro/MenuItem.astro +57 -0
  21. package/src/astro/Modal.astro +124 -0
  22. package/src/astro/Navbar.astro +756 -0
  23. package/src/astro/PageHeader.astro +34 -0
  24. package/src/astro/Pagination.astro +212 -0
  25. package/src/astro/Popover.astro +51 -0
  26. package/src/astro/Progress.astro +71 -0
  27. package/src/astro/Radio.astro +58 -0
  28. package/src/astro/RadioGroup.astro +25 -0
  29. package/src/astro/Section.astro +25 -0
  30. package/src/astro/Select.astro +420 -0
  31. package/src/astro/Sidebar.astro +215 -0
  32. package/src/astro/Skeleton.astro +41 -0
  33. package/src/astro/Spinner.astro +20 -0
  34. package/src/astro/Stepper.astro +82 -0
  35. package/src/astro/Switch.astro +78 -0
  36. package/src/astro/Table.astro +268 -0
  37. package/src/astro/Tabs.astro +83 -0
  38. package/src/astro/TextField.astro +305 -0
  39. package/src/astro/ThemeToggle.astro +66 -0
  40. package/src/astro/Toast.astro +181 -0
  41. package/src/astro/Tooltip.astro +54 -0
  42. package/src/astro/TopBar.astro +29 -0
  43. package/src/data/icons.ts +120 -0
  44. package/src/scripts/avatar.ts +33 -0
  45. package/src/scripts/menu.ts +218 -0
  46. package/src/scripts/tabs.ts +127 -0
  47. package/src/scripts/toast.ts +565 -0
  48. package/src/scripts/tooltip.ts +127 -0
  49. package/src/styles/accordion.css +79 -0
  50. package/src/styles/alert.css +108 -0
  51. package/src/styles/avatar.css +131 -0
  52. package/src/styles/badge.css +48 -0
  53. package/src/styles/base.css +205 -0
  54. package/src/styles/breadcrumbs.css +54 -0
  55. package/src/styles/button.css +174 -0
  56. package/src/styles/card.css +112 -0
  57. package/src/styles/chip.css +106 -0
  58. package/src/styles/choice.css +143 -0
  59. package/src/styles/code.css +44 -0
  60. package/src/styles/empty.css +59 -0
  61. package/src/styles/example.css +57 -0
  62. package/src/styles/grid.css +64 -0
  63. package/src/styles/input.css +208 -0
  64. package/src/styles/menu.css +151 -0
  65. package/src/styles/modal.css +285 -0
  66. package/src/styles/motion.css +114 -0
  67. package/src/styles/nav.css +232 -0
  68. package/src/styles/navbar.css +658 -0
  69. package/src/styles/page-header.css +62 -0
  70. package/src/styles/pagination.css +81 -0
  71. package/src/styles/popover.css +134 -0
  72. package/src/styles/progress.css +95 -0
  73. package/src/styles/section.css +38 -0
  74. package/src/styles/select.css +246 -0
  75. package/src/styles/skeleton.css +66 -0
  76. package/src/styles/spinner.css +44 -0
  77. package/src/styles/sr-only.css +14 -0
  78. package/src/styles/stepper.css +169 -0
  79. package/src/styles/switch.css +143 -0
  80. package/src/styles/table.css +177 -0
  81. package/src/styles/tabs.css +120 -0
  82. package/src/styles/theme-toggle.css +31 -0
  83. package/src/styles/toast.css +225 -0
  84. package/src/styles/tooltip.css +63 -0
  85. package/src/styles/topbar.css +32 -0
  86. package/README.md +0 -3
@@ -0,0 +1,79 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer components {
4
+ .ds-accordion {
5
+ display: grid;
6
+ gap: var(--accordion-gap);
7
+ max-width: var(--accordion-max-width);
8
+ width: 100%;
9
+ }
10
+
11
+ .ds-accordion__item {
12
+ background: var(--accordion-item-bg);
13
+ border: 1px solid var(--accordion-item-border);
14
+ border-radius: var(--accordion-item-radius);
15
+ overflow: hidden;
16
+ }
17
+
18
+ .ds-accordion__trigger {
19
+ align-items: center;
20
+ background: transparent;
21
+ color: var(--accordion-trigger-fg);
22
+ cursor: pointer;
23
+ display: flex;
24
+ font-size: var(--accordion-font-size);
25
+ font-weight: var(--weight-medium);
26
+ gap: var(--space-4);
27
+ justify-content: space-between;
28
+ list-style: none;
29
+ padding: var(--accordion-trigger-padding-y)
30
+ var(--accordion-trigger-padding-x);
31
+ transition: background-color var(--duration-fast) var(--ease-standard);
32
+ width: 100%;
33
+ }
34
+
35
+ .ds-accordion__trigger::-webkit-details-marker {
36
+ display: none;
37
+ }
38
+
39
+ .ds-accordion__trigger:hover {
40
+ background: var(--accordion-trigger-bg-hover);
41
+ }
42
+
43
+ .ds-accordion__item[open] .ds-accordion__trigger {
44
+ background: var(--accordion-trigger-bg-open);
45
+ }
46
+
47
+ .ds-accordion__trigger:focus-visible {
48
+ outline: var(--accordion-focus-width) solid var(--accordion-focus-color);
49
+ outline-offset: var(--accordion-focus-offset);
50
+ }
51
+
52
+ .ds-accordion__icon {
53
+ color: var(--accordion-icon);
54
+ transition: transform var(--duration-base) var(--ease-standard);
55
+ }
56
+
57
+ .ds-accordion__item[open] .ds-accordion__icon {
58
+ transform: rotate(180deg);
59
+ }
60
+
61
+ .ds-accordion__panel {
62
+ background: var(--accordion-panel-bg);
63
+ border-top: 1px solid var(--accordion-panel-border);
64
+ color: var(--accordion-panel-fg);
65
+ font-size: var(--accordion-font-size);
66
+ line-height: var(--leading-base);
67
+ padding: var(--accordion-panel-padding);
68
+ }
69
+
70
+ .ds-accordion__panel > * + * {
71
+ margin-top: var(--space-3);
72
+ }
73
+
74
+ @media (prefers-reduced-motion: reduce) {
75
+ .ds-accordion__icon {
76
+ transition: none;
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,108 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer components {
4
+ .ds-alert {
5
+ background: var(--alert-info-bg);
6
+ border: 1px solid var(--alert-info-border);
7
+ border-radius: var(--alert-radius);
8
+ color: var(--alert-info-fg);
9
+ display: flex;
10
+ gap: var(--alert-gap);
11
+ padding: var(--alert-padding);
12
+ }
13
+
14
+ .ds-alert--success {
15
+ background: var(--alert-success-bg);
16
+ border-color: var(--alert-success-border);
17
+ color: var(--alert-success-fg);
18
+ }
19
+
20
+ .ds-alert--warning {
21
+ background: var(--alert-warning-bg);
22
+ border-color: var(--alert-warning-border);
23
+ color: var(--alert-warning-fg);
24
+ }
25
+
26
+ .ds-alert--danger {
27
+ background: var(--alert-danger-bg);
28
+ border-color: var(--alert-danger-border);
29
+ color: var(--alert-danger-fg);
30
+ }
31
+
32
+ .ds-alert__icon {
33
+ flex: none;
34
+ margin-block-start: 0.1rem;
35
+ }
36
+
37
+ .ds-alert__content {
38
+ flex: 1;
39
+ min-width: 0;
40
+ }
41
+
42
+ .ds-alert__title {
43
+ font-size: var(--alert-title-size);
44
+ font-weight: var(--weight-semibold);
45
+ line-height: var(--leading-sm);
46
+ }
47
+
48
+ .ds-alert__body {
49
+ color: var(--alert-body-fg);
50
+ font-size: var(--alert-body-size);
51
+ line-height: var(--leading-sm);
52
+ margin-block-start: var(--space-1);
53
+ }
54
+
55
+ .ds-alert__actions {
56
+ display: flex;
57
+ flex-wrap: wrap;
58
+ gap: var(--space-2);
59
+ margin-block-start: var(--space-3);
60
+ }
61
+
62
+ .ds-alert__close {
63
+ align-items: center;
64
+ background: transparent;
65
+ border: 0;
66
+ border-radius: var(--radius-sm);
67
+ color: var(--alert-info-close-fg);
68
+ display: inline-flex;
69
+ flex: none;
70
+ height: var(--space-7);
71
+ justify-content: center;
72
+ transition: background-color var(--duration-fast) var(--ease-standard);
73
+ width: var(--space-7);
74
+ }
75
+
76
+ .ds-alert--success .ds-alert__close {
77
+ color: var(--alert-success-close-fg);
78
+ }
79
+
80
+ .ds-alert--warning .ds-alert__close {
81
+ color: var(--alert-warning-close-fg);
82
+ }
83
+
84
+ .ds-alert--danger .ds-alert__close {
85
+ color: var(--alert-danger-close-fg);
86
+ }
87
+
88
+ .ds-alert__close:hover {
89
+ background: var(--alert-info-close-bg-hover);
90
+ }
91
+
92
+ .ds-alert--success .ds-alert__close:hover {
93
+ background: var(--alert-success-close-bg-hover);
94
+ }
95
+
96
+ .ds-alert--warning .ds-alert__close:hover {
97
+ background: var(--alert-warning-close-bg-hover);
98
+ }
99
+
100
+ .ds-alert--danger .ds-alert__close:hover {
101
+ background: var(--alert-danger-close-bg-hover);
102
+ }
103
+
104
+ .ds-alert__close:focus-visible {
105
+ outline: var(--alert-focus-width) solid var(--alert-focus-color);
106
+ outline-offset: var(--alert-focus-offset);
107
+ }
108
+ }
@@ -0,0 +1,131 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer components {
4
+ .ds-avatar {
5
+ --ds-avatar-size: var(--avatar-size-md);
6
+ --ds-avatar-font-size: var(--avatar-font-size-md);
7
+ --ds-avatar-status-size: var(--avatar-status-size-md);
8
+ --ds-avatar-radius: var(--avatar-radius-circle);
9
+
10
+ border-radius: var(--ds-avatar-radius);
11
+ display: inline-flex;
12
+ flex: none;
13
+ height: var(--ds-avatar-size);
14
+ position: relative;
15
+ vertical-align: middle;
16
+ width: var(--ds-avatar-size);
17
+ }
18
+
19
+ .ds-avatar--sm {
20
+ --ds-avatar-size: var(--avatar-size-sm);
21
+ --ds-avatar-font-size: var(--avatar-font-size-sm);
22
+ --ds-avatar-status-size: var(--avatar-status-size-sm);
23
+ }
24
+
25
+ .ds-avatar--lg {
26
+ --ds-avatar-size: var(--avatar-size-lg);
27
+ --ds-avatar-font-size: var(--avatar-font-size-lg);
28
+ --ds-avatar-status-size: var(--avatar-status-size-lg);
29
+ }
30
+
31
+ .ds-avatar--square {
32
+ --ds-avatar-radius: var(--avatar-radius-square);
33
+ }
34
+
35
+ .ds-avatar__face {
36
+ background: var(--avatar-bg);
37
+ border: 1px solid var(--avatar-border);
38
+ border-radius: inherit;
39
+ color: var(--avatar-fg);
40
+ display: grid;
41
+ inset: 0;
42
+ overflow: hidden;
43
+ place-items: center;
44
+ position: absolute;
45
+ }
46
+
47
+ .ds-avatar__fallback {
48
+ font-family: var(--avatar-font);
49
+ font-size: var(--ds-avatar-font-size);
50
+ font-weight: var(--avatar-font-weight);
51
+ letter-spacing: var(--type-label-tracking);
52
+ line-height: 1;
53
+ user-select: none;
54
+ }
55
+
56
+ .ds-avatar__count {
57
+ font-family: var(--avatar-count-font);
58
+ font-variant-numeric: tabular-nums;
59
+ }
60
+
61
+ .ds-avatar__img {
62
+ grid-area: 1 / 1;
63
+ height: 100%;
64
+ object-fit: cover;
65
+ width: 100%;
66
+ }
67
+
68
+ .ds-avatar__fallback {
69
+ grid-area: 1 / 1;
70
+ }
71
+
72
+ .ds-avatar[data-failed] .ds-avatar__img {
73
+ display: none;
74
+ }
75
+
76
+ /* Status is never colour alone: busy carries a bar, away and offline are
77
+ hollow, and the text lives in the avatar's accessible name. */
78
+ .ds-avatar__status {
79
+ --ds-avatar-status-color: var(--avatar-status-online);
80
+
81
+ background: var(--ds-avatar-status-color);
82
+ border: 1px solid var(--ds-avatar-status-color);
83
+ border-radius: var(--avatar-radius-circle);
84
+ height: var(--ds-avatar-status-size);
85
+ inset-block-end: 0;
86
+ inset-inline-end: 0;
87
+ outline: var(--avatar-ring-width) solid var(--avatar-ring);
88
+ position: absolute;
89
+ width: var(--ds-avatar-status-size);
90
+ }
91
+
92
+ .ds-avatar__status--away {
93
+ --ds-avatar-status-color: var(--avatar-status-away);
94
+
95
+ background: var(--avatar-status-mark);
96
+ }
97
+
98
+ .ds-avatar__status--busy {
99
+ --ds-avatar-status-color: var(--avatar-status-busy);
100
+ }
101
+
102
+ .ds-avatar__status--busy::after {
103
+ background: var(--avatar-status-mark);
104
+ content: "";
105
+ height: var(--avatar-ring-width);
106
+ inset-inline: 20%;
107
+ position: absolute;
108
+ top: calc(50% - var(--avatar-ring-width) / 2);
109
+ }
110
+
111
+ .ds-avatar__status--offline {
112
+ --ds-avatar-status-color: var(--avatar-status-offline);
113
+
114
+ background: var(--avatar-status-mark);
115
+ }
116
+
117
+ .ds-avatar-group {
118
+ align-items: center;
119
+ display: inline-flex;
120
+ }
121
+
122
+ .ds-avatar-group .ds-avatar {
123
+ outline: var(--avatar-ring-width) solid var(--avatar-ring);
124
+ }
125
+
126
+ .ds-avatar-group .ds-avatar + .ds-avatar {
127
+ margin-inline-start: calc(
128
+ var(--ds-avatar-size) * -1 * var(--avatar-overlap-ratio)
129
+ );
130
+ }
131
+ }
@@ -0,0 +1,48 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer components {
4
+ .ds-badge {
5
+ align-items: center;
6
+ background: var(--badge-neutral-bg);
7
+ border-radius: var(--badge-radius);
8
+ color: var(--badge-neutral-fg);
9
+ display: inline-flex;
10
+ font-family: var(--badge-font);
11
+ font-size: var(--badge-font-size);
12
+ font-weight: var(--badge-font-weight);
13
+ gap: var(--space-1);
14
+ height: var(--badge-height);
15
+ letter-spacing: var(--type-overline-tracking);
16
+ line-height: 1;
17
+ padding-inline: var(--badge-padding-x);
18
+ text-transform: uppercase;
19
+ white-space: nowrap;
20
+ }
21
+
22
+ .ds-badge--accent {
23
+ background: var(--badge-accent-bg);
24
+ color: var(--badge-accent-fg);
25
+ }
26
+
27
+ .ds-badge--success {
28
+ background: var(--badge-success-bg);
29
+ color: var(--badge-success-fg);
30
+ }
31
+
32
+ .ds-badge--warning {
33
+ background: var(--badge-warning-bg);
34
+ color: var(--badge-warning-fg);
35
+ }
36
+
37
+ .ds-badge--danger {
38
+ background: var(--badge-danger-bg);
39
+ color: var(--badge-danger-fg);
40
+ }
41
+
42
+ .ds-badge__dot {
43
+ background: currentColor;
44
+ border-radius: var(--radius-full);
45
+ height: var(--badge-dot-size);
46
+ width: var(--badge-dot-size);
47
+ }
48
+ }
@@ -0,0 +1,205 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer base {
4
+ *,
5
+ *::before,
6
+ *::after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ * {
11
+ margin: 0;
12
+ }
13
+
14
+ html {
15
+ -webkit-text-size-adjust: 100%;
16
+ scroll-behavior: smooth;
17
+ }
18
+
19
+ body {
20
+ background: var(--color-canvas);
21
+ color: var(--color-text-primary);
22
+ font-family: var(--font-body);
23
+ font-size: var(--text-base);
24
+ line-height: var(--leading-base);
25
+ font-feature-settings: "cv11", "ss01";
26
+ text-rendering: optimizeLegibility;
27
+ -webkit-font-smoothing: antialiased;
28
+ }
29
+
30
+ ::selection {
31
+ background: var(--color-selection);
32
+ color: var(--color-text-primary);
33
+ }
34
+
35
+ :focus-visible {
36
+ outline: var(--focus-ring-width) solid var(--focus-ring-color);
37
+ outline-offset: var(--focus-ring-offset);
38
+ }
39
+
40
+ h1,
41
+ h2,
42
+ h3,
43
+ h4 {
44
+ color: var(--color-text-primary);
45
+ font-weight: var(--weight-semibold);
46
+ letter-spacing: var(--type-title-sm-tracking);
47
+ line-height: 1.2;
48
+ text-wrap: balance;
49
+ }
50
+
51
+ h1 {
52
+ font-size: var(--text-4xl);
53
+ line-height: var(--leading-4xl);
54
+ letter-spacing: var(--type-title-lg-tracking);
55
+ }
56
+
57
+ h2 {
58
+ font-size: var(--text-3xl);
59
+ line-height: var(--leading-3xl);
60
+ }
61
+
62
+ h3 {
63
+ font-size: var(--text-2xl);
64
+ line-height: var(--leading-2xl);
65
+ }
66
+
67
+ h4 {
68
+ font-size: var(--text-lg);
69
+ line-height: var(--leading-lg);
70
+ }
71
+
72
+ p {
73
+ text-wrap: pretty;
74
+ }
75
+
76
+ a {
77
+ color: var(--color-link);
78
+ text-decoration-thickness: 1px;
79
+ text-underline-offset: 0.18em;
80
+ }
81
+
82
+ a:hover {
83
+ color: var(--color-link-hover);
84
+ }
85
+
86
+ code,
87
+ kbd,
88
+ samp,
89
+ pre {
90
+ font-family: var(--font-mono);
91
+ }
92
+
93
+ :not(pre) > code {
94
+ background: var(--color-surface-sunken);
95
+ border-radius: var(--radius-xs);
96
+ font-size: 0.875em;
97
+ padding: 0.1em 0.35em;
98
+ }
99
+
100
+ kbd {
101
+ background: var(--color-surface);
102
+ border: 1px solid var(--color-border-default);
103
+ border-bottom-width: 2px;
104
+ border-radius: var(--radius-xs);
105
+ color: var(--color-text-secondary);
106
+ font-size: var(--text-xs);
107
+ padding: 0.1em 0.4em;
108
+ }
109
+
110
+ img,
111
+ svg {
112
+ display: block;
113
+ max-width: 100%;
114
+ }
115
+
116
+ button,
117
+ input,
118
+ select,
119
+ textarea {
120
+ font: inherit;
121
+ color: inherit;
122
+ }
123
+
124
+ button {
125
+ cursor: pointer;
126
+ }
127
+
128
+ [hidden] {
129
+ display: none !important;
130
+ }
131
+
132
+ hr {
133
+ border: 0;
134
+ border-top: 1px solid var(--color-border-subtle);
135
+ }
136
+
137
+ .ds-container {
138
+ margin-inline: auto;
139
+ max-width: var(--layout-container);
140
+ padding-inline: var(--space-5);
141
+ width: 100%;
142
+ }
143
+
144
+ .ds-prose {
145
+ color: var(--color-text-secondary);
146
+ max-width: var(--layout-prose);
147
+ }
148
+
149
+ .ds-prose > * + * {
150
+ margin-top: var(--space-4);
151
+ }
152
+
153
+ .ds-prose h2,
154
+ .ds-prose h3 {
155
+ color: var(--color-text-primary);
156
+ margin-top: var(--space-10);
157
+ }
158
+
159
+ .ds-prose h2 {
160
+ font-size: var(--text-2xl);
161
+ }
162
+
163
+ .ds-prose h3 {
164
+ font-size: var(--text-xl);
165
+ }
166
+
167
+ .ds-prose ul,
168
+ .ds-prose ol {
169
+ padding-left: var(--space-5);
170
+ }
171
+
172
+ .ds-prose li + li {
173
+ margin-top: var(--space-2);
174
+ }
175
+
176
+ .ds-prose strong {
177
+ color: var(--color-text-primary);
178
+ font-weight: var(--weight-semibold);
179
+ }
180
+
181
+ .ds-prose code {
182
+ color: var(--color-text-primary);
183
+ }
184
+
185
+ /* Shared icon geometry: every icon inherits the current text colour. */
186
+ .ds-icon {
187
+ flex: none;
188
+ stroke: currentColor;
189
+ }
190
+
191
+ .ds-sr-only {
192
+ clip-path: inset(50%);
193
+ height: 1px;
194
+ overflow: hidden;
195
+ position: absolute;
196
+ white-space: nowrap;
197
+ width: 1px;
198
+ }
199
+
200
+ @media (prefers-reduced-motion: reduce) {
201
+ html {
202
+ scroll-behavior: auto;
203
+ }
204
+ }
205
+ }
@@ -0,0 +1,54 @@
1
+ @layer reset, tokens, base, components, motion, utilities;
2
+
3
+ @layer components {
4
+ .ds-breadcrumbs {
5
+ font-size: var(--breadcrumbs-font-size);
6
+ }
7
+
8
+ .ds-breadcrumbs__list {
9
+ align-items: center;
10
+ display: flex;
11
+ flex-wrap: wrap;
12
+ gap: var(--breadcrumbs-gap);
13
+ list-style: none;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+
18
+ .ds-breadcrumbs__item {
19
+ align-items: center;
20
+ display: inline-flex;
21
+ gap: var(--breadcrumbs-gap);
22
+ min-width: 0;
23
+ }
24
+
25
+ .ds-breadcrumbs__link {
26
+ border-radius: var(--radius-xs);
27
+ color: var(--breadcrumbs-link-fg);
28
+ text-decoration: none;
29
+ }
30
+
31
+ .ds-breadcrumbs__link:hover {
32
+ color: var(--breadcrumbs-link-fg-hover);
33
+ text-decoration: underline;
34
+ text-underline-offset: 0.18em;
35
+ }
36
+
37
+ .ds-breadcrumbs__link:focus-visible {
38
+ outline: var(--breadcrumbs-focus-width) solid var(--breadcrumbs-focus-color);
39
+ outline-offset: var(--breadcrumbs-focus-offset);
40
+ }
41
+
42
+ .ds-breadcrumbs__current {
43
+ color: var(--breadcrumbs-current-fg);
44
+ font-weight: var(--weight-medium);
45
+ overflow: hidden;
46
+ text-overflow: ellipsis;
47
+ white-space: nowrap;
48
+ }
49
+
50
+ .ds-breadcrumbs__separator {
51
+ color: var(--breadcrumbs-separator-fg);
52
+ flex: none;
53
+ }
54
+ }