frutjam 1.2.0-beta.0 → 1.2.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 (40) hide show
  1. package/README.md +34 -20
  2. package/dist/frutjam.local.css +2 -0
  3. package/dist/frutjam.min.css +5 -0
  4. package/dist/frutjam.min.css.map +1 -0
  5. package/dist/frutjam.min.js +3 -0
  6. package/dist/frutjam.min.js.LICENSE.txt +1 -0
  7. package/dist/frutjam.min.js.map +1 -0
  8. package/dist/frutjam.safelist.local.css +1 -0
  9. package/package.json +60 -28
  10. package/src/base/preflight.css +0 -7
  11. package/src/components/accordion.css +0 -59
  12. package/src/components/badge.css +0 -228
  13. package/src/components/breadcrumb.css +0 -90
  14. package/src/components/button.css +0 -370
  15. package/src/components/card.css +0 -63
  16. package/src/components/checkbox.css +0 -285
  17. package/src/components/container.css +0 -52
  18. package/src/components/divider.css +0 -229
  19. package/src/components/drawer.css +0 -155
  20. package/src/components/dropdown.css +0 -122
  21. package/src/components/header.css +0 -26
  22. package/src/components/input.css +0 -340
  23. package/src/components/modal.css +0 -130
  24. package/src/components/nav.css +0 -36
  25. package/src/components/popover.css +0 -140
  26. package/src/components/sidebar.css +0 -21
  27. package/src/components/typography.css +0 -7
  28. package/src/main.css +0 -21
  29. package/src/main.js +0 -1
  30. package/src/theme/animation/slide.css +0 -6
  31. package/src/theme/animation/wiggle.css +0 -14
  32. package/src/theme/jams/base.css +0 -123
  33. package/src/theme/jams/darkberry.css +0 -134
  34. package/src/theme/jams/pinkberry.css +0 -0
  35. package/src/theme/jams/snowberry.css +0 -139
  36. package/src/theme/placement.css +0 -8
  37. package/src/theme/typography.css +0 -8
  38. package/src/utilities/headings.css +0 -22
  39. package/src/utilities/para.css +0 -22
  40. package/src/utilities/surface.css +0 -64
@@ -1,228 +0,0 @@
1
-
2
- @import "../theme/jams/base.css";
3
-
4
- @utility badge-xs {
5
- --badge-inline: 0.5rem;
6
- --badge-block: 0.125rem;
7
- --badge-text-size: 0.625rem;
8
- }
9
-
10
- @utility badge-sm {
11
- --badge-inline: 0.625rem;
12
- --badge-block: 0.25rem;
13
- --badge-text-size: 0.75rem;
14
- }
15
-
16
- @utility badge-md {
17
- --badge-inline: 0.75rem;
18
- --badge-block: 0.375rem;
19
- --badge-text-size: 0.875rem;
20
- }
21
-
22
- @utility badge-lg {
23
- --badge-inline: 0.875rem;
24
- --badge-block: 0.5rem;
25
- --badge-text-size: 1rem;
26
- }
27
-
28
- @utility badge-xl {
29
- --badge-inline: 1rem;
30
- --badge-block: 0.625rem;
31
- --badge-text-size: 1.125rem;
32
- }
33
-
34
- @utility badge-2xl {
35
- --badge-inline: 1.125rem;
36
- --badge-block: 0.75rem;
37
- --badge-text-size: 1.25rem;
38
- }
39
-
40
- @utility badge-rounded {
41
- --badge-radius: calc(infinity * 1px);
42
- }
43
-
44
- @utility badge-dashed {
45
- background-color: transparent;
46
- outline: 1px dashed light-dark(var(--badge-500), var(--badge-700));
47
- color: light-dark(var(--badge-700), var(--badge-500));
48
- }
49
-
50
- @utility badge-outline {
51
- background-color: transparent;
52
- outline: 1px solid light-dark(var(--badge-500), var(--badge-800));
53
- color: light-dark(var(--badge-800), var(--badge-200));
54
- }
55
-
56
- @utility badge-soft {
57
- background-color: light-dark(
58
- var(--badge-100),
59
- color-mix(in oklab, var(--badge-900) 10%, transparent)
60
- );
61
- color: light-dark(var(--badge-800), var(--badge-400));
62
- }
63
-
64
- @utility badge-ghost {
65
- background-color: transparent;
66
- color: light-dark(var(--badge-600), var(--badge-300));
67
- }
68
-
69
- @utility badge {
70
- @apply badge-md;
71
- gap: 0.5rem;
72
- border-radius: var(--badge-radius, var(--radius-badge));
73
- display: inline-flex;
74
- align-items: center;
75
- justify-content: center;
76
- vertical-align: middle;
77
- text-align: center;
78
- width: fit-content;
79
-
80
- padding-inline: var(--badge-inline);
81
- padding-block: var(--badge-block);
82
- font-size: var(--badge-text-size);
83
-
84
- &:where(.badge-square){
85
- padding-inline: var(--badge-inline);
86
- padding-block: var(--badge-inline);
87
- width: var(--badge-block);
88
- height: var(--badge-block);
89
- }
90
-
91
- /* for default badge */
92
- &:not(
93
- .badge-primary,
94
- .badge-secondary,
95
- .badge-accent,
96
- .badge-info,
97
- .badge-success,
98
- .badge-warning,
99
- .badge-error
100
- ) {
101
- background-color: light-dark(var(--badge-200), var(--badge-800));
102
- color: light-dark(var(--badge-900), var(--badge-50));
103
- }
104
-
105
- /* for all badge exclude default badge */
106
- &:is(
107
- .badge-primary,
108
- .badge-secondary,
109
- .badge-accent,
110
- .badge-info,
111
- .badge-success,
112
- .badge-warning,
113
- .badge-error
114
- ) {
115
- background-color: light-dark(var(--badge-700), var(--badge-700));
116
- color: var(--badge-50);
117
- }
118
-
119
- --badge-50: var(--default-50);
120
- --badge-100: var(--default-100);
121
- --badge-200: var(--default-200);
122
- --badge-300: var(--default-300);
123
- --badge-400: var(--default-400);
124
- --badge-500: var(--default-500);
125
- --badge-600: var(--default-600);
126
- --badge-700: var(--default-700);
127
- --badge-800: var(--default-800);
128
- --badge-900: var(--default-900);
129
- --badge-950: var(--default-950);
130
- }
131
-
132
- @utility badge-primary {
133
- --badge-50: var(--primary-50);
134
- --badge-100: var(--primary-100);
135
- --badge-200: var(--primary-200);
136
- --badge-300: var(--primary-300);
137
- --badge-400: var(--primary-400);
138
- --badge-500: var(--primary-500);
139
- --badge-600: var(--primary-600);
140
- --badge-700: var(--primary-700);
141
- --badge-800: var(--primary-800);
142
- --badge-900: var(--primary-900);
143
- --badge-950: var(--primary-950);
144
- }
145
-
146
- @utility badge-secondary {
147
- --badge-50: var(--secondary-50);
148
- --badge-100: var(--secondary-100);
149
- --badge-200: var(--secondary-200);
150
- --badge-300: var(--secondary-300);
151
- --badge-400: var(--secondary-400);
152
- --badge-500: var(--secondary-500);
153
- --badge-600: var(--secondary-600);
154
- --badge-700: var(--secondary-700);
155
- --badge-800: var(--secondary-800);
156
- --badge-900: var(--secondary-900);
157
- --badge-950: var(--secondary-950);
158
- }
159
-
160
- @utility badge-accent {
161
- --badge-50: var(--accent-50);
162
- --badge-100: var(--accent-100);
163
- --badge-200: var(--accent-200);
164
- --badge-300: var(--accent-300);
165
- --badge-400: var(--accent-400);
166
- --badge-500: var(--accent-500);
167
- --badge-600: var(--accent-600);
168
- --badge-700: var(--accent-700);
169
- --badge-800: var(--accent-800);
170
- --badge-900: var(--accent-900);
171
- --badge-950: var(--accent-950);
172
- }
173
-
174
- @utility badge-info {
175
- --badge-50: var(--info-50);
176
- --badge-100: var(--info-100);
177
- --badge-200: var(--info-200);
178
- --badge-300: var(--info-300);
179
- --badge-400: var(--info-400);
180
- --badge-500: var(--info-500);
181
- --badge-600: var(--info-600);
182
- --badge-700: var(--info-700);
183
- --badge-800: var(--info-800);
184
- --badge-900: var(--info-900);
185
- --badge-950: var(--info-950);
186
- }
187
-
188
- @utility badge-success {
189
- --badge-50: var(--success-50);
190
- --badge-100: var(--success-100);
191
- --badge-200: var(--success-200);
192
- --badge-300: var(--success-300);
193
- --badge-400: var(--success-400);
194
- --badge-500: var(--success-500);
195
- --badge-600: var(--success-600);
196
- --badge-700: var(--success-700);
197
- --badge-800: var(--success-800);
198
- --badge-900: var(--success-900);
199
- --badge-950: var(--success-950);
200
- }
201
-
202
- @utility badge-warning {
203
- --badge-50: var(--warning-50);
204
- --badge-100: var(--warning-100);
205
- --badge-200: var(--warning-200);
206
- --badge-300: var(--warning-300);
207
- --badge-400: var(--warning-400);
208
- --badge-500: var(--warning-500);
209
- --badge-600: var(--warning-600);
210
- --badge-700: var(--warning-700);
211
- --badge-800: var(--warning-800);
212
- --badge-900: var(--warning-900);
213
- --badge-950: var(--warning-950);
214
- }
215
-
216
- @utility badge-error {
217
- --badge-50: var(--error-50);
218
- --badge-100: var(--error-100);
219
- --badge-200: var(--error-200);
220
- --badge-300: var(--error-300);
221
- --badge-400: var(--error-400);
222
- --badge-500: var(--error-500);
223
- --badge-600: var(--error-600);
224
- --badge-700: var(--error-700);
225
- --badge-800: var(--error-800);
226
- --badge-900: var(--error-900);
227
- --badge-950: var(--error-950);
228
- }
@@ -1,90 +0,0 @@
1
- @import "../theme/jams/base.css";
2
-
3
- @utility breadcrumb {
4
- padding-block: 0.5rem;
5
- max-width: 100%;
6
- overflow-x: auto;
7
-
8
- & > .breadcrumb-list,
9
- & > ol,
10
- & > ul {
11
- display: flex;
12
- min-height: min-content;
13
- align-items: center;
14
- white-space: nowrap;
15
-
16
- /* Automatically hide default separator if a custom separator is used */
17
- .breadcrumb-item, li {
18
- display: flex;
19
- align-items: center;
20
-
21
- & > .breadcrumb-link,
22
- & > .breadcrumb-current,
23
- & > a,
24
- & > span {
25
- display: flex;
26
- align-items: center;
27
- gap: 0.5rem;
28
-
29
- @media (hover: hover) {
30
- &:hover:not([aria-current="page"]):not(.breadcrumb-current) {
31
- text-decoration-line: underline;
32
- text-underline-offset: 4px;
33
- cursor: pointer;
34
- }
35
- }
36
-
37
- &:focus {
38
- outline-style: none;
39
- @media (forced-colors: active) {
40
- outline: 2px solid transparent;
41
- outline-offset: 2px;
42
- }
43
- }
44
-
45
- &:focus-visible {
46
- outline: 2px solid currentColor;
47
- outline-offset: 2px;
48
- }
49
- }
50
-
51
- /* Only show default separator if NOT preceded by .breadcrumb-separator */
52
- & + .breadcrumb-item::before, & + li::before {
53
- content: "";
54
- margin-right: 0.75rem;
55
- margin-left: 0.5rem;
56
- height: 0.375rem;
57
- width: 0.375rem;
58
- opacity: 40%;
59
- display: block;
60
- transform: rotate(45deg);
61
- transition: transform 300ms;
62
- border-top: 1px solid;
63
- border-right: 1px solid;
64
- background-color: #0000;
65
- }
66
-
67
- [dir="rtl"] & + .breadcrumb-item::before, [dir="rtl"] & + li::before {
68
- transform: rotate(-135deg);
69
- transition: transform 300ms;
70
- }
71
-
72
- /* Remove default separator when preceded by custom .breadcrumb-separator */
73
- .breadcrumb-separator + &::before {
74
- content: none;
75
- }
76
- }
77
-
78
- /* Slotted custom separator */
79
- .breadcrumb-separator {
80
- display: flex;
81
- align-items: center;
82
- margin-inline: 0.5rem;
83
- font-size: 0.875rem;
84
- color: light-dark(
85
- var(--core-200),
86
- var(--core-900)
87
- );
88
- }
89
- }
90
- }
@@ -1,370 +0,0 @@
1
- @import "../theme/jams/base.css";
2
- @import "../theme/animation/wiggle.css";
3
-
4
- @utility btn-xs {
5
- --btn-inline: 0.875rem;
6
- --btn-block: 0.375rem;
7
- --btn-text-size: 0.75rem;
8
- }
9
-
10
- @utility btn-sm {
11
- --btn-inline: 1rem;
12
- --btn-block: 0.5rem;
13
- --btn-text-size: 0.875rem;
14
- }
15
-
16
- @utility btn-md {
17
- --btn-inline: 1.125rem;
18
- --btn-block: 0.625rem;
19
- --btn-text-size: 1rem;
20
- }
21
-
22
- @utility btn-lg {
23
- --btn-inline: 1.25rem;
24
- --btn-block: 0.75rem;
25
- --btn-text-size: 1.125rem;
26
- }
27
-
28
- @utility btn-xl {
29
- --btn-inline: 1.375rem;
30
- --btn-block: 0.875rem;
31
- --btn-text-size: 1.25rem;
32
- }
33
-
34
- @utility btn-2xl {
35
- --btn-inline: 1.5rem;
36
- --btn-block: 1rem;
37
- --btn-text-size: 1.375rem;
38
- }
39
-
40
- /*btn-circle deprecated*/
41
- @utility btn-circle {
42
- --btn-radius: calc(infinity * 1px);
43
- }
44
-
45
- @utility btn-rounded {
46
- --btn-radius: calc(infinity * 1px);
47
- }
48
-
49
- @utility btn-wide {
50
- --btn-max-width: var(--container-xs);
51
- --btn-width: 100%;
52
- }
53
-
54
- @utility btn-block {
55
- --btn-width: 100%;
56
- --btn-display: block;
57
- }
58
-
59
- @utility btn-link-active {
60
- background-color: transparent;
61
- color: light-dark(var(--btn-800), var(--btn-500));
62
- text-decoration: underline;
63
- text-underline-offset: 4px;
64
- }
65
-
66
- @utility btn-ghost-active {
67
- /* for default btn */
68
- &:not(
69
- .btn-primary,
70
- .btn-secondary,
71
- .btn-accent,
72
- .btn-info,
73
- .btn-success,
74
- .btn-warning,
75
- .btn-error
76
- ) {
77
- background-color: light-dark(var(--btn-200), var(--btn-900));
78
- color: light-dark(var(--btn-950), var(--btn-100));
79
- }
80
-
81
- /* for all btn exclude default btn */
82
- &:is(
83
- .btn-primary,
84
- .btn-secondary,
85
- .btn-accent,
86
- .btn-info,
87
- .btn-success,
88
- .btn-warning,
89
- .btn-error
90
- ) {
91
- background-color: light-dark(var(--btn-700), var(--btn-900));
92
- color: light-dark(var(--btn-50), var(--btn-100));
93
- }
94
- }
95
-
96
- @utility btn-active {
97
- &:is(.btn-link) {
98
- @apply btn-link-active;
99
- }
100
- &:is(.btn-ghost) {
101
- @apply btn-ghost-active;
102
- }
103
- &:not(.btn-link, .btn-ghost) {
104
- outline-style: none;
105
-
106
- /* for default btn */
107
- &:not(
108
- .btn-primary,
109
- .btn-secondary,
110
- .btn-accent,
111
- .btn-info,
112
- .btn-success,
113
- .btn-warning,
114
- .btn-error
115
- ) {
116
- background-color: light-dark(var(--btn-300), var(--btn-900));
117
- color: light-dark(var(--btn-950), var(--btn-100));
118
- }
119
-
120
- /* for all btn exclude default btn */
121
- &:is(
122
- .btn-primary,
123
- .btn-secondary,
124
- .btn-accent,
125
- .btn-info,
126
- .btn-success,
127
- .btn-warning,
128
- .btn-error
129
- ) {
130
- background-color: light-dark(var(--btn-800), var(--btn-800));
131
- color: light-dark(var(--btn-50), var(--btn-100));
132
- }
133
- }
134
- }
135
-
136
- @utility btn-dashed {
137
- &:not(.btn-active) {
138
- background-color: transparent;
139
- outline: 1px dashed light-dark(var(--btn-500), var(--btn-700));
140
- color: light-dark(var(--btn-700), var(--btn-500));
141
- }
142
- }
143
-
144
- @utility btn-outline {
145
- &:not(.btn-active) {
146
- background-color: transparent;
147
- outline: 1px solid light-dark(var(--btn-500), var(--btn-800));
148
- color: light-dark(var(--btn-800), var(--btn-200));
149
- }
150
- }
151
-
152
- @utility btn-soft {
153
- &:not(.btn-active) {
154
- background-color: light-dark(
155
- var(--btn-100),
156
- color-mix(in oklab, var(--btn-900) 10%, transparent)
157
- );
158
- color: light-dark(var(--btn-800), var(--btn-400));
159
- }
160
- }
161
-
162
- @utility btn-ghost {
163
- &:not(.btn-active) {
164
- background-color: transparent;
165
- color: light-dark(var(--btn-600), var(--btn-300));
166
- }
167
- }
168
-
169
- @utility btn-link {
170
- &:not(.btn-active) {
171
- background-color: transparent;
172
- color: light-dark(var(--btn-700), var(--btn-400));
173
- }
174
- }
175
-
176
- @utility btn {
177
- @apply btn-md;
178
-
179
- text-shadow: 0px 1px 1px color-mix(in oklab, var(--btn-900) 10%, transparent);
180
- line-height: 1.5;
181
- width: var(--btn-width);
182
- max-width: var(--btn-max-width);
183
- transition: translate 0.2s ease-out, visibility 0.2s allow-discrete, background-color 0.2s ease-out, opacity 0.1s ease-out;
184
- position: relative;
185
- display: var(--btn-display, inline-flex);
186
- gap: 0.375rem;
187
- flex-shrink: 0;
188
- align-items: center;
189
- justify-content: center;
190
- align-self: flex-start;
191
- flex-wrap: nowrap;
192
- vertical-align: middle;
193
- font-weight: 500;
194
- text-align: center;
195
- border-radius: var(--btn-radius, var(--radius-btn));
196
- overflow: hidden;
197
- cursor: pointer;
198
- box-sizing: border-box;
199
-
200
- padding-inline: var(--btn-inline);
201
- padding-block: var(--btn-block);
202
- font-size: var(--btn-text-size);
203
-
204
- &:where(.btn-square){
205
- padding-inline: var(--btn-block);
206
- padding-block: var(--btn-block);
207
- }
208
-
209
- /* for default btn */
210
- &:not(
211
- .btn-primary,
212
- .btn-secondary,
213
- .btn-accent,
214
- .btn-info,
215
- .btn-success,
216
- .btn-warning,
217
- .btn-error
218
- ) {
219
- background-color: light-dark(var(--btn-200), var(--btn-800));
220
- color: light-dark(var(--btn-900), var(--btn-50));
221
- }
222
-
223
- /* for all btn exclude default btn */
224
- &:is(
225
- .btn-primary,
226
- .btn-secondary,
227
- .btn-accent,
228
- .btn-info,
229
- .btn-success,
230
- .btn-warning,
231
- .btn-error
232
- ) {
233
- background-color: light-dark(var(--btn-700), var(--btn-700));
234
- color: var(--btn-50);
235
- }
236
-
237
- &:is(:disabled, [disabled], .btn-disabled) {
238
- opacity: 20%;
239
- cursor: not-allowed;
240
- pointer-events: none;
241
- }
242
-
243
- &:is(input[type="checkbox"], input[type="radio"]) {
244
- appearance: none;
245
-
246
- &::after {
247
- content: attr(aria-label);
248
- }
249
-
250
- &:checked {
251
- isolation: isolate;
252
- }
253
- }
254
-
255
- @media (hover: hover) {
256
- &:is(:hover) {
257
- @apply btn-active;
258
- }
259
- }
260
-
261
- --btn-50: var(--default-50);
262
- --btn-100: var(--default-100);
263
- --btn-200: var(--default-200);
264
- --btn-300: var(--default-300);
265
- --btn-400: var(--default-400);
266
- --btn-500: var(--default-500);
267
- --btn-600: var(--default-600);
268
- --btn-700: var(--default-700);
269
- --btn-800: var(--default-800);
270
- --btn-900: var(--default-900);
271
- --btn-950: var(--default-950);
272
- }
273
-
274
- @utility btn-primary {
275
- --btn-50: var(--primary-50);
276
- --btn-100: var(--primary-100);
277
- --btn-200: var(--primary-200);
278
- --btn-300: var(--primary-300);
279
- --btn-400: var(--primary-400);
280
- --btn-500: var(--primary-500);
281
- --btn-600: var(--primary-600);
282
- --btn-700: var(--primary-700);
283
- --btn-800: var(--primary-800);
284
- --btn-900: var(--primary-900);
285
- --btn-950: var(--primary-950);
286
- }
287
-
288
- @utility btn-secondary {
289
- --btn-50: var(--secondary-50);
290
- --btn-100: var(--secondary-100);
291
- --btn-200: var(--secondary-200);
292
- --btn-300: var(--secondary-300);
293
- --btn-400: var(--secondary-400);
294
- --btn-500: var(--secondary-500);
295
- --btn-600: var(--secondary-600);
296
- --btn-700: var(--secondary-700);
297
- --btn-800: var(--secondary-800);
298
- --btn-900: var(--secondary-900);
299
- --btn-950: var(--secondary-950);
300
- }
301
-
302
- @utility btn-accent {
303
- --btn-50: var(--accent-50);
304
- --btn-100: var(--accent-100);
305
- --btn-200: var(--accent-200);
306
- --btn-300: var(--accent-300);
307
- --btn-400: var(--accent-400);
308
- --btn-500: var(--accent-500);
309
- --btn-600: var(--accent-600);
310
- --btn-700: var(--accent-700);
311
- --btn-800: var(--accent-800);
312
- --btn-900: var(--accent-900);
313
- --btn-950: var(--accent-950);
314
- }
315
-
316
- @utility btn-info {
317
- --btn-50: var(--info-50);
318
- --btn-100: var(--info-100);
319
- --btn-200: var(--info-200);
320
- --btn-300: var(--info-300);
321
- --btn-400: var(--info-400);
322
- --btn-500: var(--info-500);
323
- --btn-600: var(--info-600);
324
- --btn-700: var(--info-700);
325
- --btn-800: var(--info-800);
326
- --btn-900: var(--info-900);
327
- --btn-950: var(--info-950);
328
- }
329
-
330
- @utility btn-success {
331
- --btn-50: var(--success-50);
332
- --btn-100: var(--success-100);
333
- --btn-200: var(--success-200);
334
- --btn-300: var(--success-300);
335
- --btn-400: var(--success-400);
336
- --btn-500: var(--success-500);
337
- --btn-600: var(--success-600);
338
- --btn-700: var(--success-700);
339
- --btn-800: var(--success-800);
340
- --btn-900: var(--success-900);
341
- --btn-950: var(--success-950);
342
- }
343
-
344
- @utility btn-warning {
345
- --btn-50: var(--warning-50);
346
- --btn-100: var(--warning-100);
347
- --btn-200: var(--warning-200);
348
- --btn-300: var(--warning-300);
349
- --btn-400: var(--warning-400);
350
- --btn-500: var(--warning-500);
351
- --btn-600: var(--warning-600);
352
- --btn-700: var(--warning-700);
353
- --btn-800: var(--warning-800);
354
- --btn-900: var(--warning-900);
355
- --btn-950: var(--warning-950);
356
- }
357
-
358
- @utility btn-error {
359
- --btn-50: var(--error-50);
360
- --btn-100: var(--error-100);
361
- --btn-200: var(--error-200);
362
- --btn-300: var(--error-300);
363
- --btn-400: var(--error-400);
364
- --btn-500: var(--error-500);
365
- --btn-600: var(--error-600);
366
- --btn-700: var(--error-700);
367
- --btn-800: var(--error-800);
368
- --btn-900: var(--error-900);
369
- --btn-950: var(--error-950);
370
- }