@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
package/css/link.css ADDED
@@ -0,0 +1,74 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-link */
4
+ .arc-link { display: inline; }
5
+
6
+ .arc-link .link {
7
+ font-family: var(--font-body);
8
+ font-size: inherit;
9
+ color: var(--accent-primary);
10
+ text-decoration: none;
11
+ cursor: pointer;
12
+ transition:
13
+ color var(--transition-fast),
14
+ opacity var(--transition-fast);
15
+ border: none;
16
+ background: none;
17
+ padding: 0;
18
+ min-height: var(--touch-min);
19
+ display: inline-flex;
20
+ align-items: center;
21
+ }
22
+
23
+ .arc-link .link:hover {
24
+ text-decoration: underline;
25
+ text-underline-offset: 3px;
26
+ }
27
+
28
+ .arc-link[data-variant="muted"] .link {
29
+ color: var(--text-muted);
30
+ }
31
+ .arc-link[data-variant="muted"] .link:hover {
32
+ color: var(--text-primary);
33
+ }
34
+
35
+ .arc-link[data-variant="nav"] .link {
36
+ color: var(--text-secondary);
37
+ font-size: var(--text-sm);
38
+ display: inline-flex;
39
+ align-items: center;
40
+ gap: var(--space-xs);
41
+ }
42
+ .arc-link[data-variant="nav"] .link:hover {
43
+ color: var(--text-primary);
44
+ text-decoration: none;
45
+ }
46
+
47
+ .arc-link[active] .link {
48
+ color: var(--accent-primary);
49
+ }
50
+
51
+ .arc-link .link:focus-visible {
52
+ outline: none;
53
+ box-shadow: var(--focus-ring);
54
+ border-radius: var(--radius-xs);
55
+ }
56
+
57
+ .arc-link .link__external-icon {
58
+ display: inline-block;
59
+ width: 12px;
60
+ height: 12px;
61
+ margin-left: 2px; /* cosmetic micro-spacing for external icon */
62
+ vertical-align: middle;
63
+ opacity: 0.6;
64
+ }
65
+
66
+ @media (prefers-reduced-motion: reduce) {
67
+ .arc-link *,
68
+ .arc-link *::before,
69
+ .arc-link *::after {
70
+ animation-duration: 0.01ms !important;
71
+ animation-iteration-count: 1 !important;
72
+ transition-duration: 0.01ms !important;
73
+ }
74
+ }
@@ -0,0 +1,133 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-markdown */
4
+ .arc-markdown { display: block; }
5
+
6
+ .arc-markdown .markdown {
7
+ font-family: var(--font-body);
8
+ font-size: var(--body-size);
9
+ font-weight: var(--body-weight);
10
+ line-height: var(--body-lh);
11
+ color: var(--text-secondary);
12
+ }
13
+
14
+ .arc-markdown .markdown h1,
15
+ .arc-markdown .markdown h2,
16
+ .arc-markdown .markdown h3,
17
+ .arc-markdown .markdown h4,
18
+ .arc-markdown .markdown h5,
19
+ .arc-markdown .markdown h6 {
20
+ font-family: var(--font-body);
21
+ color: var(--text-primary);
22
+ line-height: 1.3;
23
+ margin-top: var(--space-xl);
24
+ margin-bottom: var(--space-md);
25
+ }
26
+
27
+ .arc-markdown .markdown h1 { font-size: var(--text-3xl); font-weight: 600; }
28
+ .arc-markdown .markdown h2 { font-size: var(--heading-size); font-weight: 600; }
29
+ .arc-markdown .markdown h3 { font-size: var(--text-lg); font-weight: 600; }
30
+ .arc-markdown .markdown h4 { font-size: var(--body-size); font-weight: 600; }
31
+ .arc-markdown .markdown h5 { font-size: var(--body-size); font-weight: 500; }
32
+ .arc-markdown .markdown h6 { font-size: var(--code-size); font-weight: 500; text-transform: uppercase; letter-spacing: 1px; }
33
+
34
+ .arc-markdown .markdown h1:first-child,
35
+ .arc-markdown .markdown h2:first-child,
36
+ .arc-markdown .markdown h3:first-child,
37
+ .arc-markdown .markdown h4:first-child,
38
+ .arc-markdown .markdown h5:first-child,
39
+ .arc-markdown .markdown h6:first-child { margin-top: 0; }
40
+
41
+ .arc-markdown .markdown p {
42
+ margin: 0 0 var(--space-md) 0;
43
+ }
44
+
45
+ .arc-markdown .markdown p:last-child { margin-bottom: 0; }
46
+
47
+ .arc-markdown .markdown strong { color: var(--text-primary); font-weight: 600; }
48
+
49
+ .arc-markdown .markdown em { font-style: italic; }
50
+
51
+ .arc-markdown .markdown a {
52
+ color: var(--accent-primary);
53
+ text-decoration: none;
54
+ transition: color var(--transition-fast);
55
+ }
56
+
57
+ .arc-markdown .markdown a:hover {
58
+ text-decoration: underline;
59
+ }
60
+
61
+ .arc-markdown .markdown code {
62
+ font-family: var(--font-mono);
63
+ font-size: var(--code-size);
64
+ color: var(--accent-secondary);
65
+ background: var(--bg-surface);
66
+ padding: 2px calc(var(--space-xs) + 2px); /* cosmetic 2px vertical for inline code */
67
+ border-radius: var(--radius-sm);
68
+ }
69
+
70
+ .arc-markdown .markdown pre {
71
+ background: var(--bg-surface);
72
+ border: 1px solid var(--border-subtle);
73
+ border-radius: var(--radius-md);
74
+ padding: var(--space-md);
75
+ overflow-x: auto;
76
+ margin: 0 0 var(--space-md) 0;
77
+ }
78
+
79
+ .arc-markdown .markdown pre code {
80
+ background: none;
81
+ padding: 0;
82
+ border-radius: 0;
83
+ font-size: var(--code-size);
84
+ line-height: var(--code-lh);
85
+ color: var(--text-primary);
86
+ }
87
+
88
+ .arc-markdown .markdown blockquote {
89
+ margin: 0 0 var(--space-md) 0;
90
+ padding: var(--space-sm) var(--space-md);
91
+ background: var(--bg-card);
92
+ border: 1px solid var(--border-subtle);
93
+ border-radius: var(--radius-md);
94
+ }
95
+
96
+ .arc-markdown .markdown blockquote p:last-child { margin-bottom: 0; }
97
+
98
+ .arc-markdown .markdown ul,
99
+ .arc-markdown .markdown ol {
100
+ margin: 0 0 var(--space-md) 0;
101
+ padding-left: var(--space-lg);
102
+ color: var(--text-secondary);
103
+ }
104
+
105
+ .arc-markdown .markdown li {
106
+ margin-bottom: var(--space-xs);
107
+ }
108
+
109
+ .arc-markdown .markdown li:last-child { margin-bottom: 0; }
110
+
111
+ .arc-markdown .markdown hr {
112
+ border: none;
113
+ height: 1px;
114
+ background: var(--border-subtle);
115
+ margin: var(--space-xl) 0;
116
+ }
117
+
118
+ .arc-markdown .markdown img {
119
+ max-width: 100%;
120
+ height: auto;
121
+ border-radius: var(--radius-md);
122
+ margin: var(--space-sm) 0;
123
+ }
124
+
125
+ @media (prefers-reduced-motion: reduce) {
126
+ .arc-markdown *,
127
+ .arc-markdown *::before,
128
+ .arc-markdown *::after {
129
+ animation-duration: 0.01ms !important;
130
+ animation-iteration-count: 1 !important;
131
+ transition-duration: 0.01ms !important;
132
+ }
133
+ }
package/css/meter.css ADDED
@@ -0,0 +1,59 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-meter */
4
+ .arc-meter { display: block; }
5
+
6
+ .arc-meter .meter {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--space-xs);
10
+ }
11
+
12
+ .arc-meter .meter__header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ }
17
+
18
+ .arc-meter .meter__label {
19
+ font-family: var(--font-body);
20
+ font-size: var(--body-size);
21
+ color: var(--text-secondary);
22
+ user-select: none;
23
+ }
24
+
25
+ .arc-meter .meter__value {
26
+ font-family: var(--font-mono);
27
+ font-size: var(--code-size);
28
+ color: var(--text-muted);
29
+ }
30
+
31
+ .arc-meter .meter__track {
32
+ position: relative;
33
+ width: 100%;
34
+ height: 8px;
35
+ background: var(--bg-elevated);
36
+ border-radius: var(--radius-full);
37
+ overflow: hidden;
38
+ }
39
+
40
+ .arc-meter .meter__fill {
41
+ height: 100%;
42
+ border-radius: var(--radius-full);
43
+ transition: width var(--transition-base), background var(--transition-base);
44
+ min-width: 0;
45
+ }
46
+
47
+ .arc-meter .meter__fill--success { background: var(--color-success); }
48
+ .arc-meter .meter__fill--warning { background: var(--color-warning); }
49
+ .arc-meter .meter__fill--error { background: var(--color-error); }
50
+
51
+ @media (prefers-reduced-motion: reduce) {
52
+ .arc-meter *,
53
+ .arc-meter *::before,
54
+ .arc-meter *::after {
55
+ animation-duration: 0.01ms !important;
56
+ animation-iteration-count: 1 !important;
57
+ transition-duration: 0.01ms !important;
58
+ }
59
+ }
@@ -0,0 +1,55 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-page-header */
4
+ .arc-page-header {
5
+ display: block;
6
+ font-family: var(--font-body);
7
+ }
8
+
9
+ .arc-page-header .page-header {
10
+ padding: var(--space-lg) 0 var(--space-md);
11
+ border-bottom: 1px solid var(--border-subtle);
12
+ }
13
+
14
+ .arc-page-header .page-header__breadcrumb {
15
+ margin-bottom: var(--space-sm);
16
+ }
17
+
18
+ .arc-page-header .page-header__title-row {
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+ gap: var(--space-md);
23
+ flex-wrap: wrap;
24
+ }
25
+
26
+ .arc-page-header .page-header__heading {
27
+ margin: 0;
28
+ font-family: var(--font-body);
29
+ font-size: 28px; /* size-variant, keep hardcoded */
30
+ font-weight: 700;
31
+ color: var(--text-primary);
32
+ line-height: 1.2;
33
+ }
34
+
35
+ .arc-page-header .page-header__actions {
36
+ display: flex;
37
+ align-items: center;
38
+ gap: var(--space-sm);
39
+ flex-shrink: 0;
40
+ }
41
+
42
+ .arc-page-header .page-header__description {
43
+ margin-top: var(--space-sm);
44
+ color: var(--text-secondary);
45
+ font-size: var(--body-size);
46
+ line-height: 1.5;
47
+ }
48
+
49
+ .arc-page-header .page-header__tabs {
50
+ margin-top: var(--space-md);
51
+ }
52
+
53
+ .arc-page-header .page-header__content {
54
+ margin-top: var(--space-md);
55
+ }
@@ -0,0 +1,65 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-page-layout */
4
+ .arc-page-layout {
5
+ display: block;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ .arc-page-layout .page-layout {
10
+ padding: var(--space-xl) var(--space-lg);
11
+ gap: var(--gap);
12
+ min-height: 100%;
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ /* Centered layout */
17
+ .arc-page-layout([layout='centered']) .page-layout {
18
+ display: block;
19
+ max-width: var(--max-width);
20
+ margin: 0 auto;
21
+ }
22
+
23
+ /* Wide layout */
24
+ .arc-page-layout([layout='wide']) .page-layout {
25
+ display: block;
26
+ }
27
+
28
+ /* Sidebar left layout */
29
+ .arc-page-layout([layout='sidebar-left']) .page-layout {
30
+ display: grid;
31
+ grid-template-columns: 240px 1fr;
32
+ }
33
+
34
+ /* Sidebar right layout */
35
+ .arc-page-layout([layout='sidebar-right']) .page-layout {
36
+ display: grid;
37
+ grid-template-columns: 1fr 300px;
38
+ }
39
+
40
+ .arc-page-layout .sidebar {
41
+ display: none;
42
+ }
43
+
44
+ .arc-page-layout([layout='sidebar-left']) .sidebar {
45
+ display: block;
46
+ }
47
+
48
+ .arc-page-layout .aside {
49
+ display: none;
50
+ }
51
+
52
+ .arc-page-layout([layout='sidebar-right']) .aside {
53
+ display: block;
54
+ }
55
+
56
+ .arc-page-layout .main {
57
+ min-width: 0;
58
+ }
59
+
60
+ @media (max-width: 768px) {
61
+ .arc-page-layout([layout='sidebar-left']) .page-layout,
62
+ .arc-page-layout([layout='sidebar-right']) .page-layout {
63
+ grid-template-columns: 1fr;
64
+ }
65
+ }
@@ -0,0 +1,96 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-progress */
4
+ .arc-progress { display: block; }
5
+
6
+ .arc-progress .progress__label {
7
+ font-family: var(--font-accent);
8
+ font-weight: 600;
9
+ font-size: var(--label-inline-size);
10
+ letter-spacing: var(--label-inline-spacing);
11
+ text-transform: uppercase;
12
+ color: var(--text-muted);
13
+ margin-bottom: var(--space-xs);
14
+ display: block;
15
+ }
16
+
17
+ /* Bar */
18
+ .arc-progress .progress__track {
19
+ width: 100%;
20
+ border-radius: var(--radius-full);
21
+ background: var(--border-subtle);
22
+ overflow: hidden;
23
+ }
24
+
25
+ .arc-progress[data-size="sm"] .progress__track { height: 4px; }
26
+ .arc-progress:not([data-size]) .progress__track,
27
+ .arc-progress[data-size="md"] .progress__track { height: 8px; }
28
+ .arc-progress[data-size="lg"] .progress__track { height: 12px; }
29
+
30
+ .arc-progress .progress__fill {
31
+ height: 100%;
32
+ border-radius: var(--radius-full);
33
+ background: var(--gradient-accent-text);
34
+ transition: width var(--transition-base);
35
+ box-shadow: 0 0 8px rgba(var(--accent-primary-rgb), 0.3);
36
+ }
37
+
38
+ .arc-progress[indeterminate] .progress__fill {
39
+ width: 30% !important;
40
+ animation: progress-indeterminate 1.5s ease-in-out infinite;
41
+ }
42
+
43
+ /* Spinner */
44
+ .arc-progress .progress__spinner {
45
+ display: inline-block;
46
+ }
47
+
48
+ .arc-progress[data-size="sm"] .progress__spinner { width: 20px; height: 20px; }
49
+ .arc-progress:not([data-size]) .progress__spinner,
50
+ .arc-progress[data-size="md"] .progress__spinner { width: 32px; height: 32px; }
51
+ .arc-progress[data-size="lg"] .progress__spinner { width: 48px; height: 48px; }
52
+
53
+ .arc-progress .progress__spinner svg {
54
+ width: 100%;
55
+ height: 100%;
56
+ animation: spinner-rotate 1.4s linear infinite;
57
+ }
58
+
59
+ .arc-progress .progress__spinner-track {
60
+ fill: none;
61
+ stroke: var(--border-subtle);
62
+ stroke-width: 3;
63
+ }
64
+
65
+ .arc-progress .progress__spinner-fill {
66
+ fill: none;
67
+ stroke: var(--accent-primary);
68
+ stroke-width: 3;
69
+ stroke-linecap: round;
70
+ stroke-dasharray: 80, 200;
71
+ stroke-dashoffset: 0;
72
+ animation: spinner-dash 1.4s ease-in-out infinite;
73
+ }
74
+
75
+ @keyframes progress-indeterminate {
76
+ 0% { transform: translateX(-100%); }
77
+ 100% { transform: translateX(400%); }
78
+ }
79
+
80
+ @keyframes spinner-rotate {
81
+ 100% { transform: rotate(360deg); }
82
+ }
83
+
84
+ @keyframes spinner-dash {
85
+ 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; }
86
+ 50% { stroke-dasharray: 80, 200; stroke-dashoffset: -35; }
87
+ 100% { stroke-dasharray: 80, 200; stroke-dashoffset: -125; }
88
+ }
89
+
90
+ @media (prefers-reduced-motion: reduce) {
91
+ .arc-progress .progress__fill,
92
+ .arc-progress .progress__spinner svg,
93
+ .arc-progress .progress__spinner-fill {
94
+ animation: none;
95
+ }
96
+ }
@@ -0,0 +1,70 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-scroll-area */
4
+ .arc-scroll-area {
5
+ display: block;
6
+ position: relative;
7
+ }
8
+
9
+ .arc-scroll-area .scroll-area {
10
+ overflow: hidden;
11
+ scroll-behavior: smooth;
12
+ border-radius: inherit;
13
+ }
14
+
15
+ /* Orientation variants */
16
+ .arc-scroll-area[data-orientation="vertical"] .scroll-area,
17
+ .arc-scroll-area:not([data-orientation]) .scroll-area {
18
+ overflow-y: auto;
19
+ overflow-x: hidden;
20
+ }
21
+
22
+ .arc-scroll-area[data-orientation="horizontal"] .scroll-area {
23
+ overflow-x: auto;
24
+ overflow-y: hidden;
25
+ }
26
+
27
+ .arc-scroll-area[data-orientation="both"] .scroll-area {
28
+ overflow: auto;
29
+ }
30
+
31
+ /* Webkit scrollbar styling */
32
+ .arc-scroll-area .scroll-area::-webkit-scrollbar {
33
+ width: 6px;
34
+ height: 6px;
35
+ }
36
+
37
+ .arc-scroll-area .scroll-area::-webkit-scrollbar-track {
38
+ background: var(--bg-elevated);
39
+ border-radius: var(--radius-full);
40
+ }
41
+
42
+ .arc-scroll-area .scroll-area::-webkit-scrollbar-thumb {
43
+ background: var(--border-bright);
44
+ border-radius: var(--radius-full);
45
+ transition: background var(--transition-fast);
46
+ }
47
+
48
+ .arc-scroll-area .scroll-area::-webkit-scrollbar-thumb:hover {
49
+ background: var(--text-ghost);
50
+ }
51
+
52
+ .arc-scroll-area .scroll-area::-webkit-scrollbar-corner {
53
+ background: var(--bg-elevated);
54
+ }
55
+
56
+ /* Firefox scrollbar styling */
57
+ .arc-scroll-area .scroll-area {
58
+ scrollbar-width: thin;
59
+ scrollbar-color: var(--border-bright) var(--bg-elevated);
60
+ }
61
+
62
+ @media (prefers-reduced-motion: reduce) {
63
+ .arc-scroll-area *,
64
+ .arc-scroll-area *::before,
65
+ .arc-scroll-area *::after {
66
+ animation-duration: 0.01ms !important;
67
+ animation-iteration-count: 1 !important;
68
+ transition-duration: 0.01ms !important;
69
+ }
70
+ }
@@ -0,0 +1,27 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-section */
4
+ .arc-section { display: block; }
5
+
6
+ .arc-section .section {
7
+ width: 100%;
8
+ max-width: var(--max-width);
9
+ margin-inline: auto;
10
+ padding: var(--space-3xl) var(--space-lg);
11
+ scroll-margin-top: var(--space-md);
12
+ }
13
+
14
+ @media (max-width: 768px) {
15
+ .arc-section .section { padding: var(--space-2xl) var(--space-md); }
16
+ }
17
+
18
+ .arc-section .section__label {
19
+ display: block;
20
+ font-family: var(--font-accent);
21
+ font-weight: var(--section-title-weight);
22
+ font-size: var(--section-title-size);
23
+ letter-spacing: var(--section-title-spacing);
24
+ text-transform: uppercase;
25
+ color: var(--text-muted);
26
+ margin-bottom: var(--space-lg);
27
+ }
@@ -0,0 +1,55 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-settings-layout */
4
+ .arc-settings-layout {
5
+ display: block;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ /* Left nav layout */
10
+ .arc-settings-layout .settings-layout--left {
11
+ display: grid;
12
+ grid-template-columns: 220px 1fr;
13
+ min-height: 100%;
14
+ }
15
+
16
+ .arc-settings-layout .settings-layout--left .nav {
17
+ padding: var(--space-lg);
18
+ background: var(--bg-card);
19
+ border-right: 1px solid var(--border-subtle);
20
+ }
21
+
22
+ .arc-settings-layout .settings-layout--left .content {
23
+ padding: var(--space-xl);
24
+ flex: 1;
25
+ }
26
+
27
+ /* Top nav layout */
28
+ .arc-settings-layout .settings-layout--top {
29
+ display: flex;
30
+ flex-direction: column;
31
+ min-height: 100%;
32
+ }
33
+
34
+ .arc-settings-layout .settings-layout--top .nav {
35
+ padding: var(--space-lg);
36
+ background: var(--bg-card);
37
+ border-bottom: 1px solid var(--border-subtle);
38
+ }
39
+
40
+ .arc-settings-layout .settings-layout--top .content {
41
+ padding: var(--space-xl);
42
+ flex: 1;
43
+ }
44
+
45
+ @media (max-width: 768px) {
46
+ .arc-settings-layout .settings-layout--left {
47
+ display: flex;
48
+ flex-direction: column;
49
+ }
50
+
51
+ .arc-settings-layout .settings-layout--left .nav {
52
+ border-right: none;
53
+ border-bottom: 1px solid var(--border-subtle);
54
+ }
55
+ }
@@ -0,0 +1,44 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-skeleton */
4
+ .arc-skeleton { display: block; }
5
+
6
+ @keyframes shimmer {
7
+ 0% { background-position: -200% 0; }
8
+ 100% { background-position: 200% 0; }
9
+ }
10
+
11
+ .arc-skeleton .skeleton {
12
+ background: linear-gradient(
13
+ 90deg,
14
+ var(--bg-elevated) 25%,
15
+ var(--border-subtle) 37%,
16
+ var(--bg-elevated) 63%
17
+ );
18
+ background-size: 200% 100%;
19
+ animation: shimmer 1.8s ease-in-out infinite;
20
+ }
21
+
22
+ .arc-skeleton[data-variant="text"] .skeleton {
23
+ width: 100%;
24
+ height: 1em;
25
+ border-radius: var(--radius-sm);
26
+ }
27
+
28
+ .arc-skeleton[data-variant="circle"] .skeleton {
29
+ border-radius: var(--radius-full);
30
+ }
31
+
32
+ .arc-skeleton[data-variant="rect"] .skeleton {
33
+ border-radius: var(--radius-md);
34
+ }
35
+
36
+ @media (prefers-reduced-motion: reduce) {
37
+ .arc-skeleton *,
38
+ .arc-skeleton *::before,
39
+ .arc-skeleton *::after {
40
+ animation-duration: 0.01ms !important;
41
+ animation-iteration-count: 1 !important;
42
+ transition-duration: 0.01ms !important;
43
+ }
44
+ }