twntyx-css 1.0.5 → 1.0.6
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/llm/components/{card-assessment.json → card-draggable.json} +17 -25
- package/llm/components/illustrations-library.json +1 -1
- package/llm/components/template-onboarding.json +82 -0
- package/llm/components/template-stats.json +2 -2
- package/llm/examples/card-draggable.html +1 -0
- package/llm/examples/template-onboarding.html +1 -0
- package/llm/examples/template-stats.html +1 -1
- package/llm/index.json +35 -24
- package/package.json +1 -1
- package/styles/countdown.css +15 -28
- package/styles/progress.css +110 -108
- package/styles/stepper.css +10 -13
- package/llm/examples/card-assessment.html +0 -1
|
@@ -1,39 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "card-
|
|
3
|
-
"name": "
|
|
2
|
+
"id": "card-draggable",
|
|
3
|
+
"name": "Draggable card",
|
|
4
4
|
"status": "preview",
|
|
5
|
-
"summary": "A versatile
|
|
5
|
+
"summary": "A versatile draggablecard component for displaying various items.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"card",
|
|
8
|
-
"card
|
|
9
|
-
"card-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"outreach",
|
|
17
|
-
"pipeline",
|
|
18
|
-
"pitch call",
|
|
19
|
-
"profile",
|
|
20
|
-
"progress",
|
|
21
|
-
"readiness",
|
|
22
|
-
"results",
|
|
23
|
-
"review"
|
|
8
|
+
"card draggable",
|
|
9
|
+
"card-draggable",
|
|
10
|
+
"drag and drop",
|
|
11
|
+
"draggable",
|
|
12
|
+
"items",
|
|
13
|
+
"list",
|
|
14
|
+
"reorderable",
|
|
15
|
+
"sortable"
|
|
24
16
|
],
|
|
25
17
|
"sourcePaths": [
|
|
26
|
-
"app/design-system/card-
|
|
18
|
+
"app/design-system/card-draggable/page.js"
|
|
27
19
|
],
|
|
28
20
|
"apiModel": "html-class",
|
|
29
|
-
"baseClass": "card-
|
|
21
|
+
"baseClass": "card-draggable",
|
|
30
22
|
"variants": [],
|
|
31
23
|
"sizes": [],
|
|
32
24
|
"states": [],
|
|
33
25
|
"structure": {
|
|
34
26
|
"rootElement": "div",
|
|
35
27
|
"requiredClasses": [
|
|
36
|
-
"card-
|
|
28
|
+
"card-draggable"
|
|
37
29
|
],
|
|
38
30
|
"optionalClasses": [],
|
|
39
31
|
"requiredChildren": [],
|
|
@@ -64,7 +56,7 @@
|
|
|
64
56
|
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
65
57
|
},
|
|
66
58
|
"dos": [
|
|
67
|
-
"Apply the base class 'card-
|
|
59
|
+
"Apply the base class 'card-draggable' on the root element.",
|
|
68
60
|
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
69
61
|
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
70
62
|
],
|
|
@@ -77,8 +69,8 @@
|
|
|
77
69
|
"examples": [
|
|
78
70
|
{
|
|
79
71
|
"id": "canonical",
|
|
80
|
-
"file": "examples/card-
|
|
81
|
-
"description": "Minimal canonical
|
|
72
|
+
"file": "examples/card-draggable.html",
|
|
73
|
+
"description": "Minimal canonical Draggable card usage."
|
|
82
74
|
}
|
|
83
75
|
],
|
|
84
76
|
"composition": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "illustrations-library",
|
|
3
3
|
"name": "Illustrations library",
|
|
4
4
|
"status": "stable",
|
|
5
|
-
"summary": "Browse our collection of custom illustrations and visual elements used to enhance the user experience and reinforce our brand identity across the application.
|
|
5
|
+
"summary": "Browse our collection of custom illustrations and visual elements used to enhance the user experience and reinforce our brand identity across the application.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"artwork",
|
|
8
8
|
"assets",
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "template-onboarding",
|
|
3
|
+
"name": "Onboarding",
|
|
4
|
+
"status": "preview",
|
|
5
|
+
"summary": "A template for an onboarding process.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"getting started",
|
|
8
|
+
"guide",
|
|
9
|
+
"help",
|
|
10
|
+
"introduction",
|
|
11
|
+
"onboarding",
|
|
12
|
+
"support",
|
|
13
|
+
"template onboarding",
|
|
14
|
+
"template-onboarding",
|
|
15
|
+
"tutorial",
|
|
16
|
+
"welcome"
|
|
17
|
+
],
|
|
18
|
+
"sourcePaths": [
|
|
19
|
+
"app/design-system/template-onboarding/page.js"
|
|
20
|
+
],
|
|
21
|
+
"apiModel": "html-class",
|
|
22
|
+
"baseClass": "template-onboarding",
|
|
23
|
+
"variants": [],
|
|
24
|
+
"sizes": [],
|
|
25
|
+
"states": [],
|
|
26
|
+
"structure": {
|
|
27
|
+
"rootElement": "div",
|
|
28
|
+
"requiredClasses": [
|
|
29
|
+
"template-onboarding"
|
|
30
|
+
],
|
|
31
|
+
"optionalClasses": [],
|
|
32
|
+
"requiredChildren": [],
|
|
33
|
+
"optionalChildren": []
|
|
34
|
+
},
|
|
35
|
+
"attributes": {
|
|
36
|
+
"allowed": [
|
|
37
|
+
"class"
|
|
38
|
+
],
|
|
39
|
+
"required": [],
|
|
40
|
+
"dataAttributes": [],
|
|
41
|
+
"roles": [],
|
|
42
|
+
"aria": [
|
|
43
|
+
"aria-label"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"a11y": {
|
|
47
|
+
"interactive": false,
|
|
48
|
+
"requiredRoles": [],
|
|
49
|
+
"requiredAria": [
|
|
50
|
+
"aria-label"
|
|
51
|
+
],
|
|
52
|
+
"keyboardSupport": [],
|
|
53
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
54
|
+
},
|
|
55
|
+
"dos": [
|
|
56
|
+
"Apply the base class 'template-onboarding' on the root element.",
|
|
57
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
58
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
59
|
+
],
|
|
60
|
+
"donts": [
|
|
61
|
+
"Do not combine conflicting state classes on the same element.",
|
|
62
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
63
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
64
|
+
],
|
|
65
|
+
"tokenUsage": [],
|
|
66
|
+
"examples": [
|
|
67
|
+
{
|
|
68
|
+
"id": "canonical",
|
|
69
|
+
"file": "examples/template-onboarding.html",
|
|
70
|
+
"description": "Minimal canonical Onboarding usage."
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"composition": {
|
|
74
|
+
"patterns": [],
|
|
75
|
+
"relatedComponents": [],
|
|
76
|
+
"notes": []
|
|
77
|
+
},
|
|
78
|
+
"breakingChangePolicy": {
|
|
79
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
80
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "template-stats",
|
|
3
|
-
"name": "Stats
|
|
3
|
+
"name": "Stats",
|
|
4
4
|
"status": "preview",
|
|
5
5
|
"summary": "Tailwind-first stats template for composing metric cards directly in markup without component-specific classes.",
|
|
6
6
|
"keywords": [
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
{
|
|
62
62
|
"id": "canonical",
|
|
63
63
|
"file": "examples/template-stats.html",
|
|
64
|
-
"description": "Minimal canonical Stats
|
|
64
|
+
"description": "Minimal canonical Stats usage."
|
|
65
65
|
}
|
|
66
66
|
],
|
|
67
67
|
"composition": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<div class="card-draggable">Draggable card</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<div class="template-onboarding">Onboarding</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<div class="template-stats">Stats
|
|
1
|
+
<div class="template-stats">Stats</div>
|
package/llm/index.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"llmSchemaVersion": "1.0.0",
|
|
3
|
-
"designSystemVersion": "1.0.
|
|
3
|
+
"designSystemVersion": "1.0.6",
|
|
4
4
|
"packageName": "twntyx-css",
|
|
5
5
|
"apiModel": "html-class",
|
|
6
|
-
"sourceFingerprint": "
|
|
6
|
+
"sourceFingerprint": "4cd39f2680d99524f0624f0487aa006fb4b948b3ef1926fb82d2b1d6e0b608e9",
|
|
7
7
|
"files": {
|
|
8
8
|
"schema": "schema.json",
|
|
9
9
|
"tokens": "tokens.json",
|
|
@@ -315,29 +315,21 @@
|
|
|
315
315
|
]
|
|
316
316
|
},
|
|
317
317
|
{
|
|
318
|
-
"id": "card-
|
|
319
|
-
"name": "
|
|
320
|
-
"file": "components/card-
|
|
318
|
+
"id": "card-draggable",
|
|
319
|
+
"name": "Draggable card",
|
|
320
|
+
"file": "components/card-draggable.json",
|
|
321
321
|
"status": "preview",
|
|
322
|
-
"summary": "A versatile
|
|
322
|
+
"summary": "A versatile draggablecard component for displaying various items.",
|
|
323
323
|
"keywords": [
|
|
324
324
|
"card",
|
|
325
|
-
"card
|
|
326
|
-
"card-
|
|
327
|
-
"
|
|
328
|
-
"
|
|
329
|
-
"
|
|
330
|
-
"
|
|
331
|
-
"
|
|
332
|
-
"
|
|
333
|
-
"outreach",
|
|
334
|
-
"pipeline",
|
|
335
|
-
"pitch call",
|
|
336
|
-
"profile",
|
|
337
|
-
"progress",
|
|
338
|
-
"readiness",
|
|
339
|
-
"results",
|
|
340
|
-
"review"
|
|
325
|
+
"card draggable",
|
|
326
|
+
"card-draggable",
|
|
327
|
+
"drag and drop",
|
|
328
|
+
"draggable",
|
|
329
|
+
"items",
|
|
330
|
+
"list",
|
|
331
|
+
"reorderable",
|
|
332
|
+
"sortable"
|
|
341
333
|
]
|
|
342
334
|
},
|
|
343
335
|
{
|
|
@@ -755,7 +747,7 @@
|
|
|
755
747
|
"name": "Illustrations library",
|
|
756
748
|
"file": "components/illustrations-library.json",
|
|
757
749
|
"status": "stable",
|
|
758
|
-
"summary": "Browse our collection of custom illustrations and visual elements used to enhance the user experience and reinforce our brand identity across the application.
|
|
750
|
+
"summary": "Browse our collection of custom illustrations and visual elements used to enhance the user experience and reinforce our brand identity across the application.",
|
|
759
751
|
"keywords": [
|
|
760
752
|
"artwork",
|
|
761
753
|
"assets",
|
|
@@ -1472,9 +1464,28 @@
|
|
|
1472
1464
|
"top bar"
|
|
1473
1465
|
]
|
|
1474
1466
|
},
|
|
1467
|
+
{
|
|
1468
|
+
"id": "template-onboarding",
|
|
1469
|
+
"name": "Onboarding",
|
|
1470
|
+
"file": "components/template-onboarding.json",
|
|
1471
|
+
"status": "preview",
|
|
1472
|
+
"summary": "A template for an onboarding process.",
|
|
1473
|
+
"keywords": [
|
|
1474
|
+
"getting started",
|
|
1475
|
+
"guide",
|
|
1476
|
+
"help",
|
|
1477
|
+
"introduction",
|
|
1478
|
+
"onboarding",
|
|
1479
|
+
"support",
|
|
1480
|
+
"template onboarding",
|
|
1481
|
+
"template-onboarding",
|
|
1482
|
+
"tutorial",
|
|
1483
|
+
"welcome"
|
|
1484
|
+
]
|
|
1485
|
+
},
|
|
1475
1486
|
{
|
|
1476
1487
|
"id": "template-stats",
|
|
1477
|
-
"name": "Stats
|
|
1488
|
+
"name": "Stats",
|
|
1478
1489
|
"file": "components/template-stats.json",
|
|
1479
1490
|
"status": "preview",
|
|
1480
1491
|
"summary": "Tailwind-first stats template for composing metric cards directly in markup without component-specific classes.",
|
package/package.json
CHANGED
package/styles/countdown.css
CHANGED
|
@@ -3,63 +3,50 @@
|
|
|
3
3
|
/*----------------------------*/
|
|
4
4
|
|
|
5
5
|
.countdown {
|
|
6
|
-
@apply
|
|
7
|
-
leading-[0]
|
|
6
|
+
@apply leading-[0]
|
|
8
7
|
inline-flex
|
|
9
|
-
items-baseline
|
|
10
|
-
|
|
8
|
+
items-baseline;
|
|
9
|
+
@-moz-document url-prefix() {
|
|
10
|
+
@apply items-center!;
|
|
11
|
+
}
|
|
11
12
|
> * {
|
|
12
|
-
@apply
|
|
13
|
-
not-italic
|
|
14
|
-
;
|
|
13
|
+
@apply not-italic;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
> i:not(:last-child) {
|
|
18
|
-
@apply
|
|
19
|
-
mr-0.5
|
|
20
|
-
;
|
|
17
|
+
@apply mr-0.5;
|
|
21
18
|
}
|
|
22
19
|
> span {
|
|
23
|
-
@apply
|
|
24
|
-
h-4
|
|
20
|
+
@apply h-4
|
|
25
21
|
leading-none
|
|
26
22
|
inline-block
|
|
27
23
|
overflow-y-hidden
|
|
28
|
-
/* mx-auto
|
|
29
|
-
;
|
|
24
|
+
/* mx-auto */;
|
|
30
25
|
&::before {
|
|
31
|
-
@apply
|
|
32
|
-
relative
|
|
26
|
+
@apply relative
|
|
33
27
|
content-["00\a_01\a_02\a_03\a_04\a_05\a_06\a_07\a_08\a_09\a_10\a_11\a_12\a_13\a_14\a_15\a_16\a_17\a_18\a_19\a_20\a_21\a_22\a_23\a_24\a_25\a_26\a_27\a_28\a_29\a_30\a_31\a_32\a_33\a_34\a_35\a_36\a_37\a_38\a_39\a_40\a_41\a_42\a_43\a_44\a_45\a_46\a_47\a_48\a_49\a_50\a_51\a_52\a_53\a_54\a_55\a_56\a_57\a_58\a_59\a_60\a_61\a_62\a_63\a_64\a_65\a_66\a_67\a_68\a_69\a_70\a_71\a_72\a_73\a_74\a_75\a_76\a_77\a_78\a_79\a_80\a_81\a_82\a_83\a_84\a_85\a_86\a_87\a_88\a_89\a_90\a_91\a_92\a_93\a_94\a_95\a_96\a_97\a_98\a_99\a"]
|
|
34
28
|
whitespace-pre
|
|
35
29
|
text-center
|
|
36
30
|
transition-all
|
|
37
31
|
duration-1000
|
|
38
32
|
top-[calc(var(--value)_*_-1em)]
|
|
39
|
-
ease-[cubic-bezier(0.9,0,0.1,1)]
|
|
40
|
-
;
|
|
33
|
+
ease-[cubic-bezier(0.9,0,0.1,1)];
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
37
|
|
|
45
38
|
.chip {
|
|
46
39
|
.countdown > span {
|
|
47
|
-
@apply
|
|
48
|
-
h-4
|
|
49
|
-
;
|
|
40
|
+
@apply h-4;
|
|
50
41
|
}
|
|
51
42
|
&.chip-sm {
|
|
52
43
|
.countdown > span {
|
|
53
|
-
@apply
|
|
54
|
-
h-3
|
|
55
|
-
;
|
|
44
|
+
@apply h-3;
|
|
56
45
|
}
|
|
57
46
|
}
|
|
58
47
|
&.chip-xs {
|
|
59
48
|
.countdown > span {
|
|
60
|
-
@apply
|
|
61
|
-
h-2
|
|
62
|
-
;
|
|
49
|
+
@apply h-2;
|
|
63
50
|
}
|
|
64
51
|
}
|
|
65
|
-
}
|
|
52
|
+
}
|
package/styles/progress.css
CHANGED
|
@@ -16,35 +16,37 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
@utility progress-radial {
|
|
19
|
-
|
|
19
|
+
@apply inline-flex overflow-hidden relative justify-center items-center rounded-full transition-all duration-75 include-transition;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
width: var(--size);
|
|
22
|
+
height: var(--size);
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/* Create the radial progress background */
|
|
25
|
+
background:
|
|
26
|
+
radial-gradient(farthest-side, currentColor 98%, transparent)
|
|
27
|
+
top/var(--thickness) var(--thickness) no-repeat,
|
|
28
|
+
conic-gradient(currentColor calc(var(--value) * 1%), transparent 0);
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/* Progress indicator dot */
|
|
31
|
+
&::after {
|
|
32
|
+
@apply absolute
|
|
32
33
|
rounded-full
|
|
33
34
|
bg-current
|
|
34
35
|
content-['']
|
|
35
36
|
transition-transform
|
|
36
37
|
include-transition duration-75;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
width: var(--thickness);
|
|
39
|
+
height: var(--thickness);
|
|
40
|
+
inset: calc(50% - var(--thickness) / 2);
|
|
41
|
+
transform: rotate(calc(var(--value) * 3.6deg - 90deg))
|
|
42
|
+
translate(calc(var(--size) / 2 - 50%));
|
|
43
|
+
}
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
/* Inner circle */
|
|
46
|
+
.progress-inner {
|
|
47
|
+
@apply absolute rounded-full bg-background-surface;
|
|
48
|
+
inset: var(--thickness);
|
|
49
|
+
}
|
|
48
50
|
|
|
49
51
|
/* Value text */
|
|
50
52
|
.progress-value {
|
|
@@ -54,66 +56,66 @@
|
|
|
54
56
|
|
|
55
57
|
/* Size variants */
|
|
56
58
|
@utility progress-xs {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
--size: 44px;
|
|
60
|
+
--thickness: 2px;
|
|
59
61
|
@apply text-xs;
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
@utility progress-sm {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
--size: 64px;
|
|
66
|
+
--thickness: 3px;
|
|
65
67
|
@apply text-sm;
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
@utility progress-md {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
--size: 96px;
|
|
72
|
+
--thickness: 4px;
|
|
71
73
|
@apply text-base;
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
@utility progress-lg {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
--size: 128px;
|
|
78
|
+
--thickness: 6px;
|
|
77
79
|
@apply text-xl;
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
@utility progress-xl {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
--size: 160px;
|
|
84
|
+
--thickness: 8px;
|
|
83
85
|
@apply text-2xl;
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
/* Linear progress */
|
|
87
89
|
@utility progress-linear {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
--thickness: 6px;
|
|
91
|
+
@apply relative w-full rounded-full bg-line-highlight text-background-brand h-(--thickness);
|
|
90
92
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
/* Progress bar */
|
|
94
|
+
&::after {
|
|
95
|
+
@apply content-[''] absolute inset-0 bg-current rounded-full transition-all duration-300 ease-out-quart;
|
|
96
|
+
width: var(--value, 0%);
|
|
97
|
+
}
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
/* Size variants */
|
|
100
|
+
&.progress-xs {
|
|
101
|
+
--thickness: 2px;
|
|
102
|
+
}
|
|
101
103
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
&.progress-sm {
|
|
105
|
+
--thickness: 4px;
|
|
106
|
+
}
|
|
105
107
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
&.progress-md {
|
|
109
|
+
--thickness: 6px;
|
|
110
|
+
}
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
&.progress-lg {
|
|
113
|
+
--thickness: 10px;
|
|
114
|
+
}
|
|
113
115
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
&.progress-xl {
|
|
117
|
+
--thickness: 12px;
|
|
118
|
+
}
|
|
117
119
|
|
|
118
120
|
.progress-label {
|
|
119
121
|
@apply text-xs text-text-tertiary whitespace-nowrap inline absolute bottom-2.5 -translate-x-full left-[calc(var(--value))];
|
|
@@ -122,86 +124,86 @@
|
|
|
122
124
|
|
|
123
125
|
/* Bullet progress */
|
|
124
126
|
@utility progress-bullet {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
--thickness: 8px;
|
|
128
|
+
@apply flex gap-(--thickness) text-brand-default;
|
|
127
129
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
&:not(:has(.is-active)) li,
|
|
131
|
+
li.is-active ~ li {
|
|
132
|
+
&::after {
|
|
133
|
+
@apply translate-y-full;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
li {
|
|
138
|
+
@apply overflow-hidden relative rounded-full size-2 bg-line-highlight h-(--thickness) w-(--thickness);
|
|
139
|
+
|
|
140
|
+
&::after {
|
|
141
|
+
@apply content-[''] absolute inset-0 rounded-full transition-transform duration-0 ease-out-cubic translate-y-0 bg-current;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
li.is-active {
|
|
146
|
+
&::after {
|
|
147
|
+
@apply bg-current duration-500;
|
|
133
148
|
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
&.progress-xs {
|
|
152
|
+
--thickness: 4px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
&.progress-sm {
|
|
156
|
+
--thickness: 6px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
&.progress-md {
|
|
160
|
+
--thickness: 8px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
&.progress-lg {
|
|
164
|
+
--thickness: 10px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&.progress-xl {
|
|
168
|
+
--thickness: 12px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Full width variant */
|
|
172
|
+
&.progress-full {
|
|
173
|
+
--thickness: 4px;
|
|
174
|
+
@apply w-full;
|
|
134
175
|
|
|
135
176
|
li {
|
|
136
|
-
@apply
|
|
177
|
+
@apply flex-1 h-(--thickness);
|
|
137
178
|
|
|
138
179
|
&::after {
|
|
139
|
-
@apply
|
|
180
|
+
@apply w-full opacity-100 translate-x-0 translate-y-0;
|
|
140
181
|
}
|
|
141
182
|
}
|
|
142
183
|
|
|
143
|
-
|
|
184
|
+
&:not(:has(.is-active)) li,
|
|
185
|
+
li.is-active ~ li {
|
|
144
186
|
&::after {
|
|
145
|
-
@apply
|
|
187
|
+
@apply -translate-x-[calc(100%+2px)] translate-y-0;
|
|
146
188
|
}
|
|
147
189
|
}
|
|
148
190
|
|
|
149
191
|
&.progress-xs {
|
|
150
|
-
--thickness:
|
|
192
|
+
--thickness: 1px;
|
|
151
193
|
}
|
|
152
194
|
|
|
153
195
|
&.progress-sm {
|
|
154
|
-
--thickness:
|
|
196
|
+
--thickness: 2px;
|
|
155
197
|
}
|
|
156
198
|
|
|
157
199
|
&.progress-md {
|
|
158
|
-
--thickness:
|
|
200
|
+
--thickness: 4px;
|
|
159
201
|
}
|
|
160
202
|
|
|
161
203
|
&.progress-lg {
|
|
162
|
-
--thickness:
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
&.progress-xl {
|
|
166
|
-
--thickness: 12px;
|
|
204
|
+
--thickness: 6px;
|
|
167
205
|
}
|
|
168
206
|
|
|
169
|
-
/* Full width variant */
|
|
170
|
-
&.progress-full {
|
|
171
|
-
--thickness: 4px;
|
|
172
|
-
@apply w-full;
|
|
173
|
-
|
|
174
|
-
li {
|
|
175
|
-
@apply flex-1 h-(--thickness);
|
|
176
|
-
|
|
177
|
-
&::after {
|
|
178
|
-
@apply w-full opacity-100 translate-x-0 translate-y-0;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
&:not(:has(.is-active)) li,
|
|
183
|
-
li.is-active ~ li {
|
|
184
|
-
&::after {
|
|
185
|
-
@apply -translate-x-[calc(100%+2px)] translate-y-0;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
&.progress-xs {
|
|
190
|
-
--thickness: 1px;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
&.progress-sm {
|
|
194
|
-
--thickness: 2px;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
&.progress-md {
|
|
198
|
-
--thickness: 4px;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
&.progress-lg {
|
|
202
|
-
--thickness: 6px;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
207
|
&.progress-xl {
|
|
206
208
|
--thickness: 8px;
|
|
207
209
|
}
|
package/styles/stepper.css
CHANGED
|
@@ -3,22 +3,20 @@
|
|
|
3
3
|
/*----------------------------*/
|
|
4
4
|
|
|
5
5
|
.stepper {
|
|
6
|
-
@apply
|
|
7
|
-
leading-[0]
|
|
6
|
+
@apply leading-[0]
|
|
8
7
|
inline-flex
|
|
9
|
-
items-baseline
|
|
10
|
-
|
|
8
|
+
items-baseline;
|
|
9
|
+
@-moz-document url-prefix() {
|
|
10
|
+
@apply items-center!;
|
|
11
|
+
}
|
|
11
12
|
> span {
|
|
12
|
-
@apply
|
|
13
|
-
h-4
|
|
13
|
+
@apply h-4
|
|
14
14
|
leading-none
|
|
15
15
|
inline-block
|
|
16
16
|
overflow-y-hidden
|
|
17
|
-
mx-auto
|
|
18
|
-
;
|
|
17
|
+
mx-auto;
|
|
19
18
|
&::before {
|
|
20
|
-
@apply
|
|
21
|
-
relative
|
|
19
|
+
@apply relative
|
|
22
20
|
content-["1\a_2\a_3\a_4\a_5\a_6\a_7\a_8\a_9\a_0\a_1\a_2\a_3\a_4\a_5\a_6\a_7\a_8\a_9\a_0\a_1\a_2\a_3\a_4\a_5\a_6\a_7\a_8\a_9\a_0\a_1\a_2\a_3\a_4\a_5\a_6\a_7\a_8\a_9\a_0\a_1\a_2\a_3\a_4\a_5\a_6\a_7\a_8\a_9\a"]
|
|
23
21
|
whitespace-pre
|
|
24
22
|
text-center
|
|
@@ -27,8 +25,7 @@
|
|
|
27
25
|
top-0
|
|
28
26
|
ease-[cubic-bezier(0.9,0,0.1,1)]
|
|
29
27
|
animate-[stepper_5s_cubic-bezier(0.9,0,0.1,1)_both]
|
|
30
|
-
block
|
|
31
|
-
;
|
|
28
|
+
block;
|
|
32
29
|
}
|
|
33
30
|
&:nth-last-child(1)::before {
|
|
34
31
|
animation-duration: 2s;
|
|
@@ -69,4 +66,4 @@
|
|
|
69
66
|
100% {
|
|
70
67
|
transform: translateY(calc(-8.95em + (var(--value) * -1em)));
|
|
71
68
|
}
|
|
72
|
-
}
|
|
69
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<div class="card-assessment">Investor fit card</div>
|