@aviala-design/spiral 0.2.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2539 -1251
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +133 -20
- package/dist/index.d.ts +133 -20
- package/dist/index.js +2547 -1251
- package/dist/index.js.map +1 -1
- package/dist/props.json +36 -10
- package/dist/styles.css +41 -15
- package/package.json +3 -3
package/dist/props.json
CHANGED
|
@@ -186,6 +186,13 @@
|
|
|
186
186
|
"required": false,
|
|
187
187
|
"description": ""
|
|
188
188
|
},
|
|
189
|
+
{
|
|
190
|
+
"name": "equalWidth",
|
|
191
|
+
"type": "boolean",
|
|
192
|
+
"defaultValue": "false",
|
|
193
|
+
"required": false,
|
|
194
|
+
"description": "When true, the group fills its container and items split the width equally."
|
|
195
|
+
},
|
|
189
196
|
{
|
|
190
197
|
"name": "disabled",
|
|
191
198
|
"type": "boolean",
|
|
@@ -456,13 +463,6 @@
|
|
|
456
463
|
"required": false,
|
|
457
464
|
"description": ""
|
|
458
465
|
},
|
|
459
|
-
{
|
|
460
|
-
"name": "placeholder",
|
|
461
|
-
"type": "string",
|
|
462
|
-
"defaultValue": "YYYY/MM/DD",
|
|
463
|
-
"required": false,
|
|
464
|
-
"description": ""
|
|
465
|
-
},
|
|
466
466
|
{
|
|
467
467
|
"name": "rangePlaceholder",
|
|
468
468
|
"type": "string",
|
|
@@ -484,6 +484,13 @@
|
|
|
484
484
|
"required": false,
|
|
485
485
|
"description": ""
|
|
486
486
|
},
|
|
487
|
+
{
|
|
488
|
+
"name": "editable",
|
|
489
|
+
"type": "boolean",
|
|
490
|
+
"defaultValue": "true",
|
|
491
|
+
"required": false,
|
|
492
|
+
"description": "When false, shows a read-only value instead of an editable input. Default true."
|
|
493
|
+
},
|
|
487
494
|
{
|
|
488
495
|
"name": "contentClassName",
|
|
489
496
|
"type": "string",
|
|
@@ -757,7 +764,7 @@
|
|
|
757
764
|
"name": "showController",
|
|
758
765
|
"type": "boolean",
|
|
759
766
|
"required": false,
|
|
760
|
-
"description": "Figma `Controller` — character counter +
|
|
767
|
+
"description": "Figma `Controller` — character counter + SymbolResize drag handle"
|
|
761
768
|
},
|
|
762
769
|
{
|
|
763
770
|
"name": "error",
|
|
@@ -1174,7 +1181,7 @@
|
|
|
1174
1181
|
"props": [
|
|
1175
1182
|
{
|
|
1176
1183
|
"name": "label",
|
|
1177
|
-
"type": "
|
|
1184
|
+
"type": "ReactNode",
|
|
1178
1185
|
"required": false,
|
|
1179
1186
|
"description": ""
|
|
1180
1187
|
},
|
|
@@ -1192,15 +1199,34 @@
|
|
|
1192
1199
|
},
|
|
1193
1200
|
{
|
|
1194
1201
|
"name": "error",
|
|
1195
|
-
"type": "
|
|
1202
|
+
"type": "ReactNode",
|
|
1196
1203
|
"required": false,
|
|
1197
1204
|
"description": ""
|
|
1198
1205
|
},
|
|
1206
|
+
{
|
|
1207
|
+
"name": "info",
|
|
1208
|
+
"type": "ReactNode",
|
|
1209
|
+
"required": false,
|
|
1210
|
+
"description": ""
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"name": "alert",
|
|
1214
|
+
"type": "ReactNode",
|
|
1215
|
+
"required": false,
|
|
1216
|
+
"description": "Optional Alert / Feedback under the control"
|
|
1217
|
+
},
|
|
1199
1218
|
{
|
|
1200
1219
|
"name": "required",
|
|
1201
1220
|
"type": "boolean",
|
|
1202
1221
|
"required": false,
|
|
1203
1222
|
"description": ""
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"name": "direction",
|
|
1226
|
+
"type": "enum",
|
|
1227
|
+
"defaultValue": "vertical",
|
|
1228
|
+
"required": false,
|
|
1229
|
+
"description": "Figma `Direction` — vertical stacks label above control; horizontal places label beside"
|
|
1204
1230
|
}
|
|
1205
1231
|
]
|
|
1206
1232
|
},
|
package/dist/styles.css
CHANGED
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
--text-text-normal-text-black: #343333;
|
|
132
132
|
--text-text-normal-text-caption-black: #858484;
|
|
133
133
|
--text-text-normal-text-white: #fefcfc;
|
|
134
|
-
--text-text-normal-text-caption-white: #
|
|
134
|
+
--text-text-normal-text-caption-white: #fefcfc;
|
|
135
135
|
|
|
136
136
|
/* shadcn semantic aliases — default typography/surfaces use neutral tokens, not theme tint */
|
|
137
137
|
--background: var(--normal-background-theme, #faf8f8);
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
[data-mode="dark"] {
|
|
160
160
|
--background: #1a1a1a;
|
|
161
161
|
--foreground: var(--text-text-normal-text-white, #e8e8e8);
|
|
162
|
-
--muted-foreground: var(--text-text-normal-text-caption-
|
|
162
|
+
--muted-foreground: var(--text-text-normal-text-caption-black, #a8a8a8);
|
|
163
163
|
--secondary-foreground: var(--text-text-normal-text-white, #e8e8e8);
|
|
164
164
|
--accent-foreground: var(--text-text-normal-text-white, #e8e8e8);
|
|
165
165
|
--card: #242424;
|
|
@@ -459,11 +459,12 @@
|
|
|
459
459
|
--segmentator-shadow-tiled: inset 0 -0.5px 0
|
|
460
460
|
var(--special-effort-se-lineshadow-bottom, rgba(0, 0, 0, 0.04));
|
|
461
461
|
--segmentator-item-hover-bg: var(--aviala-neutral-neutral-6, #edebeb);
|
|
462
|
-
--segmentator-press-scale: 0.
|
|
463
|
-
--segmentator-press-
|
|
462
|
+
--segmentator-press-scale: 0.98;
|
|
463
|
+
--segmentator-press-height-scale: 0.88;
|
|
464
|
+
--segmentator-press-transition-duration: var(--segmentator-transition-duration, 0.52s);
|
|
464
465
|
--segmentator-press-transition-easing: var(
|
|
465
466
|
--segmentator-transition-easing,
|
|
466
|
-
cubic-bezier(0.
|
|
467
|
+
cubic-bezier(0.22, 1.1, 0.36, 1)
|
|
467
468
|
);
|
|
468
469
|
--segmentator-haptic-press-ms: 20;
|
|
469
470
|
--segmentator-haptic-select-ms: 16;
|
|
@@ -570,9 +571,14 @@
|
|
|
570
571
|
var(--datepicker-grid-rows) * var(--datepicker-day-height) +
|
|
571
572
|
(var(--datepicker-grid-rows) - 1) * var(--datepicker-row-gap)
|
|
572
573
|
);
|
|
574
|
+
/* Date grid content (weekdays + grid) — keep month wheels the same height */
|
|
575
|
+
--datepicker-view-height: calc(
|
|
576
|
+
var(--datepicker-weekday-height) + var(--datepicker-panel-gap) +
|
|
577
|
+
var(--datepicker-grid-height)
|
|
578
|
+
);
|
|
573
579
|
--datepicker-panel-body-height: calc(
|
|
574
580
|
var(--datepicker-header-height) + var(--datepicker-panel-gap) +
|
|
575
|
-
var(--datepicker-
|
|
581
|
+
var(--datepicker-view-height)
|
|
576
582
|
);
|
|
577
583
|
--datepicker-time-wheel-item-height: 36px;
|
|
578
584
|
--datepicker-time-wheel-visible-count: 5;
|
|
@@ -793,15 +799,19 @@
|
|
|
793
799
|
/* Slider — Figma Information Collect → Slider (384:21584) */
|
|
794
800
|
--slider-width: 70px;
|
|
795
801
|
--slider-track-height: 4px;
|
|
796
|
-
--slider-track-height-big:
|
|
802
|
+
--slider-track-height-big: 8px;
|
|
797
803
|
--slider-thumb-size: 8px;
|
|
798
|
-
--slider-thumb-size-big:
|
|
804
|
+
--slider-thumb-size-big: 10px;
|
|
805
|
+
--slider-pad-y: var(--padding-tinyer, 3px);
|
|
799
806
|
--slider-track-bg: var(--box-box-normal-background-whiteonly, #fefcfc);
|
|
800
807
|
--slider-track-border: var(--border-border-normal-primary, #e2e0e0);
|
|
801
808
|
--slider-range-bg: var(--box-box-theme-primarybackground, #ff5532);
|
|
802
809
|
--slider-thumb-bg: var(--box-box-normal-background-whiteonly, #fefcfc);
|
|
803
810
|
--slider-thumb-border: var(--border-border-theme-primary, #ff5532);
|
|
804
|
-
|
|
811
|
+
/* Availability Status=OFF — secondary fill, not whole-control opacity */
|
|
812
|
+
--slider-track-bg-disabled: var(--control-control-normal-lightbackground-deep, #fdfbfb);
|
|
813
|
+
--slider-range-bg-disabled: var(--box-box-theme-secondarybackground, #ffdad2);
|
|
814
|
+
--slider-thumb-border-disabled: var(--box-box-theme-secondarybackground, #ffdad2);
|
|
805
815
|
|
|
806
816
|
/* Upload — Figma Information Collect → Upload (527:56238 / 527:56237) */
|
|
807
817
|
--upload-radius: var(--border-radius-small, 8px);
|
|
@@ -1020,7 +1030,9 @@
|
|
|
1020
1030
|
}
|
|
1021
1031
|
|
|
1022
1032
|
/* Keyboard focus ring - opt-in via `.aviala-focus-ring`.
|
|
1023
|
-
|
|
1033
|
+
Requires `html[data-aviala-kbd]` (set by initKeyboardFocus) so rings do not
|
|
1034
|
+
appear when menus programmatically focus items after a pointer open.
|
|
1035
|
+
Animated box-shadow: 12px → 3px, 250ms. */
|
|
1024
1036
|
|
|
1025
1037
|
:root {
|
|
1026
1038
|
--focus-ring-width-start: var(--size-small, 12px);
|
|
@@ -1030,13 +1042,15 @@
|
|
|
1030
1042
|
--focus-transition-easing: ease;
|
|
1031
1043
|
}
|
|
1032
1044
|
|
|
1033
|
-
/* Suppress native outline; custom ring only
|
|
1034
|
-
.aviala-focus-ring:focus
|
|
1045
|
+
/* Suppress native outline always; custom ring only for keyboard modality */
|
|
1046
|
+
.aviala-focus-ring:focus,
|
|
1047
|
+
.aviala-focus-ring:focus-visible,
|
|
1048
|
+
.aviala-focus-ring:has(:focus-visible) {
|
|
1035
1049
|
outline: none;
|
|
1036
1050
|
}
|
|
1037
1051
|
|
|
1038
|
-
.aviala-focus-ring:focus-visible
|
|
1039
|
-
|
|
1052
|
+
html[data-aviala-kbd] .aviala-focus-ring:focus-visible,
|
|
1053
|
+
html[data-aviala-kbd] .aviala-focus-ring:has(:focus-visible) {
|
|
1040
1054
|
animation: aviala-focus-ring-settle var(--focus-transition-duration)
|
|
1041
1055
|
var(--focus-transition-easing) forwards;
|
|
1042
1056
|
}
|
|
@@ -1051,7 +1065,19 @@
|
|
|
1051
1065
|
}
|
|
1052
1066
|
|
|
1053
1067
|
@media (prefers-reduced-motion: reduce) {
|
|
1054
|
-
.aviala-focus-ring:focus-visible
|
|
1068
|
+
html[data-aviala-kbd] .aviala-focus-ring:focus-visible,
|
|
1069
|
+
html[data-aviala-kbd] .aviala-focus-ring:has(:focus-visible) {
|
|
1070
|
+
animation: none;
|
|
1071
|
+
box-shadow: 0 0 0 var(--focus-ring-width-end) var(--focus-ring-color);
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
/* Wheel selected-item proxy rings (overflow clips the listbox ring) */
|
|
1075
|
+
html[data-aviala-kbd]
|
|
1076
|
+
.aviala-datepicker-time__wheel-scroll:focus-visible
|
|
1077
|
+
.aviala-datepicker-time__wheel-option[data-selected="true"],
|
|
1078
|
+
html[data-aviala-kbd]
|
|
1079
|
+
.aviala-scroll-picker-column__scroll:focus-visible
|
|
1080
|
+
.aviala-scroll-picker-item[data-selected="true"] {
|
|
1055
1081
|
animation: none;
|
|
1056
1082
|
box-shadow: 0 0 0 var(--focus-ring-width-end) var(--focus-ring-color);
|
|
1057
1083
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aviala-design/spiral",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Spiral 2 ? Aviala Design React component library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"clsx": "^2.1.1",
|
|
44
44
|
"colord": "^2.9.3",
|
|
45
45
|
"tailwind-merge": "^3.3.1",
|
|
46
|
-
"@aviala-design/
|
|
47
|
-
"@aviala-design/
|
|
46
|
+
"@aviala-design/icons": "2.0.1",
|
|
47
|
+
"@aviala-design/tokens": "1.0.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"react": ">=18",
|