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.
- package/README.md +1 -0
- package/dist/IconCalculate-Bbp4hHOW.js +16 -0
- package/dist/IconCalculate-CGwDSRuU.cjs +2 -0
- package/dist/style.css +1 -1
- package/dist/tide-design-system.cjs +2 -2
- package/dist/tide-design-system.esm.js +1255 -1211
- package/dist/utilities/storybook.ts +0 -2
- package/docs/images.md +50 -0
- package/package.json +2 -2
- package/src/assets/svg/icons/IconCalculate.svg +3 -0
- package/src/components/TideAlert.vue +19 -1
- package/src/components/TideBadge.vue +16 -0
- package/src/components/TideBadgeTrustedPartner.vue +10 -0
- package/src/components/TideBadgeVerifiedVehicle.vue +9 -0
- package/src/components/TideBreadCrumbs.vue +10 -0
- package/src/components/TideButton.vue +9 -0
- package/src/components/TideButtonIcon.vue +9 -0
- package/src/components/TideButtonPagination.vue +16 -0
- package/src/components/TideButtonSave.vue +9 -0
- package/src/components/TideButtonSegmented.vue +10 -0
- package/src/components/TideCard.vue +21 -1
- package/src/components/TideCarousel.vue +24 -0
- package/src/components/TideChipAction.vue +1 -0
- package/src/components/TideChipFilter.vue +10 -0
- package/src/components/TideChipInput.vue +10 -0
- package/src/components/TideColumns.vue +10 -0
- package/src/components/TideDivider.vue +10 -0
- package/src/components/TideForm.vue +9 -0
- package/src/components/TideIcon.vue +12 -0
- package/src/components/TideImage.vue +34 -4
- package/src/components/TideImageBackground.vue +16 -0
- package/src/components/TideIndicator.vue +10 -0
- package/src/components/TideInputCheckbox.vue +24 -0
- package/src/components/TideInputRadio.vue +20 -0
- package/src/components/TideInputSelect.vue +2 -2
- package/src/components/TideInputSupportingText.vue +9 -0
- package/src/components/TideInputText.vue +47 -1
- package/src/components/TideInputTextarea.vue +30 -0
- package/src/components/TideLink.vue +24 -0
- package/src/components/TideModal.vue +9 -0
- package/src/components/TidePopover.vue +12 -0
- package/src/components/TideRating.vue +16 -0
- package/src/components/TideRealmLogo.vue +9 -0
- package/src/components/TideSheet.vue +9 -0
- package/src/components/TideSwitch.vue +10 -0
- package/src/components/TideTabs.vue +10 -0
- package/src/components/TideToaster.vue +9 -0
- package/src/stories/TideAccordionItem.stories.ts +4 -12
- package/src/stories/TideAlert.stories.ts +2 -11
- package/src/stories/TideBadge.stories.ts +0 -4
- package/src/stories/TideBadgeTrustedPartner.stories.ts +0 -1
- package/src/stories/TideBreadCrumbs.stories.ts +0 -1
- package/src/stories/TideButtonPagination.stories.ts +0 -4
- package/src/stories/TideButtonSegmented.stories.ts +0 -1
- package/src/stories/TideCard.stories.ts +9 -8
- package/src/stories/TideCarousel.stories.ts +0 -7
- package/src/stories/TideChipAction.stories.ts +2 -2
- package/src/stories/TideChipFilter.stories.ts +0 -1
- package/src/stories/TideChipInput.stories.ts +0 -1
- package/src/stories/TideColumns.stories.ts +0 -1
- package/src/stories/TideDivider.stories.ts +0 -1
- package/src/stories/TideIcon.stories.ts +0 -2
- package/src/stories/TideImage.stories.ts +1 -11
- package/src/stories/TideImageBackground.stories.ts +1 -7
- package/src/stories/TideIndicator.stories.ts +0 -1
- package/src/stories/TideInputCheckbox.stories.ts +2 -14
- package/src/stories/TideInputRadio.stories.ts +1 -9
- package/src/stories/TideInputSelect.stories.ts +2 -8
- package/src/stories/TideInputText.stories.ts +1 -22
- package/src/stories/TideInputTextarea.stories.ts +1 -14
- package/src/stories/TideLink.stories.ts +1 -10
- package/src/stories/TidePopover.stories.ts +0 -2
- package/src/stories/TideRating.stories.ts +1 -7
- package/src/stories/TideSwitch.stories.ts +1 -4
- package/src/stories/TideTabs.stories.ts +0 -1
- package/src/types/Icon.ts +1 -0
- 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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
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' },
|
|
@@ -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' },
|
|
@@ -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
|
-
|
|
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',
|
|
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',
|
|
55
|
+
if: { arg: 'element', neq: ELEMENT.BUTTON },
|
|
56
56
|
},
|
|
57
57
|
label: {
|
|
58
58
|
control: 'text',
|