sh-ui-cli 0.58.2 → 0.58.4
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/data/changelog/versions.json +35 -4
- package/data/registry/react/components/accordion/index.tailwind.tsx +1 -1
- package/data/registry/react/components/accordion/styles.css +1 -1
- package/data/registry/react/components/accordion/styles.module.css +1 -1
- package/data/registry/react/components/breadcrumb/index.tailwind.tsx +1 -1
- package/data/registry/react/components/breadcrumb/styles.css +1 -1
- package/data/registry/react/components/breadcrumb/styles.module.css +1 -1
- package/data/registry/react/components/button/index.tailwind.tsx +1 -1
- package/data/registry/react/components/button/styles.css +1 -2
- package/data/registry/react/components/button/styles.css.ts +1 -2
- package/data/registry/react/components/button/styles.module.css +1 -2
- package/data/registry/react/components/calendar/index.tailwind.tsx +3 -3
- package/data/registry/react/components/calendar/styles.css +3 -3
- package/data/registry/react/components/calendar/styles.module.css +3 -3
- package/data/registry/react/components/card/index.tailwind.tsx +1 -1
- package/data/registry/react/components/card/styles.css +1 -0
- package/data/registry/react/components/card/styles.css.ts +1 -0
- package/data/registry/react/components/card/styles.module.css +1 -0
- package/data/registry/react/components/carousel/index.tailwind.tsx +2 -2
- package/data/registry/react/components/carousel/styles.css +2 -2
- package/data/registry/react/components/carousel/styles.module.css +2 -2
- package/data/registry/react/components/checkbox/index.tailwind.tsx +1 -1
- package/data/registry/react/components/checkbox/styles.css +2 -2
- package/data/registry/react/components/checkbox/styles.module.css +2 -2
- package/data/registry/react/components/code-editor/index.tailwind.tsx +1 -1
- package/data/registry/react/components/code-editor/styles.css +1 -1
- package/data/registry/react/components/code-editor/styles.module.css +1 -1
- package/data/registry/react/components/code-panel/styles.css +1 -1
- package/data/registry/react/components/code-panel/styles.module.css +1 -1
- package/data/registry/react/components/color-picker/index.tailwind.tsx +2 -2
- package/data/registry/react/components/color-picker/styles.css +3 -3
- package/data/registry/react/components/color-picker/styles.module.css +3 -3
- package/data/registry/react/components/combobox/index.tailwind.tsx +1 -1
- package/data/registry/react/components/combobox/styles.css +1 -1
- package/data/registry/react/components/combobox/styles.module.css +1 -1
- package/data/registry/react/components/date-picker/index.tailwind.tsx +1 -1
- package/data/registry/react/components/date-picker/styles.css +2 -2
- package/data/registry/react/components/date-picker/styles.module.css +2 -2
- package/data/registry/react/components/dialog/index.tailwind.tsx +2 -2
- package/data/registry/react/components/dialog/styles.css +2 -2
- package/data/registry/react/components/dialog/styles.module.css +2 -2
- package/data/registry/react/components/dropdown-menu/index.tailwind.tsx +1 -1
- package/data/registry/react/components/dropdown-menu/styles.css +1 -1
- package/data/registry/react/components/dropdown-menu/styles.module.css +1 -1
- package/data/registry/react/components/file-upload/index.tailwind.tsx +3 -3
- package/data/registry/react/components/file-upload/styles.css +3 -3
- package/data/registry/react/components/file-upload/styles.module.css +3 -3
- package/data/registry/react/components/header/index.tailwind.tsx +3 -3
- package/data/registry/react/components/header/styles.css +3 -3
- package/data/registry/react/components/header/styles.module.css +3 -3
- package/data/registry/react/components/input/index.tailwind.tsx +3 -3
- package/data/registry/react/components/input/styles.css +5 -5
- package/data/registry/react/components/input/styles.css.ts +3 -3
- package/data/registry/react/components/input/styles.module.css +5 -5
- package/data/registry/react/components/menubar/styles.css +1 -1
- package/data/registry/react/components/menubar/styles.module.css +1 -1
- package/data/registry/react/components/numeric-input/index.tailwind.tsx +1 -1
- package/data/registry/react/components/numeric-input/styles.css +1 -1
- package/data/registry/react/components/numeric-input/styles.module.css +1 -1
- package/data/registry/react/components/page-toc/index.tailwind.tsx +1 -1
- package/data/registry/react/components/page-toc/styles.css +1 -1
- package/data/registry/react/components/page-toc/styles.module.css +1 -1
- package/data/registry/react/components/pagination/index.tailwind.tsx +1 -1
- package/data/registry/react/components/pagination/styles.css +1 -1
- package/data/registry/react/components/pagination/styles.module.css +1 -1
- package/data/registry/react/components/popover/index.tailwind.tsx +1 -1
- package/data/registry/react/components/popover/styles.css +1 -1
- package/data/registry/react/components/popover/styles.module.css +1 -1
- package/data/registry/react/components/radio/index.tailwind.tsx +1 -1
- package/data/registry/react/components/radio/styles.css +2 -2
- package/data/registry/react/components/radio/styles.module.css +2 -2
- package/data/registry/react/components/rich-text-editor/index.tailwind.tsx +2 -2
- package/data/registry/react/components/rich-text-editor/styles.css +2 -2
- package/data/registry/react/components/rich-text-editor/styles.module.css +2 -2
- package/data/registry/react/components/select/index.tailwind.tsx +1 -1
- package/data/registry/react/components/select/styles.css +2 -2
- package/data/registry/react/components/select/styles.module.css +2 -2
- package/data/registry/react/components/sidebar/index.tailwind.tsx +2 -2
- package/data/registry/react/components/sidebar/styles.css +2 -2
- package/data/registry/react/components/sidebar/styles.module.css +2 -2
- package/data/registry/react/components/slider/index.tailwind.tsx +1 -1
- package/data/registry/react/components/slider/styles.css +1 -1
- package/data/registry/react/components/slider/styles.module.css +1 -1
- package/data/registry/react/components/switch/index.tailwind.tsx +1 -1
- package/data/registry/react/components/switch/styles.css +1 -1
- package/data/registry/react/components/switch/styles.module.css +1 -1
- package/data/registry/react/components/tabs/index.tailwind.tsx +2 -2
- package/data/registry/react/components/tabs/styles.css +2 -2
- package/data/registry/react/components/tabs/styles.module.css +2 -2
- package/data/registry/react/components/textarea/index.tailwind.tsx +1 -1
- package/data/registry/react/components/textarea/styles.css +2 -2
- package/data/registry/react/components/textarea/styles.module.css +2 -2
- package/data/registry/react/components/toast/index.tailwind.tsx +1 -1
- package/data/registry/react/components/toast/styles.css +1 -1
- package/data/registry/react/components/toast/styles.module.css +1 -1
- package/data/registry/react/components/toggle/index.tailwind.tsx +1 -1
- package/data/registry/react/components/toggle/styles.css +1 -1
- package/data/registry/react/components/toggle/styles.module.css +1 -1
- package/package.json +1 -1
- package/templates/nextjs-standalone/_arch/flat/lib/styles/tokens.css +1 -0
- package/templates/nextjs-standalone/_arch/fsd/src/shared/styles/tokens.css +1 -0
- package/templates/nextjs-standalone/app/globals.css +1 -0
- package/templates/ui-app-template/src/styles/globals.css +1 -0
- package/templates/ui-app-template/src/styles/tokens.css +1 -0
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.dialog__content:focus-visible {
|
|
54
|
-
outline: var(--border-width-strong) solid var(--
|
|
54
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
55
55
|
outline-offset: 2px;
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
color: var(--foreground);
|
|
111
111
|
}
|
|
112
112
|
.dialog__close:focus-visible {
|
|
113
|
-
outline: var(--border-width-strong) solid var(--
|
|
113
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
114
114
|
outline-offset: 2px;
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -21,7 +21,7 @@ export const DropdownMenuTrigger = React.forwardRef<
|
|
|
21
21
|
<BaseMenu.Trigger
|
|
22
22
|
ref={ref}
|
|
23
23
|
className={cn(
|
|
24
|
-
"font-[inherit] cursor-pointer focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
24
|
+
"font-[inherit] cursor-pointer focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2",
|
|
25
25
|
className,
|
|
26
26
|
)}
|
|
27
27
|
{...props}
|
|
@@ -153,7 +153,7 @@ export const FileUploadDropzone = React.forwardRef<HTMLDivElement, FileUploadDro
|
|
|
153
153
|
aria-disabled={disabled || undefined}
|
|
154
154
|
data-dragging={dragging || undefined}
|
|
155
155
|
className={cn(
|
|
156
|
-
"relative flex flex-col items-center justify-center gap-[var(--space-2)] py-[var(--space-8)] px-[var(--space-6)] min-h-40 bg-background-subtle text-foreground-muted border-[1.5px] border-dashed border-border rounded-[var(--radius)] cursor-pointer text-center transition-[border-color,background-color,color] duration-[var(--duration-fast)] hover:border-border-strong hover:text-foreground focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
156
|
+
"relative flex flex-col items-center justify-center gap-[var(--space-2)] py-[var(--space-8)] px-[var(--space-6)] min-h-40 bg-background-subtle text-foreground-muted border-[1.5px] border-dashed border-border rounded-[var(--radius)] cursor-pointer text-center transition-[border-color,background-color,color] duration-[var(--duration-fast)] hover:border-border-strong hover:text-foreground focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 focus-visible:border-primary motion-reduce:transition-none",
|
|
157
157
|
dragging && "border-foreground bg-background-muted text-foreground",
|
|
158
158
|
disabled && "opacity-[var(--opacity-disabled)] cursor-not-allowed pointer-events-none",
|
|
159
159
|
className,
|
|
@@ -189,7 +189,7 @@ export const FileUploadTrigger = React.forwardRef<HTMLButtonElement, FileUploadT
|
|
|
189
189
|
type={type ?? "button"}
|
|
190
190
|
disabled={disabled || rest.disabled}
|
|
191
191
|
className={cn(
|
|
192
|
-
"inline-flex items-center justify-center gap-[var(--space-2)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground bg-background border border-border rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[background-color,border-color] duration-[var(--duration-fast)] hover:not-disabled:bg-background-muted hover:not-disabled:border-border-strong focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
192
|
+
"inline-flex items-center justify-center gap-[var(--space-2)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground bg-background border border-border rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[background-color,border-color] duration-[var(--duration-fast)] hover:not-disabled:bg-background-muted hover:not-disabled:border-border-strong focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 disabled:opacity-[var(--opacity-disabled)] disabled:cursor-not-allowed",
|
|
193
193
|
className,
|
|
194
194
|
)}
|
|
195
195
|
onClick={(e) => {
|
|
@@ -250,7 +250,7 @@ export const FileUploadItem = React.forwardRef<HTMLLIElement, FileUploadItemProp
|
|
|
250
250
|
<span className="text-[length:var(--text-xs)] text-foreground-muted shrink-0">{formatBytes(file.size)}</span>
|
|
251
251
|
<button
|
|
252
252
|
type="button"
|
|
253
|
-
className="inline-flex items-center justify-center w-6 h-6 p-0 bg-transparent border-none rounded-[calc(var(--radius)-4px)] text-foreground-muted cursor-pointer transition-[color,background-color] duration-[var(--duration-fast)] shrink-0 hover:not-disabled:text-foreground hover:not-disabled:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
253
|
+
className="inline-flex items-center justify-center w-6 h-6 p-0 bg-transparent border-none rounded-[calc(var(--radius)-4px)] text-foreground-muted cursor-pointer transition-[color,background-color] duration-[var(--duration-fast)] shrink-0 hover:not-disabled:text-foreground hover:not-disabled:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 disabled:opacity-[var(--opacity-disabled)] disabled:cursor-not-allowed motion-reduce:transition-none"
|
|
254
254
|
onClick={() => remove(index)}
|
|
255
255
|
disabled={disabled}
|
|
256
256
|
aria-label={`${file.name} 제거`}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.sh-ui-file-upload__dropzone:focus-visible {
|
|
32
|
-
outline: var(--border-width-strong) solid var(--
|
|
32
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
33
33
|
outline-offset: 2px;
|
|
34
34
|
border-color: var(--foreground);
|
|
35
35
|
}
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
border-color: var(--border-strong);
|
|
94
94
|
}
|
|
95
95
|
.sh-ui-file-upload__trigger:focus-visible {
|
|
96
|
-
outline: var(--border-width-strong) solid var(--
|
|
96
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
97
97
|
outline-offset: 2px;
|
|
98
98
|
}
|
|
99
99
|
.sh-ui-file-upload__trigger:disabled {
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
background: var(--background-muted);
|
|
162
162
|
}
|
|
163
163
|
.sh-ui-file-upload__remove:focus-visible {
|
|
164
|
-
outline: var(--border-width-strong) solid var(--
|
|
164
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
165
165
|
outline-offset: 2px;
|
|
166
166
|
}
|
|
167
167
|
.sh-ui-file-upload__remove:disabled {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.file-upload__dropzone:focus-visible {
|
|
32
|
-
outline: var(--border-width-strong) solid var(--
|
|
32
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
33
33
|
outline-offset: 2px;
|
|
34
34
|
border-color: var(--foreground);
|
|
35
35
|
}
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
border-color: var(--border-strong);
|
|
94
94
|
}
|
|
95
95
|
.file-upload__trigger:focus-visible {
|
|
96
|
-
outline: var(--border-width-strong) solid var(--
|
|
96
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
97
97
|
outline-offset: 2px;
|
|
98
98
|
}
|
|
99
99
|
.file-upload__trigger:disabled {
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
background: var(--background-muted);
|
|
162
162
|
}
|
|
163
163
|
.file-upload__remove:focus-visible {
|
|
164
|
-
outline: var(--border-width-strong) solid var(--
|
|
164
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
165
165
|
outline-offset: 2px;
|
|
166
166
|
}
|
|
167
167
|
.file-upload__remove:disabled {
|
|
@@ -197,7 +197,7 @@ export const HeaderTrigger = React.forwardRef<HTMLButtonElement, React.ButtonHTM
|
|
|
197
197
|
ref={setRefs}
|
|
198
198
|
type="button"
|
|
199
199
|
className={cn(
|
|
200
|
-
"hidden items-center justify-center w-9 h-9 p-0 bg-transparent border-0 text-foreground rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[background-color] duration-[var(--duration-fast)] hover:bg-[var(--sh-ui-header-hover-bg)] focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
200
|
+
"hidden items-center justify-center w-9 h-9 p-0 bg-transparent border-0 text-foreground rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[background-color] duration-[var(--duration-fast)] hover:bg-[var(--sh-ui-header-hover-bg)] focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 max-md:inline-flex max-md:order-[-1]",
|
|
201
201
|
className,
|
|
202
202
|
)}
|
|
203
203
|
aria-label={open ? "메뉴 닫기" : "메뉴 열기"}
|
|
@@ -292,7 +292,7 @@ export const HeaderItem = React.forwardRef<
|
|
|
292
292
|
ref={ref}
|
|
293
293
|
href={href}
|
|
294
294
|
className={cn(
|
|
295
|
-
"inline-flex items-center gap-[var(--space-1)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground-muted no-underline bg-transparent border-0 rounded-[calc(var(--radius)-2px)] cursor-pointer whitespace-nowrap transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-[var(--sh-ui-header-hover-bg)] data-[active]:text-foreground data-[active]:font-semibold focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
295
|
+
"inline-flex items-center gap-[var(--space-1)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground-muted no-underline bg-transparent border-0 rounded-[calc(var(--radius)-2px)] cursor-pointer whitespace-nowrap transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-[var(--sh-ui-header-hover-bg)] data-[active]:text-foreground data-[active]:font-semibold focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 motion-reduce:transition-none max-md:py-[var(--space-3)] max-md:px-[var(--space-3)]",
|
|
296
296
|
className,
|
|
297
297
|
)}
|
|
298
298
|
data-active={computedActive ? "" : undefined}
|
|
@@ -437,7 +437,7 @@ export const HeaderMenuTrigger = React.forwardRef<HTMLButtonElement, React.Butto
|
|
|
437
437
|
aria-controls={contentId}
|
|
438
438
|
data-open={open ? "" : undefined}
|
|
439
439
|
className={cn(
|
|
440
|
-
"inline-flex items-center gap-[var(--space-1)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground-muted bg-transparent border-0 rounded-[calc(var(--radius)-2px)] cursor-pointer whitespace-nowrap transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-[var(--sh-ui-header-hover-bg)] data-[open]:text-foreground data-[open]:bg-[var(--sh-ui-header-hover-bg)] focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
440
|
+
"inline-flex items-center gap-[var(--space-1)] py-[var(--space-2)] px-[var(--space-3)] text-[length:var(--text-sm)] font-medium text-foreground-muted bg-transparent border-0 rounded-[calc(var(--radius)-2px)] cursor-pointer whitespace-nowrap transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-[var(--sh-ui-header-hover-bg)] data-[open]:text-foreground data-[open]:bg-[var(--sh-ui-header-hover-bg)] focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 motion-reduce:transition-none",
|
|
441
441
|
location === "drawer" && "max-md:justify-between max-md:w-full max-md:py-[var(--space-3)] max-md:px-[var(--space-3)]",
|
|
442
442
|
className,
|
|
443
443
|
)}
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
background: var(--sh-ui-header-hover-bg);
|
|
92
92
|
}
|
|
93
93
|
.sh-ui-header__trigger:focus-visible {
|
|
94
|
-
outline: var(--border-width-strong) solid var(--
|
|
94
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
95
95
|
outline-offset: 2px;
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
font-weight: var(--weight-semibold);
|
|
136
136
|
}
|
|
137
137
|
.sh-ui-header__item:focus-visible {
|
|
138
|
-
outline: var(--border-width-strong) solid var(--
|
|
138
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
139
139
|
outline-offset: 2px;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
background: var(--sh-ui-header-hover-bg);
|
|
217
217
|
}
|
|
218
218
|
.sh-ui-header__menu-trigger:focus-visible {
|
|
219
|
-
outline: var(--border-width-strong) solid var(--
|
|
219
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
220
220
|
outline-offset: 2px;
|
|
221
221
|
}
|
|
222
222
|
.sh-ui-header__chevron {
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
background: var(--sh-ui-header-hover-bg);
|
|
92
92
|
}
|
|
93
93
|
.header__trigger:focus-visible {
|
|
94
|
-
outline: var(--border-width-strong) solid var(--
|
|
94
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
95
95
|
outline-offset: 2px;
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
font-weight: var(--weight-semibold);
|
|
136
136
|
}
|
|
137
137
|
.header__item:focus-visible {
|
|
138
|
-
outline: var(--border-width-strong) solid var(--
|
|
138
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
139
139
|
outline-offset: 2px;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
background: var(--sh-ui-header-hover-bg);
|
|
217
217
|
}
|
|
218
218
|
.header__menu-trigger:focus-visible {
|
|
219
|
-
outline: var(--border-width-strong) solid var(--
|
|
219
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
220
220
|
outline-offset: 2px;
|
|
221
221
|
}
|
|
222
222
|
.header__chevron {
|
|
@@ -14,13 +14,13 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
|
|
|
14
14
|
/* ───────── Base utility 묶음 (반복 줄이기) ───────── */
|
|
15
15
|
|
|
16
16
|
const baseInputClasses =
|
|
17
|
-
"block w-full h-[var(--control-md)] px-[var(--space-3)] bg-background text-foreground border border-border rounded-[var(--radius)] font-[inherit] text-[length:var(--text-sm)] leading-none transition-[border-color,box-shadow] duration-[var(--duration-fast)] placeholder:text-foreground-subtle hover:not-disabled:not-focus:border-border-strong focus:outline-none focus:border-
|
|
17
|
+
"block w-full h-[var(--control-md)] px-[var(--space-3)] bg-background text-foreground border border-border rounded-[var(--radius)] font-[inherit] text-[length:var(--text-sm)] leading-none transition-[border-color,box-shadow] duration-[var(--duration-fast)] placeholder:text-foreground-subtle hover:not-disabled:not-focus:border-border-strong focus:outline-none focus:border-primary focus:shadow-[0_0_0_1px_var(--primary)] disabled:opacity-[var(--opacity-disabled)] disabled:cursor-not-allowed disabled:bg-background-subtle read-only:bg-background-subtle aria-[invalid=true]:border-danger aria-[invalid=true]:focus:shadow-[0_0_0_1px_var(--danger)]";
|
|
18
18
|
|
|
19
19
|
const inGroupOverrides =
|
|
20
20
|
"data-[in-group]:flex-1 data-[in-group]:min-w-0 data-[in-group]:h-auto data-[in-group]:p-0 data-[in-group]:bg-transparent data-[in-group]:border-none data-[in-group]:rounded-none data-[in-group]:shadow-none data-[in-group]:hover:border-none data-[in-group]:focus:border-none data-[in-group]:focus:outline-none data-[in-group]:focus:shadow-none data-[in-group]:disabled:bg-transparent";
|
|
21
21
|
|
|
22
22
|
const baseGroupClasses =
|
|
23
|
-
"flex items-center w-full min-h-[var(--control-md)] px-[var(--space-2)] gap-[var(--space-2)] bg-background text-foreground border border-border rounded-[var(--radius)] transition-[border-color,box-shadow] duration-[var(--duration-fast)] cursor-text hover:not-data-[disabled]:not-focus-within:border-border-strong focus-within:border-
|
|
23
|
+
"flex items-center w-full min-h-[var(--control-md)] px-[var(--space-2)] gap-[var(--space-2)] bg-background text-foreground border border-border rounded-[var(--radius)] transition-[border-color,box-shadow] duration-[var(--duration-fast)] cursor-text hover:not-data-[disabled]:not-focus-within:border-border-strong focus-within:border-primary focus-within:shadow-[0_0_0_1px_var(--primary)] aria-[invalid=true]:border-danger aria-[invalid=true]:focus-within:shadow-[0_0_0_1px_var(--danger)] data-[disabled]:opacity-[var(--opacity-disabled)] data-[disabled]:cursor-not-allowed data-[disabled]:bg-background-subtle";
|
|
24
24
|
|
|
25
25
|
/* ───────── InputGroup + InputAdornment (compound) ───────── */
|
|
26
26
|
|
|
@@ -149,7 +149,7 @@ Input.displayName = "Input";
|
|
|
149
149
|
/* ───────── PasswordInput ───────── */
|
|
150
150
|
|
|
151
151
|
const passwordToggleClasses =
|
|
152
|
-
"inline-flex items-center justify-center w-8 h-8 p-0 bg-transparent border-none rounded-[calc(var(--radius)-2px)] text-foreground-muted cursor-pointer transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
152
|
+
"inline-flex items-center justify-center w-8 h-8 p-0 bg-transparent border-none rounded-[calc(var(--radius)-2px)] text-foreground-muted cursor-pointer transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2";
|
|
153
153
|
|
|
154
154
|
function EyeIcon() {
|
|
155
155
|
return (
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
|
|
33
33
|
.sh-ui-input:focus {
|
|
34
34
|
outline: none;
|
|
35
|
-
border-color: var(--
|
|
36
|
-
box-shadow: 0 0 0 1px var(--
|
|
35
|
+
border-color: var(--primary);
|
|
36
|
+
box-shadow: 0 0 0 1px var(--primary);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.sh-ui-input:disabled {
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
}
|
|
103
103
|
.sh-ui-input__toggle:hover { color: var(--foreground); background: var(--background-muted); }
|
|
104
104
|
.sh-ui-input__toggle:focus-visible {
|
|
105
|
-
outline: var(--border-width-strong) solid var(--
|
|
105
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
106
106
|
outline-offset: 2px;
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -143,8 +143,8 @@
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
.sh-ui-input-group:focus-within {
|
|
146
|
-
border-color: var(--
|
|
147
|
-
box-shadow: 0 0 0 1px var(--
|
|
146
|
+
border-color: var(--primary);
|
|
147
|
+
box-shadow: 0 0 0 1px var(--primary);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
.sh-ui-input-group[aria-invalid="true"] {
|
|
@@ -25,7 +25,7 @@ export const input = style({
|
|
|
25
25
|
"&:focus": {
|
|
26
26
|
outline: "none",
|
|
27
27
|
borderColor: "var(--foreground)",
|
|
28
|
-
boxShadow: "0 0 0 1px var(--
|
|
28
|
+
boxShadow: "0 0 0 1px var(--primary)",
|
|
29
29
|
},
|
|
30
30
|
"&:disabled": {
|
|
31
31
|
opacity: "var(--opacity-disabled)",
|
|
@@ -137,7 +137,7 @@ export const toggle = style({
|
|
|
137
137
|
background: "var(--background-muted)",
|
|
138
138
|
},
|
|
139
139
|
"&:focus-visible": {
|
|
140
|
-
outline: "var(--border-width-strong) solid var(--
|
|
140
|
+
outline: "var(--border-width-strong) solid var(--ring)",
|
|
141
141
|
outlineOffset: "2px",
|
|
142
142
|
},
|
|
143
143
|
},
|
|
@@ -164,7 +164,7 @@ export const group = style({
|
|
|
164
164
|
},
|
|
165
165
|
"&:focus-within": {
|
|
166
166
|
borderColor: "var(--foreground)",
|
|
167
|
-
boxShadow: "0 0 0 1px var(--
|
|
167
|
+
boxShadow: "0 0 0 1px var(--primary)",
|
|
168
168
|
},
|
|
169
169
|
'&[aria-invalid="true"]': {
|
|
170
170
|
borderColor: "var(--danger)",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
|
|
33
33
|
.input:focus {
|
|
34
34
|
outline: none;
|
|
35
|
-
border-color: var(--
|
|
36
|
-
box-shadow: 0 0 0 1px var(--
|
|
35
|
+
border-color: var(--primary);
|
|
36
|
+
box-shadow: 0 0 0 1px var(--primary);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.input:disabled {
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
}
|
|
101
101
|
.toggle:hover { color: var(--foreground); background: var(--background-muted); }
|
|
102
102
|
.toggle:focus-visible {
|
|
103
|
-
outline: var(--border-width-strong) solid var(--
|
|
103
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
104
104
|
outline-offset: 2px;
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
.group:focus-within {
|
|
144
|
-
border-color: var(--
|
|
145
|
-
box-shadow: 0 0 0 1px var(--
|
|
144
|
+
border-color: var(--primary);
|
|
145
|
+
box-shadow: 0 0 0 1px var(--primary);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
.group[aria-invalid="true"] {
|
|
@@ -19,7 +19,7 @@ export interface NumericInputProps
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
const inputClasses =
|
|
22
|
-
"w-10 px-1 py-0.5 font-mono text-[length:var(--text-xs)] leading-tight text-right border border-transparent rounded-[calc(var(--radius)-4px)] bg-transparent text-foreground appearance-none [-moz-appearance:textfield] transition-[border-color,background-color] duration-[var(--duration-fast)] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 [&::-webkit-outer-spin-button]:m-0 hover:not-disabled:not-focus:border-border focus:outline-none focus:border-
|
|
22
|
+
"w-10 px-1 py-0.5 font-mono text-[length:var(--text-xs)] leading-tight text-right border border-transparent rounded-[calc(var(--radius)-4px)] bg-transparent text-foreground appearance-none [-moz-appearance:textfield] transition-[border-color,background-color] duration-[var(--duration-fast)] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 [&::-webkit-outer-spin-button]:m-0 hover:not-disabled:not-focus:border-border focus:outline-none focus:border-primary focus:bg-background focus-visible:outline-none focus-visible:border-primary disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]";
|
|
23
23
|
|
|
24
24
|
export const NumericInput = React.forwardRef<HTMLInputElement, NumericInputProps>(
|
|
25
25
|
(
|
|
@@ -32,7 +32,7 @@ const cx = (...args: (string | undefined | false | null)[]) =>
|
|
|
32
32
|
args.filter(Boolean).join(" ");
|
|
33
33
|
|
|
34
34
|
const linkBase =
|
|
35
|
-
"block px-2 py-1 rounded-[calc(var(--radius)-4px)] text-foreground-muted no-underline leading-snug transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-background-subtle focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
35
|
+
"block px-2 py-1 rounded-[calc(var(--radius)-4px)] text-foreground-muted no-underline leading-snug transition-[color,background-color] duration-[var(--duration-fast)] hover:text-foreground hover:bg-background-subtle focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 data-[active=true]:text-foreground data-[active=true]:font-semibold data-[active=true]:bg-background-subtle motion-reduce:transition-none";
|
|
36
36
|
|
|
37
37
|
export function PageTOC({
|
|
38
38
|
containerSelector = "main",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
background: var(--background-subtle);
|
|
60
60
|
}
|
|
61
61
|
.sh-ui-page-toc__link:focus-visible {
|
|
62
|
-
outline: var(--border-width-strong) solid var(--
|
|
62
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
63
63
|
outline-offset: 2px;
|
|
64
64
|
}
|
|
65
65
|
.sh-ui-page-toc__link[data-active="true"] {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
background: var(--background-subtle);
|
|
60
60
|
}
|
|
61
61
|
.page-toc__link:focus-visible {
|
|
62
|
-
outline: var(--border-width-strong) solid var(--
|
|
62
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
63
63
|
outline-offset: 2px;
|
|
64
64
|
}
|
|
65
65
|
.page-toc__link[data-active="true"] {
|
|
@@ -34,7 +34,7 @@ export const PaginationItem = React.forwardRef<HTMLLIElement, React.LiHTMLAttrib
|
|
|
34
34
|
);
|
|
35
35
|
|
|
36
36
|
const linkBase =
|
|
37
|
-
"inline-flex items-center justify-center gap-1.5 min-w-9 h-9 px-3 rounded-[calc(var(--radius)-2px)] border border-transparent bg-transparent text-foreground no-underline transition-[background-color,border-color,color] duration-[var(--duration-fast)] cursor-pointer select-none hover:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
37
|
+
"inline-flex items-center justify-center gap-1.5 min-w-9 h-9 px-3 rounded-[calc(var(--radius)-2px)] border border-transparent bg-transparent text-foreground no-underline transition-[background-color,border-color,color] duration-[var(--duration-fast)] cursor-pointer select-none hover:bg-background-muted focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 data-[active]:bg-foreground data-[active]:text-background data-[active]:font-medium data-[active]:hover:opacity-90 aria-disabled:pointer-events-none aria-disabled:opacity-45 data-[disabled]:pointer-events-none data-[disabled]:opacity-45 data-[size=sm]:min-w-8 data-[size=sm]:h-8 data-[size=sm]:px-2 motion-reduce:transition-none";
|
|
38
38
|
|
|
39
39
|
export interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
40
40
|
isActive?: boolean;
|
|
@@ -34,7 +34,7 @@ export const PopoverContent = React.forwardRef<HTMLDivElement, PopoverContentPro
|
|
|
34
34
|
<BasePopover.Popup
|
|
35
35
|
ref={ref}
|
|
36
36
|
className={cn(
|
|
37
|
-
"min-w-48 p-[var(--space-2)] bg-background text-foreground border border-border rounded-[var(--radius)] shadow-[0_8px_24px_rgba(0,0,0,0.12)] outline-none text-[length:var(--text-sm)] leading-snug origin-[var(--transform-origin)] transition-[opacity,transform] duration-[140ms] ease-out motion-reduce:transition-none data-[starting-style]:opacity-0 data-[starting-style]:scale-95 data-[ending-style]:opacity-0 data-[ending-style]:scale-95 motion-reduce:data-[starting-style]:scale-100 motion-reduce:data-[ending-style]:scale-100 focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
37
|
+
"min-w-48 p-[var(--space-2)] bg-background text-foreground border border-border rounded-[var(--radius)] shadow-[0_8px_24px_rgba(0,0,0,0.12)] outline-none text-[length:var(--text-sm)] leading-snug origin-[var(--transform-origin)] transition-[opacity,transform] duration-[140ms] ease-out motion-reduce:transition-none data-[starting-style]:opacity-0 data-[starting-style]:scale-95 data-[ending-style]:opacity-0 data-[ending-style]:scale-95 motion-reduce:data-[starting-style]:scale-100 motion-reduce:data-[ending-style]:scale-100 focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2",
|
|
38
38
|
className,
|
|
39
39
|
)}
|
|
40
40
|
{...props}
|
|
@@ -16,7 +16,7 @@ export const Radio = React.forwardRef<HTMLElement, RadioProps>(
|
|
|
16
16
|
<BaseRadio.Root
|
|
17
17
|
ref={ref}
|
|
18
18
|
className={cn(
|
|
19
|
-
"inline-flex items-center justify-center w-[1.125rem] h-[1.125rem] border border-border-strong rounded-full bg-background cursor-pointer shrink-0 transition-[border-color] duration-[var(--duration-fast)] hover:not-data-[disabled]:border-foreground focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
19
|
+
"inline-flex items-center justify-center w-[1.125rem] h-[1.125rem] border border-border-strong rounded-full bg-background cursor-pointer shrink-0 transition-[border-color] duration-[var(--duration-fast)] hover:not-data-[disabled]:border-foreground focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 data-[checked]:border-primary data-[disabled]:opacity-[var(--opacity-disabled)] data-[disabled]:cursor-not-allowed motion-reduce:transition-none [@media(hover:none)_and_(pointer:coarse)]:w-5 [@media(hover:none)_and_(pointer:coarse)]:h-5",
|
|
20
20
|
className,
|
|
21
21
|
)}
|
|
22
22
|
{...props}
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.sh-ui-radio:hover:not([data-disabled]) {
|
|
19
|
-
border-color: var(--
|
|
19
|
+
border-color: var(--primary);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.sh-ui-radio:focus-visible {
|
|
23
|
-
outline: var(--border-width-strong) solid var(--
|
|
23
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
24
24
|
outline-offset: 2px;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.radio:hover:not([data-disabled]) {
|
|
19
|
-
border-color: var(--
|
|
19
|
+
border-color: var(--primary);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.radio:focus-visible {
|
|
23
|
-
outline: var(--border-width-strong) solid var(--
|
|
23
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
24
24
|
outline-offset: 2px;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -67,7 +67,7 @@ export function RichTextEditor({
|
|
|
67
67
|
return (
|
|
68
68
|
<div
|
|
69
69
|
className={cn(
|
|
70
|
-
"sh-ui-rte flex flex-col border border-border rounded-[var(--radius)] bg-background overflow-hidden transition-[border-color] duration-[var(--duration-fast)] focus-within:border-
|
|
70
|
+
"sh-ui-rte flex flex-col border border-border rounded-[var(--radius)] bg-background overflow-hidden transition-[border-color] duration-[var(--duration-fast)] focus-within:border-primary focus-within:outline-[length:var(--border-width-strong)] focus-within:outline-ring focus-within:outline-offset-2 data-[readonly]:bg-background-subtle motion-reduce:transition-none",
|
|
71
71
|
className,
|
|
72
72
|
)}
|
|
73
73
|
data-readonly={readOnly || undefined}
|
|
@@ -157,7 +157,7 @@ function ToolbarButton({ editor, label, icon, isActive, canRun, run, disabled }:
|
|
|
157
157
|
<button
|
|
158
158
|
type="button"
|
|
159
159
|
className={cn(
|
|
160
|
-
"inline-flex items-center justify-center w-7 h-7 p-0 bg-transparent text-foreground-muted border border-transparent rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[color,background-color,border-color] duration-[var(--duration-fast)] hover:not-disabled:text-foreground hover:not-disabled:bg-background hover:not-disabled:border-border focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
160
|
+
"inline-flex items-center justify-center w-7 h-7 p-0 bg-transparent text-foreground-muted border border-transparent rounded-[calc(var(--radius)-2px)] cursor-pointer transition-[color,background-color,border-color] duration-[var(--duration-fast)] hover:not-disabled:text-foreground hover:not-disabled:bg-background hover:not-disabled:border-border focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-1 disabled:opacity-50 disabled:cursor-not-allowed motion-reduce:transition-none",
|
|
161
161
|
isActive && "text-foreground bg-background border-border-strong",
|
|
162
162
|
)}
|
|
163
163
|
aria-label={label}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
}
|
|
10
10
|
.sh-ui-rte:focus-within {
|
|
11
11
|
border-color: var(--foreground);
|
|
12
|
-
outline: var(--border-width-strong) solid var(--
|
|
12
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
13
13
|
outline-offset: 2px;
|
|
14
14
|
}
|
|
15
15
|
.sh-ui-rte[data-readonly] {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
border-color: var(--border);
|
|
51
51
|
}
|
|
52
52
|
.sh-ui-rte__btn:focus-visible {
|
|
53
|
-
outline: var(--border-width-strong) solid var(--
|
|
53
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
54
54
|
outline-offset: 1px;
|
|
55
55
|
}
|
|
56
56
|
.sh-ui-rte__btn.is-active {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
}
|
|
10
10
|
.rte:focus-within {
|
|
11
11
|
border-color: var(--foreground);
|
|
12
|
-
outline: var(--border-width-strong) solid var(--
|
|
12
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
13
13
|
outline-offset: 2px;
|
|
14
14
|
}
|
|
15
15
|
.rte[data-readonly] {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
border-color: var(--border);
|
|
51
51
|
}
|
|
52
52
|
.rte__btn:focus-visible {
|
|
53
|
-
outline: var(--border-width-strong) solid var(--
|
|
53
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
54
54
|
outline-offset: 1px;
|
|
55
55
|
}
|
|
56
56
|
.rte__btn.is-active {
|
|
@@ -30,7 +30,7 @@ export const SelectTrigger = React.forwardRef<
|
|
|
30
30
|
<BaseSelect.Trigger
|
|
31
31
|
ref={ref}
|
|
32
32
|
className={cn(
|
|
33
|
-
"inline-flex items-center justify-between gap-[var(--space-2)] min-w-40 h-[var(--control-md)] px-[var(--space-3)] bg-background text-foreground border border-border rounded-[var(--radius)] text-[length:var(--text-sm)] leading-none cursor-pointer transition-[border-color,background-color] duration-[var(--duration-fast)] select-none hover:not-disabled:border-border-strong focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-
|
|
33
|
+
"inline-flex items-center justify-between gap-[var(--space-2)] min-w-40 h-[var(--control-md)] px-[var(--space-3)] bg-background text-foreground border border-border rounded-[var(--radius)] text-[length:var(--text-sm)] leading-none cursor-pointer transition-[border-color,background-color] duration-[var(--duration-fast)] select-none hover:not-disabled:border-border-strong focus-visible:outline-[length:var(--border-width-strong)] focus-visible:outline-ring focus-visible:outline-offset-2 data-[popup-open]:border-border-strong disabled:opacity-[var(--opacity-disabled)] disabled:pointer-events-none",
|
|
34
34
|
className,
|
|
35
35
|
)}
|
|
36
36
|
{...props}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.sh-ui-select__trigger:focus-visible {
|
|
26
|
-
outline: var(--border-width-strong) solid var(--
|
|
26
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
27
27
|
outline-offset: 2px;
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -188,6 +188,6 @@
|
|
|
188
188
|
color: var(--foreground);
|
|
189
189
|
}
|
|
190
190
|
.sh-ui-select__chip-remove:focus-visible {
|
|
191
|
-
outline: var(--border-width-strong) solid var(--
|
|
191
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
192
192
|
outline-offset: 1px;
|
|
193
193
|
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.select__trigger:focus-visible {
|
|
26
|
-
outline: var(--border-width-strong) solid var(--
|
|
26
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
27
27
|
outline-offset: 2px;
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -188,6 +188,6 @@
|
|
|
188
188
|
color: var(--foreground);
|
|
189
189
|
}
|
|
190
190
|
.select__chip-remove:focus-visible {
|
|
191
|
-
outline: var(--border-width-strong) solid var(--
|
|
191
|
+
outline: var(--border-width-strong) solid var(--ring);
|
|
192
192
|
outline-offset: 1px;
|
|
193
193
|
}
|