@lumx/core 4.14.0-alpha.0 → 4.14.0-alpha.1

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 (107) hide show
  1. package/js/components/AlertDialog/Stories.d.ts +115 -0
  2. package/js/components/AlertDialog/index.d.ts +91 -0
  3. package/js/components/Avatar/Stories.d.ts +52 -0
  4. package/js/components/Avatar/index.d.ts +50 -0
  5. package/js/components/Badge/BadgeWrapper.d.ts +13 -0
  6. package/js/components/Badge/BadgeWrapperStories.d.ts +29 -0
  7. package/js/components/Badge/Stories.d.ts +46 -0
  8. package/js/components/Badge/index.d.ts +37 -0
  9. package/js/components/Button/ButtonGroup.d.ts +36 -0
  10. package/js/components/Button/ButtonGroupStories.d.ts +33 -0
  11. package/js/components/Button/IconButtonStories.d.ts +210 -0
  12. package/js/components/Button/Stories.d.ts +302 -0
  13. package/js/components/Checkbox/Stories.d.ts +89 -0
  14. package/js/components/Chip/ChipGroupStories.d.ts +17 -0
  15. package/js/components/Chip/SelectionChipGroupStories.d.ts +54 -0
  16. package/js/components/Chip/Stories.d.ts +127 -0
  17. package/js/components/Combobox/ComboboxOptionTests.d.ts +24 -0
  18. package/js/components/Combobox/Stories.d.ts +167 -0
  19. package/js/components/Combobox/TestStories.d.ts +143 -0
  20. package/js/components/Combobox/Tests.d.ts +168 -0
  21. package/js/components/Dialog/Stories.d.ts +97 -0
  22. package/js/components/Dialog/index.d.ts +99 -0
  23. package/js/components/Divider/Stories.d.ts +21 -0
  24. package/js/components/DragHandle/Stories.d.ts +18 -0
  25. package/js/components/ExpansionPanel/Stories.d.ts +67 -0
  26. package/js/components/Flag/Stories.d.ts +120 -0
  27. package/js/components/FlexBox/Stories.d.ts +116 -0
  28. package/js/components/FlexBox/constants.d.ts +3 -3
  29. package/js/components/GenericBlock/Stories.d.ts +74 -0
  30. package/js/components/GenericBlock/constants.d.ts +1 -1
  31. package/js/components/GenericBlock/index.d.ts +85 -0
  32. package/js/components/GridColumn/GridColumnStories.d.ts +45 -0
  33. package/js/components/GridColumn/index.d.ts +2 -0
  34. package/js/components/Heading/Stories.d.ts +90 -0
  35. package/js/components/Icon/Stories.d.ts +156 -0
  36. package/js/components/ImageBlock/Stories.d.ts +187 -0
  37. package/js/components/InlineList/Stories.d.ts +64 -0
  38. package/js/components/InlineList/index.d.ts +53 -0
  39. package/js/components/InputHelper/Stories.d.ts +35 -0
  40. package/js/components/InputLabel/Stories.d.ts +34 -0
  41. package/js/components/Lightbox/Stories.d.ts +40 -0
  42. package/js/components/Lightbox/index.d.ts +68 -0
  43. package/js/components/Link/Stories.d.ts +282 -0
  44. package/js/components/Link/index.d.ts +47 -0
  45. package/js/components/LinkPreview/Stories.d.ts +61 -0
  46. package/js/components/LinkPreview/index.d.ts +53 -0
  47. package/js/components/List/ListDivider.d.ts +33 -0
  48. package/js/components/List/ListDividerStories.d.ts +17 -0
  49. package/js/components/List/ListItemStories.d.ts +53 -0
  50. package/js/components/List/ListSection.d.ts +45 -0
  51. package/js/components/List/ListSectionStories.d.ts +125 -0
  52. package/js/components/List/ListStories.d.ts +34 -0
  53. package/js/components/Message/Stories.d.ts +119 -0
  54. package/js/components/Mosaic/Stories.d.ts +102 -0
  55. package/js/components/Mosaic/index.d.ts +40 -0
  56. package/js/components/Popover/Stories.d.ts +139 -0
  57. package/js/components/Popover/index.d.ts +119 -0
  58. package/js/components/PopoverDialog/Stories.d.ts +44 -0
  59. package/js/components/PopoverDialog/index.d.ts +22 -0
  60. package/js/components/RadioButton/Stories.d.ts +78 -0
  61. package/js/components/RadioGroup/index.d.ts +34 -0
  62. package/js/components/SelectButton/Stories.d.ts +135 -0
  63. package/js/components/SelectButton/TestStories.d.ts +37 -0
  64. package/js/components/SelectButton/Tests.d.ts +34 -0
  65. package/js/components/SelectButton/index.d.ts +85 -0
  66. package/js/components/SelectTextField/Stories.d.ts +192 -0
  67. package/js/components/SelectTextField/TestStories.d.ts +39 -0
  68. package/js/components/SelectTextField/Tests.d.ts +38 -0
  69. package/js/components/SelectTextField/index.d.ts +87 -0
  70. package/js/components/Skeleton/SkeletonCircleStories.d.ts +43 -0
  71. package/js/components/Skeleton/SkeletonRectangleStories.d.ts +83 -0
  72. package/js/components/Skeleton/SkeletonTypographyStories.d.ts +53 -0
  73. package/js/components/Switch/Stories.d.ts +94 -0
  74. package/js/components/Table/Stories.d.ts +30 -0
  75. package/js/components/Table/TableBody.d.ts +25 -0
  76. package/js/components/Table/TableCellStories.d.ts +47 -0
  77. package/js/components/Table/TableHeader.d.ts +29 -0
  78. package/js/components/Table/TableRow.d.ts +35 -0
  79. package/js/components/Table/TableRowStories.d.ts +23 -0
  80. package/js/components/Table/index.d.ts +27 -0
  81. package/js/components/Tabs/Tab.d.ts +70 -0
  82. package/js/components/Tabs/TabPanel.d.ts +43 -0
  83. package/js/components/Text/Stories.d.ts +164 -0
  84. package/js/components/TextField/RawInputText.d.ts +22 -0
  85. package/js/components/TextField/RawInputTextStories.d.ts +16 -0
  86. package/js/components/TextField/RawInputTextareaStories.d.ts +21 -0
  87. package/js/components/TextField/Stories.d.ts +101 -0
  88. package/js/components/TextField/TextField.d.ts +84 -0
  89. package/js/components/Thumbnail/Stories.d.ts +178 -0
  90. package/js/components/Toolbar/Stories.d.ts +29 -0
  91. package/js/components/Toolbar/index.d.ts +33 -0
  92. package/js/components/Tooltip/Stories.d.ts +61 -0
  93. package/js/components/Tooltip/TestStories.d.ts +72 -0
  94. package/js/components/Tooltip/index.d.ts +65 -0
  95. package/js/components/Uploader/Stories.d.ts +116 -0
  96. package/js/components/Uploader/index.d.ts +79 -0
  97. package/js/components/UserBlock/Stories.d.ts +153 -0
  98. package/js/components/UserBlock/index.d.ts +145 -0
  99. package/js/utils/ClickAway/TestStories.d.ts +36 -0
  100. package/js/utils/InfiniteScroll/TestStories.d.ts +50 -0
  101. package/js/utils/InfiniteScroll/index.d.ts +21 -0
  102. package/js/utils/Portal/Stories.d.ts +29 -0
  103. package/js/utils/action-area/Stories.d.ts +38 -0
  104. package/js/utils/select/renderSelectOptions.d.ts +7 -0
  105. package/package.json +2 -2
  106. package/stories/utils/CombinationsTable.d.ts +26 -0
  107. package/stories/utils/ThemingVariablesTable.d.ts +29 -0
@@ -0,0 +1,85 @@
1
+ import type { CommonRef, JSXElement, LumxClassName } from '../../types';
2
+ import { GenericBlockGapSize } from './constants';
3
+ import { FlexBoxProps } from '../FlexBox';
4
+ export interface GenericBlockProps extends FlexBoxProps {
5
+ /**
6
+ * Component to use as visual element.
7
+ */
8
+ figure?: JSXElement;
9
+ /**
10
+ * Main content.
11
+ */
12
+ content?: JSXElement;
13
+ /**
14
+ * Actions to set after the main content.
15
+ */
16
+ actions?: JSXElement;
17
+ /**
18
+ * Orientation of the 3 sections
19
+ */
20
+ orientation?: FlexBoxProps['orientation'];
21
+ /**
22
+ * Horizontal alignment.
23
+ */
24
+ horizontalAlign?: FlexBoxProps['hAlign'];
25
+ /**
26
+ * Vertical alignment.
27
+ */
28
+ verticalAlign?: FlexBoxProps['vAlign'];
29
+ /**
30
+ * The props to forward to the content.
31
+ * By default, the content will have the same alignment as wrapper.
32
+ */
33
+ contentProps?: Omit<FlexBoxProps, 'children'>;
34
+ /**
35
+ * props to forward to the actions element.
36
+ */
37
+ actionsProps?: Omit<FlexBoxProps, 'children'>;
38
+ /**
39
+ * props to forward to the figure element.
40
+ */
41
+ figureProps?: Omit<FlexBoxProps, 'children'>;
42
+ /**
43
+ * FlexBox component
44
+ */
45
+ FlexBox: (props: FlexBoxProps) => any;
46
+ /**
47
+ * Gap space between sections.
48
+ */
49
+ gap?: GenericBlockGapSize;
50
+ /**
51
+ * reference to the root element
52
+ */
53
+ ref?: CommonRef;
54
+ }
55
+ export interface GenericBlockSectionProps extends FlexBoxProps {
56
+ /**
57
+ * Gap space between items.
58
+ */
59
+ gap?: GenericBlockGapSize;
60
+ }
61
+ export type GenericBlockPropsToOverride = 'FlexBox' | 'content';
62
+ /**
63
+ * Component display name.
64
+ */
65
+ export declare const COMPONENT_NAME = "GenericBlock";
66
+ /**
67
+ * Component default class name and class prefix.
68
+ */
69
+ export declare const CLASSNAME: LumxClassName<typeof COMPONENT_NAME>;
70
+ /**
71
+ * Component default props.
72
+ */
73
+ export declare const DEFAULT_PROPS: Partial<GenericBlockProps>;
74
+ /**
75
+ * The GenericBlock is a layout component made of 3 sections that can be
76
+ * displayed either horizontally of vertically with the same gap between each section.
77
+ *
78
+ * The sections are:
79
+ * - `Figure` => A visual element to display before the main content.
80
+ * - `Content` => The main content displayed
81
+ * - `Actions` => One or more actions to set after the element.
82
+ *
83
+ * @see https://www.figma.com/file/lzzrQmsfaXRaOyRfoEogPZ/DS%3A-playground?node-id=1%3A4076
84
+ */
85
+ export declare const GenericBlock: (props: GenericBlockProps) => import("react").JSX.Element;
@@ -0,0 +1,45 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ export declare function setup({ component: GridColumn, }: SetupStoriesOptions<{
3
+ decorators?: never;
4
+ }>): {
5
+ meta: {
6
+ component: any;
7
+ render: ({ nbItems, ...props }: any) => import("react").JSX.Element;
8
+ argTypes: {
9
+ nbItems: {
10
+ control: string;
11
+ };
12
+ gap: {
13
+ control: {
14
+ type: "select" | "inline-radio";
15
+ };
16
+ options: (import("./GridColumn").GridColumnGapSize | undefined)[];
17
+ mapping: Record<string, import("./GridColumn").GridColumnGapSize | undefined> | undefined;
18
+ };
19
+ itemMinWidth: {
20
+ control: string;
21
+ };
22
+ maxColumns: {
23
+ control: string;
24
+ };
25
+ };
26
+ args: {
27
+ nbItems: number;
28
+ as?: any;
29
+ children?: import("react").ReactNode;
30
+ gap?: import("./GridColumn").GridColumnGapSize | undefined;
31
+ maxColumns?: number | undefined;
32
+ itemMinWidth?: number | undefined;
33
+ style?: any;
34
+ ref?: import("../../types").CommonRef;
35
+ className?: string | undefined;
36
+ };
37
+ };
38
+ Default: {};
39
+ Columns: {
40
+ args: {
41
+ maxColumns: number;
42
+ itemMinWidth: number;
43
+ };
44
+ };
45
+ };
@@ -0,0 +1,2 @@
1
+ export { GridColumn, CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS } from './GridColumn';
2
+ export type { GridColumnProps, GridColumnGapSize } from './GridColumn';
@@ -0,0 +1,90 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ /**
3
+ * Setup Heading stories for a specific framework (React or Vue).
4
+ * Framework-specific components (HeadingLevelProvider) are injected via `components`.
5
+ */
6
+ export declare function setup({ component: Heading, components: { HeadingLevelProvider }, decorators: { withCombinations }, }: SetupStoriesOptions<{
7
+ decorators: 'withCombinations';
8
+ components: {
9
+ HeadingLevelProvider: any;
10
+ };
11
+ }>): {
12
+ meta: {
13
+ component: any;
14
+ render: ({ children, ...args }: any) => import("react").JSX.Element;
15
+ argTypes: {
16
+ as: {
17
+ control: {
18
+ type: "select" | "inline-radio";
19
+ };
20
+ options: import("../../types").HeadingElement[];
21
+ mapping: Record<string, import("../../types").HeadingElement> | undefined;
22
+ };
23
+ children: {
24
+ control: string;
25
+ };
26
+ typography: {
27
+ control: {
28
+ type: "select" | "inline-radio";
29
+ };
30
+ options: ("caption" | "title" | "overline" | "body1" | "body2" | "subtitle1" | "subtitle2" | "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")[];
31
+ mapping: Record<string, "caption" | "title" | "overline" | "body1" | "body2" | "subtitle1" | "subtitle2" | "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;
32
+ };
33
+ color: {
34
+ control: {
35
+ type: "select" | "inline-radio";
36
+ };
37
+ options: ("light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined)[];
38
+ mapping: Record<string, "light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined> | undefined;
39
+ };
40
+ colorVariant: {
41
+ control: {
42
+ type: "select" | "inline-radio";
43
+ };
44
+ options: ("D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N")[];
45
+ mapping: Record<string, "D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N"> | undefined;
46
+ };
47
+ whiteSpace: {
48
+ control: {
49
+ type: "select" | "inline-radio";
50
+ };
51
+ options: string[];
52
+ mapping: Record<string, string> | undefined;
53
+ };
54
+ };
55
+ };
56
+ /** Default heading with text */
57
+ Default: {
58
+ args: {
59
+ children: string;
60
+ };
61
+ };
62
+ /** All supported heading elements */
63
+ AllLevels: {
64
+ args: {
65
+ children: string;
66
+ };
67
+ argTypes: {
68
+ as: {
69
+ control: boolean;
70
+ };
71
+ };
72
+ decorators: ((story: any, context: any) => any)[];
73
+ };
74
+ /** All typography */
75
+ AllTypography: {
76
+ args: {
77
+ children: string;
78
+ };
79
+ argTypes: {
80
+ typography: {
81
+ control: boolean;
82
+ };
83
+ };
84
+ decorators: ((story: any, context: any) => any)[];
85
+ };
86
+ /** Nest HeadingLevelProvider to increment heading levels */
87
+ NestedHeadingLevelProvider: {
88
+ render: () => import("react").JSX.Element;
89
+ };
90
+ };
@@ -0,0 +1,156 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ /**
3
+ * Setup Icon stories for a specific framework (React or Vue).
4
+ * Framework-specific components (Text) are injected via `components`.
5
+ */
6
+ export declare function setup({ component: Icon, components: { Text, GridColumn }, decorators: { withCombinations, withWrapper }, }: SetupStoriesOptions<{
7
+ decorators: 'withCombinations' | 'withWrapper';
8
+ components: {
9
+ Text: any;
10
+ GridColumn: any;
11
+ };
12
+ }>): {
13
+ meta: {
14
+ component: any;
15
+ argTypes: {
16
+ icon: {
17
+ control: {
18
+ type: string;
19
+ };
20
+ options: {
21
+ undefined: undefined;
22
+ mdiAbTesting: string;
23
+ mdiAbjadArabic: string;
24
+ mdiAccount: string;
25
+ mdiAccountBox: string;
26
+ mdiAlert: string;
27
+ mdiAlertCircle: string;
28
+ mdiArrowDown: string;
29
+ mdiArrowUp: string;
30
+ mdiAtom: string;
31
+ mdiBee: string;
32
+ mdiBell: string;
33
+ mdiBullhornOutline: string;
34
+ mdiCheck: string;
35
+ mdiCheckCircle: string;
36
+ mdiChevronDown: string;
37
+ mdiChevronLeft: string;
38
+ mdiChevronRight: string;
39
+ mdiChevronUp: string;
40
+ mdiClose: string;
41
+ mdiCloseCircle: string;
42
+ mdiDelete: string;
43
+ mdiDotsHorizontal: string;
44
+ mdiDragVertical: string;
45
+ mdiEarth: string;
46
+ mdiEmail: string;
47
+ mdiEye: string;
48
+ mdiFileEdit: string;
49
+ mdiFlag: string;
50
+ mdiFolder: string;
51
+ mdiFolderGoogleDrive: string;
52
+ mdiFoodApple: string;
53
+ mdiGoogleCirclesExtended: string;
54
+ mdiHeart: string;
55
+ mdiHome: string;
56
+ mdiImageBroken: string;
57
+ mdiInformation: string;
58
+ mdiLink: string;
59
+ mdiMagnifyMinusOutline: string;
60
+ mdiMagnifyPlusOutline: string;
61
+ mdiMenuDown: string;
62
+ mdiMessageTextOutline: string;
63
+ mdiMinus: string;
64
+ mdiOpenInNew: string;
65
+ mdiPauseCircleOutline: string;
66
+ mdiPencil: string;
67
+ mdiPlay: string;
68
+ mdiPlayCircleOutline: string;
69
+ mdiPlus: string;
70
+ mdiRadioboxBlank: string;
71
+ mdiRadioboxMarked: string;
72
+ mdiReply: string;
73
+ mdiSend: string;
74
+ mdiStar: string;
75
+ mdiTextBox: string;
76
+ mdiTextBoxPlus: string;
77
+ mdiTram: string;
78
+ mdiTranslate: string;
79
+ mdiViewList: string;
80
+ };
81
+ };
82
+ hasShape: {
83
+ control: string;
84
+ };
85
+ size: {
86
+ control: {
87
+ type: "select" | "inline-radio";
88
+ };
89
+ options: ("s" | "xxs" | "xs" | "m" | "l" | "xl" | "xxl")[];
90
+ mapping: Record<string, "s" | "xxs" | "xs" | "m" | "l" | "xl" | "xxl"> | undefined;
91
+ };
92
+ color: {
93
+ control: {
94
+ type: "select" | "inline-radio";
95
+ };
96
+ options: ("light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined)[];
97
+ mapping: Record<string, "light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined> | undefined;
98
+ };
99
+ colorVariant: {
100
+ control: {
101
+ type: "select" | "inline-radio";
102
+ };
103
+ options: ("D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N")[];
104
+ mapping: Record<string, "D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N"> | undefined;
105
+ };
106
+ };
107
+ };
108
+ /** All combinations of size and shape */
109
+ SizeAndShape: {
110
+ args: {
111
+ icon: string;
112
+ };
113
+ argTypes: {
114
+ hasShape: {
115
+ control: boolean;
116
+ };
117
+ size: {
118
+ control: boolean;
119
+ };
120
+ };
121
+ decorators: ((story: any, context: any) => any)[];
122
+ };
123
+ /** All combinations of color and color variants */
124
+ AllColors: {
125
+ args: {
126
+ size: "m";
127
+ icon: string;
128
+ };
129
+ argTypes: {
130
+ hasShape: {
131
+ control: boolean;
132
+ };
133
+ color: {
134
+ control: boolean;
135
+ };
136
+ colorVariant: {
137
+ control: boolean;
138
+ };
139
+ };
140
+ decorators: ((story: any, context: any) => any)[];
141
+ };
142
+ /** Icon inside a text component (renders as inline instead of block and can adapt to the verticalAlign) */
143
+ InsideText: {
144
+ args: {
145
+ icon: string;
146
+ size: string;
147
+ };
148
+ argTypes: {
149
+ verticalAlign: {
150
+ control: string;
151
+ options: (string | undefined)[];
152
+ };
153
+ };
154
+ render: (args: any) => import("react").JSX.Element;
155
+ };
156
+ };
@@ -0,0 +1,187 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ import { ImageBlockCaptionPosition } from '.';
3
+ export declare function setup({ component: ImageBlock, components: { Chip, ChipGroup, IconButton }, decorators: { withNestedProps, withWrapper }, }: SetupStoriesOptions<{
4
+ decorators: 'withNestedProps' | 'withWrapper';
5
+ components: {
6
+ Chip: any;
7
+ ChipGroup: any;
8
+ IconButton: any;
9
+ };
10
+ }>): {
11
+ meta: {
12
+ component: any;
13
+ argTypes: {
14
+ size: {
15
+ control: {
16
+ type: "select" | "inline-radio";
17
+ };
18
+ options: ("xl" | "xxl")[];
19
+ mapping: Record<string, "xl" | "xxl"> | undefined;
20
+ };
21
+ image: {
22
+ control: {
23
+ type: "select" | "inline-radio";
24
+ };
25
+ options: string[];
26
+ mapping: Record<string, string> | undefined;
27
+ };
28
+ captionPosition: {
29
+ control: {
30
+ type: "select" | "inline-radio";
31
+ };
32
+ options: ("below" | "over")[];
33
+ mapping: Record<string, "below" | "over"> | undefined;
34
+ };
35
+ 'thumbnailProps.aspectRatio': {
36
+ control: {
37
+ type: "select" | "inline-radio";
38
+ };
39
+ options: ("vertical" | "horizontal" | "original" | "panoramic" | "wide" | "square" | "free")[];
40
+ mapping: Record<string, "vertical" | "horizontal" | "original" | "panoramic" | "wide" | "square" | "free"> | undefined;
41
+ };
42
+ align: {
43
+ control: {
44
+ type: "select" | "inline-radio";
45
+ };
46
+ options: ("center" | "right" | "left")[];
47
+ mapping: Record<string, "center" | "right" | "left"> | undefined;
48
+ };
49
+ tags: {
50
+ control: boolean;
51
+ };
52
+ actions: {
53
+ control: boolean;
54
+ };
55
+ };
56
+ args: {
57
+ image: string;
58
+ actions?: import("react").ReactNode;
59
+ align?: import("../../constants").HorizontalAlignment | undefined;
60
+ alt?: string | undefined;
61
+ captionPosition?: ImageBlockCaptionPosition | undefined;
62
+ fillHeight?: boolean | undefined;
63
+ size?: import(".").ImageBlockSize | undefined;
64
+ thumbnailProps?: import("../../types").GenericProps | undefined;
65
+ ref?: import("../../types").CommonRef;
66
+ Thumbnail?: any;
67
+ ImageCaption?: any;
68
+ className?: string | undefined;
69
+ theme?: import("../../constants").Theme | undefined;
70
+ title?: string | undefined;
71
+ description?: import("react").ReactNode | {
72
+ __html: string;
73
+ };
74
+ titleProps?: import("../../types").GenericProps | undefined;
75
+ descriptionProps?: import("../../types").GenericProps | undefined;
76
+ tags?: import("react").ReactNode;
77
+ captionStyle?: import("../../types").GenericProps | undefined;
78
+ };
79
+ decorators: ((story: any, context: any) => any)[];
80
+ };
81
+ WithCaptionBelow: {
82
+ args: {
83
+ captionPosition: "below";
84
+ size: "xxl";
85
+ title: string;
86
+ description: string;
87
+ };
88
+ };
89
+ WithCaptionOver: {
90
+ args: {
91
+ captionPosition: "over";
92
+ size: "xxl";
93
+ title: string;
94
+ description: string;
95
+ };
96
+ };
97
+ WithAlign: {
98
+ args: {
99
+ image: string;
100
+ size: undefined;
101
+ align: "center";
102
+ captionPosition: "below";
103
+ title: string;
104
+ description: string;
105
+ };
106
+ };
107
+ WithTags: {
108
+ render: ({ tags, ...args }: any) => import("react").JSX.Element;
109
+ args: {
110
+ size: "xxl";
111
+ };
112
+ };
113
+ WithActions: {
114
+ render: ({ actions, ...args }: any) => import("react").JSX.Element;
115
+ args: {
116
+ size: "xxl";
117
+ };
118
+ };
119
+ WithFocusPointHorizontal: {
120
+ args: {
121
+ size: "xxl";
122
+ 'thumbnailProps.aspectRatio': "vertical";
123
+ 'thumbnailProps.focusPoint.x': number;
124
+ 'thumbnailProps.focusPoint.y': number;
125
+ };
126
+ argTypes: {
127
+ 'thumbnailProps.focusPoint.x': {
128
+ control: {
129
+ type: string;
130
+ min: number;
131
+ max: number;
132
+ step: number;
133
+ };
134
+ };
135
+ 'thumbnailProps.focusPoint.y': {
136
+ control: {
137
+ type: string;
138
+ min: number;
139
+ max: number;
140
+ step: number;
141
+ };
142
+ };
143
+ };
144
+ };
145
+ WithFocusPointVertical: {
146
+ args: {
147
+ size: "xxl";
148
+ image: string;
149
+ 'thumbnailProps.aspectRatio': "horizontal";
150
+ 'thumbnailProps.focusPoint.x': number;
151
+ 'thumbnailProps.focusPoint.y': number;
152
+ };
153
+ argTypes: {
154
+ 'thumbnailProps.focusPoint.x': {
155
+ control: {
156
+ type: string;
157
+ min: number;
158
+ max: number;
159
+ step: number;
160
+ };
161
+ };
162
+ 'thumbnailProps.focusPoint.y': {
163
+ control: {
164
+ type: string;
165
+ min: number;
166
+ max: number;
167
+ step: number;
168
+ };
169
+ };
170
+ };
171
+ };
172
+ FullFeatured: {
173
+ render: ({ tags, actions, ...args }: any) => import("react").JSX.Element;
174
+ args: {
175
+ image: string;
176
+ size: undefined;
177
+ align: "center";
178
+ captionPosition: "below";
179
+ title: string;
180
+ description: string;
181
+ 'thumbnailProps.aspectRatio': "horizontal";
182
+ 'thumbnailProps.focusPoint.x': number;
183
+ 'thumbnailProps.focusPoint.y': number;
184
+ };
185
+ decorators: ((story: any, context: any) => any)[];
186
+ };
187
+ };
@@ -0,0 +1,64 @@
1
+ import type { SetupStoriesOptions } from '@lumx/core/stories/types';
2
+ /**
3
+ * Setup InlineList stories for a specific framework (React or Vue).
4
+ * Framework-specific components (Text, Icon) are injected via `components`.
5
+ */
6
+ export declare function setup({ component: InlineList, components: { Text, Icon }, decorators: { withResizableBox }, }: SetupStoriesOptions<{
7
+ decorators: 'withResizableBox';
8
+ components: {
9
+ Text: any;
10
+ Icon: any;
11
+ };
12
+ }>): {
13
+ meta: {
14
+ component: any;
15
+ argTypes: {
16
+ typography: {
17
+ control: {
18
+ type: "select" | "inline-radio";
19
+ };
20
+ options: ("caption" | "title" | "overline" | "body1" | "body2" | "subtitle1" | "subtitle2" | "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")[];
21
+ mapping: Record<string, "caption" | "title" | "overline" | "body1" | "body2" | "subtitle1" | "subtitle2" | "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;
22
+ };
23
+ color: {
24
+ control: {
25
+ type: "select" | "inline-radio";
26
+ };
27
+ options: ("light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined)[];
28
+ mapping: Record<string, "light" | "dark" | "primary" | "secondary" | "blue" | "green" | "yellow" | "red" | "grey" | undefined> | undefined;
29
+ };
30
+ colorVariant: {
31
+ control: {
32
+ type: "select" | "inline-radio";
33
+ };
34
+ options: ("D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N")[];
35
+ mapping: Record<string, "D1" | "D2" | "L1" | "L2" | "L3" | "L4" | "L5" | "L6" | "N"> | undefined;
36
+ };
37
+ children: {
38
+ control: boolean;
39
+ };
40
+ };
41
+ };
42
+ WithElements: {
43
+ render: (args: any) => import("react").JSX.Element;
44
+ };
45
+ MixedNoWrapAndTruncate: {
46
+ args: {
47
+ typography: string;
48
+ color: string;
49
+ colorVariant: string;
50
+ style: {
51
+ width: string;
52
+ };
53
+ };
54
+ render: ({ children, ...args }: any) => import("react").JSX.Element;
55
+ decorators: ((story: any, context: any) => any)[];
56
+ };
57
+ Wrap: {
58
+ args: {
59
+ wrap: boolean;
60
+ };
61
+ render: ({ children, ...args }: any) => import("react").JSX.Element;
62
+ decorators: ((story: any, context: any) => any)[];
63
+ };
64
+ };
@@ -0,0 +1,53 @@
1
+ import type { ColorVariant, ColorWithVariants, Typography } from '../../constants';
2
+ import type { CommonRef, HasClassName, JSXElement, LumxClassName } from '../../types';
3
+ /**
4
+ * Defines the props of the component.
5
+ */
6
+ export interface InlineListProps extends HasClassName {
7
+ /**
8
+ * List items to render.
9
+ */
10
+ items?: JSXElement[];
11
+ /**
12
+ * Text color.
13
+ */
14
+ color?: ColorWithVariants;
15
+ /**
16
+ * Lightened or darkened variant of the selected color.
17
+ */
18
+ colorVariant?: ColorVariant;
19
+ /**
20
+ * Typography variant.
21
+ */
22
+ typography?: Typography;
23
+ /**
24
+ * Activate line wrap on overflow.
25
+ */
26
+ wrap?: boolean;
27
+ /** reference to the root element */
28
+ ref?: CommonRef;
29
+ }
30
+ /**
31
+ * Component display name.
32
+ */
33
+ export declare const COMPONENT_NAME = "InlineList";
34
+ /**
35
+ * Component default class name and class prefix.
36
+ */
37
+ export declare const CLASSNAME: LumxClassName<typeof COMPONENT_NAME>;
38
+ /**
39
+ * Component default props.
40
+ */
41
+ export declare const DEFAULT_PROPS: Partial<InlineListProps>;
42
+ /**
43
+ * InlineList component.
44
+ *
45
+ * @param props Component props.
46
+ * @return JSX element.
47
+ */
48
+ export declare const InlineList: {
49
+ (props: InlineListProps): import("react").JSX.Element;
50
+ displayName: string;
51
+ className: "lumx-inline-list";
52
+ defaultProps: Partial<InlineListProps>;
53
+ };