jvetrau-ds 0.1.3 → 0.1.5

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.
package/index.d.cts CHANGED
@@ -214,4 +214,4 @@ interface AttachmentProps extends React.HTMLAttributes<HTMLDivElement> {
214
214
  }
215
215
  declare const Attachment: React.FC<AttachmentProps>;
216
216
 
217
- export { Attachment, type AttachmentProps, Avatar, type AvatarProps, Button, ButtonIcon, type ButtonIconProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Dropdown, type DropdownProps, Field, type FieldProps, Input, type InputProps, LayoutBase, type LayoutBaseProps, LayoutFoundation, type LayoutFoundationProps, type LayoutFoundationWidth, LayoutSidebar, type LayoutSidebarProps, Logo, type LogoProps, Menu, type MenuProps, Panel, type PanelProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, RichEdit, type RichEditProps, Search, type SearchProps, Select, type SelectProps, Tabs, type TabsProps, Tag, type TagProps, Textarea, type TextareaProps, Video, type VideoProps };
217
+ export { Attachment, type AttachmentItem, type AttachmentProps, Avatar, type AvatarProps, Button, ButtonIcon, type ButtonIconProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Dropdown, type DropdownProps, Field, type FieldProps, Input, type InputProps, LayoutBase, type LayoutBaseProps, LayoutFoundation, type LayoutFoundationProps, type LayoutFoundationWidth, LayoutSidebar, type LayoutSidebarProps, Logo, type LogoProps, Menu, type MenuProps, Panel, type PanelProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, RichEdit, type RichEditProps, Search, type SearchProps, Select, type SelectProps, Tabs, type TabsProps, Tag, type TagProps, Textarea, type TextareaProps, Video, type VideoProps };
package/index.d.ts CHANGED
@@ -214,4 +214,4 @@ interface AttachmentProps extends React.HTMLAttributes<HTMLDivElement> {
214
214
  }
215
215
  declare const Attachment: React.FC<AttachmentProps>;
216
216
 
217
- export { Attachment, type AttachmentProps, Avatar, type AvatarProps, Button, ButtonIcon, type ButtonIconProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Dropdown, type DropdownProps, Field, type FieldProps, Input, type InputProps, LayoutBase, type LayoutBaseProps, LayoutFoundation, type LayoutFoundationProps, type LayoutFoundationWidth, LayoutSidebar, type LayoutSidebarProps, Logo, type LogoProps, Menu, type MenuProps, Panel, type PanelProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, RichEdit, type RichEditProps, Search, type SearchProps, Select, type SelectProps, Tabs, type TabsProps, Tag, type TagProps, Textarea, type TextareaProps, Video, type VideoProps };
217
+ export { Attachment, type AttachmentItem, type AttachmentProps, Avatar, type AvatarProps, Button, ButtonIcon, type ButtonIconProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Dropdown, type DropdownProps, Field, type FieldProps, Input, type InputProps, LayoutBase, type LayoutBaseProps, LayoutFoundation, type LayoutFoundationProps, type LayoutFoundationWidth, LayoutSidebar, type LayoutSidebarProps, Logo, type LogoProps, Menu, type MenuProps, Panel, type PanelProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, RichEdit, type RichEditProps, Search, type SearchProps, Select, type SelectProps, Tabs, type TabsProps, Tag, type TagProps, Textarea, type TextareaProps, Video, type VideoProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jvetrau-ds",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Multi-brand React design system with semantic tokens",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
package/styles.css CHANGED
@@ -198,75 +198,6 @@
198
198
  text-transform: uppercase;
199
199
  }
200
200
 
201
- /* src/components/button-icon/button-icon.css */
202
- .button-icon {
203
- /* color */
204
- --button-icon-bg: transparent;
205
- --button-icon-color: var(--color-text);
206
- --button-icon-bg-disabled: transparent;
207
- --button-icon-color-disabled: var(--color-text-disabled);
208
-
209
- background: var(--button-icon-bg);
210
- color: var(--button-icon-color);
211
-
212
- /* typography */
213
-
214
- /* size */
215
- --button-icon-size: 32px;
216
-
217
- display: inline-flex;
218
- align-items: center;
219
- justify-content: center;
220
- width: var(--button-icon-size);
221
- height: var(--button-icon-size);
222
- padding: 0;
223
-
224
- /* border */
225
- --button-icon-radius: var(--radius-control);
226
- --button-icon-focus-width: var(--size-border-width-min);
227
- --button-icon-focus-offset: 2px;
228
-
229
- border: 0;
230
- border-radius: var(--button-icon-radius);
231
-
232
- /* depth */
233
-
234
- /* motion */
235
- --button-icon-transition-duration: var(--motion-duration1);
236
- --button-icon-opacity-hover: 0.8;
237
- --button-icon-opacity-active: 0.7;
238
-
239
- cursor: pointer;
240
- user-select: none;
241
- transition: opacity var(--button-icon-transition-duration);
242
- }
243
-
244
- .button-icon__icon {
245
- /* size */
246
- flex-shrink: 0;
247
- }
248
-
249
- .button-icon:hover {
250
- opacity: var(--button-icon-opacity-hover);
251
- }
252
-
253
- .button-icon:focus-visible {
254
- outline: var(--button-icon-focus-width) solid currentColor;
255
- outline-offset: var(--button-icon-focus-offset);
256
- }
257
-
258
- .button-icon:active {
259
- opacity: var(--button-icon-opacity-active);
260
- }
261
-
262
- .button-icon:disabled,
263
- .button-icon--disabled {
264
- background: var(--button-icon-bg-disabled);
265
- color: var(--button-icon-color-disabled);
266
- cursor: not-allowed;
267
- opacity: 1;
268
- }
269
-
270
201
  /* src/components/button/button.css */
271
202
  .button {
272
203
  /* color */
@@ -373,6 +304,75 @@
373
304
  padding-inline: var(--button-padding-icon-only);
374
305
  }
375
306
 
307
+ /* src/components/button-icon/button-icon.css */
308
+ .button-icon {
309
+ /* color */
310
+ --button-icon-bg: transparent;
311
+ --button-icon-color: var(--color-text);
312
+ --button-icon-bg-disabled: transparent;
313
+ --button-icon-color-disabled: var(--color-text-disabled);
314
+
315
+ background: var(--button-icon-bg);
316
+ color: var(--button-icon-color);
317
+
318
+ /* typography */
319
+
320
+ /* size */
321
+ --button-icon-size: 32px;
322
+
323
+ display: inline-flex;
324
+ align-items: center;
325
+ justify-content: center;
326
+ width: var(--button-icon-size);
327
+ height: var(--button-icon-size);
328
+ padding: 0;
329
+
330
+ /* border */
331
+ --button-icon-radius: var(--radius-control);
332
+ --button-icon-focus-width: var(--size-border-width-min);
333
+ --button-icon-focus-offset: 2px;
334
+
335
+ border: 0;
336
+ border-radius: var(--button-icon-radius);
337
+
338
+ /* depth */
339
+
340
+ /* motion */
341
+ --button-icon-transition-duration: var(--motion-duration1);
342
+ --button-icon-opacity-hover: 0.8;
343
+ --button-icon-opacity-active: 0.7;
344
+
345
+ cursor: pointer;
346
+ user-select: none;
347
+ transition: opacity var(--button-icon-transition-duration);
348
+ }
349
+
350
+ .button-icon__icon {
351
+ /* size */
352
+ flex-shrink: 0;
353
+ }
354
+
355
+ .button-icon:hover {
356
+ opacity: var(--button-icon-opacity-hover);
357
+ }
358
+
359
+ .button-icon:focus-visible {
360
+ outline: var(--button-icon-focus-width) solid currentColor;
361
+ outline-offset: var(--button-icon-focus-offset);
362
+ }
363
+
364
+ .button-icon:active {
365
+ opacity: var(--button-icon-opacity-active);
366
+ }
367
+
368
+ .button-icon:disabled,
369
+ .button-icon--disabled {
370
+ background: var(--button-icon-bg-disabled);
371
+ color: var(--button-icon-color-disabled);
372
+ cursor: not-allowed;
373
+ opacity: 1;
374
+ }
375
+
376
376
  /* src/components/card/card.css */
377
377
  .card {
378
378
  /* color */
@@ -2265,3 +2265,543 @@
2265
2265
  vertical-align: middle;
2266
2266
  }
2267
2267
 
2268
+ /* src/patterns/footer/footer.css */
2269
+ .footer {
2270
+ /* color */
2271
+ color: var(--color-text);
2272
+ background: var(--color-bg);
2273
+ border-top:
2274
+ var(--border-size-width-min)
2275
+ solid
2276
+ var(--color-line);
2277
+
2278
+ /* typography */
2279
+ font-family: var(--font-note-family);
2280
+ font-size: var(--font-note);
2281
+ font-weight: var(--font-note-weight);
2282
+ line-height: var(--font-note-line);
2283
+ letter-spacing: var(--font-note-letter-spacing);
2284
+
2285
+ /* size */
2286
+ display: flex;
2287
+ align-items: center;
2288
+ justify-content: space-between;
2289
+ gap: var(--margin-menu);
2290
+
2291
+ width: 100%;
2292
+ min-height: 100px;
2293
+ padding: var(--size-padding-container);
2294
+
2295
+ overflow: hidden;
2296
+ box-sizing: border-box;
2297
+
2298
+ /* border */
2299
+
2300
+ /* depth */
2301
+
2302
+ /* motion */
2303
+ }
2304
+
2305
+ .footer__copyright {
2306
+ /* color */
2307
+
2308
+ /* typography */
2309
+
2310
+ /* size */
2311
+ display: flex;
2312
+ align-items: center;
2313
+ justify-content: center;
2314
+ flex-shrink: 0;
2315
+ white-space: nowrap;
2316
+
2317
+ /* border */
2318
+
2319
+ /* depth */
2320
+
2321
+ /* motion */
2322
+ }
2323
+
2324
+ .footer__links {
2325
+ /* color */
2326
+
2327
+ /* typography */
2328
+
2329
+ /* size */
2330
+ display: flex;
2331
+ align-items: center;
2332
+ gap: var(--margin-menu);
2333
+
2334
+ flex-shrink: 0;
2335
+
2336
+ white-space: nowrap;
2337
+
2338
+ /* border */
2339
+
2340
+ /* depth */
2341
+
2342
+ /* motion */
2343
+ }
2344
+
2345
+ .footer__links > * {
2346
+ display: flex;
2347
+ align-items: center;
2348
+ }
2349
+
2350
+ .footer a {
2351
+ /* color */
2352
+ color: inherit;
2353
+
2354
+ /* typography */
2355
+ text-decoration: underline;
2356
+ text-underline-position: from-font;
2357
+
2358
+ /* size */
2359
+
2360
+ /* border */
2361
+
2362
+ /* depth */
2363
+
2364
+ /* motion */
2365
+ }
2366
+
2367
+ @media (max-width: 1024px) {
2368
+ .footer {
2369
+ align-items: flex-start;
2370
+ flex-direction: column;
2371
+ justify-content: flex-start;
2372
+ }
2373
+
2374
+ .footer__copyright,
2375
+ .footer__links {
2376
+ white-space: normal;
2377
+ }
2378
+
2379
+ .footer__links {
2380
+ flex-wrap: wrap;
2381
+ }
2382
+ }
2383
+
2384
+ /* src/patterns/header/header.css */
2385
+ .header {
2386
+ /* color */
2387
+ color: var(--color-text);
2388
+
2389
+ /* typography */
2390
+
2391
+ /* size */
2392
+ display: flex;
2393
+ align-items: center;
2394
+ justify-content: space-between;
2395
+
2396
+ gap: var(--margin-menu);
2397
+
2398
+ width: 100%;
2399
+ min-height: 80px;
2400
+
2401
+ /* border */
2402
+
2403
+ /* depth */
2404
+
2405
+ /* motion */
2406
+ }
2407
+
2408
+ .header__logo {
2409
+ /* color */
2410
+
2411
+ /* typography */
2412
+
2413
+ /* size */
2414
+ display: flex;
2415
+ align-items: center;
2416
+ justify-content: flex-start;
2417
+
2418
+ flex-shrink: 0;
2419
+
2420
+ /* border */
2421
+
2422
+ /* depth */
2423
+
2424
+ /* motion */
2425
+ }
2426
+
2427
+ .header__menu {
2428
+ /* color */
2429
+
2430
+ /* typography */
2431
+
2432
+ /* size */
2433
+ display: flex;
2434
+ align-items: center;
2435
+ justify-content: center;
2436
+
2437
+ min-width: 0;
2438
+
2439
+ flex: 1;
2440
+
2441
+ /* border */
2442
+
2443
+ /* depth */
2444
+
2445
+ /* motion */
2446
+ }
2447
+
2448
+ .header__avatar {
2449
+ /* color */
2450
+
2451
+ /* typography */
2452
+
2453
+ /* size */
2454
+ display: flex;
2455
+ align-items: center;
2456
+ justify-content: flex-end;
2457
+
2458
+ flex-shrink: 0;
2459
+
2460
+ /* border */
2461
+
2462
+ /* depth */
2463
+
2464
+ /* motion */
2465
+ }
2466
+
2467
+ /* src/patterns/screen-header/screen-header.css */
2468
+ .screen-header {
2469
+ /* color */
2470
+ color: var(--color-text);
2471
+
2472
+ /* typography */
2473
+
2474
+ /* size */
2475
+ display: flex;
2476
+ flex-direction: column;
2477
+
2478
+ /* gap: var(--padding-container); */
2479
+
2480
+ width: 100%;
2481
+
2482
+ padding-bottom:
2483
+ var(--padding-container);
2484
+
2485
+ /* border */
2486
+
2487
+ /* depth */
2488
+
2489
+ /* motion */
2490
+ }
2491
+
2492
+ .screen-header__heading {
2493
+ /* color */
2494
+
2495
+ /* typography */
2496
+
2497
+ /* size */
2498
+ display: flex;
2499
+ flex-direction: column;
2500
+
2501
+ /* gap: var(--padding-tag);*/
2502
+
2503
+ margin-bottom: var(--font-h1-margin);
2504
+
2505
+ width: 100%;
2506
+
2507
+ /* border */
2508
+
2509
+ /* depth */
2510
+
2511
+ /* motion */
2512
+ }
2513
+
2514
+ .screen-header__section {
2515
+ /* color */
2516
+
2517
+ /* typography */
2518
+ font-family: var(--font-body-family);
2519
+ font-size: var(--font-body);
2520
+ font-weight: var(--font-body-weight);
2521
+ line-height: var(--font-body-line);
2522
+ letter-spacing: var(--font-body-letter-spacing);
2523
+
2524
+ /* size */
2525
+ width: 100%;
2526
+ margin: 0 0 var(--margin-descriptor) 0;
2527
+
2528
+ /* border */
2529
+
2530
+ /* depth */
2531
+
2532
+ /* motion */
2533
+ }
2534
+
2535
+ .screen-header__title {
2536
+ /* color */
2537
+
2538
+ /* typography */
2539
+ font-family: var(--font-h1-family);
2540
+ font-size: var(--font-h1);
2541
+ font-weight: var(--font-h1-weight);
2542
+ line-height: var(--font-h1-line);
2543
+ letter-spacing: var(--font-h1-letter-spacing);
2544
+
2545
+ /* size */
2546
+ width: 100%;
2547
+ margin: 0 0 var(--font-h1-margin) 0;
2548
+
2549
+ /* border */
2550
+
2551
+ /* depth */
2552
+
2553
+ /* motion */
2554
+ }
2555
+
2556
+ .screen-header__description {
2557
+ /* color */
2558
+
2559
+ /* typography */
2560
+ font-family: var(--font-lead-family);
2561
+ font-size: var(--font-lead);
2562
+ font-weight: var(--font-lead-weight);
2563
+ line-height: var(--font-lead-line);
2564
+ letter-spacing: var(--font-lead-letter-spacing);
2565
+
2566
+ /* size */
2567
+ width: 100%;
2568
+ margin: 0;
2569
+ /* max-width: 960px; */
2570
+
2571
+ /* border */
2572
+
2573
+ /* depth */
2574
+
2575
+ /* motion */
2576
+ }
2577
+
2578
+ .screen-header__tabs {
2579
+ /* color */
2580
+
2581
+ /* typography */
2582
+
2583
+ /* size */
2584
+ display: flex;
2585
+ align-items: center;
2586
+
2587
+ width: 100%;
2588
+
2589
+ /* border */
2590
+
2591
+ /* depth */
2592
+
2593
+ /* motion */
2594
+ }
2595
+
2596
+ /* src/layouts/base/base.css */
2597
+ .layout-base__header {
2598
+ /* color */
2599
+
2600
+ /* typography */
2601
+
2602
+ /* size */
2603
+ width: 100%;
2604
+
2605
+ /* border */
2606
+
2607
+ /* depth */
2608
+
2609
+ /* motion */
2610
+ }
2611
+
2612
+ .layout-base__main {
2613
+ /* color */
2614
+
2615
+ /* typography */
2616
+
2617
+ /* size */
2618
+ width: 100%;
2619
+
2620
+ /* border */
2621
+
2622
+ /* depth */
2623
+
2624
+ /* motion */
2625
+ }
2626
+
2627
+ .layout-base__footer {
2628
+ /* color */
2629
+
2630
+ /* typography */
2631
+
2632
+ /* size */
2633
+ width: 100%;
2634
+
2635
+ /* border */
2636
+
2637
+ /* depth */
2638
+
2639
+ /* motion */
2640
+ }
2641
+
2642
+ /* src/layouts/foundation/foundation.css */
2643
+ .layout-foundation {
2644
+ /* color */
2645
+ color: var(--color-text);
2646
+
2647
+ /* typography */
2648
+
2649
+ /* size */
2650
+ --layout-foundation-width: 960px;
2651
+ --layout-foundation-padding-horz: var(--size-grid-padding-horz);
2652
+ --layout-foundation-padding-vert: var(--size-grid-padding-vert);
2653
+ --layout-foundation-columns: 12;
2654
+ --layout-foundation-gap: var(--size-grid-margin);
2655
+
2656
+ width: 100%;
2657
+ min-height: 100dvh;
2658
+ max-width: var(--layout-foundation-width);
2659
+ margin: 0 auto;
2660
+ box-sizing: border-box;
2661
+
2662
+ /* border */
2663
+
2664
+ /* depth */
2665
+
2666
+ /* motion */
2667
+ }
2668
+
2669
+ .layout-foundation--narrow {
2670
+ --layout-foundation-width: 720px;
2671
+ }
2672
+
2673
+ .layout-foundation--wide {
2674
+ --layout-foundation-width: 1200px;
2675
+ }
2676
+
2677
+ .layout-foundation--full {
2678
+ max-width: none;
2679
+ }
2680
+
2681
+ .layout-foundation__grid {
2682
+ /* color */
2683
+
2684
+ /* typography */
2685
+
2686
+ /* size */
2687
+ display: grid;
2688
+ grid-template-columns: repeat(var(--layout-foundation-columns), minmax(0, 1fr));
2689
+ gap: var(--layout-foundation-gap);
2690
+ width: 100%;
2691
+ min-height: 100dvh;
2692
+ padding:
2693
+ var(--layout-foundation-padding-vert)
2694
+ var(--layout-foundation-padding-horz);
2695
+ box-sizing: border-box;
2696
+
2697
+ /* border */
2698
+
2699
+ /* depth */
2700
+
2701
+ /* motion */
2702
+ }
2703
+
2704
+ .layout-foundation__grid > * {
2705
+ grid-column: 1 / -1;
2706
+ }
2707
+
2708
+ @media (max-width: 1024px) {
2709
+ .layout-foundation {
2710
+ --layout-foundation-columns: 8;
2711
+ }
2712
+ }
2713
+
2714
+ @media (max-width: 640px) {
2715
+ .layout-foundation {
2716
+ --layout-foundation-columns: 4;
2717
+ }
2718
+ }
2719
+
2720
+ /* src/layouts/sidebar/sidebar.css */
2721
+ .layout-sidebar__header {
2722
+ /* color */
2723
+
2724
+ /* typography */
2725
+
2726
+ /* size */
2727
+ width: 100%;
2728
+
2729
+ /* border */
2730
+
2731
+ /* depth */
2732
+
2733
+ /* motion */
2734
+ }
2735
+
2736
+ .layout-sidebar__body {
2737
+ /* color */
2738
+
2739
+ /* typography */
2740
+
2741
+ /* size */
2742
+ display: grid;
2743
+ grid-template-columns: repeat(var(--layout-foundation-columns), minmax(0, 1fr));
2744
+ gap: var(--layout-foundation-gap);
2745
+ width: 100%;
2746
+
2747
+ /* border */
2748
+
2749
+ /* depth */
2750
+
2751
+ /* motion */
2752
+ }
2753
+
2754
+ .layout-sidebar__main {
2755
+ /* color */
2756
+
2757
+ /* typography */
2758
+
2759
+ /* size */
2760
+ grid-column: span 8;
2761
+ min-width: 0;
2762
+
2763
+ /* border */
2764
+
2765
+ /* depth */
2766
+
2767
+ /* motion */
2768
+ }
2769
+
2770
+ .layout-sidebar__side {
2771
+ /* color */
2772
+
2773
+ /* typography */
2774
+
2775
+ /* size */
2776
+ grid-column: span 4;
2777
+ min-width: 0;
2778
+
2779
+ /* border */
2780
+
2781
+ /* depth */
2782
+
2783
+ /* motion */
2784
+ }
2785
+
2786
+ .layout-sidebar__footer {
2787
+ /* color */
2788
+
2789
+ /* typography */
2790
+
2791
+ /* size */
2792
+ width: 100%;
2793
+
2794
+ /* border */
2795
+
2796
+ /* depth */
2797
+
2798
+ /* motion */
2799
+ }
2800
+
2801
+ @media (max-width: 1024px) {
2802
+ .layout-sidebar__main,
2803
+ .layout-sidebar__side {
2804
+ grid-column: 1 / -1;
2805
+ }
2806
+ }
2807
+