@arobo/styles 1.0.1

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 (222) hide show
  1. package/README.md +3 -0
  2. package/dist/aroboui.min.css +2 -0
  3. package/dist/base/base.css +8 -0
  4. package/dist/components/button/button.styles.d.ts +70 -0
  5. package/dist/components/button/button.styles.d.ts.map +1 -0
  6. package/dist/components/button/button.styles.js +36 -0
  7. package/dist/components/button/index.d.ts +2 -0
  8. package/dist/components/button/index.d.ts.map +1 -0
  9. package/dist/components/button/index.js +1 -0
  10. package/dist/components/button-group/button-group.styles.d.ts +19 -0
  11. package/dist/components/button-group/button-group.styles.d.ts.map +1 -0
  12. package/dist/components/button-group/button-group.styles.js +16 -0
  13. package/dist/components/button-group/index.d.ts +2 -0
  14. package/dist/components/button-group/index.d.ts.map +1 -0
  15. package/dist/components/button-group/index.js +1 -0
  16. package/dist/components/button-group.css +78 -0
  17. package/dist/components/button.css +158 -0
  18. package/dist/components/calendar/calendar.styles.d.ts +40 -0
  19. package/dist/components/calendar/calendar.styles.d.ts.map +1 -0
  20. package/dist/components/calendar/calendar.styles.js +25 -0
  21. package/dist/components/calendar/index.d.ts +2 -0
  22. package/dist/components/calendar/index.d.ts.map +1 -0
  23. package/dist/components/calendar/index.js +1 -0
  24. package/dist/components/calendar.css +35 -0
  25. package/dist/components/card/card.styles.d.ts +71 -0
  26. package/dist/components/card/card.styles.d.ts.map +1 -0
  27. package/dist/components/card/card.styles.js +33 -0
  28. package/dist/components/card/index.d.ts +2 -0
  29. package/dist/components/card/index.d.ts.map +1 -0
  30. package/dist/components/card/index.js +1 -0
  31. package/dist/components/card.css +50 -0
  32. package/dist/components/checkbox/checkbox.styles.d.ts +46 -0
  33. package/dist/components/checkbox/checkbox.styles.d.ts.map +1 -0
  34. package/dist/components/checkbox/checkbox.styles.js +25 -0
  35. package/dist/components/checkbox/index.d.ts +2 -0
  36. package/dist/components/checkbox/index.d.ts.map +1 -0
  37. package/dist/components/checkbox/index.js +1 -0
  38. package/dist/components/checkbox-group/checkbox-group.styles.d.ts +34 -0
  39. package/dist/components/checkbox-group/checkbox-group.styles.d.ts.map +1 -0
  40. package/dist/components/checkbox-group/checkbox-group.styles.js +22 -0
  41. package/dist/components/checkbox-group/index.d.ts +2 -0
  42. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  43. package/dist/components/checkbox-group/index.js +1 -0
  44. package/dist/components/checkbox-group.css +7 -0
  45. package/dist/components/checkbox.css +269 -0
  46. package/dist/components/close-button/close-button.styles.d.ts +16 -0
  47. package/dist/components/close-button/close-button.styles.d.ts.map +1 -0
  48. package/dist/components/close-button/close-button.styles.js +15 -0
  49. package/dist/components/close-button/index.d.ts +2 -0
  50. package/dist/components/close-button/index.d.ts.map +1 -0
  51. package/dist/components/close-button/index.js +1 -0
  52. package/dist/components/close-button.css +65 -0
  53. package/dist/components/combobox/combobox.styles.d.ts +43 -0
  54. package/dist/components/combobox/combobox.styles.d.ts.map +1 -0
  55. package/dist/components/combobox/combobox.styles.js +24 -0
  56. package/dist/components/combobox/index.d.ts +2 -0
  57. package/dist/components/combobox/index.d.ts.map +1 -0
  58. package/dist/components/combobox/index.js +1 -0
  59. package/dist/components/combobox.css +169 -0
  60. package/dist/components/date-field/date-field.styles.d.ts +19 -0
  61. package/dist/components/date-field/date-field.styles.d.ts.map +1 -0
  62. package/dist/components/date-field/date-field.styles.js +16 -0
  63. package/dist/components/date-field/index.d.ts +2 -0
  64. package/dist/components/date-field/index.d.ts.map +1 -0
  65. package/dist/components/date-field/index.js +1 -0
  66. package/dist/components/date-field.css +24 -0
  67. package/dist/components/date-input-group/date-input-group.styles.d.ts +43 -0
  68. package/dist/components/date-input-group/date-input-group.styles.d.ts.map +1 -0
  69. package/dist/components/date-input-group/date-input-group.styles.js +24 -0
  70. package/dist/components/date-input-group/index.d.ts +2 -0
  71. package/dist/components/date-input-group/index.d.ts.map +1 -0
  72. package/dist/components/date-input-group/index.js +1 -0
  73. package/dist/components/date-input-group.css +116 -0
  74. package/dist/components/date-picker/date-picker.styles.d.ts +37 -0
  75. package/dist/components/date-picker/date-picker.styles.d.ts.map +1 -0
  76. package/dist/components/date-picker/date-picker.styles.js +11 -0
  77. package/dist/components/date-picker/index.d.ts +2 -0
  78. package/dist/components/date-picker/index.d.ts.map +1 -0
  79. package/dist/components/date-picker/index.js +1 -0
  80. package/dist/components/date-picker.css +32 -0
  81. package/dist/components/date-range-picker/date-range-picker.styles.d.ts +49 -0
  82. package/dist/components/date-range-picker/date-range-picker.styles.d.ts.map +1 -0
  83. package/dist/components/date-range-picker/date-range-picker.styles.js +28 -0
  84. package/dist/components/date-range-picker/index.d.ts +2 -0
  85. package/dist/components/date-range-picker/index.d.ts.map +1 -0
  86. package/dist/components/date-range-picker/index.js +1 -0
  87. package/dist/components/date-range-picker.css +28 -0
  88. package/dist/components/description/description.styles.d.ts +4 -0
  89. package/dist/components/description/description.styles.d.ts.map +1 -0
  90. package/dist/components/description/description.styles.js +7 -0
  91. package/dist/components/description/index.d.ts +2 -0
  92. package/dist/components/description/index.d.ts.map +1 -0
  93. package/dist/components/description/index.js +1 -0
  94. package/dist/components/description.css +4 -0
  95. package/dist/components/error-message/error-message.styles.d.ts +4 -0
  96. package/dist/components/error-message/error-message.styles.d.ts.map +1 -0
  97. package/dist/components/error-message/error-message.styles.js +7 -0
  98. package/dist/components/error-message/index.d.ts +2 -0
  99. package/dist/components/error-message/index.d.ts.map +1 -0
  100. package/dist/components/error-message/index.js +1 -0
  101. package/dist/components/error-message.css +13 -0
  102. package/dist/components/field-error/field-error.styles.d.ts +4 -0
  103. package/dist/components/field-error/field-error.styles.d.ts.map +1 -0
  104. package/dist/components/field-error/field-error.styles.js +7 -0
  105. package/dist/components/field-error/index.d.ts +2 -0
  106. package/dist/components/field-error/index.d.ts.map +1 -0
  107. package/dist/components/field-error/index.js +1 -0
  108. package/dist/components/field-error.css +13 -0
  109. package/dist/components/field-group/field-group.styles.d.ts +69 -0
  110. package/dist/components/field-group/field-group.styles.d.ts.map +1 -0
  111. package/dist/components/field-group/field-group.styles.js +25 -0
  112. package/dist/components/field-group/index.d.ts +2 -0
  113. package/dist/components/field-group/index.d.ts.map +1 -0
  114. package/dist/components/field-group/index.js +1 -0
  115. package/dist/components/field-group.css +7 -0
  116. package/dist/components/index.css +23 -0
  117. package/dist/components/index.d.ts +23 -0
  118. package/dist/components/index.d.ts.map +1 -0
  119. package/dist/components/input/index.d.ts +2 -0
  120. package/dist/components/input/index.d.ts.map +1 -0
  121. package/dist/components/input/index.js +1 -0
  122. package/dist/components/input/input.styles.d.ts +31 -0
  123. package/dist/components/input/input.styles.d.ts.map +1 -0
  124. package/dist/components/input/input.styles.js +21 -0
  125. package/dist/components/input.css +72 -0
  126. package/dist/components/label/index.d.ts +2 -0
  127. package/dist/components/label/index.d.ts.map +1 -0
  128. package/dist/components/label/index.js +1 -0
  129. package/dist/components/label/label.styles.d.ts +34 -0
  130. package/dist/components/label/label.styles.d.ts.map +1 -0
  131. package/dist/components/label/label.styles.js +23 -0
  132. package/dist/components/label.css +31 -0
  133. package/dist/components/popover/index.d.ts +2 -0
  134. package/dist/components/popover/index.d.ts.map +1 -0
  135. package/dist/components/popover/index.js +1 -0
  136. package/dist/components/popover/popover.styles.d.ts +46 -0
  137. package/dist/components/popover/popover.styles.d.ts.map +1 -0
  138. package/dist/components/popover/popover.styles.js +12 -0
  139. package/dist/components/popover.css +91 -0
  140. package/dist/components/range-calendar/index.d.ts +2 -0
  141. package/dist/components/range-calendar/index.d.ts.map +1 -0
  142. package/dist/components/range-calendar/index.js +1 -0
  143. package/dist/components/range-calendar/range-calendar.styles.d.ts +43 -0
  144. package/dist/components/range-calendar/range-calendar.styles.d.ts.map +1 -0
  145. package/dist/components/range-calendar/range-calendar.styles.js +26 -0
  146. package/dist/components/range-calendar.css +83 -0
  147. package/dist/components/surface/index.d.ts +2 -0
  148. package/dist/components/surface/index.d.ts.map +1 -0
  149. package/dist/components/surface/index.js +1 -0
  150. package/dist/components/surface/surface.styles.d.ts +37 -0
  151. package/dist/components/surface/surface.styles.d.ts.map +1 -0
  152. package/dist/components/surface/surface.styles.js +35 -0
  153. package/dist/components/surface.css +36 -0
  154. package/dist/components/text-field/index.d.ts +2 -0
  155. package/dist/components/text-field/index.d.ts.map +1 -0
  156. package/dist/components/text-field/index.js +1 -0
  157. package/dist/components/text-field/text-field.styles.d.ts +19 -0
  158. package/dist/components/text-field/text-field.styles.d.ts.map +1 -0
  159. package/dist/components/text-field/text-field.styles.js +16 -0
  160. package/dist/components/text-field.css +26 -0
  161. package/dist/index.css +17 -0
  162. package/dist/index.d.ts +4 -0
  163. package/dist/index.d.ts.map +1 -0
  164. package/dist/index.js +24 -0
  165. package/dist/themes/default/index.css +4 -0
  166. package/dist/themes/default/variables.css +157 -0
  167. package/dist/themes/shared/theme.css +338 -0
  168. package/dist/utilities/index.css +45 -0
  169. package/dist/utils/index.d.ts +2 -0
  170. package/dist/utils/index.d.ts.map +1 -0
  171. package/dist/utils/state.d.ts +17 -0
  172. package/dist/utils/state.d.ts.map +1 -0
  173. package/dist/utils/state.js +13 -0
  174. package/package.json +53 -0
  175. package/src/components/button/button.styles.ts +38 -0
  176. package/src/components/button/index.ts +1 -0
  177. package/src/components/button-group/button-group.styles.ts +18 -0
  178. package/src/components/button-group/index.ts +1 -0
  179. package/src/components/calendar/calendar.styles.ts +27 -0
  180. package/src/components/calendar/index.ts +1 -0
  181. package/src/components/card/card.styles.ts +36 -0
  182. package/src/components/card/index.ts +1 -0
  183. package/src/components/checkbox/checkbox.styles.ts +27 -0
  184. package/src/components/checkbox/index.ts +1 -0
  185. package/src/components/checkbox-group/checkbox-group.styles.ts +24 -0
  186. package/src/components/checkbox-group/index.ts +1 -0
  187. package/src/components/close-button/close-button.styles.ts +17 -0
  188. package/src/components/close-button/index.ts +1 -0
  189. package/src/components/combobox/combobox.styles.ts +26 -0
  190. package/src/components/combobox/index.ts +1 -0
  191. package/src/components/date-field/date-field.styles.ts +18 -0
  192. package/src/components/date-field/index.ts +1 -0
  193. package/src/components/date-input-group/date-input-group.styles.ts +28 -0
  194. package/src/components/date-input-group/index.ts +1 -0
  195. package/src/components/date-picker/date-picker.styles.ts +13 -0
  196. package/src/components/date-picker/index.ts +1 -0
  197. package/src/components/date-range-picker/date-range-picker.styles.ts +32 -0
  198. package/src/components/date-range-picker/index.ts +1 -0
  199. package/src/components/description/description.styles.ts +9 -0
  200. package/src/components/description/index.ts +1 -0
  201. package/src/components/error-message/error-message.styles.ts +9 -0
  202. package/src/components/error-message/index.ts +1 -0
  203. package/src/components/field-error/field-error.styles.ts +9 -0
  204. package/src/components/field-error/index.ts +1 -0
  205. package/src/components/field-group/field-group.styles.ts +29 -0
  206. package/src/components/field-group/index.ts +1 -0
  207. package/src/components/index.ts +23 -0
  208. package/src/components/input/index.ts +1 -0
  209. package/src/components/input/input.styles.ts +23 -0
  210. package/src/components/label/index.ts +1 -0
  211. package/src/components/label/label.styles.ts +25 -0
  212. package/src/components/popover/index.ts +1 -0
  213. package/src/components/popover/popover.styles.ts +14 -0
  214. package/src/components/range-calendar/index.ts +1 -0
  215. package/src/components/range-calendar/range-calendar.styles.ts +28 -0
  216. package/src/components/surface/index.ts +1 -0
  217. package/src/components/surface/surface.styles.ts +37 -0
  218. package/src/components/text-field/index.ts +1 -0
  219. package/src/components/text-field/text-field.styles.ts +18 -0
  220. package/src/index.ts +4 -0
  221. package/src/utils/index.ts +1 -0
  222. package/src/utils/state.ts +11 -0
@@ -0,0 +1,157 @@
1
+ @layer base {
2
+ :root {
3
+ color-scheme: light;
4
+
5
+ color-scheme: light;
6
+
7
+ /* == Common Variables == */
8
+
9
+ /* Primitive Colors (Do not change between light and dark) */
10
+ --white: oklch(100% 0 0);
11
+ --black: oklch(0% 0 0);
12
+ --snow: oklch(0.9911 0 0);
13
+ --eclipse: oklch(0.2103 0.0059 285.89);
14
+
15
+ /* Spacing scale */
16
+ --spacing: 0.25rem;
17
+
18
+ /* Border */
19
+ --border-width: 1px;
20
+ --field-border-width: 0px;
21
+ --disabled-opacity: 0.5;
22
+
23
+ /* Ring offset - Used for focus ring */
24
+ --ring-offset-width: 2px;
25
+
26
+ /* Cursor */
27
+ --cursor-interactive: pointer;
28
+ --cursor-disabled: not-allowed;
29
+
30
+ /* Radius */
31
+ --radius: 0.5rem;
32
+ --field-radius: calc(var(--radius) * 1);
33
+ --card-radius: calc(var(--radius) * 1.5);
34
+
35
+ /* == Light Theme Variables == */
36
+
37
+ /* Base Colors */
38
+ --background: oklch(0.9702 0 0);
39
+ --foreground: var(--eclipse);
40
+
41
+ /* Surface: Used for non-overlay components (cards, accordions, disclosure groups) */
42
+ --surface: var(--white);
43
+ --surface-foreground: var(--foreground);
44
+ --surface-liquid-blur: 12px;
45
+
46
+ /* Overlay: Used for floating/overlay components (tooltips, popovers, modals, menus) */
47
+ --overlay: var(--white);
48
+ --overlay-foreground: var(--foreground);
49
+
50
+ --muted: oklch(0.5517 0.0138 285.94);
51
+
52
+ --scrollbar: oklch(87.1% 0.006 286.286);
53
+
54
+ --default: oklch(94% 0.001 286.375);
55
+ --default-foreground: var(--eclipse);
56
+
57
+ --accent: oklch(0.6633 0.1901 44.6);
58
+ --accent-foreground: var(--snow);
59
+
60
+ --secondary: oklch(32.02% 0.159 263.34);
61
+ --secondary-foreground: var(--snow);
62
+
63
+ /* Background Colors */
64
+ --bgColor-accent-emphasis: var(--accent);
65
+ --bgColor-primary-muted: color-mix(
66
+ in oklab,
67
+ var(--surface) 95%,
68
+ var(--surface-foreground) 5%
69
+ );
70
+ --bgColor-secondary-emphasis: var(--secondary);
71
+ --bgColor-secondary-muted: color-mix(
72
+ in oklab,
73
+ var(--surface) 90%,
74
+ var(--surface-foreground) 10%
75
+ );
76
+
77
+ /* Foreground */
78
+ --fgColor-muted: var(--color-neutral-500);
79
+ --fgColor-default: var(--color-neutral-900);
80
+ --fgColor-placeholder: var(--color-neutral-500);
81
+ --fgColor-disabled: var(--color-neutral-400);
82
+ --fgColor-danger: var(--danger);
83
+ --fgColor-success: var(--success);
84
+ --fgColor-warning: var(--warning);
85
+
86
+ --borderColor-default: var(--color-neutral-200); /* Neutral 200 */
87
+
88
+ --borderColor-emphasis: oklch(86.99% 0 0);
89
+ --borderColor-muted: color-mix(
90
+ in oklab,
91
+ var(--borderColor-default) 70%,
92
+ var(--white) 30%
93
+ );
94
+ --borderColor-disabled: color-mix(
95
+ in oklab,
96
+ var(--borderColor-default) 50%,
97
+ var(--white) 50%
98
+ );
99
+ --borderColor-accent-emphasis: var(--accent);
100
+ --borderColor-accent-muted: color-mix(
101
+ in oklab,
102
+ var(--accent) 60%,
103
+ var(--white) 40%
104
+ );
105
+ --borderColor-secondary-emphasis: var(--secondary);
106
+ --borderColor-secondary-muted: color-mix(
107
+ in oklab,
108
+ var(--secondary) 30%,
109
+ var(--white) 70%
110
+ );
111
+
112
+ /* Form Fields */
113
+ --field-background: var(--white);
114
+ --field-foreground: oklch(0.2103 0.0059 285.89);
115
+ --field-placeholder: var(--muted);
116
+ --field-border: var(
117
+ --borderColor-default
118
+ ); /* no border by default on form fields */
119
+
120
+ /* Input */
121
+ --input-secondary-ring: var(--secondary);
122
+ /* Status Colors */
123
+ --success: oklch(0.7329 0.1935 150.81);
124
+ --success-foreground: var(--eclipse);
125
+
126
+ --warning: oklch(0.7819 0.1585 72.33);
127
+ --warning-foreground: var(--eclipse);
128
+
129
+ --danger: oklch(0.6532 0.2328 25.74);
130
+ --danger-foreground: var(--snow);
131
+
132
+ /* Component Colors */
133
+ --segment: var(--white);
134
+ --segment-foreground: var(--eclipse);
135
+
136
+ /* Misc Colors */
137
+ --border: oklch(90% 0.004 286.32);
138
+ --separator: oklch(92% 0.004 286.32);
139
+ --focus: var(--accent);
140
+ --link: var(--foreground);
141
+
142
+ /* Shadows */
143
+ /* --surface-shadow: 0 0px 0px 0 rgba(24, 24, 27, 0.03), 0 2px 10px 0 rgba(24, 24, 27, 0.08); */
144
+ --surface-shadow:
145
+ 0 2px 4px 0 rgba(0, 0, 0, 0.04), 0 1px 2px 0 rgba(0, 0, 0, 0.06),
146
+ 0 0 1px 0 rgba(0, 0, 0, 0.06);
147
+ /* Overlay shadow */
148
+ --overlay-shadow:
149
+ 0 2px 8px 0 rgba(0, 0, 0, 0.06), 0 -6px 12px 0 rgba(0, 0, 0, 0.03),
150
+ 0 14px 28px 0 rgba(0, 0, 0, 0.08);
151
+ --field-shadow:
152
+ 0 2px 4px 0 rgba(0, 0, 0, 0.04), 0 1px 2px 0 rgba(0, 0, 0, 0.06),
153
+ 0 0 1px 0 rgba(0, 0, 0, 0.06);
154
+ /* Skeleton Default Global Animation */
155
+ --skeleton-animation: shimmer; /* shimmer, pulse, none */
156
+ }
157
+ }
@@ -0,0 +1,338 @@
1
+ @theme inline {
2
+ --color-background: var(--background);
3
+ --color-foreground: var(--foreground);
4
+
5
+ --color-surface: var(--surface);
6
+ --color-surface-foreground: var(--surface-foreground);
7
+ --color-surface-hover: color-mix(
8
+ in oklab,
9
+ var(--surface) 92%,
10
+ var(--surface-foreground) 8%
11
+ );
12
+
13
+ --color-overlay: var(--overlay);
14
+ --color-overlay-foreground: var(--overlay-foreground);
15
+
16
+ --color-muted: var(--muted);
17
+
18
+ --color-accent: var(--accent);
19
+ --color-accent-foreground: var(--accent-foreground);
20
+
21
+ --color-segment: var(--segment);
22
+ --color-segment-foreground: var(--segment-foreground);
23
+
24
+ --color-border: var(--border);
25
+ --color-separator: var(--separator);
26
+ --color-focus: var(--focus);
27
+ --color-link: var(--link);
28
+
29
+ --color-default: var(--default);
30
+ --color-default-foreground: var(--fgColor-default);
31
+
32
+ --color-success: var(--success);
33
+ --color-success-foreground: var(--success-foreground);
34
+
35
+ --color-warning: var(--warning);
36
+ --color-warning-foreground: var(--warning-foreground);
37
+
38
+ --color-danger: var(--danger);
39
+ --color-danger-foreground: var(--danger-foreground);
40
+
41
+ --shadow-surface: var(--surface-shadow);
42
+ --shadow-overlay: var(--overlay-shadow);
43
+ --shadow-field: 0px;
44
+
45
+ /* Form Field Tokens */
46
+ --color-field: var(--field-background, var(--color-default));
47
+ --color-field-hover: color-mix(
48
+ in oklab,
49
+ var(--field-background, var(--color-default)) 90%,
50
+ var(--field-foreground, var(--color-default-foreground)) 10%
51
+ );
52
+ --color-field-foreground: var(--field-foreground, var(--color-foreground));
53
+ --color-field-placeholder: var(--field-placeholder, var(--color-muted));
54
+ --color-field-border: var(--field-border, var(--color-border));
55
+ --radius-field: var(--field-radius, var(--radius-xl));
56
+ --radius-card: var(--card-radius, var(--radius-xl));
57
+ --border-width-field: var(--field-border-width, var(--border-width));
58
+
59
+ /* Calculated Variables */
60
+
61
+ /* Colors */
62
+
63
+ /* --- background shades --- */
64
+ --color-background-secondary: color-mix(
65
+ in oklab,
66
+ var(--color-background) 96%,
67
+ var(--color-foreground) 4%
68
+ );
69
+ --color-background-tertiary: color-mix(
70
+ in oklab,
71
+ var(--color-background) 92%,
72
+ var(--color-foreground) 8%
73
+ );
74
+ --color-background-inverse: var(--color-foreground);
75
+
76
+ /* ------------------------- */
77
+ --color-default-hover: color-mix(
78
+ in oklab,
79
+ var(--color-default) 96%,
80
+ var(--color-default-foreground) 4%
81
+ );
82
+ --color-accent-hover: color-mix(
83
+ in oklab,
84
+ var(--color-accent) 90%,
85
+ var(--color-accent-foreground) 10%
86
+ );
87
+ --color-success-hover: color-mix(
88
+ in oklab,
89
+ var(--color-success) 90%,
90
+ var(--color-success-foreground) 10%
91
+ );
92
+ --color-warning-hover: color-mix(
93
+ in oklab,
94
+ var(--color-warning) 90%,
95
+ var(--color-warning-foreground) 10%
96
+ );
97
+ --color-danger-hover: color-mix(
98
+ in oklab,
99
+ var(--color-danger) 90%,
100
+ var(--color-danger-foreground) 10%
101
+ );
102
+
103
+ /* Form Field Colors */
104
+ --color-field-hover: color-mix(
105
+ in oklab,
106
+ var(--color-field) 90%,
107
+ var(--color-field-foreground) 2%
108
+ );
109
+ --color-field-focus: var(--color-field);
110
+ --color-field-border-hover: color-mix(
111
+ in oklab,
112
+ var(--color-field-border) 88%,
113
+ var(--color-field-foreground) 10%
114
+ );
115
+ --color-field-border-focus: var(--color-borderColor-accent-emphasis);
116
+
117
+ /* Input colors */
118
+ --color-input-secondary-ring: var(--input-secondary-ring);
119
+
120
+ /* Background Colors */
121
+ --color-bgColor-accent-emphasis: var(--bgColor-accent-emphasis);
122
+ --color-bgColor-accent-muted: var(--bgColor-accent-muted);
123
+ --color-bgColor-secondary-emphasis: var(--bgColor-secondary-emphasis);
124
+ --color-bgColor-secondary-muted: var(--bgColor-secondary-muted);
125
+
126
+ /* Foreground Colors */
127
+ --color-fgColor-muted: var(--fgColor-muted);
128
+ --color-fgColor-default: var(--fgColor-default);
129
+ --color-fgColor-placeholder: var(--fgColor-placeholder);
130
+ --color-fgColor-disabled: var(--fgColor-disabled);
131
+ --color-fgColor-danger: var(--fgColor-danger);
132
+ --color-fgColor-success: var(--fgColor-success);
133
+ --color-fgColor-warning: var(--fgColor-warning);
134
+
135
+ /* Border Colors */
136
+ --color-borderColor-default: var(--borderColor-default);
137
+ --color-borderColor-emphasis: var(--borderColor-emphasis);
138
+ --color-borderColor-muted: var(--borderColor-muted);
139
+ --color-borderColor-disabled: var(--borderColor-disabled);
140
+ --color-borderColor-accent-emphasis: var(--borderColor-accent-emphasis);
141
+ --color-borderColor-accent-muted: var(--borderColor-accent-muted);
142
+ --color-borderColor-secondary-emphasis: var(--borderColor-secondary-emphasis);
143
+ --color-borderColor-secondary-muted: var(--borderColor-secondary-muted);
144
+
145
+ /* Soft Colors */
146
+ --color-accent-soft: color-mix(
147
+ in oklab,
148
+ var(--color-accent) 15%,
149
+ transparent
150
+ );
151
+ --color-accent-soft-foreground: var(--color-accent);
152
+ --color-accent-soft-hover: color-mix(
153
+ in oklab,
154
+ var(--color-accent) 20%,
155
+ transparent
156
+ );
157
+
158
+ --color-danger-soft: color-mix(
159
+ in oklab,
160
+ var(--color-danger) 15%,
161
+ transparent
162
+ );
163
+ --color-danger-soft-foreground: var(--color-danger);
164
+ --color-danger-soft-hover: color-mix(
165
+ in oklab,
166
+ var(--color-danger) 20%,
167
+ transparent
168
+ );
169
+
170
+ --color-warning-soft: color-mix(
171
+ in oklab,
172
+ var(--color-warning) 15%,
173
+ transparent
174
+ );
175
+ --color-warning-soft-foreground: var(--color-warning);
176
+ --color-warning-soft-hover: color-mix(
177
+ in oklab,
178
+ var(--color-warning) 20%,
179
+ transparent
180
+ );
181
+
182
+ --color-success-soft: color-mix(
183
+ in oklab,
184
+ var(--color-success) 15%,
185
+ transparent
186
+ );
187
+ --color-success-soft-foreground: var(--color-success);
188
+ --color-success-soft-hover: color-mix(
189
+ in oklab,
190
+ var(--color-success) 20%,
191
+ transparent
192
+ );
193
+
194
+ /* Surface Levels - progressively darker/lighter shades for layering */
195
+ --color-surface-secondary: color-mix(
196
+ in oklab,
197
+ var(--surface) 94%,
198
+ var(--surface-foreground) 6%
199
+ );
200
+ --color-surface-tertiary: color-mix(
201
+ in oklab,
202
+ var(--surface) 92%,
203
+ var(--surface-foreground) 8%
204
+ );
205
+
206
+ /* On Surface Colors (on default surface) */
207
+ --color-on-surface: color-mix(
208
+ in oklab,
209
+ var(--surface) 93%,
210
+ var(--surface-foreground) 7%
211
+ );
212
+ --color-on-surface-foreground: var(--surface-foreground);
213
+ --color-on-surface-hover: color-mix(
214
+ in oklab,
215
+ var(--surface) 91%,
216
+ var(--surface-foreground) 9%
217
+ );
218
+ --color-on-surface-focus: var(--color-on-surface);
219
+
220
+ /* On Surface Colors - Secondary (on secondary surface) */
221
+ --color-on-surface-secondary: color-mix(
222
+ in oklab,
223
+ var(--surface) 87%,
224
+ var(--surface-foreground) 13%
225
+ );
226
+ --color-on-surface-secondary-foreground: var(--surface-foreground);
227
+ --color-on-surface-secondary-hover: color-mix(
228
+ in oklab,
229
+ var(--surface) 85%,
230
+ var(--surface-foreground) 15%
231
+ );
232
+ --color-on-surface-secondary-focus: var(--color-on-surface-secondary);
233
+
234
+ /* On Surface Colors - Tertiary (on tertiary surface) */
235
+ --color-on-surface-tertiary: color-mix(
236
+ in oklab,
237
+ var(--surface) 85%,
238
+ var(--surface-foreground) 15%
239
+ );
240
+ --color-on-surface-tertiary-foreground: var(--surface-foreground);
241
+ --color-on-surface-tertiary-hover: color-mix(
242
+ in oklab,
243
+ var(--surface) 84%,
244
+ var(--surface-foreground) 16%
245
+ );
246
+ --color-on-surface-tertiary-focus: var(--color-on-surface-tertiary);
247
+
248
+ /* Separator Colors - Levels */
249
+ --color-separator-secondary: color-mix(
250
+ in oklab,
251
+ var(--surface) 85%,
252
+ var(--surface-foreground) 15%
253
+ );
254
+ --color-separator-tertiary: color-mix(
255
+ in oklab,
256
+ var(--surface) 81%,
257
+ var(--surface-foreground) 19%
258
+ );
259
+
260
+ /* Border Colors - Levels (progressive contrast: default → secondary → tertiary) */
261
+ /* Light mode: lighter → darker | Dark mode: darker → lighter */
262
+ --color-border-secondary: color-mix(
263
+ in oklab,
264
+ var(--surface) 78%,
265
+ var(--surface-foreground) 22%
266
+ );
267
+ --color-border-tertiary: color-mix(
268
+ in oklab,
269
+ var(--surface) 66%,
270
+ var(--surface-foreground) 34%
271
+ );
272
+
273
+ /* Radius and default sizes - defaults can change by just changing the --radius */
274
+ --radius-xs: calc(var(--radius) * 0.25); /* 0.125rem (2px) */
275
+ --radius-sm: calc(var(--radius) * 0.5); /* 0.25rem (4px) */
276
+ --radius-md: calc(var(--radius) * 0.75); /* 0.375rem (6px) */
277
+ --radius-lg: calc(var(--radius) * 1); /* 0.5rem (8px) */
278
+ --radius-xl: calc(var(--radius) * 1.5); /* 0.75rem (12px) */
279
+ --radius-2xl: calc(var(--radius) * 2); /* 1rem (16px) */
280
+ --radius-3xl: calc(var(--radius) * 3); /* 1.5rem (24px) */
281
+ --radius-4xl: calc(var(--radius) * 4); /* 2rem (32px) */
282
+
283
+ /* Transition Timing Functions */
284
+ --ease-smooth: ease; /* same as transition: ease; */
285
+ /* These custom curves are made by https://twitter.com/bdc */
286
+
287
+ /* From smoother to faster */
288
+ --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
289
+ --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
290
+ --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
291
+ --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
292
+ --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
293
+ --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
294
+ /* From slower to faster */
295
+ --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
296
+ --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
297
+ --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
298
+ --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
299
+ --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
300
+ --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
301
+ /* Custom smooth-out curve: fast start, smooth stop - Apple style */
302
+ --ease-out-fluid: cubic-bezier(0.32, 0.72, 0, 1);
303
+ /* From slower to faster */
304
+ --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
305
+ --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
306
+ --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
307
+ --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
308
+ --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
309
+ --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
310
+
311
+ /* Linear */
312
+ --ease-linear: linear;
313
+
314
+ /* Animations */
315
+ --animate-spin-fast: spin 0.75s linear infinite;
316
+ --animate-skeleton: skeleton 2s linear infinite;
317
+ --animate-caret-blink: caret-blink 1.2s ease-out infinite;
318
+
319
+ --blur-surface-liquid: var(--surface-liquid-blur, 10px);
320
+
321
+ @keyframes skeleton {
322
+ 100% {
323
+ transform: translateX(200%);
324
+ }
325
+ }
326
+
327
+ @keyframes caret-blink {
328
+ 0%,
329
+ 70%,
330
+ 100% {
331
+ opacity: 1;
332
+ }
333
+ 20%,
334
+ 50% {
335
+ opacity: 0;
336
+ }
337
+ }
338
+ }
@@ -0,0 +1,45 @@
1
+ /* === Focus Ring === */
2
+ @utility focus-ring {
3
+ @apply ring-2 ring-focus ring-offset-0 ring-offset-background outline-none;
4
+ /* Overrides the ring offset from the theme variables */
5
+ --tw-ring-offset-width: var(--ring-offset-width);
6
+ }
7
+
8
+ @utility focus-field-ring {
9
+ @apply ring-2 ring-focus ring-offset-0 outline-none;
10
+ /* No separation - ring sits directly against the element */
11
+ --tw-ring-offset-width: 0px;
12
+ }
13
+
14
+ @utility invalid-field-ring {
15
+ @apply ring-1 ring-danger ring-offset-0 outline-none;
16
+ /* No separation - ring sits directly against the element */
17
+ --tw-ring-offset-width: 0px;
18
+ }
19
+
20
+ @utility no-highlight {
21
+ -webkit-tap-highlight-color: transparent;
22
+ }
23
+
24
+ /* === Statuses === */
25
+ @utility status-focused {
26
+ @apply focus-ring;
27
+ }
28
+
29
+ @utility status-focused-field {
30
+ @apply focus-field-ring;
31
+ }
32
+
33
+ @utility status-invalid-field {
34
+ @apply invalid-field-ring;
35
+ }
36
+
37
+ @utility status-disabled {
38
+ opacity: var(--disabled-opacity);
39
+ cursor: var(--cursor-disabled);
40
+ pointer-events: none;
41
+ }
42
+
43
+ @utility status-pending {
44
+ @apply pointer-events-none;
45
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./state";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const focusRing: import("tailwind-variants").TVReturnType<{
2
+ isFocusVisible: {
3
+ false: string;
4
+ true: string;
5
+ };
6
+ }, undefined, "focus-ring", {
7
+ isFocusVisible: {
8
+ false: string;
9
+ true: string;
10
+ };
11
+ }, undefined, import("tailwind-variants").TVReturnType<{
12
+ isFocusVisible: {
13
+ false: string;
14
+ true: string;
15
+ };
16
+ }, undefined, "focus-ring", unknown, unknown, undefined>>;
17
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;yDAQpB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ const focusRing = tv({
4
+ base: "focus-ring",
5
+ variants: {
6
+ isFocusVisible: {
7
+ false: "",
8
+ true: "outline-2",
9
+ },
10
+ },
11
+ });
12
+
13
+ export { focusRing };
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@arobo/styles",
3
+ "version": "1.0.1",
4
+ "private": false,
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "style": "./dist/index.css",
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./css": {
14
+ "style": "./dist/index.css",
15
+ "default": "./dist/index.css"
16
+ },
17
+ "./components/*": {
18
+ "types": "./dist/components/*/index.d.ts",
19
+ "import": "./dist/components/*/index.js",
20
+ "default": "./dist/components/*/index.js"
21
+ },
22
+ "./base": "./dist/base/base.css",
23
+ "./base/*.css": "./dist/base/*.css",
24
+ "./components/*.css": "./dist/components/*.css",
25
+ "./themes/default": "./dist/themes/default/index.css",
26
+ "./themes/*/*.css": "./dist/themes/*/*.css",
27
+ "./themes/*.css": "./dist/themes/*.css",
28
+ "./utilities": "./dist/utilities/index.css",
29
+ "./variants": "./dist/variants/index.css",
30
+ "./package.json": "./package.json"
31
+ },
32
+ "sideEffects": [
33
+ "*.css"
34
+ ],
35
+ "files": [
36
+ "dist",
37
+ "src"
38
+ ],
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "dependencies": {
43
+ "tailwind-variants": "^3.2.2",
44
+ "tw-animate-css": "^1.4.0"
45
+ },
46
+ "peerDependencies": {
47
+ "tailwindcss": ">=4.0.0"
48
+ },
49
+ "main": "./dist/index.js",
50
+ "types": "./dist/index.d.ts",
51
+ "style": "./dist/index.css",
52
+ "browser": "./dist/arobo.min.css"
53
+ }
@@ -0,0 +1,38 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+
3
+ import { tv } from "tailwind-variants";
4
+
5
+ export const buttonVariants = tv({
6
+ base: "button",
7
+ defaultVariants: {
8
+ fullWidth: false,
9
+ isIconOnly: false,
10
+ size: "md",
11
+ variant: "primary",
12
+ },
13
+ variants: {
14
+ fullWidth: {
15
+ false: "",
16
+ true: "button--full-width",
17
+ },
18
+ isIconOnly: {
19
+ true: "button--icon-only",
20
+ },
21
+ size: {
22
+ lg: "button--lg",
23
+ md: "button--md",
24
+ sm: "button--sm",
25
+ },
26
+ variant: {
27
+ danger: "button--danger",
28
+ "danger-soft": "button--danger-soft",
29
+ ghost: "button--ghost",
30
+ outline: "button--outline",
31
+ primary: "button--primary",
32
+ secondary: "button--secondary",
33
+ tertiary: "button--tertiary",
34
+ },
35
+ },
36
+ });
37
+
38
+ export type ButtonVariants = VariantProps<typeof buttonVariants>;
@@ -0,0 +1 @@
1
+ export * from "./button.styles";
@@ -0,0 +1,18 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+
3
+ import { tv } from "tailwind-variants";
4
+
5
+ export const buttonGroupVariants = tv({
6
+ base: "button-group",
7
+ defaultVariants: {
8
+ fullWidth: false,
9
+ },
10
+ variants: {
11
+ fullWidth: {
12
+ false: "",
13
+ true: "button-group--full-width",
14
+ },
15
+ },
16
+ });
17
+
18
+ export type ButtonGroupVariants = VariantProps<typeof buttonGroupVariants>;
@@ -0,0 +1 @@
1
+ export * from "./button-group.styles";