@iota/apps-ui-kit 0.2.0 → 0.3.0

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 (213) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/index.d.ts +1636 -0
  3. package/dist/index.es.js +8909 -0
  4. package/dist/index.es.js.map +1 -0
  5. package/dist/index.umd.js +198 -0
  6. package/dist/index.umd.js.map +1 -0
  7. package/dist/style.css +1 -0
  8. package/package.json +6 -3
  9. package/src/lib/components/atoms/badge/Badge.tsx +37 -0
  10. package/src/lib/components/atoms/badge/badge.classes.ts +24 -0
  11. package/src/lib/components/atoms/badge/badge.enums.ts +8 -0
  12. package/src/lib/components/atoms/badge/index.ts +6 -0
  13. package/src/lib/components/atoms/button/Button.tsx +99 -0
  14. package/src/lib/components/atoms/button/button-variants/ButtonPill.tsx +23 -0
  15. package/src/lib/components/atoms/button/button-variants/ButtonUnstyled.tsx +27 -0
  16. package/src/lib/components/atoms/button/button-variants/buttonVariants.types.ts +11 -0
  17. package/src/lib/components/atoms/button/button-variants/index.ts +5 -0
  18. package/src/lib/components/atoms/button/button.classes.ts +53 -0
  19. package/src/lib/components/atoms/button/button.enums.ts +21 -0
  20. package/src/lib/components/atoms/button/index.ts +7 -0
  21. package/src/lib/components/atoms/button-segment/ButtonSegment.tsx +86 -0
  22. package/src/lib/components/atoms/button-segment/buttonSegment.classes.ts +45 -0
  23. package/src/lib/components/atoms/button-segment/buttonSegment.enums.ts +7 -0
  24. package/src/lib/components/atoms/button-segment/index.ts +5 -0
  25. package/src/lib/components/atoms/checkbox/Checkbox.tsx +114 -0
  26. package/src/lib/components/atoms/checkbox/index.ts +4 -0
  27. package/src/lib/components/atoms/divider/Divider.tsx +48 -0
  28. package/src/lib/components/atoms/divider/divider.classes.ts +11 -0
  29. package/src/lib/components/atoms/divider/divider.enums.ts +7 -0
  30. package/src/lib/components/atoms/divider/index.ts +6 -0
  31. package/src/lib/components/atoms/header/Header.tsx +73 -0
  32. package/src/lib/components/atoms/header/index.ts +4 -0
  33. package/src/lib/components/atoms/index.ts +22 -0
  34. package/src/lib/components/atoms/info-box/InfoBox.tsx +73 -0
  35. package/src/lib/components/atoms/info-box/index.ts +5 -0
  36. package/src/lib/components/atoms/info-box/infoBox.classes.ts +19 -0
  37. package/src/lib/components/atoms/info-box/infoBox.enums.ts +14 -0
  38. package/src/lib/components/atoms/key-value-info/KeyValueInfo.tsx +156 -0
  39. package/src/lib/components/atoms/key-value-info/index.ts +6 -0
  40. package/src/lib/components/atoms/key-value-info/keyValue.enums.ts +7 -0
  41. package/src/lib/components/atoms/label-text/LabelText.tsx +93 -0
  42. package/src/lib/components/atoms/label-text/index.ts +5 -0
  43. package/src/lib/components/atoms/label-text/labelText.classes.ts +22 -0
  44. package/src/lib/components/atoms/label-text/labelText.enums.ts +8 -0
  45. package/src/lib/components/atoms/list-item/ListItem.tsx +89 -0
  46. package/src/lib/components/atoms/list-item/index.ts +4 -0
  47. package/src/lib/components/atoms/loading-indicator/LoadingIndicator.tsx +38 -0
  48. package/src/lib/components/atoms/loading-indicator/index.ts +4 -0
  49. package/src/lib/components/atoms/panel/Panel.tsx +30 -0
  50. package/src/lib/components/atoms/panel/index.ts +4 -0
  51. package/src/lib/components/atoms/placeholder/Placeholder.tsx +27 -0
  52. package/src/lib/components/atoms/placeholder/index.ts +4 -0
  53. package/src/lib/components/atoms/radio-button/RadioButton.tsx +68 -0
  54. package/src/lib/components/atoms/radio-button/index.ts +4 -0
  55. package/src/lib/components/atoms/secondary-text/SecondaryText.tsx +28 -0
  56. package/src/lib/components/atoms/secondary-text/index.ts +4 -0
  57. package/src/lib/components/atoms/skeleton/Skeleton.tsx +47 -0
  58. package/src/lib/components/atoms/skeleton/index.ts +4 -0
  59. package/src/lib/components/atoms/snackbar/Snackbar.tsx +69 -0
  60. package/src/lib/components/atoms/snackbar/index.ts +5 -0
  61. package/src/lib/components/atoms/snackbar/snackbar.classes.ts +18 -0
  62. package/src/lib/components/atoms/snackbar/snackbar.enums.tsx +9 -0
  63. package/src/lib/components/atoms/tooltip/Tooltip.tsx +37 -0
  64. package/src/lib/components/atoms/tooltip/index.ts +5 -0
  65. package/src/lib/components/atoms/tooltip/tooltip.classes.ts +11 -0
  66. package/src/lib/components/atoms/tooltip/tooltip.enums.ts +9 -0
  67. package/src/lib/components/atoms/visual-asset-card/VisualAssetCard.tsx +101 -0
  68. package/src/lib/components/atoms/visual-asset-card/index.ts +5 -0
  69. package/src/lib/components/atoms/visual-asset-card/visualAssetCard.enums.ts +7 -0
  70. package/src/lib/components/index.ts +8 -0
  71. package/src/lib/components/molecules/account/Account.tsx +174 -0
  72. package/src/lib/components/molecules/account/index.ts +4 -0
  73. package/src/lib/components/molecules/address/Address.tsx +101 -0
  74. package/src/lib/components/molecules/address/index.ts +4 -0
  75. package/src/lib/components/molecules/card/Card.tsx +70 -0
  76. package/src/lib/components/molecules/card/CardAction.tsx +80 -0
  77. package/src/lib/components/molecules/card/CardBody.tsx +61 -0
  78. package/src/lib/components/molecules/card/CardImage.tsx +43 -0
  79. package/src/lib/components/molecules/card/CardImagePlaceholder.tsx +146 -0
  80. package/src/lib/components/molecules/card/card.classes.ts +26 -0
  81. package/src/lib/components/molecules/card/card.enums.ts +25 -0
  82. package/src/lib/components/molecules/card/index.ts +8 -0
  83. package/src/lib/components/molecules/chip/Chip.tsx +105 -0
  84. package/src/lib/components/molecules/chip/chip.classes.ts +32 -0
  85. package/src/lib/components/molecules/chip/chip.enums.ts +7 -0
  86. package/src/lib/components/molecules/chip/index.ts +4 -0
  87. package/src/lib/components/molecules/display-stats/DisplayStats.tsx +104 -0
  88. package/src/lib/components/molecules/display-stats/displayStats.classes.ts +36 -0
  89. package/src/lib/components/molecules/display-stats/displayStats.enums.ts +13 -0
  90. package/src/lib/components/molecules/display-stats/index.ts +5 -0
  91. package/src/lib/components/molecules/dropdown/Dropdown.tsx +10 -0
  92. package/src/lib/components/molecules/dropdown/dropdownPosition.enums.ts +7 -0
  93. package/src/lib/components/molecules/dropdown/index.ts +5 -0
  94. package/src/lib/components/molecules/index.ts +17 -0
  95. package/src/lib/components/molecules/input/Input.tsx +245 -0
  96. package/src/lib/components/molecules/input/InputWrapper.tsx +97 -0
  97. package/src/lib/components/molecules/input/TextArea.tsx +149 -0
  98. package/src/lib/components/molecules/input/index.ts +8 -0
  99. package/src/lib/components/molecules/input/input.classes.ts +14 -0
  100. package/src/lib/components/molecules/input/input.enums.ts +14 -0
  101. package/src/lib/components/molecules/input/input.types.ts +29 -0
  102. package/src/lib/components/molecules/navbar-item/NavbarItem.tsx +48 -0
  103. package/src/lib/components/molecules/navbar-item/NavbarItemHorizontal.tsx +65 -0
  104. package/src/lib/components/molecules/navbar-item/NavbarItemVertical.tsx +54 -0
  105. package/src/lib/components/molecules/navbar-item/index.ts +5 -0
  106. package/src/lib/components/molecules/navbar-item/navbarItem.classes.ts +16 -0
  107. package/src/lib/components/molecules/navbar-item/navbarItem.enums.ts +7 -0
  108. package/src/lib/components/molecules/search/Search.tsx +220 -0
  109. package/src/lib/components/molecules/search/index.ts +5 -0
  110. package/src/lib/components/molecules/search/search.classes.ts +20 -0
  111. package/src/lib/components/molecules/search/search.enums.ts +7 -0
  112. package/src/lib/components/molecules/segmented-button/SegmentedButton.tsx +34 -0
  113. package/src/lib/components/molecules/segmented-button/index.ts +6 -0
  114. package/src/lib/components/molecules/segmented-button/segmentedButton.classes.ts +12 -0
  115. package/src/lib/components/molecules/segmented-button/segmentedButton.enums.ts +8 -0
  116. package/src/lib/components/molecules/select/Select.tsx +223 -0
  117. package/src/lib/components/molecules/select/index.ts +5 -0
  118. package/src/lib/components/molecules/select/select.enums.ts +7 -0
  119. package/src/lib/components/molecules/table-cell/TableCell.tsx +62 -0
  120. package/src/lib/components/molecules/table-cell/index.ts +4 -0
  121. package/src/lib/components/molecules/table-header-cell/TableHeaderCell.tsx +140 -0
  122. package/src/lib/components/molecules/table-header-cell/index.ts +5 -0
  123. package/src/lib/components/molecules/table-header-cell/tableHeaderCell.enums.ts +7 -0
  124. package/src/lib/components/molecules/title/Title.tsx +69 -0
  125. package/src/lib/components/molecules/title/index.ts +5 -0
  126. package/src/lib/components/molecules/title/titleClasses.constants.ts +14 -0
  127. package/src/lib/components/molecules/title/titleSize.enums.ts +7 -0
  128. package/src/lib/components/organisms/accordion/Accordion.tsx +109 -0
  129. package/src/lib/components/organisms/accordion/accordion.classes.ts +4 -0
  130. package/src/lib/components/organisms/accordion/index.ts +4 -0
  131. package/src/lib/components/organisms/dialog/Dialog.tsx +123 -0
  132. package/src/lib/components/organisms/dialog/dialog.enums.ts +7 -0
  133. package/src/lib/components/organisms/dialog/index.ts +5 -0
  134. package/src/lib/components/organisms/index.ts +7 -0
  135. package/src/lib/components/organisms/navbar/Navbar.tsx +100 -0
  136. package/src/lib/components/organisms/navbar/NavbarSlideout.tsx +58 -0
  137. package/src/lib/components/organisms/navbar/index.ts +5 -0
  138. package/src/lib/components/organisms/table/Table.tsx +224 -0
  139. package/src/lib/components/organisms/table/TableContext.tsx +55 -0
  140. package/src/lib/components/organisms/table/index.ts +4 -0
  141. package/src/lib/constants/colors.constants.ts +132 -0
  142. package/src/lib/constants/index.ts +4 -0
  143. package/src/lib/enums/index.ts +4 -0
  144. package/src/lib/enums/screenSize.enums.ts +9 -0
  145. package/src/lib/index.ts +8 -0
  146. package/src/lib/styles/fonts.css +5 -0
  147. package/src/lib/styles/index.css +149 -0
  148. package/src/lib/tailwind/base.presets.ts +49 -0
  149. package/src/lib/tailwind/constants/fontSizes.constants.ts +201 -0
  150. package/src/lib/tailwind/constants/index.ts +6 -0
  151. package/src/lib/tailwind/constants/scaling.constants.ts +41 -0
  152. package/src/lib/tailwind/constants/variableSpacing.constants.ts +66 -0
  153. package/src/lib/tailwind/helpers.ts +20 -0
  154. package/src/lib/tailwind/index.ts +5 -0
  155. package/src/lib/tailwind/plugins.ts +8 -0
  156. package/src/lib/tailwind/responsive.presets.ts +36 -0
  157. package/src/lib/tailwind/static.presets.ts +25 -0
  158. package/src/lib/tailwind/types.ts +6 -0
  159. package/src/lib/utils/format.ts +8 -0
  160. package/src/lib/utils/index.ts +4 -0
  161. package/src/storybook/blocks/Showcase.tsx +20 -0
  162. package/src/storybook/blocks/TypeSet.tsx +34 -0
  163. package/src/storybook/blocks/TypeSetItem.tsx +74 -0
  164. package/src/storybook/blocks/index.ts +6 -0
  165. package/src/storybook/constants/index.ts +5 -0
  166. package/src/storybook/constants/typeset.constants.ts +39 -0
  167. package/src/storybook/constants/variableSpacing.constants.ts +6 -0
  168. package/src/storybook/helpers/getFontSizeLabel.ts +15 -0
  169. package/src/storybook/helpers/index.ts +4 -0
  170. package/src/storybook/stories/atoms/Badge.stories.tsx +32 -0
  171. package/src/storybook/stories/atoms/Button.stories.tsx +45 -0
  172. package/src/storybook/stories/atoms/ButtonSegment.stories.tsx +45 -0
  173. package/src/storybook/stories/atoms/Checkbox.stories.tsx +34 -0
  174. package/src/storybook/stories/atoms/CustomScrollbar.stories.tsx +22 -0
  175. package/src/storybook/stories/atoms/Divider.stories.tsx +41 -0
  176. package/src/storybook/stories/atoms/Header.stories.tsx +58 -0
  177. package/src/storybook/stories/atoms/InfoBox.stories.tsx +67 -0
  178. package/src/storybook/stories/atoms/KeyValueInfo.stories.tsx +59 -0
  179. package/src/storybook/stories/atoms/LabelText.stories.tsx +55 -0
  180. package/src/storybook/stories/atoms/ListItem.stories.tsx +41 -0
  181. package/src/storybook/stories/atoms/LoadingIndicator.stories.tsx +32 -0
  182. package/src/storybook/stories/atoms/Panel.stories.tsx +36 -0
  183. package/src/storybook/stories/atoms/Placeholder.stories.tsx +33 -0
  184. package/src/storybook/stories/atoms/RadioButton.stories.tsx +51 -0
  185. package/src/storybook/stories/atoms/Skeleton.stories.tsx +33 -0
  186. package/src/storybook/stories/atoms/Snackbar.stories.tsx +42 -0
  187. package/src/storybook/stories/atoms/Tooltip.stories.tsx +57 -0
  188. package/src/storybook/stories/atoms/VisualAssetCard.stories.tsx +56 -0
  189. package/src/storybook/stories/components/VariableSpacingShowcase.tsx +46 -0
  190. package/src/storybook/stories/components/index.ts +4 -0
  191. package/src/storybook/stories/design-tokens/colors.stories.mdx +23 -0
  192. package/src/storybook/stories/design-tokens/icons.stories.mdx +17 -0
  193. package/src/storybook/stories/design-tokens/typeset.stories.mdx +15 -0
  194. package/src/storybook/stories/design-tokens/variable-spacing.stories.mdx +10 -0
  195. package/src/storybook/stories/molecules/Account.stories.tsx +69 -0
  196. package/src/storybook/stories/molecules/Address.stories.tsx +39 -0
  197. package/src/storybook/stories/molecules/Card.stories.tsx +115 -0
  198. package/src/storybook/stories/molecules/Chip.stories.tsx +122 -0
  199. package/src/storybook/stories/molecules/DisplayStats.stories.tsx +63 -0
  200. package/src/storybook/stories/molecules/Dropdown.stories.tsx +38 -0
  201. package/src/storybook/stories/molecules/Input.stories.tsx +161 -0
  202. package/src/storybook/stories/molecules/NavbarItem.stories.tsx +45 -0
  203. package/src/storybook/stories/molecules/Search.stories.tsx +100 -0
  204. package/src/storybook/stories/molecules/SegmentedButton.stories.tsx +107 -0
  205. package/src/storybook/stories/molecules/Select.stories.tsx +102 -0
  206. package/src/storybook/stories/molecules/TableCell.stories.tsx +46 -0
  207. package/src/storybook/stories/molecules/TableHeaderCell.stories.tsx +34 -0
  208. package/src/storybook/stories/molecules/TextArea.stories.tsx +80 -0
  209. package/src/storybook/stories/molecules/Title.stories.tsx +76 -0
  210. package/src/storybook/stories/organisms/Accordion.stories.tsx +70 -0
  211. package/src/storybook/stories/organisms/Dialog.stories.tsx +103 -0
  212. package/src/storybook/stories/organisms/Navbar.stories.tsx +77 -0
  213. package/src/storybook/stories/organisms/Table.stories.tsx +154 -0
@@ -0,0 +1,1636 @@
1
+ import { ComponentProps } from 'react';
2
+ import { Config } from 'tailwindcss';
3
+ import { ForwardRefExoticComponent } from 'react';
4
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
5
+ import { NavbarItemProps as NavbarItemProps_2 } from '../../../../components/molecules/navbar-item/NavbarItem';
6
+ import { NumericFormat } from 'react-number-format';
7
+ import { PropsWithChildren } from 'react';
8
+ import * as RadixDialog from '@radix-ui/react-dialog';
9
+ import * as React_2 from 'react';
10
+ import { ReactNode } from 'react';
11
+ import { RefAttributes } from 'react';
12
+ import { SearchBarType as SearchBarType_2 } from '../../../../components';
13
+
14
+ export declare function Accordion({ children, hideBorder, }: {
15
+ children: React.ReactNode;
16
+ hideBorder?: boolean;
17
+ }): React.JSX.Element;
18
+
19
+ export declare function AccordionContent({ isExpanded, children, }: PropsWithChildren<AccordionContentProps>): JSX_2.Element;
20
+
21
+ declare interface AccordionContentProps {
22
+ /**
23
+ * Flag for show/hide content
24
+ */
25
+ isExpanded: boolean;
26
+ }
27
+
28
+ export declare function AccordionHeader({ onToggle, children, isExpanded, hideArrow, }: PropsWithChildren<AccordionHeaderProps>): JSX_2.Element;
29
+
30
+ export declare interface AccordionHeaderProps {
31
+ /**
32
+ * Flag for show/hide content
33
+ */
34
+ isExpanded: boolean;
35
+ /**
36
+ * Action on toggle show/hide content
37
+ */
38
+ onToggle: () => void;
39
+ /**
40
+ * The type of the badge.
41
+ */
42
+ badge?: React.ReactNode;
43
+ /**
44
+ * Flag for hiding arrow.
45
+ */
46
+ hideArrow?: boolean;
47
+ /**
48
+ * Flag for hiding border.
49
+ */
50
+ hideBorder?: boolean;
51
+ }
52
+
53
+ export declare function Account({ title, subtitle, badgeType, badgeText, isLocked, avatarContent, onOptionsClick, onLockAccountClick, onUnlockAccountClick, onCopy, copyText, onOpen, isCopyable, isExternal, isSelected, isActive, showSelected, }: AccountProps): React.JSX.Element;
54
+
55
+ declare interface AccountProps {
56
+ /**
57
+ * The title of the account.
58
+ */
59
+ title: string;
60
+ /**
61
+ * The subtitle of the account.
62
+ */
63
+ subtitle: string;
64
+ /**
65
+ * Whether the account is unlocked.
66
+ */
67
+ isLocked?: boolean;
68
+ /**
69
+ * Handler for more options click.
70
+ */
71
+ onOptionsClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
72
+ /**
73
+ * Handler for the lock account icon click.
74
+ */
75
+ onLockAccountClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
76
+ /**
77
+ * Handle for the unlock account icon click.
78
+ */
79
+ onUnlockAccountClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
80
+ /**
81
+ * Function to render avatar content.
82
+ */
83
+ avatarContent: ({ isLocked }: {
84
+ isLocked?: boolean;
85
+ }) => React.JSX.Element;
86
+ /**
87
+ * The onCopy event of the Address (optional).
88
+ */
89
+ onCopy?: (e: React.MouseEvent<HTMLButtonElement>) => void;
90
+ /**
91
+ * Text that need to be copied (optional).
92
+ */
93
+ copyText?: string;
94
+ /**
95
+ * The onOpen event of the Address (optional).
96
+ */
97
+ onOpen?: (e: React.MouseEvent<HTMLButtonElement>) => void;
98
+ /**
99
+ * Has copy icon (optional).
100
+ */
101
+ isCopyable?: boolean;
102
+ /**
103
+ * Has open icon (optional).
104
+ */
105
+ isExternal?: boolean;
106
+ /**
107
+ * The account is selected.
108
+ */
109
+ isSelected?: boolean;
110
+ /**
111
+ * Show the selected checkbox.
112
+ */
113
+ showSelected?: boolean;
114
+ /**
115
+ * Show background if account active (optional).
116
+ */
117
+ isActive?: boolean;
118
+ /**
119
+ * The type of the badge.
120
+ */
121
+ badgeType?: BadgeType;
122
+ /**
123
+ * The text of the badge.
124
+ */
125
+ badgeText?: string;
126
+ }
127
+
128
+ export declare function Address({ text, isCopyable, isExternal, externalLink, copyText, onCopySuccess, onCopyError, onOpen, }: AddressProps): React.JSX.Element;
129
+
130
+ declare interface AddressProps {
131
+ /**
132
+ * The text of the address.
133
+ */
134
+ text: string;
135
+ /**
136
+ * Has copy icon (optional).
137
+ */
138
+ isCopyable?: boolean;
139
+ /**
140
+ * Has open icon (optional).
141
+ */
142
+ isExternal?: boolean;
143
+ /**
144
+ * The link for external resource (optional).
145
+ */
146
+ externalLink?: string;
147
+ /**
148
+ * Text that need to be copied (optional).
149
+ */
150
+ copyText?: string;
151
+ /**
152
+ * The onCopySuccess event of the Address (optional).
153
+ */
154
+ onCopySuccess?: (e: React.MouseEvent<HTMLButtonElement>, text: string) => void;
155
+ /**
156
+ * The onCopyError event of the Address (optional).
157
+ */
158
+ onCopyError?: (e: unknown, text: string) => void;
159
+ /**
160
+ * The onOpen event of the Address (optional).
161
+ */
162
+ onOpen?: (e: React.MouseEvent<HTMLButtonElement>) => void;
163
+ }
164
+
165
+ export declare function Badge({ type, label }: BadgeProps): React.JSX.Element;
166
+
167
+ declare interface BadgeProps {
168
+ /**
169
+ * The type of the badge.
170
+ */
171
+ type: BadgeType;
172
+ /**
173
+ * The label of the badge.
174
+ */
175
+ label?: string;
176
+ }
177
+
178
+ export declare enum BadgeType {
179
+ Neutral = "neutral",
180
+ PrimarySolid = "primary-solid",
181
+ PrimarySoft = "primary-fill"
182
+ }
183
+
184
+ export declare interface BaseInputProps extends InputWrapperProps {
185
+ /**
186
+ * A leading icon that is shown before the input
187
+ */
188
+ leadingIcon?: React.JSX.Element;
189
+ /**
190
+ * Supporting text that is shown at the end of the input component.
191
+ */
192
+ supportingText?: string;
193
+ /**
194
+ * Amount counter that is shown at the side of the caption text.
195
+ */
196
+ amountCounter?: string | number;
197
+ /**
198
+ * Trailing element that is shown after the input
199
+ */
200
+ trailingElement?: React.JSX.Element;
201
+ /**
202
+ * Is the content of the input visible
203
+ */
204
+ isContentVisible?: boolean;
205
+ /**
206
+ * Value of the input
207
+ */
208
+ value?: string | number;
209
+ /**
210
+ * Default value of the input
211
+ */
212
+ defaultValue?: string | number;
213
+ /**
214
+ * onClearInput function that is called when the clear button is clicked
215
+ */
216
+ onClearInput?: () => void;
217
+ /**
218
+ * Shows toggle button to show/hide the content of the input field
219
+ */
220
+ isVisibilityToggleEnabled?: boolean;
221
+ }
222
+
223
+ export declare function Button({ icon, text, disabled, onClick, fullWidth, htmlType, size, type, iconAfterText, tabIndex, testId, }: ButtonProps): React.JSX.Element;
224
+
225
+ export declare enum ButtonHtmlType {
226
+ Button = "button",
227
+ Submit = "submit",
228
+ Reset = "reset"
229
+ }
230
+
231
+ declare type ButtonPickedProps = Pick<ButtonProps, 'htmlType' | 'testId'>;
232
+
233
+ export declare function ButtonPill({ htmlType, children, tabIndex, ...buttonProps }: Omit<ButtonVariantProps, 'className'>): JSX_2.Element;
234
+
235
+ export declare interface ButtonProps {
236
+ /**
237
+ * The size of the button.
238
+ */
239
+ size?: ButtonSize;
240
+ /**
241
+ * The type of the button
242
+ */
243
+ type?: ButtonType;
244
+ /**
245
+ * The text of the button.
246
+ */
247
+ text?: string;
248
+ /**
249
+ The icon of the button
250
+ */
251
+ icon?: React.ReactNode;
252
+ /**
253
+ * Should the icon be after the text.
254
+ */
255
+ iconAfterText?: boolean;
256
+ /**
257
+ * The button is disabled or not.
258
+ */
259
+ disabled?: boolean;
260
+ /**
261
+ * The onClick event of the button.
262
+ */
263
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
264
+ /**
265
+ * Whether the button should have the full width.
266
+ */
267
+ fullWidth?: boolean;
268
+ /**
269
+ * The type of the button. Available options are 'button', 'submit', 'reset'.
270
+ */
271
+ htmlType?: ButtonHtmlType;
272
+ /**
273
+ * The tab index of the button.
274
+ */
275
+ tabIndex?: number;
276
+ /**
277
+ * The 'data-testid' attribute value (used in e2e tests)
278
+ */
279
+ testId?: string;
280
+ }
281
+
282
+ export declare function ButtonSegment({ icon, label, selected, disabled, onClick, type, }: ButtonSegmentProps): React.JSX.Element;
283
+
284
+ declare interface ButtonSegmentProps {
285
+ /**
286
+ * The label of the button.
287
+ */
288
+ label: string;
289
+ /**
290
+ The icon of the button
291
+ */
292
+ icon?: React.ReactNode;
293
+ /**
294
+ The selected flag of the button
295
+ */
296
+ selected?: boolean;
297
+ /**
298
+ * The button is disabled or not.
299
+ */
300
+ disabled?: boolean;
301
+ /**
302
+ * The onClick event of the button.
303
+ */
304
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
305
+ /**
306
+ * The type of the button.
307
+ */
308
+ type?: ButtonSegmentType;
309
+ }
310
+
311
+ export declare enum ButtonSegmentType {
312
+ Rounded = "rounded",
313
+ Underlined = "underlined"
314
+ }
315
+
316
+ export declare enum ButtonSize {
317
+ Small = "small",
318
+ Medium = "medium"
319
+ }
320
+
321
+ export declare enum ButtonType {
322
+ Primary = "primary",
323
+ Secondary = "secondary",
324
+ Ghost = "ghost",
325
+ Outlined = "outlined",
326
+ Destructive = "destructive"
327
+ }
328
+
329
+ export declare function ButtonUnstyled({ htmlType, children, className, tabIndex, testId, ...buttonProps }: ButtonVariantProps): React.JSX.Element;
330
+
331
+ declare interface ButtonVariantProps extends ButtonPickedProps, PropsFromButtonElement {
332
+ children: React.ReactNode;
333
+ }
334
+
335
+ export declare function Card({ isDisabled, type, isHoverable, onClick, children, testId, }: CardProps): JSX_2.Element;
336
+
337
+ export declare function CardAction({ type, onClick, subtitle, title, icon, iconAfterText, buttonType, buttonDisabled, }: CardActionProps): JSX_2.Element | null;
338
+
339
+ export declare type CardActionProps = {
340
+ title?: string;
341
+ subtitle?: string;
342
+ type: CardActionType;
343
+ onClick?: () => void;
344
+ icon?: React.ReactNode;
345
+ iconAfterText?: boolean;
346
+ buttonType?: ButtonType;
347
+ buttonDisabled?: boolean;
348
+ };
349
+
350
+ export declare enum CardActionType {
351
+ Link = "link",
352
+ SupportingText = "supporting-text",
353
+ Button = "button"
354
+ }
355
+
356
+ export declare function CardBody({ title, subtitle, clickableAction, icon, isTextTruncated, }: CardBodyProps): JSX_2.Element;
357
+
358
+ export declare type CardBodyProps = {
359
+ title: string;
360
+ subtitle?: string | ReactNode;
361
+ clickableAction?: React.ReactNode;
362
+ icon?: React.ReactNode;
363
+ isTextTruncated?: boolean;
364
+ };
365
+
366
+ export declare function CardImage({ type, shape, url, children, }: CardImageProps): JSX_2.Element;
367
+
368
+ export declare interface CardImageProps {
369
+ type?: ImageType;
370
+ shape?: ImageShape;
371
+ url?: string;
372
+ children?: React.ReactNode;
373
+ }
374
+
375
+ export declare interface CardProps {
376
+ /**
377
+ * If `true`, the card will be disabled.
378
+ */
379
+ isDisabled?: boolean;
380
+ /**
381
+ * Handler on click to the card.
382
+ */
383
+ onClick?: () => void;
384
+ /**
385
+ * UI variant of the card.
386
+ */
387
+ type?: CardType;
388
+ /**
389
+ * Passing composable Card components like: CardImage, CardText, CardAction.
390
+ */
391
+ children?: React.ReactNode;
392
+ /**
393
+ * Indicates whether the state-layer should be shown on the card anyway.
394
+ * Use case: When the card is wrapped with a Link component
395
+ */
396
+ isHoverable?: boolean;
397
+ /**
398
+ * The 'data-testid' attribute value (used in e2e tests)
399
+ */
400
+ testId?: string;
401
+ }
402
+
403
+ export declare enum CardType {
404
+ Default = "default",
405
+ Outlined = "outlined",
406
+ Filled = "filled"
407
+ }
408
+
409
+ export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
410
+
411
+ declare interface CheckboxProps {
412
+ /**
413
+ * The label of the checkbox.
414
+ */
415
+ label?: string | React.ReactNode;
416
+ /**
417
+ * The state of the checkbox.
418
+ */
419
+ isChecked?: boolean;
420
+ /**
421
+ * If true the checkbox will override the styles to show an indeterminate state.
422
+ */
423
+ isIndeterminate?: boolean;
424
+ /**
425
+ * Whether the label should be placed before the checkbox.
426
+ */
427
+ isLabelFirst?: boolean;
428
+ /**
429
+ * If true the checkbox will be disabled.
430
+ */
431
+ isDisabled?: boolean;
432
+ /**
433
+ * The callback to call when the checkbox is clicked.
434
+ */
435
+ onCheckedChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
436
+ /**
437
+ * The name of the checkbox.
438
+ */
439
+ name?: string;
440
+ }
441
+
442
+ export declare function Chip({ label, showClose, selected, onClose, onClick, avatar, leadingElement, trailingElement, disabled, }: ChipProps): JSX_2.Element;
443
+
444
+ declare interface ChipProps {
445
+ /**
446
+ * The label of the chip
447
+ */
448
+ label: string;
449
+ /**
450
+ * Whether to show the close icon
451
+ */
452
+ showClose?: boolean;
453
+ /**
454
+ * Whether the chip is selected
455
+ */
456
+ selected?: boolean;
457
+ /**
458
+ * Callback when the close icon is clicked
459
+ */
460
+ onClose?: () => void;
461
+ /**
462
+ * On Click handler for the chip
463
+ */
464
+ onClick?: () => void;
465
+ /**
466
+ * Avatar to show in the chip.
467
+ */
468
+ avatar?: React.JSX.Element;
469
+ /**
470
+ * Leading element to show in the chip.
471
+ */
472
+ leadingElement?: React.JSX.Element;
473
+ /**
474
+ * Trailing element to show in the chip.
475
+ */
476
+ trailingElement?: React.JSX.Element;
477
+ /**
478
+ * The button is disabled or not.
479
+ */
480
+ disabled?: boolean;
481
+ }
482
+
483
+ export declare const Dialog: React_2.FC<RadixDialog.DialogProps>;
484
+
485
+ export declare const DialogBody: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
486
+
487
+ export declare const DialogClose: React_2.ForwardRefExoticComponent<RadixDialog.DialogCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
488
+
489
+ export declare const DialogContent: React_2.ForwardRefExoticComponent<Omit<RadixDialog.DialogContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & {
490
+ containerId?: string;
491
+ showCloseOnOverlay?: boolean;
492
+ position?: DialogPosition;
493
+ customWidth?: string;
494
+ } & React_2.RefAttributes<HTMLDivElement>>;
495
+
496
+ export declare enum DialogPosition {
497
+ Center = "center",
498
+ Right = "right"
499
+ }
500
+
501
+ export declare const DialogTitle: React_2.ForwardRefExoticComponent<Omit<RadixDialog.DialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>, "ref"> & React_2.RefAttributes<HTMLHeadingElement>>;
502
+
503
+ export declare const DialogTrigger: React_2.ForwardRefExoticComponent<RadixDialog.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
504
+
505
+ export declare function DisplayStats({ label, tooltipPosition, tooltipText, value, supportingLabel, type, size, icon, }: DisplayStatsProps): React.JSX.Element;
506
+
507
+ declare interface DisplayStatsProps {
508
+ /**
509
+ * The label of the stats.
510
+ */
511
+ label: ReactNode;
512
+ /**
513
+ * The tooltip position.
514
+ */
515
+ tooltipPosition?: TooltipPosition;
516
+ /**
517
+ * The tooltip text.
518
+ */
519
+ tooltipText?: string;
520
+ /**
521
+ * The value of the stats.
522
+ */
523
+ value: ReactNode;
524
+ /**
525
+ * The supporting label of the stats (optional).
526
+ */
527
+ supportingLabel?: string;
528
+ /**
529
+ * The background color of the stats.
530
+ */
531
+ type?: DisplayStatsType;
532
+ /**
533
+ * The size of the stats.
534
+ */
535
+ size?: DisplayStatsSize;
536
+ /**
537
+ * Add icon to the right of the label.
538
+ */
539
+ icon?: React.ReactNode;
540
+ }
541
+
542
+ export declare enum DisplayStatsSize {
543
+ Default = "default",
544
+ Large = "large"
545
+ }
546
+
547
+ export declare enum DisplayStatsType {
548
+ Default = "default",
549
+ Highlight = "highlight",
550
+ Secondary = "secondary"
551
+ }
552
+
553
+ export declare function Divider({ type, width, height, lineHeight, }: DividerProps): React.JSX.Element;
554
+
555
+ declare interface DividerProps {
556
+ /**
557
+ * The type of the divider
558
+ */
559
+ type?: DividerType;
560
+ /**
561
+ * The width of the divider.
562
+ */
563
+ width?: string;
564
+ /**
565
+ * The height of the divider.
566
+ */
567
+ height?: string;
568
+ /**
569
+ * The line height of the divider.
570
+ */
571
+ lineHeight?: string;
572
+ }
573
+
574
+ export declare enum DividerType {
575
+ Vertical = "vertical",
576
+ Horizontal = "horizontal"
577
+ }
578
+
579
+ export declare function Dropdown({ children }: React.PropsWithChildren): React.JSX.Element;
580
+
581
+ export declare enum DropdownPosition {
582
+ Top = "top",
583
+ Bottom = "bottom"
584
+ }
585
+
586
+ declare type GenericInputProps = {
587
+ type: InputType.Text | InputType.Password | InputType.Number;
588
+ };
589
+
590
+ export declare function Header({ title, titleCentered, onBack, onClose, testId, }: HeaderProps): JSX.Element;
591
+
592
+ declare interface HeaderProps {
593
+ /**
594
+ * Header title.
595
+ */
596
+ title: string;
597
+ /**
598
+ * Title alignment (optional).
599
+ */
600
+ titleCentered?: boolean;
601
+ /**
602
+ * On back click handler (optional). If provided, a back button will be displayed.
603
+ */
604
+ onBack?: () => void;
605
+ /**
606
+ * On close click handler (optional). If provided, a close button will be displayed.
607
+ */
608
+ onClose?: (() => void) | ((e: React.MouseEvent<HTMLElement>) => void);
609
+ /**
610
+ * The 'data-testid' attribute value (used in e2e tests)
611
+ */
612
+ testId?: string;
613
+ }
614
+
615
+ export declare enum ImageShape {
616
+ Rounded = "rounded",
617
+ SquareRounded = "square-rounded"
618
+ }
619
+
620
+ export declare enum ImageType {
621
+ Placeholder = "placeholder",
622
+ BgSolid = "bg-solid",
623
+ BgTransparent = "bg-transparent"
624
+ }
625
+
626
+ export declare function InfoBox({ icon, title, supportingText, type, style, }: InfoBoxProps): React.JSX.Element;
627
+
628
+ export declare interface InfoBoxProps {
629
+ /**
630
+ * The icon of the info box (optional).
631
+ */
632
+ icon?: React.ReactNode;
633
+ /**
634
+ * The title of the info box (optional).
635
+ */
636
+ title?: string;
637
+ /**
638
+ * The supporting text of the info box (optional).
639
+ */
640
+ supportingText?: string;
641
+ /**
642
+ * The type of the info box.
643
+ */
644
+ type: InfoBoxType;
645
+ /**
646
+ * The style of the info box.
647
+ */
648
+ style?: InfoBoxStyle;
649
+ }
650
+
651
+ export declare enum InfoBoxStyle {
652
+ Default = "default",
653
+ Elevated = "elevated"
654
+ }
655
+
656
+ export declare enum InfoBoxType {
657
+ Default = "default",
658
+ Error = "error",
659
+ Success = "success",
660
+ Warning = "warning"
661
+ }
662
+
663
+ export declare const Input: ForwardRefExoticComponent<InputProps & RefAttributes<HTMLInputElement>>;
664
+
665
+ declare type InputElementProps = Omit<React.ComponentProps<'input'>, 'type' | 'className' | 'ref' | 'value' | 'defaultValue'>;
666
+
667
+ export declare type InputProps = BaseInputProps & InputPropsByType;
668
+
669
+ export declare type InputPropsByType = InputElementProps & (NumericFormatInputProps | GenericInputProps);
670
+
671
+ export declare enum InputType {
672
+ Text = "text",
673
+ Password = "password",
674
+ Number = "number",
675
+ NumericFormat = "numericFormat"
676
+ }
677
+
678
+ declare interface InputWrapperProps {
679
+ /**
680
+ * Shows a label with the text above the input.
681
+ */
682
+ label?: string;
683
+ /**
684
+ * Shows a caption with the text below the input.
685
+ */
686
+ caption?: string;
687
+ /**
688
+ * Error Message. Overrides the caption.
689
+ */
690
+ errorMessage?: string;
691
+ /**
692
+ * Amount counter that is shown at the side of the caption text.
693
+ */
694
+ amountCounter?: string | number;
695
+ /**
696
+ * Is the input required
697
+ */
698
+ required?: boolean;
699
+ /**
700
+ * Is the input disabled
701
+ */
702
+ disabled?: boolean;
703
+ /**
704
+ * Use a div as a label instead of a label element
705
+ */
706
+ labelHtmlTag?: LabelHtmlTag;
707
+ }
708
+
709
+ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
710
+ primary: {
711
+ '0': string;
712
+ '10': string;
713
+ '20': string;
714
+ '30': string;
715
+ '40': string;
716
+ '50': string;
717
+ '60': string;
718
+ '70': string;
719
+ '80': string;
720
+ '90': string;
721
+ '100': string;
722
+ };
723
+ secondary: {
724
+ '0': string;
725
+ '10': string;
726
+ '20': string;
727
+ '30': string;
728
+ '40': string;
729
+ '50': string;
730
+ '60': string;
731
+ '70': string;
732
+ '80': string;
733
+ '90': string;
734
+ '100': string;
735
+ };
736
+ tertiary: {
737
+ '0': string;
738
+ '10': string;
739
+ '20': string;
740
+ '30': string;
741
+ '40': string;
742
+ '50': string;
743
+ '60': string;
744
+ '70': string;
745
+ '80': string;
746
+ '90': string;
747
+ '100': string;
748
+ };
749
+ error: {
750
+ '0': string;
751
+ '10': string;
752
+ '20': string;
753
+ '30': string;
754
+ '40': string;
755
+ '50': string;
756
+ '60': string;
757
+ '70': string;
758
+ '80': string;
759
+ '90': string;
760
+ '100': string;
761
+ };
762
+ neutral: {
763
+ '0': string;
764
+ '4': string;
765
+ '6': string;
766
+ '10': string;
767
+ '12': string;
768
+ '20': string;
769
+ '30': string;
770
+ '40': string;
771
+ '50': string;
772
+ '60': string;
773
+ '70': string;
774
+ '80': string;
775
+ '90': string;
776
+ '92': string;
777
+ '96': string;
778
+ '98': string;
779
+ '100': string;
780
+ };
781
+ warning: {
782
+ '10': string;
783
+ '20': string;
784
+ '90': string;
785
+ };
786
+ };
787
+
788
+ export declare function KeyValueInfo({ keyText, value, tooltipPosition, tooltipText, supportingLabel, size, isTruncated, copyText, onCopySuccess, onCopyError, fullwidth, isReverse, valueHoverTitle, }: KeyValueProps): React.JSX.Element;
789
+
790
+ declare interface KeyValueProps {
791
+ /**
792
+ * The key of the KeyValue.
793
+ */
794
+ keyText: string;
795
+ /**
796
+ * The value of the KeyValue.
797
+ */
798
+ value: ReactNode;
799
+ /**
800
+ * The tooltip position.
801
+ */
802
+ tooltipPosition?: TooltipPosition;
803
+ /**
804
+ * The tooltip text.
805
+ */
806
+ tooltipText?: string;
807
+ /**
808
+ * The supporting label of the KeyValue (optional).
809
+ */
810
+ supportingLabel?: string;
811
+ /**
812
+ * The size of the value (optional).
813
+ */
814
+ size?: ValueSize;
815
+ /**
816
+ * The flag to truncate the value text.
817
+ */
818
+ isTruncated?: boolean;
819
+ /**
820
+ * Text that need to be copied (optional).
821
+ */
822
+ copyText?: string;
823
+ /**
824
+ * The onCopySuccess event of the KeyValue (optional).
825
+ */
826
+ onCopySuccess?: (e: React.MouseEvent<HTMLButtonElement>, text: string) => void;
827
+ /**
828
+ * The onCopyError event of the KeyValue (optional).
829
+ */
830
+ onCopyError?: (e: unknown, text: string) => void;
831
+ /**
832
+ * Full width KeyValue (optional).
833
+ */
834
+ fullwidth?: boolean;
835
+ /**
836
+ * Reverse the KeyValue (optional).
837
+ */
838
+ isReverse?: boolean;
839
+ /**
840
+ * Text shown on value hover.
841
+ */
842
+ valueHoverTitle?: string;
843
+ }
844
+
845
+ declare enum LabelHtmlTag {
846
+ Label = "label",
847
+ Div = "div"
848
+ }
849
+
850
+ export declare function LabelText({ size, isCentered, supportingLabel, label, text, tooltipPosition, tooltipText, }: LabelTextProps): React.JSX.Element;
851
+
852
+ declare interface LabelTextProps {
853
+ /**
854
+ * The size of the LabelText.
855
+ */
856
+ size?: LabelTextSize;
857
+ /**
858
+ * The position of the LabelText.
859
+ */
860
+ isCentered?: boolean;
861
+ /**
862
+ * The supporting label of the LabelText.
863
+ */
864
+ supportingLabel?: string;
865
+ /**
866
+ * The text of the LabelText.
867
+ */
868
+ label: string;
869
+ /**
870
+ * The text of the LabelText.
871
+ */
872
+ text: string;
873
+ /**
874
+ * The tooltip position.
875
+ */
876
+ tooltipPosition?: TooltipPosition;
877
+ /**
878
+ * The tooltip text.
879
+ */
880
+ tooltipText?: string;
881
+ }
882
+
883
+ export declare enum LabelTextSize {
884
+ Small = "small",
885
+ Medium = "medium",
886
+ Large = "large"
887
+ }
888
+
889
+ export declare function ListItem({ showRightIcon, hideBottomBorder, onClick, isDisabled, children, isHighlighted, }: PropsWithChildren<ListItemProps>): React.JSX.Element;
890
+
891
+ export declare interface ListItemProps {
892
+ /**
893
+ * Has right icon (optional).
894
+ */
895
+ showRightIcon?: boolean;
896
+ /**
897
+ * Hide bottom border (optional).
898
+ */
899
+ hideBottomBorder?: boolean;
900
+ /**
901
+ * On click handler (optional).
902
+ */
903
+ onClick?: () => void;
904
+ /**
905
+ * The list item is disabled or not.
906
+ */
907
+ isDisabled?: boolean;
908
+ /**
909
+ * The list item is highlighted.
910
+ */
911
+ isHighlighted?: boolean;
912
+ }
913
+
914
+ export declare function LoadingIndicator({ color, size, text, testId, }: LoadingIndicatorProps): React.JSX.Element;
915
+
916
+ export declare interface LoadingIndicatorProps {
917
+ /**
918
+ * The color of the loading indicator.
919
+ */
920
+ color?: string;
921
+ /**
922
+ * The size of the loading indicator.
923
+ */
924
+ size?: string;
925
+ /**
926
+ * The text to display next to the loading indicator.
927
+ */
928
+ text?: string;
929
+ /**
930
+ * The 'data-testid' attribute value (used in e2e tests)
931
+ */
932
+ testId?: string;
933
+ }
934
+
935
+ export declare function Navbar({ items, activeId, onClickItem, isCollapsible, onToggleNavbar, }: NavbarProps): JSX_2.Element;
936
+
937
+ export declare function NavbarItem(props: NavbarItemProps): React.JSX.Element;
938
+
939
+ export declare interface NavbarItemProps {
940
+ /**
941
+ * The type of the navbar item.
942
+ */
943
+ type?: NavbarItemType;
944
+ /**
945
+ * The icon of the navbar item.
946
+ */
947
+ icon: React.ReactNode;
948
+ /**
949
+ * The text of the navbar item.
950
+ */
951
+ text?: string;
952
+ /**
953
+ * Indicates if the navbar item is selected.
954
+ */
955
+ isSelected?: boolean;
956
+ /**
957
+ * Indicates if the navbar item has a badge.
958
+ */
959
+ hasBadge?: boolean;
960
+ /**
961
+ * The onClick event of the navbar item.
962
+ */
963
+ onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
964
+ /**
965
+ * Indicates if the navbar item is disabled.
966
+ */
967
+ isDisabled?: boolean;
968
+ }
969
+
970
+ export declare enum NavbarItemType {
971
+ Horizontal = "horizontal",
972
+ Vertical = "vertical"
973
+ }
974
+
975
+ export declare type NavbarItemWithId = NavbarItemProps_2 & {
976
+ id: string;
977
+ };
978
+
979
+ export declare interface NavbarProps {
980
+ /**
981
+ * If this flag is true we need to leave only the icon and collapsible button
982
+ */
983
+ isCollapsible?: boolean;
984
+ /**
985
+ * List of elements to be displayed in the navbar.
986
+ */
987
+ items: NavbarItemWithId[];
988
+ /**
989
+ * The id of the active element.
990
+ */
991
+ activeId: string;
992
+ /**
993
+ * Callback when an element is clicked.
994
+ */
995
+ onClickItem: (id: string) => void;
996
+ /**
997
+ * If the navbar is collapsible, this flag indicates if it is open or not.
998
+ */
999
+ isOpen?: boolean;
1000
+ /**
1001
+ * Callback when the navbar is toggled.
1002
+ */
1003
+ onToggleNavbar?: () => void;
1004
+ }
1005
+
1006
+ export declare function NavbarSlideout({ items, activeId, onClickItem, isOpen, onToggleNavbar, }: NavbarProps): JSX_2.Element;
1007
+
1008
+ export declare type NumericFormatInputProps = {
1009
+ type: InputType.NumericFormat;
1010
+ suffix?: NumericFormatProps['suffix'];
1011
+ prefix?: NumericFormatProps['prefix'];
1012
+ decimalScale?: NumericFormatProps['decimalScale'];
1013
+ allowNegative?: NumericFormatProps['allowNegative'];
1014
+ thousandSeparator?: NumericFormatProps['thousandSeparator'];
1015
+ onValueChange?: NumericFormatProps['onValueChange'];
1016
+ };
1017
+
1018
+ declare type NumericFormatProps = ComponentProps<typeof NumericFormat>;
1019
+
1020
+ export declare function Panel({ children, hasBorder, bgColor, }: React.PropsWithChildren<PanelProps>): React.JSX.Element;
1021
+
1022
+ declare interface PanelProps {
1023
+ /**
1024
+ * Show or hide border around the panel.
1025
+ */
1026
+ hasBorder?: boolean;
1027
+ /**
1028
+ * Background color of the panel.
1029
+ */
1030
+ bgColor?: string;
1031
+ }
1032
+
1033
+ export declare function Placeholder({ width, height }: PlaceholderProps): JSX_2.Element;
1034
+
1035
+ declare interface PlaceholderProps {
1036
+ /**
1037
+ * The width of the placeholder.
1038
+ */
1039
+ width?: string;
1040
+ /**
1041
+ * The height of the placeholder.
1042
+ */
1043
+ height?: string;
1044
+ }
1045
+
1046
+ declare type PropsFromButtonElement = Omit<React.HTMLProps<HTMLButtonElement>, 'type'>;
1047
+
1048
+ export declare function RadioButton({ label, isChecked, isDisabled, onChange, }: RadioButtonProps): React.JSX.Element;
1049
+
1050
+ declare interface RadioButtonProps {
1051
+ /**
1052
+ * The label of the radio button.
1053
+ */
1054
+ label: string;
1055
+ /**
1056
+ * The state of the radio button.
1057
+ */
1058
+ isChecked?: boolean;
1059
+ /**
1060
+ * If radio button disabled.
1061
+ */
1062
+ isDisabled?: boolean;
1063
+ /**
1064
+ * The callback to call when the radio button is clicked.
1065
+ */
1066
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1067
+ }
1068
+
1069
+ declare type Renderable = JSX.Element | string | null;
1070
+
1071
+ export declare enum Resize {
1072
+ None = "none",
1073
+ Vertical = "vertical"
1074
+ }
1075
+
1076
+ export declare enum ScreenSize {
1077
+ Sm = "sm",
1078
+ Md = "md",
1079
+ Lg = "lg",
1080
+ Xl = "xl"
1081
+ }
1082
+
1083
+ export declare function Search({ searchValue, suggestions, onSearchValueChange, onSuggestionClick, placeholder, isLoading, onKeyDown, type, renderSuggestion, }: SearchProps): React.JSX.Element;
1084
+
1085
+ export declare enum SearchBarType {
1086
+ Outlined = "outlined",
1087
+ Filled = "filled"
1088
+ }
1089
+
1090
+ export declare interface SearchProps {
1091
+ /**
1092
+ * The value of the search input.
1093
+ */
1094
+ searchValue: string;
1095
+ /**
1096
+ * Callback when the search input value changes.
1097
+ */
1098
+ onSearchValueChange: (value: string) => void;
1099
+ /**
1100
+ * List of suggestions to display (optional).
1101
+ */
1102
+ suggestions?: Suggestion[];
1103
+ /**
1104
+ * Callback when a suggestion is clicked.
1105
+ */
1106
+ onSuggestionClick?: (suggestion: Suggestion) => void;
1107
+ /**
1108
+ * Placeholder text for the search input.
1109
+ */
1110
+ placeholder: string;
1111
+ /**
1112
+ * Are the suggestions loading.
1113
+ */
1114
+ isLoading: boolean;
1115
+ /**
1116
+ * Callback when a key is pressed.
1117
+ */
1118
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
1119
+ /**
1120
+ * The type of the search bar. Can be 'outlined' or 'filled'.
1121
+ */
1122
+ type?: SearchBarType_2;
1123
+ /**
1124
+ * Render suggestion.
1125
+ */
1126
+ renderSuggestion: (suggestion: Suggestion, index: number) => React.ReactNode;
1127
+ }
1128
+
1129
+ export declare function SegmentedButton({ type, children, shape, }: PropsWithChildren<SegmentedButtonProps>): React.JSX.Element;
1130
+
1131
+ declare interface SegmentedButtonProps {
1132
+ /**
1133
+ * The type of the button
1134
+ */
1135
+ type?: SegmentedButtonType;
1136
+ /**
1137
+ * The shape of the button
1138
+ */
1139
+ shape?: ButtonSegmentType;
1140
+ }
1141
+
1142
+ export declare enum SegmentedButtonType {
1143
+ Outlined = "outlined",
1144
+ Filled = "filled",
1145
+ Transparent = "transparent"
1146
+ }
1147
+
1148
+ export declare const Select: ForwardRefExoticComponent<SelectProps & RefAttributes<HTMLButtonElement>>;
1149
+
1150
+ export declare type SelectOption = string | {
1151
+ id: string;
1152
+ renderLabel: () => React.JSX.Element;
1153
+ } | {
1154
+ id: string;
1155
+ label: React.ReactNode;
1156
+ };
1157
+
1158
+ declare interface SelectProps extends Pick<React.HTMLProps<HTMLSelectElement>, 'disabled'> {
1159
+ /**
1160
+ * The selected option value.
1161
+ */
1162
+ value?: string;
1163
+ /**
1164
+ * The field label.
1165
+ */
1166
+ label?: string;
1167
+ /**
1168
+ * The field caption.
1169
+ */
1170
+ caption?: string;
1171
+ /**
1172
+ * The dropdown elements to render.
1173
+ */
1174
+ options: SelectOption[];
1175
+ /**
1176
+ * The icon to show on the left of the field.
1177
+ */
1178
+ leadingIcon?: React.ReactNode;
1179
+ /**
1180
+ * The supporting text to shown at the end of the selector.
1181
+ */
1182
+ supportingText?: string;
1183
+ /**
1184
+ * The error message to show under the field.
1185
+ */
1186
+ errorMessage?: string;
1187
+ /**
1188
+ * Placeholder for the selector
1189
+ */
1190
+ placeholder?: SelectOption;
1191
+ /**
1192
+ * The callback to call when the value changes.
1193
+ */
1194
+ onValueChange?: (id: string) => void;
1195
+ /**
1196
+ * The callback to call when the option is clicked.
1197
+ */
1198
+ onOptionClick?: (id: string) => void;
1199
+ /**
1200
+ * The dropdown position
1201
+ */
1202
+ dropdownPosition?: DropdownPosition;
1203
+ /**
1204
+ * The size of the select.
1205
+ */
1206
+ size?: SelectSize;
1207
+ }
1208
+
1209
+ export declare enum SelectSize {
1210
+ Small = "small",
1211
+ Default = "default"
1212
+ }
1213
+
1214
+ export declare const SHADER_COLOR_PALETTE: {
1215
+ 'shader-primary-dark': {
1216
+ '0': string;
1217
+ '8': string;
1218
+ '12': string;
1219
+ '16': string;
1220
+ '48': string;
1221
+ '72': string;
1222
+ };
1223
+ 'shader-inverted-dark': {
1224
+ '0': string;
1225
+ '8': string;
1226
+ '12': string;
1227
+ '16': string;
1228
+ '48': string;
1229
+ '72': string;
1230
+ };
1231
+ 'shader-neutral-dark': {
1232
+ '0': string;
1233
+ '8': string;
1234
+ '12': string;
1235
+ '16': string;
1236
+ '48': string;
1237
+ '72': string;
1238
+ };
1239
+ 'shader-primary-light': {
1240
+ 0: string;
1241
+ 8: string;
1242
+ 12: string;
1243
+ 16: string;
1244
+ 48: string;
1245
+ 72: string;
1246
+ };
1247
+ 'shader-inverted-light': {
1248
+ 0: string;
1249
+ 8: string;
1250
+ 12: string;
1251
+ 16: string;
1252
+ 48: string;
1253
+ 72: string;
1254
+ };
1255
+ 'shader-neutral-light': {
1256
+ 0: string;
1257
+ 8: string;
1258
+ 12: string;
1259
+ 16: string;
1260
+ 48: string;
1261
+ 72: string;
1262
+ };
1263
+ };
1264
+
1265
+ export declare function Skeleton({ children, widthClass, heightClass, hasSecondaryColors, isRounded, }: React.PropsWithChildren<SkeletonLoaderProps>): React.JSX.Element;
1266
+
1267
+ declare interface SkeletonLoaderProps {
1268
+ /**
1269
+ * Width class for the skeleton div.
1270
+ */
1271
+ widthClass?: string;
1272
+ /**
1273
+ * Height class for the skeleton div.
1274
+ */
1275
+ heightClass?: string;
1276
+ /**
1277
+ * If true, the skeleton will use darker neutral colors.
1278
+ */
1279
+ hasSecondaryColors?: boolean;
1280
+ /**
1281
+ * Whether the class `rounded-full` should be applied. Defaults to true.
1282
+ */
1283
+ isRounded?: boolean;
1284
+ }
1285
+
1286
+ export declare function Snackbar({ text, duration, onClose, showClose, type, }: SnackbarProps): JSX_2.Element;
1287
+
1288
+ export declare interface SnackbarProps {
1289
+ /**
1290
+ * The message to display in the snackbar.
1291
+ */
1292
+ text: Renderable;
1293
+ /**
1294
+ * Type of the snackbar.
1295
+ */
1296
+ type: SnackbarType;
1297
+ /**
1298
+ * Duration in milliseconds for the snackbar to auto close. `0` will make the component not close automatically.
1299
+ */
1300
+ duration?: number;
1301
+ /**
1302
+ * Callback to close the snackbar.
1303
+ */
1304
+ onClose: () => void;
1305
+ /**
1306
+ * Show the close button.
1307
+ */
1308
+ showClose?: boolean;
1309
+ }
1310
+
1311
+ export declare enum SnackbarType {
1312
+ Default = "default",
1313
+ Error = "error",
1314
+ Warning = "warning",
1315
+ Success = "success"
1316
+ }
1317
+
1318
+ export declare interface Suggestion {
1319
+ id: string;
1320
+ label: string;
1321
+ supportingText?: string;
1322
+ type?: string;
1323
+ }
1324
+
1325
+ export declare function Table({ paginationOptions, action, supportingLabel, selectedRowIndexes, rowIndexes, children, pageSizeSelector, }: PropsWithChildren<TableProps>): JSX.Element;
1326
+
1327
+ export declare function TableActionButton(props: PropsWithChildren<ButtonProps>): JSX_2.Element;
1328
+
1329
+ export declare function TableBody({ children }: PropsWithChildren): JSX.Element;
1330
+
1331
+ export declare function TableCellBase({ children, hasLastBorderNoneClass, isContentCentered, }: PropsWithChildren<TableCellBaseProps>): JSX_2.Element;
1332
+
1333
+ declare interface TableCellBaseProps {
1334
+ /**
1335
+ * The label of the cell.
1336
+ */
1337
+ label?: string;
1338
+ /**
1339
+ * If the cell is the last in the row and should not have a border.
1340
+ */
1341
+ hasLastBorderNoneClass?: boolean;
1342
+ /**
1343
+ * Whether the cell content should be centered.
1344
+ */
1345
+ isContentCentered?: boolean;
1346
+ }
1347
+
1348
+ export declare function TableCellPlaceholder(): JSX_2.Element;
1349
+
1350
+ export declare function TableCellText({ children, supportingLabel, }: PropsWithChildren<TableCellTextProps>): JSX_2.Element;
1351
+
1352
+ export declare interface TableCellTextProps {
1353
+ supportingLabel?: string;
1354
+ }
1355
+
1356
+ export declare function TableHeader({ children }: PropsWithChildren): JSX.Element;
1357
+
1358
+ export declare function TableHeaderCell({ label, columnKey, hasSort, hasCheckbox, isChecked, isIndeterminate, isContentCentered, onSortClick, onCheckboxChange, sortOrder, }: TableHeaderCellProps): JSX.Element;
1359
+
1360
+ export declare interface TableHeaderCellProps {
1361
+ /**
1362
+ * The column key.
1363
+ */
1364
+ columnKey: string | number;
1365
+ /**
1366
+ * The label of the Header cell.
1367
+ */
1368
+ label?: string;
1369
+ /**
1370
+ * Action component to be rendered on the left side.
1371
+ */
1372
+ actionLeft?: React.ReactNode;
1373
+ /**
1374
+ * Action component to be rendered on the right side.
1375
+ */
1376
+ actionRight?: React.ReactNode;
1377
+ /**
1378
+ * Has Sort icon.
1379
+ */
1380
+ hasSort?: boolean;
1381
+ /**
1382
+ * On Sort icon click.
1383
+ */
1384
+ onSortClick?: (columnKey: string | number, sortOrder: TableHeaderCellSortOrder) => void;
1385
+ /**
1386
+ * Has Checkbox.
1387
+ */
1388
+ hasCheckbox?: boolean;
1389
+ /**
1390
+ * Is Checkbox checked.
1391
+ */
1392
+ isChecked?: boolean;
1393
+ /**
1394
+ * Is Checkbox indeterminate.
1395
+ */
1396
+ isIndeterminate?: boolean;
1397
+ /**
1398
+ * On Checkbox change.
1399
+ */
1400
+ onCheckboxChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
1401
+ /**
1402
+ * Whether the cell content should be centered.
1403
+ */
1404
+ isContentCentered?: boolean;
1405
+ /**
1406
+ * Sort order when cell is initialized
1407
+ */
1408
+ sortOrder?: TableHeaderCellSortOrder;
1409
+ }
1410
+
1411
+ export declare enum TableHeaderCellSortOrder {
1412
+ Asc = "asc",
1413
+ Desc = "desc"
1414
+ }
1415
+
1416
+ export declare function TableHeaderCheckbox({ onCheckboxChange }: TableHeaderCheckboxProps): JSX.Element;
1417
+
1418
+ export declare interface TableHeaderCheckboxProps {
1419
+ onCheckboxChange: (checked: boolean) => void;
1420
+ }
1421
+
1422
+ export declare interface TablePaginationOptions {
1423
+ /**
1424
+ * On Next page button click.
1425
+ */
1426
+ onNext?: () => void;
1427
+ /**
1428
+ * On Previous page button click.
1429
+ */
1430
+ onPrev?: () => void;
1431
+ /**
1432
+ * On First page button click.
1433
+ */
1434
+ onFirst?: () => void;
1435
+ /**
1436
+ * On Last page button click.
1437
+ */
1438
+ onLast?: () => void;
1439
+ /**
1440
+ * Has Next button.
1441
+ */
1442
+ hasNext?: boolean;
1443
+ /**
1444
+ * Has Previous button.
1445
+ */
1446
+ hasPrev?: boolean;
1447
+ /**
1448
+ * Has First button.
1449
+ */
1450
+ hasFirst?: boolean;
1451
+ /**
1452
+ * Has Last button.
1453
+ */
1454
+ hasLast?: boolean;
1455
+ }
1456
+
1457
+ export declare type TableProps = {
1458
+ /**
1459
+ * Options for the table pagination.
1460
+ */
1461
+ paginationOptions?: TablePaginationOptions;
1462
+ /**
1463
+ * The action component.
1464
+ */
1465
+ action?: ReactNode;
1466
+ /**
1467
+ * The supporting label of the table.
1468
+ */
1469
+ supportingLabel?: string;
1470
+ /**
1471
+ * Numeric indexes of the selected rows.
1472
+ */
1473
+ selectedRowIndexes?: Set<number>;
1474
+ /**
1475
+ * Numeric indexes of all the rows.
1476
+ */
1477
+ rowIndexes: number[];
1478
+ /**
1479
+ * The page size selector component.
1480
+ */
1481
+ pageSizeSelector?: ReactNode;
1482
+ };
1483
+
1484
+ export declare function TableRow({ children, leading, }: PropsWithChildren<{
1485
+ leading?: React.ReactNode;
1486
+ }>): JSX.Element;
1487
+
1488
+ export declare function TableRowCheckbox({ rowIndex, onCheckboxChange, }: TableRowCheckboxProps): React.JSX.Element;
1489
+
1490
+ export declare interface TableRowCheckboxProps {
1491
+ rowIndex: number;
1492
+ onCheckboxChange: (checked: boolean) => void;
1493
+ }
1494
+
1495
+ export declare const TextArea: ForwardRefExoticComponent<TextFieldBaseProps & RefAttributes<HTMLTextAreaElement>>;
1496
+
1497
+ declare type TextAreaProps = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'cols' | 'resize' | 'className'>;
1498
+
1499
+ declare interface TextFieldBaseProps extends TextAreaProps, InputWrapperProps {
1500
+ /**
1501
+ * Shows a label with the text above the input field.
1502
+ */
1503
+ label?: string;
1504
+ /**
1505
+ * Shows a caption with the text below the input field.
1506
+ */
1507
+ caption?: string;
1508
+ /**
1509
+ * Error Message. Overrides the caption.
1510
+ */
1511
+ errorMessage?: string;
1512
+ /**
1513
+ * Amount counter that is shown at the side of the caption text.
1514
+ */
1515
+ amountCounter?: string | number;
1516
+ /**
1517
+ * Shows toggle button to show/hide the content of the input field
1518
+ */
1519
+ isVisibilityToggleEnabled?: boolean;
1520
+ /**
1521
+ * Is the content of the input visible
1522
+ */
1523
+ isContentVisible?: boolean;
1524
+ /**
1525
+ * If true the textarea is resizable vertically
1526
+ */
1527
+ isResizeEnabled?: boolean;
1528
+ }
1529
+
1530
+ export declare function Title({ title, subtitle, trailingElement, tooltipText, supportingElement, tooltipPosition, size, }: TitleProps): JSX_2.Element;
1531
+
1532
+ declare interface TitleProps {
1533
+ /**
1534
+ * The title of the component.
1535
+ */
1536
+ title: string;
1537
+ /**
1538
+ * The subtitle of the component.
1539
+ */
1540
+ subtitle?: string;
1541
+ /**
1542
+ * The trailing element.
1543
+ */
1544
+ trailingElement?: React.ReactNode;
1545
+ /**
1546
+ * The tooltip position.
1547
+ */
1548
+ tooltipPosition?: TooltipPosition;
1549
+ /**
1550
+ * The tooltip text.
1551
+ */
1552
+ tooltipText?: string;
1553
+ /**
1554
+ * Supporting Element
1555
+ */
1556
+ supportingElement?: React.ReactNode;
1557
+ /**
1558
+ * The size of the component
1559
+ */
1560
+ size?: TitleSize;
1561
+ }
1562
+
1563
+ export declare enum TitleSize {
1564
+ Small = "small",
1565
+ Medium = "medium"
1566
+ }
1567
+
1568
+ export declare function Tooltip({ text, position, maxWidth, children, }: PropsWithChildren<TooltipProps>): React.JSX.Element;
1569
+
1570
+ export declare enum TooltipPosition {
1571
+ Top = "top",
1572
+ Bottom = "bottom",
1573
+ Left = "left",
1574
+ Right = "right"
1575
+ }
1576
+
1577
+ declare interface TooltipProps {
1578
+ text: string;
1579
+ position?: TooltipPosition;
1580
+ maxWidth?: string;
1581
+ }
1582
+
1583
+ export declare function truncate(value: string, startLength?: number, endLength?: number): string;
1584
+
1585
+ export declare const uiKitResponsivePreset: Config;
1586
+
1587
+ export declare const uiKitStaticPreset: Config;
1588
+
1589
+ export declare enum ValueSize {
1590
+ Small = "small",
1591
+ Medium = "medium"
1592
+ }
1593
+
1594
+ export declare function VisualAssetCard({ assetType, assetSrc, altText, onIconClick, onClick, icon, assetTitle, isHoverable, }: VisualAssetCardProps): React.JSX.Element;
1595
+
1596
+ export declare interface VisualAssetCardProps {
1597
+ /**
1598
+ * The type of the asset to be displayed.
1599
+ */
1600
+ assetType?: VisualAssetType;
1601
+ /**
1602
+ * The source of the image to be displayed.
1603
+ */
1604
+ assetSrc: string;
1605
+ /**
1606
+ * Alt text for the image.
1607
+ */
1608
+ altText: string;
1609
+ /**
1610
+ * The onClick event for the icon.
1611
+ */
1612
+ onIconClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
1613
+ /**
1614
+ * The onClick event for the card.
1615
+ */
1616
+ onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
1617
+ /**
1618
+ * The icon to be displayed.
1619
+ */
1620
+ icon?: React.ReactNode;
1621
+ /**
1622
+ * The title text to be displayed on hover.
1623
+ */
1624
+ assetTitle?: string;
1625
+ /**
1626
+ * Whether the card is hoverable.
1627
+ */
1628
+ isHoverable?: boolean;
1629
+ }
1630
+
1631
+ export declare enum VisualAssetType {
1632
+ Image = "image",
1633
+ Video = "video"
1634
+ }
1635
+
1636
+ export { }