tide-design-system 2.5.8 → 2.5.9

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 (77) hide show
  1. package/README.md +1 -0
  2. package/dist/IconCalculate-Bbp4hHOW.js +16 -0
  3. package/dist/IconCalculate-CGwDSRuU.cjs +2 -0
  4. package/dist/style.css +1 -1
  5. package/dist/tide-design-system.cjs +2 -2
  6. package/dist/tide-design-system.esm.js +1255 -1211
  7. package/dist/utilities/storybook.ts +0 -2
  8. package/docs/images.md +50 -0
  9. package/package.json +2 -2
  10. package/src/assets/svg/icons/IconCalculate.svg +3 -0
  11. package/src/components/TideAlert.vue +19 -1
  12. package/src/components/TideBadge.vue +16 -0
  13. package/src/components/TideBadgeTrustedPartner.vue +10 -0
  14. package/src/components/TideBadgeVerifiedVehicle.vue +9 -0
  15. package/src/components/TideBreadCrumbs.vue +10 -0
  16. package/src/components/TideButton.vue +9 -0
  17. package/src/components/TideButtonIcon.vue +9 -0
  18. package/src/components/TideButtonPagination.vue +16 -0
  19. package/src/components/TideButtonSave.vue +9 -0
  20. package/src/components/TideButtonSegmented.vue +10 -0
  21. package/src/components/TideCard.vue +21 -1
  22. package/src/components/TideCarousel.vue +24 -0
  23. package/src/components/TideChipAction.vue +1 -0
  24. package/src/components/TideChipFilter.vue +10 -0
  25. package/src/components/TideChipInput.vue +10 -0
  26. package/src/components/TideColumns.vue +10 -0
  27. package/src/components/TideDivider.vue +10 -0
  28. package/src/components/TideForm.vue +9 -0
  29. package/src/components/TideIcon.vue +12 -0
  30. package/src/components/TideImage.vue +34 -4
  31. package/src/components/TideImageBackground.vue +16 -0
  32. package/src/components/TideIndicator.vue +10 -0
  33. package/src/components/TideInputCheckbox.vue +24 -0
  34. package/src/components/TideInputRadio.vue +20 -0
  35. package/src/components/TideInputSelect.vue +2 -2
  36. package/src/components/TideInputSupportingText.vue +9 -0
  37. package/src/components/TideInputText.vue +47 -1
  38. package/src/components/TideInputTextarea.vue +30 -0
  39. package/src/components/TideLink.vue +24 -0
  40. package/src/components/TideModal.vue +9 -0
  41. package/src/components/TidePopover.vue +12 -0
  42. package/src/components/TideRating.vue +16 -0
  43. package/src/components/TideRealmLogo.vue +9 -0
  44. package/src/components/TideSheet.vue +9 -0
  45. package/src/components/TideSwitch.vue +10 -0
  46. package/src/components/TideTabs.vue +10 -0
  47. package/src/components/TideToaster.vue +9 -0
  48. package/src/stories/TideAccordionItem.stories.ts +4 -12
  49. package/src/stories/TideAlert.stories.ts +2 -11
  50. package/src/stories/TideBadge.stories.ts +0 -4
  51. package/src/stories/TideBadgeTrustedPartner.stories.ts +0 -1
  52. package/src/stories/TideBreadCrumbs.stories.ts +0 -1
  53. package/src/stories/TideButtonPagination.stories.ts +0 -4
  54. package/src/stories/TideButtonSegmented.stories.ts +0 -1
  55. package/src/stories/TideCard.stories.ts +9 -8
  56. package/src/stories/TideCarousel.stories.ts +0 -7
  57. package/src/stories/TideChipAction.stories.ts +2 -2
  58. package/src/stories/TideChipFilter.stories.ts +0 -1
  59. package/src/stories/TideChipInput.stories.ts +0 -1
  60. package/src/stories/TideColumns.stories.ts +0 -1
  61. package/src/stories/TideDivider.stories.ts +0 -1
  62. package/src/stories/TideIcon.stories.ts +0 -2
  63. package/src/stories/TideImage.stories.ts +1 -11
  64. package/src/stories/TideImageBackground.stories.ts +1 -7
  65. package/src/stories/TideIndicator.stories.ts +0 -1
  66. package/src/stories/TideInputCheckbox.stories.ts +2 -14
  67. package/src/stories/TideInputRadio.stories.ts +1 -9
  68. package/src/stories/TideInputSelect.stories.ts +2 -8
  69. package/src/stories/TideInputText.stories.ts +1 -22
  70. package/src/stories/TideInputTextarea.stories.ts +1 -14
  71. package/src/stories/TideLink.stories.ts +1 -10
  72. package/src/stories/TidePopover.stories.ts +0 -2
  73. package/src/stories/TideRating.stories.ts +1 -7
  74. package/src/stories/TideSwitch.stories.ts +1 -4
  75. package/src/stories/TideTabs.stories.ts +0 -1
  76. package/src/types/Icon.ts +1 -0
  77. package/src/utilities/storybook.ts +0 -2
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders an input radio component.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideinputradio--docs) for TideInputRadio
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { computed } from 'vue';
3
12
 
@@ -5,11 +14,22 @@
5
14
  import { formatNumber } from '@/utilities/format';
6
15
 
7
16
  type Props = {
17
+ /** Determines whether input is interactable */
8
18
  disabled?: boolean;
19
+
20
+ /** Unique ID attribute (to bind input label to input) */
9
21
  inputId?: string;
22
+
23
+ /** Label content */
10
24
  label: string;
25
+
26
+ /** Name attribute */
11
27
  name: string;
28
+
29
+ /** Parenthetical response count */
12
30
  number?: number;
31
+
32
+ /** Value attribute */
13
33
  value: string;
14
34
  };
15
35
 
@@ -96,7 +96,7 @@
96
96
  });
97
97
  const hasErrorFromProp = computed(() => props.error !== '');
98
98
  const hasMinilabel = computed(() => hasFocus.value || !isEmpty.value);
99
- const isEmpty = computed(() => modelValue.value === '');
99
+ const isEmpty = computed(() => modelValue.value == null || modelValue.value === '');
100
100
  const supportingTextMessage = computed(() => (showError.value && errorRef.value.message) || props.supportingText);
101
101
 
102
102
  const expandOptions = () => {
@@ -193,11 +193,11 @@
193
193
  :class="[
194
194
  CSS.PADDING.BOTTOM.HALF,
195
195
  CSS.PADDING.TOP.ONE,
196
- CSS.PADDING.LEFT.ONE,
197
196
  CSS.PADDING.RIGHT.TWO,
198
197
  CSS.WIDTH.FULL,
199
198
  CSS.FONT.ROLE.BODY_1,
200
199
  disabled && CSS.CURSOR.NOT_ALLOWED,
200
+ prefix ? CSS.PADDING.LEFT.ZERO : CSS.PADDING.LEFT.ONE,
201
201
  ]"
202
202
  :disabled="disabled"
203
203
  :name="name"
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders an input supporting text component.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideinputsupportingtext--docs) for TideInputSupportingText
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script setup lang="ts">
2
11
  import TideIcon from '@/components/TideIcon.vue';
3
12
  import { ICON } from '@/types/Icon';
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a text input intended to be used in forms.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideinputtext--docs) for TideInputText
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script setup lang="ts">
2
11
  import { computed, ref, watch, watchEffect } from 'vue';
3
12
 
@@ -18,24 +27,61 @@
18
27
  import type { ErrorDisplay, ValidationResult, Validator } from '@/types/Validation';
19
28
 
20
29
  type Props = {
30
+ /** Determines whether browser attempts to autocomplete */
21
31
  autocomplete?: boolean;
32
+
33
+ /** Determines whether input is interactable */
22
34
  disabled?: boolean;
35
+
36
+ /** Overrides the default error message and valid state */
23
37
  error?: string;
38
+
39
+ /** Determines whether errors display prior to blur */
24
40
  errorDisplay?: ErrorDisplay;
41
+
42
+ /** Determines whether a clear/reset button is shown for the input */
25
43
  hasClear?: boolean;
44
+
45
+ /** Icon at left of input value */
26
46
  iconLeading?: Icon;
47
+
48
+ /** Unique ID attribute (to bind input label to input) */
27
49
  inputId?: string;
50
+
51
+ /** Determines the input editing features offered by the browser */
28
52
  inputmode?: InputMode;
53
+
54
+ /** Label content */
29
55
  label?: string;
56
+
57
+ /** Applies a maximum character count to the input */
30
58
  maxlength?: number;
59
+
60
+ /** Applies a minimum character count to the input */
31
61
  minlength?: number;
62
+
63
+ /** Name attribute */
32
64
  name?: string;
65
+
66
+ /** Input prefix */
33
67
  prefix?: string;
68
+
69
+ /** Determines whether input is required */
34
70
  required?: boolean;
71
+
72
+ /** Input suffix (i.e. units) */
35
73
  suffix?: string;
74
+
75
+ /** Explainer text beneath input */
36
76
  supportingText?: string;
77
+
78
+ /** Determines text formatting applied to input value upon invoking relevant listener event(s) */
37
79
  transformValue?: FormValueTransformer;
80
+
81
+ /** Determines the type(s) of values expected by the input */
38
82
  type?: TextInputType;
83
+
84
+ /** Determines method(s) used to check for valid input value upon invoking relevant listener event(s) */
39
85
  validators?: Validator[];
40
86
  };
41
87
 
@@ -88,7 +134,7 @@
88
134
  const inputType = computed(() =>
89
135
  props.type === TEXT_INPUT_TYPE.PASSWORD && showPassword.value === true ? TEXT_INPUT_TYPE.TEXT : props.type
90
136
  );
91
- const isEmpty = computed(() => modelValue.value === '');
137
+ const isEmpty = computed(() => modelValue.value == null || modelValue.value === '');
92
138
  const shouldShowClearButton = computed(
93
139
  () => props.hasClear && modelValue.value && props.type !== TEXT_INPUT_TYPE.PASSWORD
94
140
  );
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a textarea input intended to be used in forms.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideinputtextarea--docs) for TideInputTextarea
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { computed, ref, watch, watchEffect } from 'vue';
3
12
 
@@ -10,16 +19,37 @@
10
19
  import type { ErrorDisplay, ValidationResult, Validator } from '@/types/Validation';
11
20
 
12
21
  type Props = {
22
+ /** Overrides the default error message and valid state */
13
23
  error?: string;
24
+
25
+ /** Determines whether errors display prior to blur */
14
26
  errorDisplay?: ErrorDisplay;
27
+
28
+ /** Unique ID attribute (to bind input label to input) */
15
29
  inputId?: string;
30
+
31
+ /** Label content */
16
32
  label?: string;
33
+
34
+ /** Applies a maximum character count to the input */
17
35
  maxlength?: number | undefined;
36
+
37
+ /** Applies a minimum character count to the input */
18
38
  minlength?: number | undefined;
39
+
40
+ /** Name attribute */
19
41
  name?: string;
42
+
43
+ /** Determines whether input is required */
20
44
  required?: boolean;
45
+
46
+ /** Determines the height of the input */
21
47
  rows?: number;
48
+
49
+ /** Explainer text beneath input */
22
50
  supportingText?: string;
51
+
52
+ /** Determines method(s) used to check for valid input value upon invoking relevant listener event(s) */
23
53
  validators?: Validator[];
24
54
  };
25
55
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a link element.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidelink--docs) for TideLink
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { computed } from 'vue';
3
12
 
@@ -13,13 +22,28 @@
13
22
  import type { Size } from '@/types/Size';
14
23
 
15
24
  type Props = {
25
+ /** HTML tag type */
16
26
  element?: Element;
27
+
28
+ /** URL to open (Link only) */
17
29
  href?: string;
30
+
31
+ /** Icon to left of label */
18
32
  iconLeading?: Icon;
33
+
34
+ /** Size of the icons */
19
35
  iconSize?: Size;
36
+
37
+ /** Icon to right of label */
20
38
  iconTrailing?: Icon;
39
+
40
+ /** Determines whether to target a new browser tab (Link only) */
21
41
  isNewTab?: boolean;
42
+
43
+ /** Link text */
22
44
  label: string;
45
+
46
+ /** Hides the underline until hovered, de-emphasizing the link */
23
47
  subtle?: boolean;
24
48
  };
25
49
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a modal intended to be used for displaying additional information or options.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidemodal--docs) for TideModal
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';
3
12
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a popover intended to be used for displaying additional information.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidepopover--docs) for TidePopover
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { autoPlacement, autoUpdate, offset as offsetMiddleware, shift, useFloating } from '@floating-ui/vue';
3
12
  import { computed, onBeforeMount, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue';
@@ -9,7 +18,10 @@
9
18
  import type { Ref } from 'vue';
10
19
 
11
20
  type Props = {
21
+ /** Determines the HTML node over which the Popover will appear */
12
22
  anchorId: string;
23
+
24
+ /** Determines spacing between Popover and anchor node */
13
25
  offset?: number;
14
26
  };
15
27
 
@@ -1,12 +1,28 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a rating component intended to be used for displaying and selecting a rating.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tiderating--docs) for TideRating
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { computed } from 'vue';
3
12
 
4
13
  import { CSS } from '@/types/Styles';
5
14
 
6
15
  type Props = {
16
+ /** Determines the text displayed below the title */
7
17
  description?: string;
18
+
19
+ /** Maximum rating value / Number of segments */
8
20
  maxRating?: number;
21
+
22
+ /** Determines whether to display the current rating value */
9
23
  showRating?: boolean;
24
+
25
+ /** Determines the title text displayed above the rating component */
10
26
  title?: string;
11
27
  };
12
28
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a realm logo component intended to be used for displaying a realm's logo.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tiderealmlogo--docs) for TideRealmLogo
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script setup lang="ts">
2
11
  import { computed, defineAsyncComponent, markRaw, ref, watch } from 'vue';
3
12
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a sheet component intended to be used for displaying content in a modal-like menu overlay on the right side of the screen.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidesheet--docs) for TideSheet
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import { onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';
3
12
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a switch component intended to be used for toggling a boolean value.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideswitch--docs) for TideSwitch
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script lang="ts" setup>
2
11
  import TideIcon from '@/components/TideIcon.vue';
3
12
  import { ICON } from '@/types/Icon';
@@ -5,6 +14,7 @@
5
14
  import { CSS } from '@/types/Styles';
6
15
 
7
16
  type Props = {
17
+ /** Determines clickability */
8
18
  disabled?: boolean;
9
19
  };
10
20
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a tabs component intended to be used for navigation.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidetabs--docs) for TideTabs
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script setup lang="ts">
2
11
  import TideCarousel from '@/components/TideCarousel.vue';
3
12
  import TideLink from '@/components/TideLink.vue';
@@ -7,6 +16,7 @@
7
16
  import type { Tab } from '@/types/Tab';
8
17
 
9
18
  type Props = {
19
+ /** Sets labels and callback for each tab */
10
20
  tabs: Tab[];
11
21
  };
12
22
 
@@ -1,3 +1,12 @@
1
+ <script lang="ts">
2
+ /**
3
+ * Renders a toaster component intended to be used for displaying notifications.
4
+ *
5
+ * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidetoaster--docs) for TideToaster
6
+ */
7
+ export default {};
8
+ </script>
9
+
1
10
  <script setup lang="ts">
2
11
  import { onBeforeMount } from 'vue';
3
12
 
@@ -50,18 +50,10 @@ export default {
50
50
  type: { summary: 'HTML' },
51
51
  },
52
52
  },
53
- disabled: {
54
- ...argTypeBooleanUnrequired,
55
- },
56
- hasBottomDivider: {
57
- ...argTypeBooleanUnrequired,
58
- },
59
- hasTopDivider: {
60
- ...argTypeBooleanUnrequired,
61
- },
62
- isOptional: {
63
- ...argTypeBooleanUnrequired,
64
- },
53
+ disabled: argTypeBooleanUnrequired,
54
+ hasBottomDivider: argTypeBooleanUnrequired,
55
+ hasTopDivider: argTypeBooleanUnrequired,
56
+ isOptional: argTypeBooleanUnrequired,
65
57
  label: {
66
58
  control: 'text',
67
59
  table: {
@@ -60,7 +60,6 @@ export default {
60
60
  close: disabledArgType,
61
61
  ctaLabel: {
62
62
  control: 'text',
63
- description: 'Call To Action that renders as a TideLink; clicking emits a separate `click` event',
64
63
  table: {
65
64
  defaultValue: { summary: 'None' },
66
65
  type: { summary: 'string' },
@@ -99,23 +98,15 @@ export default {
99
98
  },
100
99
  heading: {
101
100
  control: 'text',
102
- description: 'Heading text',
103
101
  table: {
104
102
  defaultValue: { summary: 'None' },
105
103
  type: { summary: 'HTML' },
106
104
  },
107
105
  },
108
- isDismissible: {
109
- ...argTypeBooleanUnrequired,
110
- description: 'Determines whether the Alert can be closed by the user',
111
- },
112
- isToast: {
113
- ...argTypeBooleanUnrequired,
114
- description: 'Determines whether the Alert is an overlay or displaces content',
115
- },
106
+ isDismissible: argTypeBooleanUnrequired,
107
+ isToast: argTypeBooleanUnrequired,
116
108
  type: {
117
109
  ...formatArgType({ ALERT }),
118
- description: 'Alert type',
119
110
  table: {
120
111
  defaultValue: { summary: 'ALERT' },
121
112
  },
@@ -46,7 +46,6 @@ export default {
46
46
  argTypes: {
47
47
  color: {
48
48
  ...formatArgType({ BADGE_COLOR }),
49
- description: 'Determines which color option to adopt (if any)',
50
49
  table: {
51
50
  category: 'Props',
52
51
  defaultValue: { summary: 'None' },
@@ -54,7 +53,6 @@ export default {
54
53
  },
55
54
  iconLeading: {
56
55
  ...formatArgType({ ICON }),
57
- description: 'Icon to left of label',
58
56
  table: {
59
57
  category: 'Props',
60
58
  defaultValue: { summary: 'None' },
@@ -62,7 +60,6 @@ export default {
62
60
  },
63
61
  isFloating: {
64
62
  ...argTypeBooleanUnrequired,
65
- description: 'Determines whether to display the "Floating" variant styles',
66
63
  table: {
67
64
  category: 'Props',
68
65
  defaultValue: { summary: 'None' },
@@ -70,7 +67,6 @@ export default {
70
67
  },
71
68
  label: {
72
69
  control: 'text',
73
- description: 'Badge text',
74
70
  table: {
75
71
  category: 'Props',
76
72
  defaultValue: { summary: 'None' },
@@ -16,7 +16,6 @@ export default {
16
16
  argTypes: {
17
17
  years: {
18
18
  ...formatArgType({ BADGE_TRUSTED }),
19
- description: 'Badge text',
20
19
  table: {
21
20
  defaultValue: { summary: BADGE_TRUSTED.YEARS_5 },
22
21
  },
@@ -23,7 +23,6 @@ export default {
23
23
  argTypes: {
24
24
  breadCrumbs: {
25
25
  control: 'object',
26
- description: 'Determines label and optional URL for each bread crumb',
27
26
  isCustom: true,
28
27
  table: {
29
28
  defaultValue: { summary: '[]' },
@@ -49,7 +49,6 @@ export default {
49
49
  dataTrack,
50
50
  disabled: {
51
51
  ...argTypeBooleanUnrequired,
52
- description: 'Indicates whether Pagination Button is associated with the displayed page',
53
52
  if: {
54
53
  arg: 'element',
55
54
  eq: ELEMENT_BROAD.BUTTON,
@@ -57,13 +56,11 @@ export default {
57
56
  },
58
57
  element: {
59
58
  ...formatArgType({ ELEMENT_BROAD }),
60
- description: 'HTML tag type',
61
59
  table: {
62
60
  defaultValue: { summary: 'BUTTON' },
63
61
  },
64
62
  },
65
63
  href: {
66
- description: 'URL to open<br />(Link only)',
67
64
  if: { arg: 'element', eq: ELEMENT_BROAD.LINK },
68
65
  table: {
69
66
  defaultValue: { summary: 'None' },
@@ -77,7 +74,6 @@ export default {
77
74
  },
78
75
  label: {
79
76
  control: 'text',
80
- description: 'Button text',
81
77
  table: {
82
78
  defaultValue: { summary: 'None' },
83
79
  type: { summary: 'string' },
@@ -78,7 +78,6 @@ export default {
78
78
  },
79
79
  tabs: {
80
80
  control: 'object',
81
- description: 'Sets label and callback for each tab',
82
81
  isCustom: true,
83
82
  table: {
84
83
  defaultValue: { summary: 'None' },
@@ -48,7 +48,6 @@ export default {
48
48
  },
49
49
  description: {
50
50
  control: 'text',
51
- description: 'Optional description text displayed below the heading.',
52
51
  table: {
53
52
  defaultValue: { summary: 'None' },
54
53
  type: { summary: 'string' },
@@ -56,7 +55,13 @@ export default {
56
55
  },
57
56
  heading: {
58
57
  control: 'text',
59
- description: 'The main heading of the card.',
58
+ table: {
59
+ defaultValue: { summary: 'None' },
60
+ type: { summary: 'string' },
61
+ },
62
+ },
63
+ href: {
64
+ control: 'text',
60
65
  table: {
61
66
  defaultValue: { summary: 'None' },
62
67
  type: { summary: 'string' },
@@ -64,19 +69,14 @@ export default {
64
69
  },
65
70
  icon: {
66
71
  ...formatArgType({ CARD_ICON }),
67
- description: 'Optional icon displayed on the card.',
68
72
  table: {
69
73
  defaultValue: { summary: 'None' },
70
74
  type: { summary: 'Icon' },
71
75
  },
72
76
  },
73
- selected: {
74
- ...argTypeBooleanUnrequired,
75
- description: 'Determines whether the Card is selected (for selectable cards).',
76
- },
77
+ selected: argTypeBooleanUnrequired,
77
78
  type: {
78
79
  ...formatArgType({ TYPE_CARD }),
79
- description: 'Type of the card.',
80
80
  table: {
81
81
  defaultValue: { summary: 'INFORMATIONAL' },
82
82
  type: { summary: 'CardType' },
@@ -87,6 +87,7 @@ export default {
87
87
  click: 'doSomething',
88
88
  description: '',
89
89
  heading: 'Demo',
90
+ href: '',
90
91
  icon: CARD_ICON.None,
91
92
  selected: undefined,
92
93
  type: TYPE_CARD.None,
@@ -120,14 +120,12 @@ export default {
120
120
  },
121
121
  hasDots: {
122
122
  ...argTypeBooleanUnrequired,
123
- description: 'Determines whether to display the indicator dots overlay<br />(Only valid with full width cards)',
124
123
  table: {
125
124
  defaultValue: { summary: 'False' },
126
125
  },
127
126
  },
128
127
  isFloating: {
129
128
  ...argTypeBooleanUnrequired,
130
- description: 'Determines whether to display on-page or floating carousel',
131
129
  table: {
132
130
  defaultValue: { summary: 'False' },
133
131
  },
@@ -144,14 +142,12 @@ export default {
144
142
  },
145
143
  isHeadline1: {
146
144
  ...argTypeBooleanUnrequired,
147
- description: 'Determines font role used for title display',
148
145
  table: {
149
146
  defaultValue: { summary: 'False' },
150
147
  },
151
148
  },
152
149
  isHideawayButtons: {
153
150
  ...argTypeBooleanUnrequired,
154
- description: 'Determines whether on-page buttons should be hidden until hover',
155
151
  if: { arg: 'isFloating', eq: true },
156
152
  table: {
157
153
  defaultValue: { summary: 'True' },
@@ -160,7 +156,6 @@ export default {
160
156
  isScrollByPage: disabledArgType,
161
157
  maxDots: {
162
158
  control: 'text',
163
- description: 'Determines the max number of indicator dots to display at a given time',
164
159
  if: { arg: 'hasDots', eq: true },
165
160
  table: {
166
161
  defaultValue: { summary: 'None' },
@@ -178,7 +173,6 @@ export default {
178
173
  slidesAddedToView: disabledArgType,
179
174
  subtitle: {
180
175
  control: 'text',
181
- description: 'Determines the text displayed to the right of the title',
182
176
  if: { arg: 'isFloating', neq: true },
183
177
  table: {
184
178
  defaultValue: { summary: 'None' },
@@ -186,7 +180,6 @@ export default {
186
180
  },
187
181
  title: {
188
182
  control: 'text',
189
- description: 'Determines the title text displayed above the carousel',
190
183
  if: { arg: 'isFloating', neq: true },
191
184
  table: {
192
185
  defaultValue: { summary: 'None' },
@@ -37,7 +37,7 @@ export default {
37
37
  },
38
38
  href: {
39
39
  control: 'text',
40
- if: { arg: 'element', eq: ELEMENT.LINK },
40
+ if: { arg: 'element', neq: ELEMENT.BUTTON },
41
41
  table: {
42
42
  defaultValue: { summary: 'None' },
43
43
  type: { summary: 'string' },
@@ -52,7 +52,7 @@ export default {
52
52
  },
53
53
  isNewTab: {
54
54
  ...argTypeBooleanUnrequired,
55
- if: { arg: 'element', eq: ELEMENT.LINK },
55
+ if: { arg: 'element', neq: ELEMENT.BUTTON },
56
56
  },
57
57
  label: {
58
58
  control: 'text',
@@ -53,7 +53,6 @@ export default {
53
53
  },
54
54
  label: {
55
55
  control: 'text',
56
- description: 'Chip text',
57
56
  table: {
58
57
  defaultValue: { summary: 'None' },
59
58
  type: { summary: 'string' },