@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,21 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-dashboard-grid */
4
+ .arc-dashboard-grid {
5
+ display: block;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ .arc-dashboard-grid .dashboard-grid {
10
+ display: grid;
11
+ grid-template-columns: repeat(
12
+ auto-fill,
13
+ minmax(var(--min-col, 280px), 1fr)
14
+ );
15
+ gap: var(--gap, var(--space-lg));
16
+ padding: var(--space-lg);
17
+ }
18
+
19
+ .arc-dashboard-grid[data-explicit-columns] .dashboard-grid {
20
+ grid-template-columns: repeat(var(--columns, 3), 1fr);
21
+ }
@@ -0,0 +1,128 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-divider */
4
+ .arc-divider { display: block; width: 100%; }
5
+
6
+ .arc-divider .divider { width: 100%; height: 1px; }
7
+
8
+ .arc-divider:not([data-variant]) .divider,
9
+ .arc-divider[data-variant="subtle"] .divider { background: var(--gradient-divider); }
10
+
11
+ .arc-divider[data-variant="glow"] .divider {
12
+ position: relative;
13
+ background: var(--gradient-divider-glow);
14
+ box-shadow: 0 0 6px rgba(var(--accent-primary-rgb),0.08);
15
+ }
16
+ .arc-divider[data-variant="glow"] .divider::after {
17
+ content: '';
18
+ position: absolute;
19
+ inset: 0;
20
+ background: linear-gradient(90deg, transparent 0%, rgba(var(--accent-secondary-rgb),0.4) 50%, transparent 100%);
21
+ background-size: 200% 100%;
22
+ animation: divider-shimmer 6s ease-in-out infinite;
23
+ mix-blend-mode: screen;
24
+ }
25
+
26
+ .arc-divider[data-variant="line-white"] .divider,
27
+ .arc-divider[data-variant="line-primary"] .divider,
28
+ .arc-divider[data-variant="line-gradient"] .divider {
29
+ height: 2px;
30
+ margin-inline: auto;
31
+ }
32
+ .arc-divider[data-variant="line-white"] .divider {
33
+ max-width: 160px;
34
+ background: linear-gradient(90deg, transparent, rgba(var(--text-primary-rgb),0.35), transparent);
35
+ }
36
+ .arc-divider[data-variant="line-primary"] .divider {
37
+ max-width: 200px;
38
+ background: linear-gradient(90deg, transparent, rgba(var(--accent-primary-rgb),0.7), transparent);
39
+ box-shadow: 0 0 8px rgba(var(--accent-primary-rgb),0.3);
40
+ }
41
+ .arc-divider[data-variant="line-gradient"] .divider {
42
+ max-width: 240px;
43
+ background: var(--glow-line-gradient);
44
+ box-shadow: 0 0 10px rgba(var(--accent-primary-rgb),0.25);
45
+ }
46
+
47
+ /* Alignment — rewrite gradients to originate from one edge */
48
+ .arc-divider[data-align="left"] .divider { margin-inline: 0; }
49
+ .arc-divider[data-align="right"] .divider { margin-left: auto; margin-right: 0; }
50
+
51
+ .arc-divider([align="left"]:not([variant])) .divider,
52
+ .arc-divider([align="left"][variant="subtle"]) .divider {
53
+ background: linear-gradient(90deg, var(--border-default), transparent);
54
+ }
55
+ .arc-divider([align="right"]:not([variant])) .divider,
56
+ .arc-divider([align="right"][variant="subtle"]) .divider {
57
+ background: linear-gradient(90deg, transparent, var(--border-default));
58
+ }
59
+
60
+ .arc-divider([align="left"][variant="glow"]) .divider {
61
+ background: linear-gradient(90deg, rgba(var(--accent-primary-rgb),0.5), rgba(var(--accent-secondary-rgb),0.3), transparent);
62
+ }
63
+ .arc-divider([align="right"][variant="glow"]) .divider {
64
+ background: linear-gradient(90deg, transparent, rgba(var(--accent-secondary-rgb),0.3), rgba(var(--accent-primary-rgb),0.5));
65
+ }
66
+
67
+ .arc-divider([align="left"][variant="line-white"]) .divider {
68
+ background: linear-gradient(90deg, rgba(var(--text-primary-rgb),0.35), transparent);
69
+ }
70
+ .arc-divider([align="right"][variant="line-white"]) .divider {
71
+ background: linear-gradient(90deg, transparent, rgba(var(--text-primary-rgb),0.35));
72
+ }
73
+
74
+ .arc-divider([align="left"][variant="line-primary"]) .divider {
75
+ background: linear-gradient(90deg, rgba(var(--accent-primary-rgb),0.7), transparent);
76
+ }
77
+ .arc-divider([align="right"][variant="line-primary"]) .divider {
78
+ background: linear-gradient(90deg, transparent, rgba(var(--accent-primary-rgb),0.7));
79
+ }
80
+
81
+ .arc-divider([align="left"][variant="line-gradient"]) .divider {
82
+ background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary), transparent);
83
+ }
84
+ .arc-divider([align="right"][variant="line-gradient"]) .divider {
85
+ background: linear-gradient(90deg, transparent, var(--accent-primary), var(--accent-secondary));
86
+ }
87
+
88
+ /* ── Vertical ── */
89
+ .arc-divider[vertical] { display: inline-flex; width: auto; height: 100%; }
90
+ .arc-divider[vertical] .divider { width: 1px; height: 100%; }
91
+
92
+ .arc-divider([vertical]:not([variant])) .divider,
93
+ .arc-divider([vertical][variant="subtle"]) .divider {
94
+ background: linear-gradient(180deg, transparent, var(--border-default), transparent);
95
+ }
96
+
97
+ .arc-divider([vertical][variant="glow"]) .divider {
98
+ background: linear-gradient(180deg, transparent, rgba(var(--accent-primary-rgb),0.5), rgba(var(--accent-secondary-rgb),0.3), transparent);
99
+ }
100
+
101
+ .arc-divider([vertical][variant="line-gradient"]) .divider {
102
+ width: 2px;
103
+ max-width: none;
104
+ background: linear-gradient(180deg, transparent, var(--accent-primary), var(--accent-secondary), transparent);
105
+ box-shadow: 0 0 10px rgba(var(--accent-primary-rgb),0.25);
106
+ }
107
+
108
+ .arc-divider([vertical][variant="line-primary"]) .divider {
109
+ width: 2px;
110
+ max-width: none;
111
+ background: linear-gradient(180deg, transparent, rgba(var(--accent-primary-rgb),0.7), transparent);
112
+ box-shadow: 0 0 8px rgba(var(--accent-primary-rgb),0.3);
113
+ }
114
+
115
+ .arc-divider([vertical][variant="line-white"]) .divider {
116
+ width: 2px;
117
+ max-width: none;
118
+ background: linear-gradient(180deg, transparent, rgba(var(--text-primary-rgb),0.35), transparent);
119
+ }
120
+
121
+ @keyframes divider-shimmer {
122
+ 0%, 100% { background-position: 200% 0; }
123
+ 50% { background-position: -100% 0; }
124
+ }
125
+
126
+ @media (prefers-reduced-motion: reduce) {
127
+ .arc-divider[data-variant="glow"] .divider::after { animation: none; }
128
+ }
@@ -0,0 +1,43 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-empty-state */
4
+ .arc-empty-state { display: block; }
5
+
6
+ .arc-empty-state .empty {
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ text-align: center;
11
+ padding: var(--space-2xl) var(--space-xl);
12
+ border: 1px dashed var(--border-default);
13
+ border-radius: var(--radius-lg);
14
+ background: var(--bg-card);
15
+ }
16
+
17
+ .arc-empty-state .empty__icon {
18
+ margin-bottom: var(--space-lg);
19
+ color: var(--text-ghost);
20
+ font-size: 40px; /* icon size, not text */
21
+ }
22
+
23
+ .arc-empty-state .empty__heading {
24
+ margin: 0 0 var(--space-sm);
25
+ font-family: var(--font-body);
26
+ font-size: var(--heading-size);
27
+ font-weight: var(--heading-weight);
28
+ color: var(--text-primary);
29
+ }
30
+
31
+ .arc-empty-state .empty__desc {
32
+ margin: 0 0 var(--space-lg);
33
+ font-family: var(--font-body);
34
+ font-size: var(--body-size);
35
+ line-height: var(--body-lh);
36
+ color: var(--text-muted);
37
+ max-width: 360px;
38
+ }
39
+
40
+ .arc-empty-state .empty__actions {
41
+ display: flex;
42
+ gap: var(--space-sm);
43
+ }
@@ -0,0 +1,102 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-feature-card */
4
+ .arc-feature-card { display: block; height: 100%; }
5
+
6
+ .arc-feature-card .card {
7
+ position: relative;
8
+ border-radius: var(--radius-lg);
9
+ height: 100%;
10
+ padding: 1px;
11
+ background: var(--border-subtle);
12
+ transition: background var(--transition-slow);
13
+ text-decoration: none;
14
+ display: flex;
15
+ flex-direction: column;
16
+ }
17
+
18
+ .arc-feature-card .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-feature-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
+ display: flex;
28
+ flex-direction: column;
29
+ gap: var(--space-md);
30
+ flex: 1;
31
+ transition: box-shadow var(--transition-slow);
32
+ z-index: 1;
33
+ }
34
+
35
+ .arc-feature-card .card:hover .card__inner {
36
+ box-shadow: inset 0 1px 0 var(--bg-hover), var(--glow-card-hover);
37
+ }
38
+
39
+ .arc-feature-card .card__icon {
40
+ width: 44px;
41
+ height: 44px;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ border-radius: var(--radius-md);
46
+ background: var(--accent-primary-subtle);
47
+ border: 1px solid var(--accent-primary-border);
48
+ color: var(--accent-primary);
49
+ font-size: 20px; /* icon size, not text */
50
+ transition: box-shadow var(--transition-slow), border-color var(--transition-slow), transform var(--transition-slow);
51
+ }
52
+
53
+ .arc-feature-card .card:hover .card__icon {
54
+ border-color: rgba(var(--accent-primary-rgb),0.3);
55
+ box-shadow: 0 0 20px var(--accent-primary-glow), 0 0 6px var(--accent-primary-border);
56
+ transform: translateY(-2px);
57
+ }
58
+
59
+ .arc-feature-card .card__title {
60
+ font-size: 17px; /* heading size, keep hardcoded */
61
+ font-weight: 600;
62
+ color: var(--text-primary);
63
+ transition: color var(--transition-slow);
64
+ margin: 0;
65
+ }
66
+
67
+ .arc-feature-card .card:hover .card__title { color: var(--text-primary); }
68
+
69
+ .arc-feature-card .card__desc {
70
+ color: var(--text-secondary);
71
+ font-family: var(--font-body);
72
+ font-size: var(--text-sm);
73
+ line-height: 1.7;
74
+ flex: 1;
75
+ margin: 0;
76
+ }
77
+
78
+ .arc-feature-card .card__rule {
79
+ width: 32px;
80
+ height: 1px;
81
+ background: linear-gradient(90deg, var(--accent-primary), transparent);
82
+ opacity: 0;
83
+ transition: opacity var(--transition-slow), width var(--transition-slow);
84
+ }
85
+
86
+ .arc-feature-card .card:hover .card__rule { opacity: 0.5; width: 48px; }
87
+
88
+ .arc-feature-card .card:focus-visible { outline: none; box-shadow: var(--focus-glow); border-radius: var(--radius-lg); }
89
+
90
+ @media (max-width: 768px) {
91
+ .arc-feature-card .card__inner { padding: var(--space-lg) var(--space-md); }
92
+ }
93
+
94
+ @media (prefers-reduced-motion: reduce) {
95
+ .arc-feature-card *,
96
+ .arc-feature-card *::before,
97
+ .arc-feature-card *::after {
98
+ animation-duration: 0.01ms !important;
99
+ animation-iteration-count: 1 !important;
100
+ transition-duration: 0.01ms !important;
101
+ }
102
+ }
package/css/footer.css ADDED
@@ -0,0 +1,60 @@
1
+ /* Auto-generated by @arclux/prism — do not edit manually */
2
+
3
+ /* arc-footer */
4
+ .arc-footer {
5
+ display: block;
6
+ background: var(--bg-deep);
7
+ color: var(--text-secondary);
8
+ font-family: var(--font-body);
9
+ font-size: var(--body-size);
10
+ }
11
+
12
+ .arc-footer[border] .footer {
13
+ border-top: 1px solid var(--border-subtle);
14
+ }
15
+
16
+ .arc-footer .footer {
17
+ padding: var(--space-2xl) var(--space-xl) var(--space-xl);
18
+ }
19
+
20
+ .arc-footer[compact] .footer {
21
+ padding: var(--space-lg) var(--space-md) var(--space-md);
22
+ }
23
+
24
+ .arc-footer .footer__brand {
25
+ margin-bottom: var(--space-xl);
26
+ }
27
+
28
+ .arc-footer[compact] .footer__brand {
29
+ margin-bottom: var(--space-md);
30
+ }
31
+
32
+ .arc-footer .footer__columns {
33
+ display: grid;
34
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
35
+ gap: var(--space-xl);
36
+ margin-bottom: var(--space-xl);
37
+ }
38
+
39
+ .arc-footer[compact] .footer__columns {
40
+ gap: var(--space-md);
41
+ margin-bottom: var(--space-md);
42
+ }
43
+
44
+ .arc-footer .footer__social {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: var(--space-md);
48
+ margin-bottom: var(--space-lg);
49
+ }
50
+
51
+ .arc-footer[compact] .footer__social {
52
+ margin-bottom: var(--space-sm);
53
+ }
54
+
55
+ .arc-footer .footer__legal {
56
+ padding-top: var(--space-md);
57
+ border-top: 1px solid var(--border-subtle);
58
+ color: var(--text-muted);
59
+ font-size: var(--text-sm);
60
+ }