@donotdev/components 0.0.10 → 0.0.11

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.
@@ -10,9 +10,9 @@
10
10
  Used by: CSS @media queries, JavaScript hooks, responsive components
11
11
  Note: CSS variables don't work in @media, so we use hardcoded px values
12
12
  =========================== */
13
- --breakpoint-mobile: 768px; /* < 768 = mobile */
14
- --breakpoint-tablet: 1024px; /* 768-1023 = tablet */
15
- --breakpoint-laptop: 1440px; /* 1024-1439 = laptop (key layout split) */
13
+ --breakpoint-mobile: 768px; /* < 768 = mobile */
14
+ --breakpoint-tablet: 1024px; /* 768-1023 = tablet */
15
+ --breakpoint-laptop: 1440px; /* 1024-1439 = laptop (key layout split) */
16
16
  --breakpoint-desktop: 1920px; /* 1440+ = desktop */
17
17
 
18
18
  /* ===========================
@@ -279,23 +279,39 @@
279
279
 
280
280
  [data-density='compact'] {
281
281
  /* Base sizes: Fluid responsiveness for all text, zoom-safe */
282
- --font-size-base: clamp(0.875rem, 0.8125rem + 0.25vw, 0.9375rem); /* 14-15px fluid */
283
- --font-size-lg: clamp(1.05rem, 0.9375rem + 0.5vw, 1.125rem); /* 17-18px fluid */
284
- --font-size-xl: clamp(1.26rem, 1.125rem + 0.75vw, 1.375rem); /* 20-22px fluid */
282
+ --font-size-base: clamp(
283
+ 0.875rem,
284
+ 0.8125rem + 0.25vw,
285
+ 0.9375rem
286
+ ); /* 14-15px fluid */
287
+ --font-size-lg: clamp(
288
+ 1.05rem,
289
+ 0.9375rem + 0.5vw,
290
+ 1.125rem
291
+ ); /* 17-18px fluid */
292
+ --font-size-xl: clamp(
293
+ 1.26rem,
294
+ 1.125rem + 0.75vw,
295
+ 1.375rem
296
+ ); /* 20-22px fluid */
285
297
  /* Display sizes: Musical scale + fluid responsiveness */
286
298
  --font-size-2xl: clamp(
287
299
  1.512rem,
288
300
  1.375rem + 0.75vw,
289
301
  1.625rem
290
302
  ); /* 24-26px fluid */
291
- --font-size-3xl: clamp(
292
- 1.814rem,
293
- 1.625rem + 1vw,
294
- 2rem
295
- ); /* 29-32px fluid */
303
+ --font-size-3xl: clamp(1.814rem, 1.625rem + 1vw, 2rem); /* 29-32px fluid */
296
304
  --gap-sm: clamp(0.375rem, 0.3125rem + 0.25vw, 0.5rem); /* 6-8px fluid */
297
- --gap-md: clamp(0.75rem, 0.625rem + 0.5vw, 0.875rem); /* 12-14px fluid, zoom-safe */
298
- --gap-lg: clamp(1.5rem, 1.25rem + 1vw, 1.75rem); /* 24-28px fluid, zoom-safe */
305
+ --gap-md: clamp(
306
+ 0.75rem,
307
+ 0.625rem + 0.5vw,
308
+ 0.875rem
309
+ ); /* 12-14px fluid, zoom-safe */
310
+ --gap-lg: clamp(
311
+ 1.5rem,
312
+ 1.25rem + 1vw,
313
+ 1.75rem
314
+ ); /* 24-28px fluid, zoom-safe */
299
315
  --line-height: 1.2; /* Minor Third - All text */
300
316
  }
301
317
 
@@ -303,22 +319,34 @@
303
319
 
304
320
  [data-density='standard'] {
305
321
  /* Base sizes: Fluid responsiveness for all text, zoom-safe */
306
- --font-size-base: clamp(1rem, 0.9375rem + 0.25vw, 1.0625rem); /* 16-17px fluid */
307
- --font-size-lg: clamp(1.25rem, 1.125rem + 0.5vw, 1.375rem); /* 20-22px fluid */
308
- --font-size-xl: clamp(1.563rem, 1.375rem + 0.75vw, 1.75rem); /* 25-28px fluid */
322
+ --font-size-base: clamp(
323
+ 1rem,
324
+ 0.9375rem + 0.25vw,
325
+ 1.0625rem
326
+ ); /* 16-17px fluid */
327
+ --font-size-lg: clamp(
328
+ 1.25rem,
329
+ 1.125rem + 0.5vw,
330
+ 1.375rem
331
+ ); /* 20-22px fluid */
332
+ --font-size-xl: clamp(
333
+ 1.563rem,
334
+ 1.375rem + 0.75vw,
335
+ 1.75rem
336
+ ); /* 25-28px fluid */
309
337
  /* Display sizes: Musical scale + fluid responsiveness */
310
- --font-size-2xl: clamp(
311
- 1.953rem,
312
- 1.75rem + 1vw,
313
- 2.25rem
314
- ); /* 31-36px fluid */
338
+ --font-size-2xl: clamp(1.953rem, 1.75rem + 1vw, 2.25rem); /* 31-36px fluid */
315
339
  --font-size-3xl: clamp(
316
340
  2.441rem,
317
341
  2rem + 1.5vw,
318
342
  3rem
319
343
  ); /* 39-48px fluid - hero text */
320
344
  --gap-sm: clamp(0.5rem, 0.4375rem + 0.25vw, 0.625rem); /* 8-10px fluid */
321
- --gap-md: clamp(1rem, 0.875rem + 0.5vw, 1.25rem); /* 16-20px fluid, zoom-safe */
345
+ --gap-md: clamp(
346
+ 1rem,
347
+ 0.875rem + 0.5vw,
348
+ 1.25rem
349
+ ); /* 16-20px fluid, zoom-safe */
322
350
  --gap-lg: clamp(2rem, 1.75rem + 1vw, 2.5rem); /* 32-40px fluid, zoom-safe */
323
351
  --line-height: 1.25; /* Major Third - All text */
324
352
  }
@@ -1065,8 +1093,10 @@ em {
1065
1093
  -webkit-backdrop-filter: blur(20px) saturate(180%);
1066
1094
  border: var(--border-hairline) solid
1067
1095
  color-mix(in oklab, var(--card-foreground) 25%, transparent);
1068
- box-shadow: var(--shadow-lg),
1069
- inset 0 1px 0 0 color-mix(in oklab, var(--card-foreground) 10%, transparent);
1096
+ box-shadow:
1097
+ var(--shadow-lg),
1098
+ inset 0 1px 0 0
1099
+ color-mix(in oklab, var(--card-foreground) 10%, transparent);
1070
1100
  }
1071
1101
 
1072
1102
  /* Separator style */
@@ -2152,21 +2182,46 @@ em {
2152
2182
  flex-shrink: 0;
2153
2183
  width: var(--icon-md);
2154
2184
  height: var(--icon-md);
2155
- transition: transform var(--dur-fast) var(--ease-in-out);
2185
+ transition: transform var(--dur-normal) var(--ease-in-out);
2156
2186
  }
2157
2187
 
2158
2188
  .dndev-accordion-content {
2159
2189
  overflow: hidden;
2160
2190
  font-size: var(--font-size-base);
2161
- transition: all var(--dur-fast) var(--ease-in-out);
2162
2191
  width: 100%;
2163
2192
  min-width: 0;
2164
2193
  text-align: start;
2165
2194
  }
2166
2195
 
2196
+ .dndev-accordion-content[data-state='open'] {
2197
+ animation: slideDown var(--dur-normal) var(--ease-in-out);
2198
+ }
2199
+
2167
2200
  .dndev-accordion-content[data-state='closed'] {
2168
- display: none;
2201
+ animation: slideUp var(--dur-normal) var(--ease-in-out);
2202
+ }
2203
+
2204
+ @keyframes slideDown {
2205
+ from {
2206
+ height: 0;
2207
+ opacity: 0;
2208
+ }
2209
+ to {
2210
+ height: var(--radix-collapsible-content-height);
2211
+ opacity: 1;
2169
2212
  }
2213
+ }
2214
+
2215
+ @keyframes slideUp {
2216
+ from {
2217
+ height: var(--radix-collapsible-content-height);
2218
+ opacity: 1;
2219
+ }
2220
+ to {
2221
+ height: 0;
2222
+ opacity: 0;
2223
+ }
2224
+ }
2170
2225
 
2171
2226
  .dndev-accordion-content-inner {
2172
2227
  padding-bottom: var(--gap-md);
@@ -3157,21 +3212,58 @@ em {
3157
3212
  @keyframes slideDown {
3158
3213
  from {
3159
3214
  height: 0;
3215
+ opacity: 0;
3160
3216
  }
3161
3217
  to {
3162
3218
  height: var(--radix-collapsible-content-height);
3219
+ opacity: 1;
3163
3220
  }
3164
3221
  }
3165
3222
 
3166
3223
  @keyframes slideUp {
3167
3224
  from {
3168
3225
  height: var(--radix-collapsible-content-height);
3226
+ opacity: 1;
3169
3227
  }
3170
3228
  to {
3171
3229
  height: 0;
3230
+ opacity: 0;
3172
3231
  }
3173
3232
  }
3174
3233
 
3234
+ .dndev-collapsible-trigger {
3235
+ width: 100%;
3236
+ cursor: pointer;
3237
+ transition: opacity var(--dur-fast) var(--ease-in-out);
3238
+ }
3239
+
3240
+ .dndev-collapsible-trigger:hover {
3241
+ opacity: var(--opacity-strong);
3242
+ }
3243
+
3244
+ .dndev-collapsible-trigger:focus-visible {
3245
+ outline: 2px solid var(--ring);
3246
+ outline-offset: 2px;
3247
+ border-radius: var(--radius-interactive);
3248
+ }
3249
+
3250
+ .dndev-collapsible-icon {
3251
+ width: var(--size-md);
3252
+ height: var(--size-md);
3253
+ flex-shrink: 0;
3254
+ color: var(--accent);
3255
+ transition: transform var(--dur-normal) var(--ease-in-out);
3256
+ }
3257
+
3258
+ .dndev-collapsible-chevron {
3259
+ transform: rotate(0deg);
3260
+ transition: transform var(--dur-normal) var(--ease-in-out);
3261
+ }
3262
+
3263
+ .dndev-collapsible[data-state='open'] .dndev-collapsible-chevron {
3264
+ transform: rotate(180deg);
3265
+ }
3266
+
3175
3267
  /* packages/components/src/atomic/Combobox/Combobox.css */
3176
3268
 
3177
3269
  .dndev-combobox-trigger {
@@ -5190,6 +5282,49 @@ em {
5190
5282
  text-align: end;
5191
5283
  }
5192
5284
 
5285
+ /* Collapsible title trigger */
5286
+
5287
+ .dndev-section-title-trigger {
5288
+ width: 100%;
5289
+ cursor: pointer;
5290
+ transition: opacity var(--dur-fast) var(--ease-in-out);
5291
+ margin-block-end: var(--gap-md);
5292
+ }
5293
+
5294
+ .dndev-section-title-trigger .dndev-section-title {
5295
+ margin-block-end: 0;
5296
+ }
5297
+
5298
+ .dndev-section-title-trigger:hover {
5299
+ opacity: var(--opacity-strong);
5300
+ }
5301
+
5302
+ .dndev-section-title-trigger:focus-visible {
5303
+ outline: 2px solid var(--ring);
5304
+ outline-offset: 2px;
5305
+ border-radius: var(--radius-interactive);
5306
+ }
5307
+
5308
+ .dndev-section-icon {
5309
+ width: var(--size-md);
5310
+ height: var(--size-md);
5311
+ flex-shrink: 0;
5312
+ color: var(--accent);
5313
+ transition: transform var(--dur-normal) var(--ease-in-out);
5314
+ }
5315
+
5316
+ .dndev-section-full-width[data-text-align='start'] .dndev-section-title-trigger {
5317
+ justify-content: flex-start;
5318
+ }
5319
+
5320
+ .dndev-section-full-width[data-text-align='center'] .dndev-section-title-trigger {
5321
+ justify-content: center;
5322
+ }
5323
+
5324
+ .dndev-section-full-width[data-text-align='end'] .dndev-section-title-trigger {
5325
+ justify-content: flex-end;
5326
+ }
5327
+
5193
5328
  /* packages/components/src/atomic/Separator/Separator.css */
5194
5329
 
5195
5330
  .dndev-separator {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@donotdev/components",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Styled UI components for DoNotDev",