@arclux/arc-ui-html 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.
Files changed (138) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/css/animated-number.css +12 -0
  4. package/css/app-shell.css +52 -0
  5. package/css/arc-ui.css +3045 -0
  6. package/css/aspect-ratio.css +23 -0
  7. package/css/auth-shell.css +98 -0
  8. package/css/avatar-group.css +49 -0
  9. package/css/avatar.css +53 -0
  10. package/css/badge.css +76 -0
  11. package/css/button.css +94 -0
  12. package/css/callout.css +84 -0
  13. package/css/card.css +50 -0
  14. package/css/code-block.css +86 -0
  15. package/css/color-swatch.css +47 -0
  16. package/css/container.css +15 -0
  17. package/css/dashboard-grid.css +21 -0
  18. package/css/divider.css +128 -0
  19. package/css/empty-state.css +43 -0
  20. package/css/feature-card.css +102 -0
  21. package/css/footer.css +60 -0
  22. package/css/form.css +454 -0
  23. package/css/highlight.css +13 -0
  24. package/css/icon-button.css +118 -0
  25. package/css/icon.css +36 -0
  26. package/css/kbd.css +21 -0
  27. package/css/link.css +74 -0
  28. package/css/markdown.css +133 -0
  29. package/css/meter.css +59 -0
  30. package/css/page-header.css +55 -0
  31. package/css/page-layout.css +65 -0
  32. package/css/progress.css +96 -0
  33. package/css/scroll-area.css +70 -0
  34. package/css/section.css +27 -0
  35. package/css/settings-layout.css +55 -0
  36. package/css/skeleton.css +44 -0
  37. package/css/spinner.css +46 -0
  38. package/css/stack.css +38 -0
  39. package/css/stat.css +42 -0
  40. package/css/status-bar.css +50 -0
  41. package/css/stepper.css +134 -0
  42. package/css/table.css +85 -0
  43. package/css/text.css +77 -0
  44. package/css/timeline.css +117 -0
  45. package/css/toolbar.css +54 -0
  46. package/css/tooltip.css +107 -0
  47. package/css/top-bar.css +158 -0
  48. package/css/value-card.css +60 -0
  49. package/examples/animated-number.html +8 -0
  50. package/examples/animated-number.inline.html +8 -0
  51. package/examples/app-shell.html +20 -0
  52. package/examples/app-shell.inline.html +31 -0
  53. package/examples/aspect-ratio.html +12 -0
  54. package/examples/aspect-ratio.inline.html +12 -0
  55. package/examples/auth-shell.html +20 -0
  56. package/examples/auth-shell.inline.html +28 -0
  57. package/examples/avatar-group.html +8 -0
  58. package/examples/avatar-group.inline.html +8 -0
  59. package/examples/avatar.html +7 -0
  60. package/examples/avatar.inline.html +11 -0
  61. package/examples/badge.html +5 -0
  62. package/examples/badge.inline.html +10 -0
  63. package/examples/button.html +5 -0
  64. package/examples/button.inline.html +21 -0
  65. package/examples/callout.html +12 -0
  66. package/examples/callout.inline.html +12 -0
  67. package/examples/card.html +5 -0
  68. package/examples/card.inline.html +13 -0
  69. package/examples/code-block.html +18 -0
  70. package/examples/code-block.inline.html +22 -0
  71. package/examples/color-swatch.html +12 -0
  72. package/examples/color-swatch.inline.html +16 -0
  73. package/examples/container.html +5 -0
  74. package/examples/container.inline.html +5 -0
  75. package/examples/dashboard-grid.html +7 -0
  76. package/examples/dashboard-grid.inline.html +10 -0
  77. package/examples/divider.html +5 -0
  78. package/examples/divider.inline.html +10 -0
  79. package/examples/empty-state.html +14 -0
  80. package/examples/empty-state.inline.html +14 -0
  81. package/examples/feature-card.html +12 -0
  82. package/examples/feature-card.inline.html +25 -0
  83. package/examples/footer.html +18 -0
  84. package/examples/footer.inline.html +18 -0
  85. package/examples/form.html +86 -0
  86. package/examples/highlight.html +5 -0
  87. package/examples/highlight.inline.html +5 -0
  88. package/examples/icon-button.html +5 -0
  89. package/examples/icon-button.inline.html +22 -0
  90. package/examples/icon.html +12 -0
  91. package/examples/icon.inline.html +12 -0
  92. package/examples/kbd.html +5 -0
  93. package/examples/kbd.inline.html +5 -0
  94. package/examples/link.html +13 -0
  95. package/examples/link.inline.html +23 -0
  96. package/examples/markdown.html +6 -0
  97. package/examples/markdown.inline.html +16 -0
  98. package/examples/meter.html +20 -0
  99. package/examples/meter.inline.html +29 -0
  100. package/examples/page-header.html +22 -0
  101. package/examples/page-header.inline.html +22 -0
  102. package/examples/page-layout.html +15 -0
  103. package/examples/page-layout.inline.html +21 -0
  104. package/examples/progress.html +20 -0
  105. package/examples/progress.inline.html +27 -0
  106. package/examples/scroll-area.html +12 -0
  107. package/examples/scroll-area.inline.html +22 -0
  108. package/examples/section.html +8 -0
  109. package/examples/section.inline.html +13 -0
  110. package/examples/settings-layout.html +12 -0
  111. package/examples/settings-layout.inline.html +22 -0
  112. package/examples/skeleton.html +10 -0
  113. package/examples/skeleton.inline.html +15 -0
  114. package/examples/spinner.html +9 -0
  115. package/examples/spinner.inline.html +9 -0
  116. package/examples/stack.html +5 -0
  117. package/examples/stack.inline.html +5 -0
  118. package/examples/stat.html +9 -0
  119. package/examples/stat.inline.html +10 -0
  120. package/examples/status-bar.html +15 -0
  121. package/examples/status-bar.inline.html +15 -0
  122. package/examples/stepper.html +18 -0
  123. package/examples/stepper.inline.html +18 -0
  124. package/examples/table.html +7 -0
  125. package/examples/table.inline.html +7 -0
  126. package/examples/text.html +5 -0
  127. package/examples/text.inline.html +5 -0
  128. package/examples/timeline.html +10 -0
  129. package/examples/timeline.inline.html +10 -0
  130. package/examples/toolbar.html +15 -0
  131. package/examples/toolbar.inline.html +15 -0
  132. package/examples/tooltip.html +19 -0
  133. package/examples/tooltip.inline.html +19 -0
  134. package/examples/top-bar.html +23 -0
  135. package/examples/top-bar.inline.html +29 -0
  136. package/examples/value-card.html +11 -0
  137. package/examples/value-card.inline.html +15 -0
  138. package/package.json +31 -0
@@ -0,0 +1,23 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-aspect-ratio */
4
+ .arc-aspect-ratio { display: block; }
5
+
6
+ .arc-aspect-ratio .aspect-ratio {
7
+ position: relative;
8
+ width: 100%;
9
+ overflow: hidden;
10
+ border-radius: var(--radius-md);
11
+ }
12
+
13
+ .arc-aspect-ratio .aspect-ratio__inner {
14
+ width: 100%;
15
+ height: 100%;
16
+ }
17
+
18
+ ::slotted(*) {
19
+ width: 100%;
20
+ height: 100%;
21
+ object-fit: cover;
22
+ display: block;
23
+ }
@@ -0,0 +1,98 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-auth-shell */
4
+ .arc-auth-shell {
5
+ display: block;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ /* Centered variant */
10
+ .arc-auth-shell .auth-shell--centered {
11
+ display: flex;
12
+ flex-direction: column;
13
+ align-items: center;
14
+ justify-content: center;
15
+ min-height: 100vh;
16
+ background: var(--bg-surface);
17
+ padding: var(--space-xl) var(--space-lg);
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ .arc-auth-shell .auth-shell--centered .logo {
22
+ margin-bottom: var(--space-xl);
23
+ text-align: center;
24
+ }
25
+
26
+ .arc-auth-shell .auth-shell--centered .card {
27
+ background: var(--bg-card);
28
+ border: 1px solid var(--border-default);
29
+ border-radius: var(--radius-lg);
30
+ padding: var(--space-xl);
31
+ width: 100%;
32
+ max-width: 420px;
33
+ box-sizing: border-box;
34
+ }
35
+
36
+ .arc-auth-shell .auth-shell--centered .footer {
37
+ margin-top: var(--space-lg);
38
+ color: var(--text-muted);
39
+ font-size: var(--text-sm);
40
+ text-align: center;
41
+ }
42
+
43
+ /* Split variant */
44
+ .arc-auth-shell .auth-shell--split {
45
+ display: grid;
46
+ grid-template-columns: 1fr 1fr;
47
+ min-height: 100vh;
48
+ box-sizing: border-box;
49
+ }
50
+
51
+ .arc-auth-shell .auth-shell--split .form-side {
52
+ display: flex;
53
+ flex-direction: column;
54
+ align-items: center;
55
+ justify-content: center;
56
+ background: var(--bg-surface);
57
+ padding: var(--space-xl) var(--space-lg);
58
+ }
59
+
60
+ .arc-auth-shell .auth-shell--split .logo {
61
+ margin-bottom: var(--space-xl);
62
+ text-align: center;
63
+ }
64
+
65
+ .arc-auth-shell .auth-shell--split .card {
66
+ background: var(--bg-card);
67
+ border: 1px solid var(--border-default);
68
+ border-radius: var(--radius-lg);
69
+ padding: var(--space-xl);
70
+ width: 100%;
71
+ max-width: 420px;
72
+ box-sizing: border-box;
73
+ }
74
+
75
+ .arc-auth-shell .auth-shell--split .footer {
76
+ margin-top: var(--space-lg);
77
+ color: var(--text-muted);
78
+ font-size: var(--text-sm);
79
+ text-align: center;
80
+ }
81
+
82
+ .arc-auth-shell .auth-shell--split .aside-side {
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ background: var(--bg-deep);
87
+ padding: var(--space-xl);
88
+ }
89
+
90
+ @media (max-width: 768px) {
91
+ .arc-auth-shell .auth-shell--split {
92
+ grid-template-columns: 1fr;
93
+ }
94
+
95
+ .arc-auth-shell .auth-shell--split .aside-side {
96
+ display: none;
97
+ }
98
+ }
@@ -0,0 +1,49 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-avatar-group */
4
+ .arc-avatar-group { display: inline-flex; }
5
+
6
+ .arc-avatar-group .group {
7
+ display: flex;
8
+ align-items: center;
9
+ }
10
+
11
+ ::slotted(*) {
12
+ position: relative;
13
+ box-sizing: border-box;
14
+ box-shadow: 0 0 0 3px var(--bg-deep);
15
+ border-radius: var(--radius-full);
16
+ transition: transform var(--transition-fast), box-shadow var(--transition-fast);
17
+ }
18
+
19
+ ::slotted(:hover) {
20
+ transform: translateY(-2px) scale(1.08);
21
+ z-index: 100 !important;
22
+ box-shadow: 0 0 0 3px var(--bg-deep), 0 4px 12px rgba(0, 0, 0, 0.3);
23
+ }
24
+
25
+ .arc-avatar-group .group__overflow {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ font-family: var(--font-accent);
30
+ font-weight: 600;
31
+ font-size: var(--text-sm);
32
+ letter-spacing: 0.5px;
33
+ color: var(--text-ghost);
34
+ user-select: none;
35
+ padding-left: var(--space-sm);
36
+ }
37
+
38
+ .arc-avatar-group[data-overlap="sm"] .group__overflow { padding-left: var(--space-xs); }
39
+ .arc-avatar-group[data-overlap="lg"] .group__overflow { padding-left: var(--space-md); }
40
+
41
+ @media (prefers-reduced-motion: reduce) {
42
+ .arc-avatar-group *,
43
+ .arc-avatar-group *::before,
44
+ .arc-avatar-group *::after {
45
+ animation-duration: 0.01ms !important;
46
+ animation-iteration-count: 1 !important;
47
+ transition-duration: 0.01ms !important;
48
+ }
49
+ }
package/css/avatar.css ADDED
@@ -0,0 +1,53 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-avatar */
4
+ .arc-avatar { display: inline-flex; }
5
+
6
+ .arc-avatar .avatar {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ border-radius: var(--radius-full);
11
+ border: 1px solid var(--border-default);
12
+ overflow: hidden;
13
+ background: var(--bg-elevated);
14
+ transition: border-color var(--transition-base), box-shadow var(--transition-base);
15
+ }
16
+
17
+ .arc-avatar .avatar:hover {
18
+ border-color: var(--border-bright);
19
+ box-shadow: 0 0 12px rgba(var(--accent-primary-rgb), 0.15);
20
+ }
21
+
22
+ .arc-avatar[data-size="sm"] .avatar { width: 32px; height: 32px; }
23
+ .arc-avatar[data-size="md"] .avatar { width: 40px; height: 40px; }
24
+ .arc-avatar[data-size="lg"] .avatar { width: 56px; height: 56px; }
25
+
26
+ .arc-avatar .avatar__img {
27
+ width: 100%;
28
+ height: 100%;
29
+ object-fit: cover;
30
+ border-radius: var(--radius-full);
31
+ }
32
+
33
+ .arc-avatar .avatar__initials {
34
+ font-family: var(--font-accent);
35
+ font-weight: 600;
36
+ color: var(--text-primary);
37
+ text-transform: uppercase;
38
+ user-select: none;
39
+ }
40
+
41
+ .arc-avatar[data-size="sm"] .avatar__initials { font-size: var(--text-xs); }
42
+ .arc-avatar[data-size="md"] .avatar__initials { font-size: var(--text-sm); }
43
+ .arc-avatar[data-size="lg"] .avatar__initials { font-size: var(--text-lg); }
44
+
45
+ @media (prefers-reduced-motion: reduce) {
46
+ .arc-avatar *,
47
+ .arc-avatar *::before,
48
+ .arc-avatar *::after {
49
+ animation-duration: 0.01ms !important;
50
+ animation-iteration-count: 1 !important;
51
+ transition-duration: 0.01ms !important;
52
+ }
53
+ }
package/css/badge.css ADDED
@@ -0,0 +1,76 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-badge */
4
+ .arc-badge { display: inline-flex; }
5
+
6
+ .arc-badge .badge {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ gap: var(--space-xs);
10
+ font-family: var(--font-accent);
11
+ font-weight: 600;
12
+ font-size: var(--text-xs);
13
+ letter-spacing: 2px;
14
+ text-transform: uppercase;
15
+ color: var(--text-muted);
16
+ padding: var(--space-xs) var(--space-sm);
17
+ border: 1px solid var(--border-default);
18
+ border-radius: var(--radius-sm);
19
+ background: var(--bg-hover);
20
+ transition: box-shadow 200ms ease, border-color 200ms ease;
21
+ line-height: 1.4;
22
+ }
23
+
24
+ .arc-badge[data-variant="primary"] .badge {
25
+ border-color: var(--accent-primary-border);
26
+ color: var(--accent-primary);
27
+ background: rgba(var(--accent-primary-rgb), 0.06);
28
+ }
29
+
30
+ .arc-badge[data-variant="secondary"] .badge {
31
+ border-color: var(--accent-secondary-border);
32
+ color: var(--accent-secondary);
33
+ background: rgba(var(--accent-secondary-rgb), 0.06);
34
+ }
35
+
36
+ .arc-badge[data-variant="success"] .badge {
37
+ border-color: rgba(var(--color-success-rgb), 0.2);
38
+ color: var(--color-success);
39
+ background: rgba(var(--color-success-rgb), 0.06);
40
+ }
41
+
42
+ .arc-badge[data-variant="warning"] .badge {
43
+ border-color: rgba(var(--color-warning-rgb), 0.2);
44
+ color: var(--color-warning);
45
+ background: rgba(var(--color-warning-rgb), 0.06);
46
+ }
47
+
48
+ .arc-badge[data-variant="error"] .badge {
49
+ border-color: rgba(var(--color-error-rgb), 0.2);
50
+ color: var(--color-error);
51
+ background: rgba(var(--color-error-rgb), 0.06);
52
+ }
53
+
54
+ .arc-badge[data-variant="info"] .badge {
55
+ border-color: rgba(var(--color-info-rgb), 0.2);
56
+ color: var(--color-info);
57
+ background: rgba(var(--color-info-rgb), 0.06);
58
+ }
59
+
60
+ .arc-badge:hover .badge { border-color: var(--border-bright); }
61
+ .arc-badge[data-variant="primary"]:hover .badge { box-shadow: 0 0 12px rgba(var(--accent-primary-rgb), 0.15); }
62
+ .arc-badge[data-variant="secondary"]:hover .badge { box-shadow: 0 0 12px rgba(var(--accent-secondary-rgb), 0.15); }
63
+ .arc-badge[data-variant="success"]:hover .badge { box-shadow: 0 0 12px rgba(var(--color-success-rgb), 0.15); }
64
+ .arc-badge[data-variant="warning"]:hover .badge { box-shadow: 0 0 12px rgba(var(--color-warning-rgb), 0.15); }
65
+ .arc-badge[data-variant="error"]:hover .badge { box-shadow: 0 0 12px rgba(var(--color-error-rgb), 0.15); }
66
+ .arc-badge[data-variant="info"]:hover .badge { box-shadow: 0 0 12px rgba(var(--color-info-rgb), 0.15); }
67
+
68
+ @media (prefers-reduced-motion: reduce) {
69
+ .arc-badge *,
70
+ .arc-badge *::before,
71
+ .arc-badge *::after {
72
+ animation-duration: 0.01ms !important;
73
+ animation-iteration-count: 1 !important;
74
+ transition-duration: 0.01ms !important;
75
+ }
76
+ }
package/css/button.css ADDED
@@ -0,0 +1,94 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-button */
4
+ .arc-button { display: inline-flex; }
5
+ .arc-button[disabled] { pointer-events: none; }
6
+
7
+ .arc-button .btn {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ gap: var(--space-sm);
12
+ font-family: var(--font-accent);
13
+ font-weight: 600;
14
+ text-transform: uppercase;
15
+ letter-spacing: 2px;
16
+ border: 1px solid transparent;
17
+ border-radius: var(--radius-md);
18
+ cursor: pointer;
19
+ transition:
20
+ background var(--transition-base),
21
+ border-color var(--transition-base),
22
+ box-shadow var(--transition-base),
23
+ color var(--transition-base),
24
+ transform var(--transition-fast);
25
+ text-decoration: none;
26
+ white-space: nowrap;
27
+ box-sizing: border-box;
28
+ min-height: var(--touch-min);
29
+ }
30
+
31
+ /* Sizes */
32
+ .arc-button[data-size="sm"] .btn { font-size: var(--text-xs); padding: var(--space-xs) var(--space-md); }
33
+ .arc-button:not([data-size]) .btn,
34
+ .arc-button[data-size="md"] .btn { font-size: var(--text-xs); padding: var(--space-sm) var(--space-lg); }
35
+ .arc-button[data-size="lg"] .btn { font-size: var(--text-xs); padding: var(--space-md) var(--space-xl); letter-spacing: 3px; }
36
+
37
+ /* Primary */
38
+ .arc-button:not([data-variant]) .btn,
39
+ .arc-button[data-variant="primary"] .btn {
40
+ background: var(--accent-primary);
41
+ color: var(--bg-deep);
42
+ border-color: var(--accent-primary);
43
+ }
44
+ .arc-button:not([data-variant]) .btn:hover,
45
+ .arc-button[data-variant="primary"] .btn:hover { box-shadow: var(--glow-primary); }
46
+ .arc-button:not([data-variant]) .btn:active,
47
+ .arc-button[data-variant="primary"] .btn:active { transform: scale(0.97); box-shadow: 0 0 8px rgba(var(--accent-primary-rgb),0.5); }
48
+
49
+ /* Secondary */
50
+ .arc-button[data-variant="secondary"] .btn {
51
+ background: transparent;
52
+ color: var(--text-primary);
53
+ border-color: var(--border-default);
54
+ }
55
+ .arc-button[data-variant="secondary"] .btn:hover {
56
+ border-color: var(--accent-primary);
57
+ color: var(--accent-primary);
58
+ box-shadow: 0 0 20px var(--accent-primary-ring);
59
+ }
60
+ .arc-button[data-variant="secondary"] .btn:active {
61
+ transform: scale(0.97);
62
+ background: rgba(var(--accent-primary-rgb),0.05);
63
+ }
64
+
65
+ /* Ghost */
66
+ .arc-button[data-variant="ghost"] .btn {
67
+ background: transparent;
68
+ color: var(--text-muted);
69
+ border-color: transparent;
70
+ }
71
+ .arc-button[data-variant="ghost"] .btn:hover {
72
+ color: var(--text-primary);
73
+ background: var(--bg-hover);
74
+ }
75
+ .arc-button[data-variant="ghost"] .btn:active {
76
+ transform: scale(0.97);
77
+ background: var(--bg-elevated);
78
+ }
79
+
80
+ /* Focus */
81
+ .arc-button .btn:focus-visible { outline: none; box-shadow: var(--focus-glow); }
82
+
83
+ /* Disabled */
84
+ .arc-button[disabled] .btn { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
85
+
86
+ @media (prefers-reduced-motion: reduce) {
87
+ .arc-button *,
88
+ .arc-button *::before,
89
+ .arc-button *::after {
90
+ animation-duration: 0.01ms !important;
91
+ animation-iteration-count: 1 !important;
92
+ transition-duration: 0.01ms !important;
93
+ }
94
+ }
@@ -0,0 +1,84 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-callout */
4
+ .arc-callout { display: block; }
5
+
6
+ .arc-callout .callout {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--space-sm);
10
+ padding: var(--space-md) var(--space-lg);
11
+ border-radius: var(--radius-md);
12
+ border: 1px solid var(--border-default);
13
+ background: var(--bg-card);
14
+ font-family: var(--font-body);
15
+ font-size: var(--text-sm);
16
+ line-height: 1.7;
17
+ color: var(--text-secondary);
18
+ }
19
+
20
+ .arc-callout .callout__header {
21
+ display: flex;
22
+ align-items: center;
23
+ gap: var(--space-sm);
24
+ }
25
+
26
+ .arc-callout .callout__icon {
27
+ flex-shrink: 0;
28
+ display: flex;
29
+ align-items: center;
30
+ }
31
+
32
+ .arc-callout .callout__label {
33
+ font-family: var(--font-accent);
34
+ font-size: var(--text-xs);
35
+ font-weight: 600;
36
+ letter-spacing: 1.5px;
37
+ text-transform: uppercase;
38
+ }
39
+
40
+ .arc-callout .callout__content {
41
+ min-width: 0;
42
+ }
43
+
44
+ /* ── Info ── */
45
+ .arc-callout[data-variant="info"] .callout {
46
+ border-color: rgba(var(--accent-primary-rgb), 0.12);
47
+ background: rgba(var(--accent-primary-rgb), 0.04);
48
+ }
49
+ .arc-callout[data-variant="info"] .callout__icon { color: var(--accent-primary); }
50
+ .arc-callout[data-variant="info"] .callout__label { color: var(--accent-primary); }
51
+
52
+ /* ── Warning ── */
53
+ .arc-callout[data-variant="warning"] .callout {
54
+ border-color: rgba(var(--color-warning-rgb), 0.15);
55
+ background: rgba(var(--color-warning-rgb), 0.04);
56
+ }
57
+ .arc-callout[data-variant="warning"] .callout__icon { color: var(--color-warning); }
58
+ .arc-callout[data-variant="warning"] .callout__label { color: var(--color-warning); }
59
+
60
+ /* ── Tip ── */
61
+ .arc-callout[data-variant="tip"] .callout {
62
+ border-color: rgba(var(--color-success-rgb), 0.15);
63
+ background: rgba(var(--color-success-rgb), 0.04);
64
+ }
65
+ .arc-callout[data-variant="tip"] .callout__icon { color: var(--color-success); }
66
+ .arc-callout[data-variant="tip"] .callout__label { color: var(--color-success); }
67
+
68
+ /* ── Danger ── */
69
+ .arc-callout[data-variant="danger"] .callout {
70
+ border-color: rgba(var(--color-error-rgb), 0.15);
71
+ background: rgba(var(--color-error-rgb), 0.04);
72
+ }
73
+ .arc-callout[data-variant="danger"] .callout__icon { color: var(--color-error); }
74
+ .arc-callout[data-variant="danger"] .callout__label { color: var(--color-error); }
75
+
76
+ @media (prefers-reduced-motion: reduce) {
77
+ .arc-callout *,
78
+ .arc-callout *::before,
79
+ .arc-callout *::after {
80
+ animation-duration: 0.01ms !important;
81
+ animation-iteration-count: 1 !important;
82
+ transition-duration: 0.01ms !important;
83
+ }
84
+ }
package/css/card.css ADDED
@@ -0,0 +1,50 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-card */
4
+ .arc-card { display: block; }
5
+
6
+ .arc-card .card {
7
+ position: relative;
8
+ border-radius: var(--radius-lg);
9
+ padding: 1px;
10
+ background: var(--border-subtle);
11
+ transition: background var(--transition-slow);
12
+ text-decoration: none;
13
+ display: flex;
14
+ flex-direction: column;
15
+ height: 100%;
16
+ }
17
+
18
+ .arc-card[href] .card:hover {
19
+ background: linear-gradient(135deg, rgba(var(--accent-primary-rgb),0.3), rgba(var(--accent-secondary-rgb),0.15), var(--border-default));
20
+ }
21
+
22
+ .arc-card .card__inner {
23
+ position: relative;
24
+ background: var(--bg-card);
25
+ border-radius: calc(var(--radius-lg) - 1px);
26
+ padding: var(--space-xl) var(--space-lg);
27
+ flex: 1;
28
+ min-height: 0;
29
+ transition: box-shadow var(--transition-slow);
30
+ }
31
+
32
+ .arc-card .card:hover .card__inner {
33
+ box-shadow: inset 0 1px 0 var(--bg-hover), var(--glow-card-hover);
34
+ }
35
+
36
+ .arc-card .card:focus-visible { outline: none; box-shadow: var(--focus-glow); border-radius: var(--radius-lg); }
37
+
38
+ @media (max-width: 768px) {
39
+ .arc-card .card__inner { padding: var(--space-lg) var(--space-md); }
40
+ }
41
+
42
+ @media (prefers-reduced-motion: reduce) {
43
+ .arc-card *,
44
+ .arc-card *::before,
45
+ .arc-card *::after {
46
+ animation-duration: 0.01ms !important;
47
+ animation-iteration-count: 1 !important;
48
+ transition-duration: 0.01ms !important;
49
+ }
50
+ }
@@ -0,0 +1,86 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-code-block */
4
+ .arc-code-block { display: block; }
5
+
6
+ .arc-code-block .code-block {
7
+ background: var(--bg-surface);
8
+ border: 1px solid var(--border-default);
9
+ border-radius: var(--radius-lg);
10
+ overflow: hidden;
11
+ }
12
+
13
+ .arc-code-block .code-block__header {
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: space-between;
17
+ padding: var(--space-xs) var(--space-md);
18
+ border-bottom: 1px solid var(--border-subtle);
19
+ background: var(--bg-card);
20
+ }
21
+
22
+ .arc-code-block .code-block__filename {
23
+ font-family: var(--font-mono);
24
+ font-size: var(--text-sm);
25
+ color: var(--text-muted);
26
+ }
27
+
28
+ .arc-code-block .code-block__lang {
29
+ font-family: var(--font-accent);
30
+ font-size: var(--text-xs);
31
+ letter-spacing: 2px;
32
+ text-transform: uppercase;
33
+ color: var(--text-ghost);
34
+ }
35
+
36
+ .arc-code-block .code-block__copy {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: var(--space-xs);
40
+ background: none;
41
+ border: 1px solid var(--border-default);
42
+ border-radius: var(--radius-sm);
43
+ color: var(--text-muted);
44
+ font-family: var(--font-accent);
45
+ font-size: var(--text-xs);
46
+ letter-spacing: 1px;
47
+ text-transform: uppercase;
48
+ padding: var(--space-xs) var(--space-sm);
49
+ cursor: pointer;
50
+ transition: color var(--transition-fast), border-color var(--transition-fast);
51
+ }
52
+
53
+ .arc-code-block .code-block__copy:hover {
54
+ color: var(--text-primary);
55
+ border-color: var(--border-bright);
56
+ }
57
+
58
+ .arc-code-block .code-block__copy[data-copied] {
59
+ color: var(--color-success);
60
+ border-color: var(--color-success);
61
+ }
62
+
63
+ .arc-code-block .code-block__body {
64
+ padding: var(--space-md);
65
+ overflow-x: auto;
66
+ }
67
+
68
+ .arc-code-block .code-block__pre {
69
+ margin: 0;
70
+ font-family: var(--font-mono);
71
+ font-size: var(--code-size);
72
+ line-height: var(--code-lh);
73
+ color: var(--text-primary);
74
+ white-space: pre;
75
+ tab-size: 2;
76
+ }
77
+
78
+ @media (prefers-reduced-motion: reduce) {
79
+ .arc-code-block *,
80
+ .arc-code-block *::before,
81
+ .arc-code-block *::after {
82
+ animation-duration: 0.01ms !important;
83
+ animation-iteration-count: 1 !important;
84
+ transition-duration: 0.01ms !important;
85
+ }
86
+ }
@@ -0,0 +1,47 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-color-swatch */
4
+ .arc-color-swatch { display: inline-flex; }
5
+
6
+ .arc-color-swatch .swatch {
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ gap: var(--space-sm);
11
+ }
12
+
13
+ .arc-color-swatch .swatch__color {
14
+ border-radius: var(--radius-md);
15
+ border: 1px solid var(--border-default);
16
+ transition: border-color var(--transition-base), box-shadow var(--transition-base);
17
+ }
18
+
19
+ .arc-color-swatch .swatch__color:hover {
20
+ border-color: var(--border-bright);
21
+ box-shadow: 0 0 12px rgba(var(--accent-primary-rgb), 0.1);
22
+ }
23
+
24
+ .arc-color-swatch[data-size="sm"] .swatch__color { width: 32px; height: 32px; border-radius: var(--radius-sm); }
25
+ .arc-color-swatch[data-size="md"] .swatch__color { width: 48px; height: 48px; }
26
+ .arc-color-swatch[data-size="lg"] .swatch__color { width: 64px; height: 64px; border-radius: var(--radius-lg); }
27
+
28
+ .arc-color-swatch .swatch__label {
29
+ font-family: var(--font-mono);
30
+ font-size: var(--text-sm);
31
+ color: var(--text-muted);
32
+ text-align: center;
33
+ max-width: 80px;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ @media (prefers-reduced-motion: reduce) {
40
+ .arc-color-swatch *,
41
+ .arc-color-swatch *::before,
42
+ .arc-color-swatch *::after {
43
+ animation-duration: 0.01ms !important;
44
+ animation-iteration-count: 1 !important;
45
+ transition-duration: 0.01ms !important;
46
+ }
47
+ }
@@ -0,0 +1,15 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-container */
4
+ .arc-container { display: block; }
5
+
6
+ .arc-container .container {
7
+ width: 100%;
8
+ max-width: var(--max-width);
9
+ margin-inline: auto;
10
+ padding-inline: var(--space-lg);
11
+ }
12
+
13
+ .arc-container[narrow] .container {
14
+ max-width: var(--max-width-sm);
15
+ }