tide-design-system 2.2.4 → 2.2.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.
Files changed (79) hide show
  1. package/.storybook/main.ts +3 -1
  2. package/.storybook/preview.ts +4 -3
  3. package/README.md +35 -5
  4. package/dist/css/utilities-lg.css +4 -11
  5. package/dist/css/utilities-md.css +4 -11
  6. package/dist/css/utilities-sm.css +4 -11
  7. package/dist/css/utilities-xl.css +4 -11
  8. package/dist/css/utilities.css +4 -11
  9. package/dist/style.css +1 -1
  10. package/dist/tide-design-system.cjs +2 -2
  11. package/dist/tide-design-system.esm.d.ts +23 -6
  12. package/dist/tide-design-system.esm.js +1591 -1592
  13. package/dist/utilities/storybook.ts +12 -0
  14. package/package.json +1 -1
  15. package/src/assets/css/utilities-lg.css +4 -11
  16. package/src/assets/css/utilities-md.css +4 -11
  17. package/src/assets/css/utilities-sm.css +4 -11
  18. package/src/assets/css/utilities-xl.css +4 -11
  19. package/src/assets/css/utilities.css +4 -11
  20. package/src/components/TideAlert.vue +27 -33
  21. package/src/components/TideButton.vue +1 -1
  22. package/src/components/TideButtonIcon.vue +1 -1
  23. package/src/components/TideButtonPagination.vue +1 -1
  24. package/src/components/TideChipAction.vue +1 -1
  25. package/src/components/TideLink.vue +10 -1
  26. package/src/components/TideModal.vue +1 -1
  27. package/src/components/TideSeoLinks.vue +1 -1
  28. package/src/docs/development.md +125 -18
  29. package/src/docs/figma.md +43 -0
  30. package/src/docs/integration-full.md +80 -0
  31. package/src/docs/integration-partial.md +42 -0
  32. package/src/docs/migration.md +65 -0
  33. package/src/docs/storybook.md +29 -24
  34. package/src/docs/style-guide.md +22 -0
  35. package/src/docs/workflows.md +20 -0
  36. package/src/stories/FoundationsBorder.stories.ts +1 -1
  37. package/src/stories/FoundationsColor.stories.ts +1 -1
  38. package/src/stories/FoundationsGap.stories.ts +1 -1
  39. package/src/stories/FoundationsGrid.stories.ts +1 -1
  40. package/src/stories/FoundationsMargin.stories.ts +1 -1
  41. package/src/stories/FoundationsPadding.stories.ts +1 -1
  42. package/src/stories/FoundationsShadow.stories.ts +1 -1
  43. package/src/stories/FoundationsTransparency.stories.ts +1 -1
  44. package/src/stories/FoundationsTypography.stories.ts +1 -1
  45. package/src/stories/TideAccordionItem.stories.ts +1 -1
  46. package/src/stories/TideAlert.stories.ts +47 -3
  47. package/src/stories/TideBadge.stories.ts +1 -1
  48. package/src/stories/TideBadgeTrustedPartner.stories.ts +1 -1
  49. package/src/stories/TideBadgeVerifiedVehicle.stories.ts +1 -1
  50. package/src/stories/TideBreadCrumbs.stories.ts +1 -1
  51. package/src/stories/TideButton.stories.ts +1 -1
  52. package/src/stories/TideButtonIcon.stories.ts +1 -1
  53. package/src/stories/TideButtonPagination.stories.ts +1 -1
  54. package/src/stories/TideButtonSegmented.stories.ts +1 -1
  55. package/src/stories/TideCard.stories.ts +1 -1
  56. package/src/stories/TideCarousel.stories.ts +1 -1
  57. package/src/stories/TideChipAction.stories.ts +1 -1
  58. package/src/stories/TideChipFilter.stories.ts +1 -1
  59. package/src/stories/TideChipInput.stories.ts +1 -1
  60. package/src/stories/TideColumns.stories.ts +1 -1
  61. package/src/stories/TideDivider.stories.ts +1 -1
  62. package/src/stories/TideIcon.stories.ts +1 -1
  63. package/src/stories/TideImage.stories.ts +1 -1
  64. package/src/stories/TideImageBackground.stories.ts +1 -1
  65. package/src/stories/TideIndicator.stories.ts +1 -1
  66. package/src/stories/TideInputCheckbox.stories.ts +1 -1
  67. package/src/stories/TideInputRadio.stories.ts +1 -1
  68. package/src/stories/TideInputSelect.stories.ts +1 -1
  69. package/src/stories/TideInputText.stories.ts +1 -1
  70. package/src/stories/TideInputTextarea.stories.ts +1 -1
  71. package/src/stories/TideLink.stories.ts +8 -2
  72. package/src/stories/TideModal.stories.ts +1 -1
  73. package/src/stories/TidePagination.stories.ts +1 -1
  74. package/src/stories/TidePopover.stories.ts +1 -1
  75. package/src/stories/TideSeoLinks.stories.ts +1 -1
  76. package/src/stories/TideSwitch.stories.ts +1 -1
  77. package/src/types/Styles.ts +8 -202
  78. package/src/utilities/storybook.ts +12 -0
  79. package/src/docs/integration.md +0 -79
@@ -172,7 +172,7 @@ export default {
172
172
  parameters,
173
173
  render,
174
174
  tags: ['autodocs'],
175
- title: 'Basic Components/TideInputText',
175
+ title: 'Components/TideInputText',
176
176
  };
177
177
 
178
178
  export const Demo = {};
@@ -110,7 +110,7 @@ export default {
110
110
  parameters,
111
111
  render,
112
112
  tags: ['autodocs'],
113
- title: 'Basic Components/TideInputTextarea',
113
+ title: 'Components/TideInputTextarea',
114
114
  };
115
115
 
116
116
  export const Demo = {};
@@ -36,6 +36,7 @@ const formatSnippet = (code: string, context: StoryContext) => {
36
36
  argsWithValues.push(`:icon-trailing="${formatValueAsConstant({ iconTrailing }, argTypes)}"`);
37
37
  if (args.isNewTab !== undefined) argsWithValues.push(`:is-new-tab="${args.isNewTab}"`);
38
38
  if (args.label !== undefined) argsWithValues.push(`:label="${args.label}"`);
39
+ if (args.subtle !== undefined) argsWithValues.push(`:subtle="${args.subtle}"`);
39
40
  if (args.click !== undefined) argsWithValues.push(`@click="${args.click}"`);
40
41
 
41
42
  return `<TideLink ${argsWithValues.join(' ')} />`;
@@ -117,23 +118,28 @@ export default {
117
118
  type: { summary: 'string' },
118
119
  },
119
120
  },
121
+ subtle: {
122
+ ...argTypeBooleanUnrequired,
123
+ description: 'Hides the underline until hovered, de-emphasizing the link',
124
+ },
120
125
  },
121
126
  args: {
122
127
  click: 'doSomething',
123
128
  dataTrack: '',
124
129
  element: undefined,
125
- href: '/',
130
+ href: '#',
126
131
  iconLeading: undefined,
127
132
  iconTrailing: undefined,
128
133
  isNewTab: undefined,
129
134
  label: 'Demo',
130
135
  size: undefined,
136
+ subtle: undefined,
131
137
  },
132
138
  component: TideLink,
133
139
  parameters,
134
140
  render,
135
141
  tags: ['autodocs'],
136
- title: 'Basic Components/TideLink',
142
+ title: 'Components/TideLink',
137
143
  };
138
144
 
139
145
  export const Demo = {};
@@ -180,7 +180,7 @@ export default {
180
180
  parameters,
181
181
  render,
182
182
  tags: ['autodocs'],
183
- title: 'Basic Components/TideModal',
183
+ title: 'Components/TideModal',
184
184
  };
185
185
 
186
186
  export const Demo = {};
@@ -77,7 +77,7 @@ export default {
77
77
  parameters,
78
78
  render,
79
79
  tags: ['autodocs'],
80
- title: 'Basic Components/TidePagination',
80
+ title: 'Components/TidePagination',
81
81
  };
82
82
 
83
83
  export const Demo = {};
@@ -92,7 +92,7 @@ export default {
92
92
  parameters,
93
93
  render,
94
94
  tags: ['autodocs'],
95
- title: 'Basic Components/TidePopover',
95
+ title: 'Components/TidePopover',
96
96
  };
97
97
 
98
98
  export const Demo = {};
@@ -60,7 +60,7 @@ export default {
60
60
  parameters,
61
61
  render,
62
62
  tags: ['autodocs'],
63
- title: 'Basic Components/TideSeoLinks',
63
+ title: 'Components/TideSeoLinks',
64
64
  };
65
65
 
66
66
  export const Demo = {};
@@ -64,7 +64,7 @@ export default {
64
64
  parameters,
65
65
  render,
66
66
  tags: ['autodocs'],
67
- title: 'Basic Components/TideSwitch',
67
+ title: 'Components/TideSwitch',
68
68
  };
69
69
 
70
70
  export const Demo = {};
@@ -436,9 +436,14 @@ export const CSS = {
436
436
  UPPER: 'tide-text-transform-upper',
437
437
  },
438
438
  UNDERLINE: {
439
- HOVER: 'tide-underline-hover',
440
- OFF: 'tide-underline-none',
441
- ON: 'tide-underline',
439
+ HOVER: {
440
+ ON: 'tide-underline-hover',
441
+ OFF: 'tide-underline-hover-none',
442
+ },
443
+ REST: {
444
+ ON: 'tide-underline',
445
+ OFF: 'tide-underline-none',
446
+ },
442
447
  },
443
448
  VISIBILITY: {
444
449
  OFF: 'tide-visible-none',
@@ -460,202 +465,3 @@ export const CSS = {
460
465
  } as const;
461
466
 
462
467
  export type CssUtility = (typeof CSS)[keyof typeof CSS];
463
-
464
- export const cssSortOrder = [
465
- CSS.DISPLAY.BLOCK,
466
- CSS.DISPLAY.CONTENTS,
467
- CSS.DISPLAY.FLEX,
468
- CSS.DISPLAY.GRID,
469
- CSS.DISPLAY.NONE,
470
- CSS.DISPLAY.INITIAL,
471
- CSS.DISPLAY.INLINE,
472
- CSS.DISPLAY.INLINE_BLOCK,
473
- CSS.DISPLAY.INLINE_FLEX,
474
- CSS.AXIS1.AROUND,
475
- CSS.AXIS1.BETWEEN,
476
- CSS.AXIS1.CENTER,
477
- CSS.AXIS1.END,
478
- CSS.AXIS1.START,
479
- CSS.AXIS2.AROUND,
480
- CSS.AXIS2.CENTER,
481
- CSS.AXIS2.END,
482
- CSS.AXIS2.START,
483
- CSS.FLEX.DIRECTION.COLUMN,
484
- CSS.FLEX.DIRECTION.COLUMN_REVERSE,
485
- CSS.FLEX.DIRECTION.ROW,
486
- CSS.FLEX.DIRECTION.ROW_REVERSE,
487
- CSS.GAP.ONE,
488
- CSS.GAP.HALF,
489
- CSS.GAP.QUARTER,
490
- CSS.GAP.TWO,
491
- CSS.GAP.FOUR,
492
- CSS.FLEX.BASIS.ZERO,
493
- CSS.FLEX.GROW.ON,
494
- CSS.FLEX.GROW.OFF,
495
- CSS.FLEX.SHRINK.ON,
496
- CSS.FLEX.SHRINK.OFF,
497
- CSS.FLEX.WRAP,
498
- CSS.POSITION.ABSOLUTE,
499
- CSS.POSITION.FIXED,
500
- CSS.POSITION.RELATIVE,
501
- CSS.POSITION.STICKY,
502
- CSS.POSITIONING.TOP,
503
- CSS.POSITIONING.RIGHT,
504
- CSS.POSITIONING.BOTTOM,
505
- CSS.POSITIONING.LEFT,
506
- CSS.BOX_SIZING.BORDER_BOX,
507
- CSS.BOX_SIZING.CONTENT_BOX,
508
- CSS.MARGIN.FULL.ZERO,
509
- CSS.MARGIN.FULL.ONE,
510
- CSS.MARGIN.FULL.HALF,
511
- CSS.MARGIN.FULL.QUARTER,
512
- CSS.MARGIN.FULL.TWO,
513
- CSS.MARGIN.FULL.FOUR,
514
- CSS.MARGIN.Y.ZERO,
515
- CSS.MARGIN.Y.ONE,
516
- CSS.MARGIN.Y.HALF,
517
- CSS.MARGIN.Y.QUARTER,
518
- CSS.MARGIN.Y.TWO,
519
- CSS.MARGIN.Y.FOUR,
520
- CSS.MARGIN.TOP.ZERO,
521
- CSS.MARGIN.TOP.ONE,
522
- CSS.MARGIN.TOP.HALF,
523
- CSS.MARGIN.TOP.QUARTER,
524
- CSS.MARGIN.TOP.TWO,
525
- CSS.MARGIN.TOP.FOUR,
526
- CSS.MARGIN.X.ZERO,
527
- CSS.MARGIN.X.ONE,
528
- CSS.MARGIN.X.HALF,
529
- CSS.MARGIN.X.QUARTER,
530
- CSS.MARGIN.X.TWO,
531
- CSS.MARGIN.X.FOUR,
532
- CSS.MARGIN.X.AUTO,
533
- CSS.MARGIN.RIGHT.ZERO,
534
- CSS.MARGIN.RIGHT.ONE,
535
- CSS.MARGIN.RIGHT.HALF,
536
- CSS.MARGIN.RIGHT.QUARTER,
537
- CSS.MARGIN.RIGHT.TWO,
538
- CSS.MARGIN.RIGHT.FOUR,
539
- CSS.MARGIN.RIGHT.AUTO,
540
- CSS.MARGIN.BOTTOM.ZERO,
541
- CSS.MARGIN.BOTTOM.ONE,
542
- CSS.MARGIN.BOTTOM.HALF,
543
- CSS.MARGIN.BOTTOM.QUARTER,
544
- CSS.MARGIN.BOTTOM.TWO,
545
- CSS.MARGIN.BOTTOM.FOUR,
546
- CSS.MARGIN.LEFT.ZERO,
547
- CSS.MARGIN.LEFT.ONE,
548
- CSS.MARGIN.LEFT.HALF,
549
- CSS.MARGIN.LEFT.QUARTER,
550
- CSS.MARGIN.LEFT.TWO,
551
- CSS.MARGIN.LEFT.FOUR,
552
- CSS.MARGIN.LEFT.AUTO,
553
- CSS.BORDER.FULL.ONE,
554
- CSS.BORDER.FULL.TWO,
555
- CSS.BORDER.TOP.ONE,
556
- CSS.BORDER.TOP.TWO,
557
- CSS.BORDER.RIGHT.ONE,
558
- CSS.BORDER.RIGHT.TWO,
559
- CSS.BORDER.BOTTOM.ONE,
560
- CSS.BORDER.BOTTOM.TWO,
561
- CSS.BORDER.LEFT.ONE,
562
- CSS.BORDER.LEFT.TWO,
563
- CSS.BORDER.RADIUS.ONE,
564
- CSS.BORDER.RADIUS.HALF,
565
- CSS.BORDER.RADIUS.QUARTER,
566
- CSS.BORDER.RADIUS.FULL,
567
- CSS.PADDING.FULL.ZERO,
568
- CSS.PADDING.FULL.ONE,
569
- CSS.PADDING.FULL.HALF,
570
- CSS.PADDING.FULL.QUARTER,
571
- CSS.PADDING.FULL.TWO,
572
- CSS.PADDING.FULL.FOUR,
573
- CSS.PADDING.Y.ZERO,
574
- CSS.PADDING.Y.ONE,
575
- CSS.PADDING.Y.HALF,
576
- CSS.PADDING.Y.QUARTER,
577
- CSS.PADDING.Y.TWO,
578
- CSS.PADDING.Y.FOUR,
579
- CSS.PADDING.TOP.ZERO,
580
- CSS.PADDING.TOP.ONE,
581
- CSS.PADDING.TOP.HALF,
582
- CSS.PADDING.TOP.QUARTER,
583
- CSS.PADDING.TOP.TWO,
584
- CSS.PADDING.TOP.FOUR,
585
- CSS.PADDING.X.ZERO,
586
- CSS.PADDING.X.ONE,
587
- CSS.PADDING.X.HALF,
588
- CSS.PADDING.X.QUARTER,
589
- CSS.PADDING.X.TWO,
590
- CSS.PADDING.X.FOUR,
591
- CSS.PADDING.RIGHT.ZERO,
592
- CSS.PADDING.RIGHT.ONE,
593
- CSS.PADDING.RIGHT.HALF,
594
- CSS.PADDING.RIGHT.QUARTER,
595
- CSS.PADDING.RIGHT.TWO,
596
- CSS.PADDING.RIGHT.FOUR,
597
- CSS.PADDING.BOTTOM.ZERO,
598
- CSS.PADDING.BOTTOM.ONE,
599
- CSS.PADDING.BOTTOM.HALF,
600
- CSS.PADDING.BOTTOM.QUARTER,
601
- CSS.PADDING.BOTTOM.TWO,
602
- CSS.PADDING.BOTTOM.FOUR,
603
- CSS.PADDING.LEFT.ZERO,
604
- CSS.PADDING.LEFT.ONE,
605
- CSS.PADDING.LEFT.HALF,
606
- CSS.PADDING.LEFT.QUARTER,
607
- CSS.PADDING.LEFT.TWO,
608
- CSS.PADDING.LEFT.FOUR,
609
- CSS.WIDTH.MAX_FULL,
610
- CSS.WIDTH.ZERO,
611
- CSS.WIDTH.FULL,
612
- CSS.HEIGHT.ZERO,
613
- CSS.HEIGHT.FULL,
614
- CSS.ALIGN.Y.MIDDLE,
615
- CSS.BREAK_WORD,
616
- CSS.CURSOR.NOT_ALLOWED,
617
- CSS.CURSOR.POINTER,
618
- CSS.CURSOR.TEXT,
619
- CSS.FONT.SIZE.TWELVE,
620
- CSS.FONT.SIZE.FOURTEEN,
621
- CSS.FONT.SIZE.SIXTEEN,
622
- CSS.FONT.SIZE.TWENTY,
623
- CSS.FONT.SIZE.TWENTY_FOUR,
624
- CSS.FONT.SIZE.THIRTY_TWO,
625
- CSS.FONT.WEIGHT.FOUR_HUNDRED,
626
- CSS.FONT.WEIGHT.FIVE_HUNDRED,
627
- CSS.FONT.WEIGHT.SIX_HUNDRED,
628
- CSS.FONT.WEIGHT.SEVEN_HUNDRED,
629
- CSS.LIST_BULLETS.OFF,
630
- CSS.OBJECT.CENTER,
631
- CSS.OBJECT.CONTAIN,
632
- CSS.OBJECT.COVER,
633
- CSS.OBJECT.SCALE_DOWN,
634
- CSS.POINTER_EVENTS.ON,
635
- CSS.POINTER_EVENTS.OFF,
636
- CSS.SCROLLBAR.OFF,
637
- CSS.SHADOW.BOTTOM,
638
- CSS.SHADOW.TOP,
639
- CSS.SNAP.ON,
640
- CSS.SNAP_ALIGN.START,
641
- CSS.ALIGN.X.LEFT,
642
- CSS.ALIGN.X.CENTER,
643
- CSS.ALIGN.X.RIGHT,
644
- CSS.TEXT_TRANSFORM.LOWER,
645
- CSS.TEXT_TRANSFORM.NONE,
646
- CSS.TEXT_TRANSFORM.UPPER,
647
- CSS.UNDERLINE.HOVER,
648
- CSS.UNDERLINE.OFF,
649
- CSS.UNDERLINE.ON,
650
- CSS.VISIBILITY.ON,
651
- CSS.VISIBILITY.OFF,
652
- CSS.WHITESPACE_WRAP.OFF,
653
- CSS.OVERFLOW.XY.AUTO,
654
- CSS.OVERFLOW.XY.HIDDEN,
655
- CSS.OVERFLOW.X.AUTO,
656
- CSS.OVERFLOW.X.HIDDEN,
657
- CSS.OVERFLOW.X.SCROLL,
658
- CSS.OVERFLOW.Y.AUTO,
659
- CSS.OVERFLOW.Y.HIDDEN,
660
- CSS.Z_INDEX.ONE,
661
- ] as const;
@@ -76,6 +76,16 @@ export const click = {
76
76
  },
77
77
  };
78
78
 
79
+ export const close = {
80
+ control: 'text',
81
+ description: 'JS code or function to execute on close event',
82
+ isEmit: true,
83
+ table: {
84
+ defaultValue: { summary: 'None' },
85
+ type: { summary: '() => void' },
86
+ },
87
+ };
88
+
79
89
  export const dataTrack = {
80
90
  control: 'text',
81
91
  description: 'Data attribute for external tracking',
@@ -91,6 +101,8 @@ export const disabledArgType = {
91
101
  },
92
102
  };
93
103
 
104
+ export const isProduction = process.env.NODE_ENV === 'production';
105
+
94
106
  export const doSomething = () => {
95
107
  alert('Did something.');
96
108
  };
@@ -1,79 +0,0 @@
1
- # TIDE Prod Integration
2
- 1. Install dependency from Node Package Manager Registry:
3
-
4
- `npm install tide-design-system`
5
-
6
- 2. Use CSS utilities:
7
- 1. Import global utilities:
8
-
9
- `import 'tide-design-system/css';`
10
-
11
- 2. Import realm-specific utilities (where applicable):
12
-
13
- `import 'tide-design-system/css/realm/aero';`
14
-
15
- `import 'tide-design-system/css/realm/atv';`
16
-
17
- `import 'tide-design-system/css/realm/boatmart';`
18
-
19
- `import 'tide-design-system/css/realm/cycle';`
20
-
21
- `import 'tide-design-system/css/realm/equipment';`
22
-
23
- `import 'tide-design-system/css/realm/pwc';`
24
-
25
- `import 'tide-design-system/css/realm/snow';`
26
-
27
- `import 'tide-design-system/css/realm/truck';`
28
-
29
- 3. Import TypeScript constant:
30
-
31
- `import { CSS } from 'tide-design-system';`
32
-
33
- 4. Leverage:
34
-
35
- `<div :class="[CSS.POSITION.ABSOLUTE]" />`
36
-
37
- 5. Via CSS directly (only when markup is outside a JS framework):
38
-
39
- `<div class="tide-position-absolute" />`
40
-
41
- 6. Apply classes responsively:
42
-
43
- `<div :class=[CSS.DISPLAY.NONE, withBreakpoint([CSS.DISPLAY.FLEX], BREAKPOINT.MD)] />`
44
-
45
- 3. Use TypeScript types:
46
- 1. Import:
47
-
48
- `import type { Priority } from 'tide-design-system';`
49
-
50
- 2. Leverage:
51
-
52
- ```
53
- type Sample = {
54
- ...
55
- priority: Priority;
56
- };
57
- ```
58
-
59
- ```
60
- const setPriority = (priority: Priority) => {...};
61
- ```
62
-
63
- 4. Leverage TypeScript constants:
64
- 1. Import:
65
-
66
- `import { PRIORITY } from 'tide-design-system';`
67
-
68
- 2. Leverage:
69
-
70
- `<div :priority="PRIORITY.QUATERNARY">Sample</div>`
71
-
72
- 5. Use Vue 3 component(s):
73
- 1. Import:
74
-
75
- `import { TideButton } from 'tide-design-system';`
76
-
77
- 2. Leverage:
78
-
79
- `<TideButton label="Sample" />`