@lumx/core 4.3.2-alpha.4 → 4.3.2-alpha.40

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 (130) hide show
  1. package/js/components/Badge/BadgeWrapper.d.ts +13 -0
  2. package/js/components/Badge/BadgeWrapperStories.d.ts +29 -0
  3. package/js/components/Badge/BadgeWrapperTests.d.ts +9 -0
  4. package/js/components/Badge/Stories.d.ts +52 -0
  5. package/js/components/Badge/Tests.d.ts +12 -0
  6. package/js/components/Badge/index.d.ts +37 -0
  7. package/js/components/Button/Button.d.ts +48 -0
  8. package/js/components/Button/ButtonGroup.d.ts +36 -0
  9. package/js/components/Button/ButtonGroupStories.d.ts +37 -0
  10. package/js/components/Button/ButtonRoot.d.ts +55 -0
  11. package/js/components/Button/ButtonRootTests.d.ts +12 -0
  12. package/js/components/Button/IconButton.d.ts +45 -0
  13. package/js/components/Button/IconButtonStories.d.ts +212 -0
  14. package/js/components/Button/IconButtonTests.d.ts +15 -0
  15. package/js/components/Button/Stories.d.ts +302 -0
  16. package/js/components/Button/Tests.d.ts +15 -0
  17. package/js/components/Checkbox/Stories.d.ts +88 -0
  18. package/js/components/Checkbox/Tests.d.ts +15 -0
  19. package/js/components/Checkbox/index.d.ts +49 -0
  20. package/js/components/Divider/Stories.d.ts +21 -0
  21. package/js/components/Divider/Tests.d.ts +12 -0
  22. package/js/components/Divider/index.d.ts +27 -0
  23. package/js/components/Flag/Stories.d.ts +120 -0
  24. package/js/components/Flag/Tests.d.ts +14 -0
  25. package/js/components/Flag/index.d.ts +34 -0
  26. package/js/components/FlexBox/Stories.d.ts +108 -0
  27. package/js/components/FlexBox/Tests.d.ts +13 -0
  28. package/js/components/FlexBox/constants.d.ts +4 -0
  29. package/js/components/FlexBox/index.d.ts +50 -0
  30. package/js/components/FlexBox/types.d.ts +7 -0
  31. package/js/components/GridColumn/GridColumn.d.ts +48 -0
  32. package/js/components/GridColumn/GridColumnStories.d.ts +47 -0
  33. package/js/components/GridColumn/GridColumnTests.d.ts +12 -0
  34. package/js/components/Heading/Stories.d.ts +89 -0
  35. package/js/components/Heading/Tests.d.ts +11 -0
  36. package/js/components/Heading/constants.d.ts +21 -0
  37. package/js/components/Heading/index.d.ts +44 -0
  38. package/js/components/Heading/utils.d.ts +8 -0
  39. package/js/components/Icon/Stories.d.ts +150 -0
  40. package/js/components/Icon/Tests.d.ts +14 -0
  41. package/js/components/Icon/constants.d.ts +1 -0
  42. package/js/components/Icon/index.d.ts +41 -0
  43. package/js/components/InputHelper/Stories.d.ts +43 -0
  44. package/js/components/InputHelper/Tests.d.ts +12 -0
  45. package/js/components/InputHelper/constants.d.ts +3 -0
  46. package/js/components/InputHelper/index.d.ts +26 -0
  47. package/js/components/InputLabel/Stories.d.ts +34 -0
  48. package/js/components/InputLabel/Tests.d.ts +12 -0
  49. package/js/components/InputLabel/index.d.ts +25 -0
  50. package/js/components/Link/Stories.d.ts +93 -0
  51. package/js/components/Link/Tests.d.ts +15 -0
  52. package/js/components/Link/index.d.ts +54 -0
  53. package/js/components/Message/Stories.d.ts +119 -0
  54. package/js/components/Message/Tests.d.ts +14 -0
  55. package/js/components/Message/index.d.ts +75 -0
  56. package/js/components/ProgressCircular/Stories.d.ts +30 -0
  57. package/js/components/ProgressCircular/Tests.d.ts +11 -0
  58. package/js/components/ProgressCircular/index.d.ts +52 -0
  59. package/js/components/ProgressLinear/Stories.d.ts +11 -0
  60. package/js/components/ProgressLinear/Tests.d.ts +11 -0
  61. package/js/components/ProgressLinear/index.d.ts +27 -0
  62. package/js/components/RadioButton/Stories.d.ts +77 -0
  63. package/js/components/RadioButton/Tests.d.ts +15 -0
  64. package/js/components/RadioButton/index.d.ts +45 -0
  65. package/js/components/RawClickable/Tests.d.ts +14 -0
  66. package/js/components/RawClickable/index.d.ts +14 -0
  67. package/js/components/Skeleton/SkeletonCircle.d.ts +32 -0
  68. package/js/components/Skeleton/SkeletonCircleStories.d.ts +45 -0
  69. package/js/components/Skeleton/SkeletonCircleTests.d.ts +12 -0
  70. package/js/components/Skeleton/SkeletonRectangle.d.ts +47 -0
  71. package/js/components/Skeleton/SkeletonRectangleStories.d.ts +87 -0
  72. package/js/components/Skeleton/SkeletonRectangleTests.d.ts +13 -0
  73. package/js/components/Skeleton/SkeletonTypography.d.ts +37 -0
  74. package/js/components/Skeleton/SkeletonTypographyStories.d.ts +40 -0
  75. package/js/components/Skeleton/SkeletonTypographyTests.d.ts +13 -0
  76. package/js/components/Skeleton/index.d.ts +3 -0
  77. package/js/components/Switch/Stories.d.ts +94 -0
  78. package/js/components/Switch/Tests.d.ts +15 -0
  79. package/js/components/Switch/index.d.ts +47 -0
  80. package/js/components/Table/Stories.d.ts +25 -0
  81. package/js/components/Table/TableCell.d.ts +55 -0
  82. package/js/components/Table/TableCellStories.d.ts +44 -0
  83. package/js/components/Table/TableCellTests.d.ts +11 -0
  84. package/js/components/Table/TableRowStories.d.ts +23 -0
  85. package/js/components/Table/Tests.d.ts +11 -0
  86. package/js/components/Table/constants.d.ts +9 -0
  87. package/js/components/Table/index.d.ts +27 -0
  88. package/js/components/Text/Stories.d.ts +167 -0
  89. package/js/components/Text/Tests.d.ts +10 -0
  90. package/js/components/Text/index.d.ts +935 -0
  91. package/js/components/Thumbnail/Stories.d.ts +178 -0
  92. package/js/components/Thumbnail/Tests.d.ts +11 -0
  93. package/js/components/Thumbnail/index.d.ts +84 -0
  94. package/js/components/Thumbnail/types.d.ts +45 -0
  95. package/js/components/Thumbnail/utils.d.ts +79 -0
  96. package/js/components/Toolbar/Stories.d.ts +46 -0
  97. package/js/components/Toolbar/Tests.d.ts +12 -0
  98. package/js/components/Toolbar/index.d.ts +33 -0
  99. package/js/constants/enums/index.d.ts +9 -0
  100. package/js/constants/enums/index.js +10 -1
  101. package/js/constants/index.js +1 -1
  102. package/js/types/AriaAttributes.d.ts +29 -2
  103. package/js/types/PartialBy.d.ts +12 -0
  104. package/js/types/index.d.ts +2 -0
  105. package/js/types/jsx/PropsToOverride.d.ts +2 -0
  106. package/js/utils/classNames/bem/block.d.ts +3 -2
  107. package/js/utils/classNames/bem/element.d.ts +3 -2
  108. package/js/utils/classNames/bem/index.d.ts +5 -4
  109. package/package.json +31 -2
  110. package/stories/controls/color.d.ts +15 -0
  111. package/stories/controls/element.d.ts +16 -0
  112. package/stories/controls/focusPoint.d.ts +8 -0
  113. package/stories/controls/icons.d.ts +66 -0
  114. package/stories/controls/image.d.ts +96 -0
  115. package/stories/controls/selectArgType.d.ts +7 -0
  116. package/stories/controls/theme.d.ts +7 -0
  117. package/stories/controls/typography.d.ts +8 -0
  118. package/stories/controls/withUndefined.d.ts +1 -0
  119. package/stories/types.d.ts +43 -0
  120. package/stories/utils/combinations.d.ts +100 -0
  121. package/stories/utils/concatPath.d.ts +10 -0
  122. package/stories/utils/disableArgTypes.d.ts +7 -0
  123. package/stories/utils/initDemoShadowDOMPortal.d.ts +5 -0
  124. package/stories/utils/lorem.d.ts +7 -0
  125. package/stories/utils/toFlattenProps.d.ts +12 -0
  126. package/stories/utils/withCategory.d.ts +4 -0
  127. package/testing/commonTestsSuiteTL.d.ts +87 -0
  128. package/testing/index.d.ts +1 -0
  129. package/testing/queries.d.ts +4 -0
  130. package/js/utils/events/index.js +0 -2
@@ -0,0 +1,94 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ /**
3
+ * Setup Switch stories for a specific framework (React or Vue).
4
+ * This function creates all the stories with the appropriate decorators.
5
+ * Framework-specific render functions or args can be injected via `overrides`.
6
+ */
7
+ export declare function setup({ component, render, decorators: { withCombinations }, }: SetupStoriesOptions<{
8
+ decorators: 'withCombinations';
9
+ }>): {
10
+ meta: {
11
+ component: any;
12
+ render: any;
13
+ argTypes: {
14
+ onChange: {
15
+ action: boolean;
16
+ };
17
+ name: {
18
+ control: boolean;
19
+ };
20
+ value: {
21
+ control: boolean;
22
+ };
23
+ position: {
24
+ control: string;
25
+ options: string[];
26
+ };
27
+ };
28
+ args: {
29
+ isChecked: boolean;
30
+ name: string;
31
+ value: string;
32
+ helper?: string | undefined;
33
+ id?: string | undefined;
34
+ label?: import("react").ReactNode;
35
+ inputProps?: Record<string, any> | undefined;
36
+ inputRef?: import("../../types").CommonRef;
37
+ inputId?: string | undefined;
38
+ handleChange?: ((isChecked: boolean, value?: string, name?: string, event?: any) => void) | undefined;
39
+ position?: "left" | "right" | undefined;
40
+ ref?: import("../../types").CommonRef;
41
+ theme?: import("../../constants").Theme | undefined;
42
+ className?: string | undefined;
43
+ 'aria-disabled'?: import("../../types/Booleanish").Booleanish | undefined;
44
+ isDisabled?: boolean | undefined;
45
+ disabled?: boolean | undefined;
46
+ checked?: boolean | undefined;
47
+ };
48
+ };
49
+ /** Default switch */
50
+ Default: {};
51
+ /** With label and helper */
52
+ LabelAndHelper: {
53
+ argTypes: {
54
+ label: {
55
+ control: string;
56
+ };
57
+ helper: {
58
+ control: string;
59
+ };
60
+ };
61
+ args: {
62
+ label: string;
63
+ helper: string;
64
+ };
65
+ };
66
+ /** With position right */
67
+ PositionRight: {
68
+ argTypes: {
69
+ position: {
70
+ control: boolean;
71
+ };
72
+ };
73
+ args: {
74
+ label: string;
75
+ position: string;
76
+ };
77
+ };
78
+ /** Disabled */
79
+ Disabled: {
80
+ argTypes: {
81
+ isDisabled: {
82
+ control: boolean;
83
+ };
84
+ 'aria-disabled': {
85
+ control: boolean;
86
+ };
87
+ };
88
+ args: {
89
+ label: string;
90
+ helper: string;
91
+ };
92
+ decorators: ((story: any, context: any) => any)[];
93
+ };
94
+ };
@@ -0,0 +1,15 @@
1
+ import { SetupOptions } from '../../../testing';
2
+ import { SwitchProps } from '.';
3
+ type SetupProps = Partial<SwitchProps>;
4
+ /**
5
+ * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
6
+ */
7
+ export declare const setup: (propsOverride: SetupProps | undefined, { render, ...options }: SetupOptions<SwitchProps>) => {
8
+ switchWrapper: HTMLElement;
9
+ helper: HTMLElement | null;
10
+ label: HTMLElement | null;
11
+ input: HTMLElement;
12
+ props: SwitchProps;
13
+ };
14
+ declare const _default: (renderOptions: SetupOptions<SwitchProps>) => void;
15
+ export default _default;
@@ -0,0 +1,47 @@
1
+ import type { JSXElement, LumxClassName, HasTheme, HasAriaDisabled, HasDisabled, HasClassName, HasChecked, CommonRef } from '../../types';
2
+ /**
3
+ * Defines the props of the component.
4
+ */
5
+ export interface SwitchProps extends HasTheme, HasClassName, HasAriaDisabled, HasDisabled, HasChecked {
6
+ /** Helper text. */
7
+ helper?: string;
8
+ /** Native input id property. */
9
+ id?: string;
10
+ /** Label text. */
11
+ label?: JSXElement;
12
+ /** Native input name property. */
13
+ name?: string;
14
+ /** Native input value property. */
15
+ value?: string;
16
+ /** optional props for input */
17
+ inputProps?: Record<string, any>;
18
+ /** Native input ref. */
19
+ inputRef?: CommonRef;
20
+ /** Native input id. */
21
+ inputId: string;
22
+ /** On change callback. */
23
+ handleChange?(isChecked: boolean, value?: string, name?: string, event?: any): void;
24
+ /** Position of the switch relative to the label. */
25
+ position?: 'left' | 'right';
26
+ /** reference to the root element */
27
+ ref?: CommonRef;
28
+ }
29
+ /**
30
+ * Component display name.
31
+ */
32
+ export declare const COMPONENT_NAME = "Switch";
33
+ /**
34
+ * Component default class name and class prefix.
35
+ */
36
+ export declare const CLASSNAME: LumxClassName<typeof COMPONENT_NAME>;
37
+ /**
38
+ * Component default props.
39
+ */
40
+ export declare const DEFAULT_PROPS: Partial<SwitchProps>;
41
+ /**
42
+ * Switch component.
43
+ *
44
+ * @param props Component props.
45
+ * @return JSX element.
46
+ */
47
+ export declare const Switch: (props: SwitchProps) => import("react").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import type { SetupStoriesOptions } from '../../../stories/types';
2
+ export declare function setup({ component, overrides, }: SetupStoriesOptions<{
3
+ overrides: 'Default' | 'WithHeader';
4
+ decorators?: never;
5
+ }>): {
6
+ meta: {
7
+ component: any;
8
+ args: {
9
+ hasBefore: boolean;
10
+ hasDividers: boolean;
11
+ children?: import("react").ReactNode;
12
+ ref?: import("../../types").CommonRef;
13
+ theme?: import("../../constants").Theme | undefined;
14
+ className?: string | undefined;
15
+ };
16
+ };
17
+ /** Simple table */
18
+ Default: {
19
+ [x: string]: any;
20
+ };
21
+ /** Table with header */
22
+ WithHeader: {
23
+ [x: string]: any;
24
+ };
25
+ };
@@ -0,0 +1,55 @@
1
+ import type { JSXElement, HasClassName, CommonRef, ValueOf } from '../../types';
2
+ /**
3
+ * Table head cell sort order.
4
+ */
5
+ export declare const ThOrder: {
6
+ readonly asc: "asc";
7
+ readonly desc: "desc";
8
+ };
9
+ export type ThOrder = ValueOf<typeof ThOrder>;
10
+ /**
11
+ * Table cell variants.
12
+ */
13
+ export declare const TableCellVariant: {
14
+ readonly body: "body";
15
+ readonly head: "head";
16
+ };
17
+ export type TableCellVariant = ValueOf<typeof TableCellVariant>;
18
+ /**
19
+ * Defines the props of the component.
20
+ */
21
+ export interface TableCellProps extends HasClassName {
22
+ /** Icon (SVG path).(thead only). */
23
+ icon?: string;
24
+ /** Whether the column is sortable or not (thead only). */
25
+ isSortable?: boolean;
26
+ /** Sort order displayed as icon (sortable thead only). */
27
+ sortOrder?: ThOrder;
28
+ /** Variant. */
29
+ variant?: TableCellVariant;
30
+ /** On header cell click callback. */
31
+ handleClick?(): void;
32
+ /** Children */
33
+ children?: JSXElement;
34
+ /** reference to the root element */
35
+ ref?: CommonRef;
36
+ }
37
+ /**
38
+ * Component display name.
39
+ */
40
+ export declare const COMPONENT_NAME = "TableCell";
41
+ /**
42
+ * Component default class name and class prefix.
43
+ */
44
+ export declare const CLASSNAME: string;
45
+ /**
46
+ * Component default props.
47
+ */
48
+ export declare const DEFAULT_PROPS: Partial<TableCellProps>;
49
+ /**
50
+ * TableCell component.
51
+ *
52
+ * @param props Component props.
53
+ * @return React element.
54
+ */
55
+ export declare const TableCell: (props: TableCellProps) => import("react").JSX.Element;
@@ -0,0 +1,44 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ export declare function setup({ component, decorators: { withCombinations }, icon, overrides, }: SetupStoriesOptions<{
3
+ overrides: 'Default' | 'Header' | 'AllHeaderStates';
4
+ decorators: 'withCombinations';
5
+ }> & {
6
+ icon: string;
7
+ }): {
8
+ meta: {
9
+ component: any;
10
+ argTypes: {
11
+ variant: {
12
+ control: {
13
+ type: "select" | "inline-radio";
14
+ };
15
+ options: ("body" | "head")[];
16
+ mapping: Record<string, "body" | "head"> | undefined;
17
+ };
18
+ onHeaderClick: {
19
+ action: boolean;
20
+ };
21
+ };
22
+ };
23
+ /** Simple body cell */
24
+ Default: {
25
+ args: {
26
+ children: string;
27
+ };
28
+ };
29
+ /** Header cell */
30
+ Header: {
31
+ args: {
32
+ variant: string;
33
+ children: string;
34
+ };
35
+ };
36
+ /** Combination of all header cell states */
37
+ AllHeaderStates: {
38
+ args: {
39
+ variant: string;
40
+ children: string;
41
+ };
42
+ decorators: ((story: any, context: any) => any)[];
43
+ };
44
+ };
@@ -0,0 +1,11 @@
1
+ import { SetupOptions } from '../../../testing';
2
+ /**
3
+ * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
4
+ */
5
+ export declare const setup: (propsOverride: any | undefined, { render, ...options }: SetupOptions<any>) => {
6
+ props: any;
7
+ tableCell: HTMLElement;
8
+ wrapper: Partial<import("../../../testing").SetupResult>;
9
+ };
10
+ declare const _default: (renderOptions: SetupOptions<any>) => void;
11
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ export declare function setup({ component, render, decorators: { withCombinations }, overrides, }: SetupStoriesOptions<{
3
+ overrides: 'Default' | 'AllStates';
4
+ decorators: 'withCombinations';
5
+ }>): {
6
+ meta: {
7
+ component: any;
8
+ render: any;
9
+ argTypes: {
10
+ children: {
11
+ control: boolean;
12
+ };
13
+ };
14
+ };
15
+ /** Simple table row */
16
+ Default: {
17
+ [x: string]: any;
18
+ };
19
+ /** Combination of all states */
20
+ AllStates: {
21
+ decorators: ((story: any, context: any) => any)[];
22
+ };
23
+ };
@@ -0,0 +1,11 @@
1
+ import { SetupOptions } from '../../../testing';
2
+ /**
3
+ * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
4
+ */
5
+ export declare const setup: (propsOverride: any | undefined, { render, ...options }: SetupOptions<any>) => {
6
+ props: any;
7
+ table: HTMLElement;
8
+ wrapper: Partial<import("../../../testing").SetupResult>;
9
+ };
10
+ declare const _default: (renderOptions: SetupOptions<any>) => void;
11
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { LumxClassName } from '../../types';
2
+ /**
3
+ * Component display name.
4
+ */
5
+ export declare const COMPONENT_NAME = "Table";
6
+ /**
7
+ * Component default class name and class prefix.
8
+ */
9
+ export declare const CLASSNAME: LumxClassName<typeof COMPONENT_NAME>;
@@ -0,0 +1,27 @@
1
+ import type { JSXElement, HasTheme, HasClassName, CommonRef } from '../../types';
2
+ import { CLASSNAME, COMPONENT_NAME } from './constants';
3
+ /**
4
+ * Defines the props of the component.
5
+ */
6
+ export interface TableProps extends HasTheme, HasClassName {
7
+ /** Whether the table has checkbox or thumbnail on first cell or not. */
8
+ hasBefore?: boolean;
9
+ /** Whether the table has dividers or not. */
10
+ hasDividers?: boolean;
11
+ /** Children */
12
+ children?: JSXElement;
13
+ /** reference to the root element */
14
+ ref?: CommonRef;
15
+ }
16
+ /**
17
+ * Component default props.
18
+ */
19
+ export declare const DEFAULT_PROPS: Partial<TableProps>;
20
+ /**
21
+ * Table component.
22
+ *
23
+ * @param props Component props.
24
+ * @return React element.
25
+ */
26
+ export declare const Table: (props: TableProps) => import("react").JSX.Element;
27
+ export { CLASSNAME, COMPONENT_NAME };
@@ -0,0 +1,167 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ /** Shared argTypes for Text (also reused by Heading) */
3
+ export declare const TEXT_ARG_TYPES: {
4
+ as: {
5
+ control: {
6
+ type: "select" | "inline-radio";
7
+ };
8
+ options: import("../../types").TextElement[];
9
+ mapping: Record<string, import("../../types").TextElement> | undefined;
10
+ };
11
+ typography: {
12
+ control: {
13
+ type: "select" | "inline-radio";
14
+ };
15
+ options: ("overline" | "caption" | "body1" | "body2" | "subtitle1" | "subtitle2" | "title" | "headline" | "display1" | "custom-title1" | "custom-title2" | "custom-title3" | "custom-title4" | "custom-title5" | "custom-title6" | "custom-intro" | "custom-body-large" | "custom-body" | "custom-quote" | "custom-publish-info" | "custom-button")[];
16
+ mapping: Record<string, "overline" | "caption" | "body1" | "body2" | "subtitle1" | "subtitle2" | "title" | "headline" | "display1" | "custom-title1" | "custom-title2" | "custom-title3" | "custom-title4" | "custom-title5" | "custom-title6" | "custom-intro" | "custom-body-large" | "custom-body" | "custom-quote" | "custom-publish-info" | "custom-button"> | undefined;
17
+ };
18
+ color: {
19
+ control: {
20
+ type: "select" | "inline-radio";
21
+ };
22
+ options: ("light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined)[];
23
+ mapping: Record<string, "light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined> | undefined;
24
+ };
25
+ colorVariant: {
26
+ control: {
27
+ type: "select" | "inline-radio";
28
+ };
29
+ options: ("D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N")[];
30
+ mapping: Record<string, "D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N"> | undefined;
31
+ };
32
+ whiteSpace: {
33
+ control: {
34
+ type: "select" | "inline-radio";
35
+ };
36
+ options: string[];
37
+ mapping: Record<string, string> | undefined;
38
+ };
39
+ };
40
+ /**
41
+ * Setup Text stories for a specific framework (React or Vue).
42
+ * This function creates all the stories with the appropriate decorators.
43
+ * Framework-specific render functions or args can be injected via `overrides`.
44
+ */
45
+ export declare function setup({ component, render, decorators: { withCombinations, withResizableBox }, overrides, }: SetupStoriesOptions<{
46
+ overrides: 'TestUpdateTruncateTitleLabel' | 'WithIcon';
47
+ decorators: 'withCombinations' | 'withResizableBox';
48
+ }>): {
49
+ meta: {
50
+ component: any;
51
+ render: any;
52
+ args: {
53
+ as: string;
54
+ children: string;
55
+ };
56
+ argTypes: {
57
+ as: {
58
+ control: {
59
+ type: "select" | "inline-radio";
60
+ };
61
+ options: import("../../types").TextElement[];
62
+ mapping: Record<string, import("../../types").TextElement> | undefined;
63
+ };
64
+ typography: {
65
+ control: {
66
+ type: "select" | "inline-radio";
67
+ };
68
+ options: ("overline" | "caption" | "body1" | "body2" | "subtitle1" | "subtitle2" | "title" | "headline" | "display1" | "custom-title1" | "custom-title2" | "custom-title3" | "custom-title4" | "custom-title5" | "custom-title6" | "custom-intro" | "custom-body-large" | "custom-body" | "custom-quote" | "custom-publish-info" | "custom-button")[];
69
+ mapping: Record<string, "overline" | "caption" | "body1" | "body2" | "subtitle1" | "subtitle2" | "title" | "headline" | "display1" | "custom-title1" | "custom-title2" | "custom-title3" | "custom-title4" | "custom-title5" | "custom-title6" | "custom-intro" | "custom-body-large" | "custom-body" | "custom-quote" | "custom-publish-info" | "custom-button"> | undefined;
70
+ };
71
+ color: {
72
+ control: {
73
+ type: "select" | "inline-radio";
74
+ };
75
+ options: ("light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined)[];
76
+ mapping: Record<string, "light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined> | undefined;
77
+ };
78
+ colorVariant: {
79
+ control: {
80
+ type: "select" | "inline-radio";
81
+ };
82
+ options: ("D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N")[];
83
+ mapping: Record<string, "D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N"> | undefined;
84
+ };
85
+ whiteSpace: {
86
+ control: {
87
+ type: "select" | "inline-radio";
88
+ };
89
+ options: string[];
90
+ mapping: Record<string, string> | undefined;
91
+ };
92
+ };
93
+ };
94
+ /** Default text component as a paragraph */
95
+ Base: {};
96
+ /** Long text should wrap by default */
97
+ LongText: {
98
+ args: {
99
+ children: string;
100
+ };
101
+ decorators: ((story: any, context: any) => any)[];
102
+ };
103
+ /** Long text without wrapping */
104
+ NoWrap: {
105
+ args: {
106
+ children: string;
107
+ noWrap: boolean;
108
+ };
109
+ };
110
+ /** Long text with line breaks */
111
+ AllWhiteSpace: {
112
+ args: {
113
+ children: string;
114
+ };
115
+ decorators: ((story: any, context: any) => any)[];
116
+ };
117
+ /** Long text with single line truncate ellipsis */
118
+ Truncate: {
119
+ args: {
120
+ children: string;
121
+ truncate: boolean;
122
+ };
123
+ };
124
+ /** Long text with multi line truncate ellipsis */
125
+ TruncateMultiline: {
126
+ args: {
127
+ children: string;
128
+ truncate: {
129
+ lines: number;
130
+ };
131
+ };
132
+ };
133
+ /** Text containing icons (should match font size) */
134
+ WithIcon: {
135
+ [x: string]: any;
136
+ };
137
+ /** All typographies */
138
+ AllTypography: {
139
+ argTypes: {
140
+ typography: {
141
+ control: boolean;
142
+ };
143
+ };
144
+ decorators: ((story: any, context: any) => any)[];
145
+ };
146
+ /** All combinations of color and color variants */
147
+ AllColors: {
148
+ argTypes: {
149
+ color: {
150
+ control: boolean;
151
+ };
152
+ colorVariant: {
153
+ control: boolean;
154
+ };
155
+ };
156
+ decorators: ((story: any, context: any) => any)[];
157
+ };
158
+ /** Test the update of the `title` attribute when text overflows */
159
+ TestUpdateTruncateTitleLabel: {
160
+ parameters: {
161
+ chromatic: {
162
+ disable: boolean;
163
+ };
164
+ };
165
+ tags: string[];
166
+ };
167
+ };
@@ -0,0 +1,10 @@
1
+ import { SetupOptions } from '@lumx/core/testing';
2
+ import { TextProps } from '.';
3
+ type SetupProps = Partial<TextProps>;
4
+ export declare const setup: (propsOverride: SetupProps | undefined, { render, ...options }: SetupOptions<TextProps>) => {
5
+ props: TextProps;
6
+ container: any;
7
+ element: HTMLElement;
8
+ };
9
+ declare const _default: (renderOptions: SetupOptions<TextProps>) => void;
10
+ export default _default;