@pushwoosh/dumb-components 1.1.147 → 1.1.149

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 (325) hide show
  1. package/AccessForbidden/AccessForbidden.d.ts +3 -0
  2. package/AccessForbidden/AccessForbidden.js +3 -0
  3. package/Alert/Alert.d.ts +7 -0
  4. package/Alert/Alert.js +7 -0
  5. package/Alert/types.d.ts +6 -0
  6. package/ApplicationPreloader/ApplicationPreloader.d.ts +8 -0
  7. package/ApplicationPreloader/ApplicationPreloader.js +6 -0
  8. package/Badge/Badge.d.ts +6 -0
  9. package/Badge/Badge.js +6 -0
  10. package/Badge/types.d.ts +6 -0
  11. package/Banner/Banner.d.ts +7 -0
  12. package/Banner/Banner.js +7 -0
  13. package/Banner/types.d.ts +16 -0
  14. package/Button/Button.d.ts +19 -0
  15. package/Button/GhostButton.d.ts +1 -0
  16. package/Button/GhostButton.js +1 -0
  17. package/Button/RemoveButton.d.ts +6 -0
  18. package/Button/RemoveButton.js +6 -0
  19. package/Button/types.d.ts +21 -0
  20. package/Calendar/CalendarDropdown/CalendarDropdown.d.ts +12 -0
  21. package/Calendar/CalendarDropdown/CalendarDropdown.js +12 -0
  22. package/Calendar/CalendarDropdown/helpers.d.ts +4 -0
  23. package/Calendar/CalendarDropdown/helpers.js +4 -0
  24. package/Calendar/CalendarDropdown/types.d.ts +33 -0
  25. package/Calendar/CalendarSuperForm/CalendarSuperForm.d.ts +7 -0
  26. package/Calendar/CalendarSuperForm/CalendarSuperForm.js +10 -1
  27. package/Calendar/CalendarSuperForm/components/CalendarRangePicker/CalendarRangePicker.d.ts +1 -0
  28. package/Calendar/CalendarSuperForm/components/CalendarRangePicker/CalendarRangePicker.js +3 -2
  29. package/Calendar/CalendarSuperForm/types.d.ts +37 -9
  30. package/Calendar/helpers.d.ts +10 -0
  31. package/Calendar/helpers.js +10 -0
  32. package/Calendar/types.d.ts +16 -1
  33. package/CardMetric/CardMetric.d.ts +7 -0
  34. package/CardMetric/CardMetric.js +7 -0
  35. package/CardMetric/types.d.ts +13 -0
  36. package/Checkbox/Checkbox.d.ts +6 -0
  37. package/Checkbox/Checkbox.js +6 -0
  38. package/Checkbox/types.d.ts +13 -0
  39. package/Chip/Chip.d.ts +7 -0
  40. package/Chip/Chip.js +7 -0
  41. package/Chip/Chip.types.d.ts +9 -0
  42. package/CodeEditor/CodeEditor.d.ts +7 -0
  43. package/CodeEditor/CodeEditor.js +7 -0
  44. package/CodeEditor/languages/html.d.ts +1 -0
  45. package/CodeEditor/languages/html.js +1 -0
  46. package/CodeEditor/languages/json.d.ts +1 -0
  47. package/CodeEditor/languages/json.js +1 -0
  48. package/CodeEditor/languages/liquid.d.ts +1 -0
  49. package/CodeEditor/languages/liquid.js +1 -0
  50. package/CodeEditor/types.d.ts +11 -0
  51. package/CrashScreen/CrashScreen.d.ts +4 -0
  52. package/CrashScreen/CrashScreen.js +4 -0
  53. package/DateTimePicker/components/DatePicker/DatePicker.d.ts +5 -0
  54. package/DateTimePicker/components/DatePicker/DatePicker.js +5 -0
  55. package/DateTimePicker/components/DatePicker/types.d.ts +9 -0
  56. package/DateTimePicker/components/DatePickerField/DatePickerField.d.ts +5 -0
  57. package/DateTimePicker/components/DatePickerField/DatePickerField.js +5 -0
  58. package/DateTimePicker/components/DatePickerField/types.d.ts +9 -0
  59. package/DateTimePicker/components/DateTimePicker/DateTimePicker.d.ts +5 -0
  60. package/DateTimePicker/components/DateTimePicker/DateTimePicker.js +5 -0
  61. package/DateTimePicker/components/DateTimePicker/types.d.ts +6 -0
  62. package/DateTimePicker/components/DateTimePickerField/DateTimePickerField.d.ts +5 -0
  63. package/DateTimePicker/components/DateTimePickerField/DateTimePickerField.js +5 -0
  64. package/DateTimePicker/components/DateTimePickerField/types.d.ts +9 -0
  65. package/DateTimePicker/types.d.ts +5 -0
  66. package/Drawer/components/Drawer/Drawer.d.ts +11 -0
  67. package/Drawer/components/Drawer/Drawer.js +11 -0
  68. package/Drawer/components/Drawer/types.d.ts +9 -0
  69. package/Drawer/components/DrawerContent/styles.d.ts +3 -0
  70. package/Drawer/components/DrawerContent/styles.js +3 -0
  71. package/Drawer/components/DrawerDocs/DrawerDocs.d.ts +7 -0
  72. package/Drawer/components/DrawerDocs/DrawerDocs.js +7 -0
  73. package/Drawer/components/DrawerDocs/hooks.d.ts +4 -0
  74. package/Drawer/components/DrawerDocs/hooks.js +4 -0
  75. package/Drawer/components/DrawerDocs/types.d.ts +4 -0
  76. package/DropdownMenu/components/DropdownMenu/DropdownMenu.d.ts +12 -0
  77. package/DropdownMenu/components/DropdownMenu/DropdownMenu.js +12 -0
  78. package/DropdownMenu/components/DropdownMenu/types.d.ts +15 -0
  79. package/DropdownMenu/components/DropdownMenuButton/DropdownMenuButton.d.ts +8 -0
  80. package/DropdownMenu/components/DropdownMenuButton/DropdownMenuButton.js +8 -0
  81. package/DropdownMenu/components/DropdownMenuButton/types.d.ts +16 -0
  82. package/DropdownMenu/components/DropdownMenuItem/DropdownMenuItem.d.ts +7 -0
  83. package/DropdownMenu/components/DropdownMenuItem/DropdownMenuItem.js +7 -0
  84. package/DropdownMenu/components/DropdownMenuItem/types.d.ts +6 -0
  85. package/DropdownMenu/components/DropdownMenuSection/DropdownMenuSection.d.ts +8 -0
  86. package/DropdownMenu/components/DropdownMenuSection/DropdownMenuSection.js +8 -0
  87. package/DropdownMenu/components/DropdownMenuSection/types.d.ts +3 -0
  88. package/DropdownMenu/components/DropdownMenuSubmenu/DropdownMenuSubmenu.d.ts +9 -0
  89. package/DropdownMenu/components/DropdownMenuSubmenu/DropdownMenuSubmenu.js +9 -0
  90. package/DropdownMenu/components/DropdownMenuSubmenu/types.d.ts +5 -0
  91. package/EditableField/EditableField.d.ts +9 -0
  92. package/EditableField/EditableField.js +9 -0
  93. package/EditableField/types.d.ts +12 -0
  94. package/EmailTemplatePreview/EmailTemplatePreview.d.ts +7 -0
  95. package/EmailTemplatePreview/EmailTemplatePreview.js +7 -0
  96. package/EmailTemplatePreview/components/NoEmailTemplatePreview/NoEmailTemplatePreview.d.ts +4 -0
  97. package/EmailTemplatePreview/components/NoEmailTemplatePreview/NoEmailTemplatePreview.js +4 -0
  98. package/EmailTemplatePreview/helpers.d.ts +8 -0
  99. package/EmailTemplatePreview/helpers.js +8 -0
  100. package/EmailTemplatePreview/types.d.ts +7 -0
  101. package/EnhancedInput/EnhancedInput.d.ts +7 -0
  102. package/EnhancedInput/EnhancedInput.js +7 -0
  103. package/EnhancedInput/SearchInput.d.ts +6 -0
  104. package/EnhancedInput/SearchInput.js +6 -0
  105. package/EnhancedInput/types.d.ts +5 -0
  106. package/ExportResult/ExportResult.d.ts +7 -0
  107. package/ExportResult/ExportResult.js +7 -0
  108. package/ExportResult/types.d.ts +7 -0
  109. package/ExternalImagePreview/ExternalImagePreview.d.ts +7 -0
  110. package/ExternalImagePreview/ExternalImagePreview.js +7 -0
  111. package/ExternalImagePreview/types.d.ts +7 -0
  112. package/FieldBox/FieldBox.d.ts +9 -0
  113. package/FieldBox/FieldBox.js +9 -0
  114. package/FieldBox/types.d.ts +10 -0
  115. package/FrequencyCapping/FrequencyCappingEdit.d.ts +7 -0
  116. package/FrequencyCapping/FrequencyCappingEdit.js +7 -0
  117. package/FrequencyCapping/FrequencyCappingInApps.d.ts +7 -0
  118. package/FrequencyCapping/FrequencyCappingInApps.js +7 -0
  119. package/FrequencyCapping/FrequencyCappingReadonly.d.ts +3 -0
  120. package/FrequencyCapping/FrequencyCappingReadonly.js +3 -0
  121. package/FrequencyCapping/types.d.ts +37 -0
  122. package/FrequencyCapping/types.js +1 -0
  123. package/GetStartedPage/GetStartedPage.d.ts +7 -0
  124. package/GetStartedPage/GetStartedPage.js +7 -0
  125. package/GetStartedPage/types.d.ts +7 -0
  126. package/InputFile/InputFile.d.ts +7 -0
  127. package/InputFile/InputFile.js +7 -0
  128. package/InputFile/types.d.ts +18 -0
  129. package/Link/Link.d.ts +18 -0
  130. package/Link/types.d.ts +17 -0
  131. package/Modal/components/Modal/Modal.d.ts +11 -0
  132. package/Modal/components/Modal/Modal.js +11 -0
  133. package/Modal/components/Modal/types.d.ts +6 -0
  134. package/Modal/components/ModalConfirm/ModalConfirm.d.ts +8 -0
  135. package/Modal/components/ModalConfirm/ModalConfirm.js +8 -0
  136. package/Modal/components/ModalConfirm/ModalConfirmProvider.d.ts +7 -0
  137. package/Modal/components/ModalConfirm/ModalConfirmProvider.js +7 -0
  138. package/Modal/components/ModalConfirm/hooks.d.ts +8 -0
  139. package/Modal/components/ModalConfirm/hooks.js +8 -0
  140. package/Modal/components/ModalConfirm/types.d.ts +16 -0
  141. package/Modal/components/ModalContent/styles.d.ts +5 -0
  142. package/Modal/components/ModalContent/styles.js +5 -0
  143. package/Modal/components/ModalTitle/ModalTitle.d.ts +6 -0
  144. package/Modal/components/ModalTitle/ModalTitle.js +6 -0
  145. package/Modal/components/ModalTitle/types.d.ts +3 -0
  146. package/NotificationInbox/NotificationBar.d.ts +7 -0
  147. package/NotificationInbox/NotificationBar.js +7 -0
  148. package/NotificationInbox/NotificationBell.d.ts +7 -0
  149. package/NotificationInbox/NotificationBell.js +7 -0
  150. package/NotificationInbox/NotificationInbox.d.ts +7 -0
  151. package/NotificationInbox/NotificationInbox.js +7 -0
  152. package/NotificationInbox/types.d.ts +31 -0
  153. package/NumberPicker/NumberPicker.d.ts +7 -0
  154. package/NumberPicker/NumberPicker.js +7 -0
  155. package/NumberPicker/types.d.ts +12 -0
  156. package/PageHeader/components/AutosizeInput/AutosizeInput.d.ts +7 -0
  157. package/PageHeader/components/AutosizeInput/AutosizeInput.js +7 -0
  158. package/PageHeader/components/AutosizeInput/types.d.ts +7 -0
  159. package/PageHeader/components/PageHeader/PageHeader.d.ts +7 -0
  160. package/PageHeader/components/PageHeader/PageHeader.js +7 -0
  161. package/PageHeader/components/PageHeader/types.d.ts +13 -0
  162. package/PageHeader/components/PageHeaderEditable/PageHeaderEditable.d.ts +7 -0
  163. package/PageHeader/components/PageHeaderEditable/PageHeaderEditable.js +7 -0
  164. package/PageHeader/components/PageHeaderEditable/types.d.ts +19 -0
  165. package/Pagination/Pagination.d.ts +7 -0
  166. package/Pagination/Pagination.js +7 -0
  167. package/Pagination/types.d.ts +7 -0
  168. package/Popover/Popover.d.ts +10 -0
  169. package/Popover/Popover.js +10 -0
  170. package/Popover/styles.d.ts +1 -0
  171. package/Popover/styles.js +1 -0
  172. package/Popover/types.d.ts +9 -0
  173. package/ProgressBar/ProgressBar.d.ts +6 -0
  174. package/ProgressBar/ProgressBar.js +6 -0
  175. package/ProgressBar/types.d.ts +7 -0
  176. package/PushPreview/PushPreview.d.ts +7 -0
  177. package/PushPreview/PushPreview.js +7 -0
  178. package/PushPreview/types.d.ts +17 -0
  179. package/Radio/Radio.d.ts +7 -0
  180. package/Radio/Radio.js +7 -0
  181. package/Radio/types.d.ts +14 -0
  182. package/RadioCard/RadioCard.d.ts +7 -0
  183. package/RadioCard/RadioCard.js +7 -0
  184. package/RadioCard/types.d.ts +7 -0
  185. package/ReCaptcha/ReCaptcha.d.ts +8 -0
  186. package/ReCaptcha/ReCaptcha.js +8 -0
  187. package/ReCaptcha/helpers.d.ts +4 -0
  188. package/ReCaptcha/helpers.js +4 -0
  189. package/ReCaptcha/hooks.d.ts +4 -0
  190. package/ReCaptcha/hooks.js +4 -0
  191. package/ReCaptcha/types.d.ts +5 -0
  192. package/RichMessageEditor/RichMessageEditor.d.ts +8 -0
  193. package/RichMessageEditor/RichMessageEditor.js +8 -0
  194. package/RichMessageEditor/RichMessageEditor.types.d.ts +10 -0
  195. package/RichMessageEditor/RichMessageViewer.d.ts +10 -0
  196. package/RichMessageEditor/RichMessageViewer.js +7 -0
  197. package/RichMessageEditor/slate/types.d.ts +5 -0
  198. package/RichMessageEditor/types.d.ts +1 -0
  199. package/RichmediaPreview/RichmediaPreview.d.ts +7 -0
  200. package/RichmediaPreview/RichmediaPreview.js +7 -0
  201. package/RichmediaPreview/hooks.d.ts +4 -0
  202. package/RichmediaPreview/hooks.js +4 -0
  203. package/RichmediaPreview/types.d.ts +13 -0
  204. package/Select/Select.d.ts +22 -0
  205. package/Select/Select.js +22 -0
  206. package/Select/constants.d.ts +1 -0
  207. package/Select/constants.js +1 -0
  208. package/Select/types.d.ts +19 -0
  209. package/SendRate/SendRateEdit.d.ts +7 -0
  210. package/SendRate/SendRateEdit.js +7 -0
  211. package/SendRate/SendRateReadonly.d.ts +3 -0
  212. package/SendRate/SendRateReadonly.js +3 -0
  213. package/SendRate/types.d.ts +20 -0
  214. package/Skeleton/TextSkeleton.d.ts +6 -0
  215. package/Skeleton/TextSkeleton.js +6 -0
  216. package/Skeleton/styles.d.ts +2 -0
  217. package/Skeleton/styles.js +2 -0
  218. package/Skeleton/types.d.ts +11 -0
  219. package/SortButton/SortButton.d.ts +6 -0
  220. package/SortButton/SortButton.js +6 -0
  221. package/SortButton/types.d.ts +11 -0
  222. package/Spinner/Spinner.d.ts +6 -0
  223. package/Spinner/Spinner.js +6 -0
  224. package/Spinner/types.d.ts +4 -0
  225. package/StatisticCard/StatisticCard.d.ts +7 -0
  226. package/StatisticCard/StatisticCard.js +7 -0
  227. package/StatisticCard/types.d.ts +21 -0
  228. package/Switch/Switch.d.ts +6 -0
  229. package/Switch/Switch.js +6 -0
  230. package/Switch/types.d.ts +8 -0
  231. package/Tabs/components/Tab/Tab.d.ts +4 -0
  232. package/Tabs/components/Tab/Tab.js +4 -0
  233. package/Tabs/components/Tab/types.d.ts +6 -0
  234. package/Tabs/components/TabBar/TabBar.d.ts +3 -0
  235. package/Tabs/components/TabBar/TabBar.js +3 -0
  236. package/Tabs/components/TabBar/types.d.ts +2 -0
  237. package/Tabs/components/TabPanel/TabPanel.d.ts +4 -0
  238. package/Tabs/components/TabPanel/TabPanel.js +4 -0
  239. package/Tabs/components/TabPanel/types.d.ts +3 -0
  240. package/Tabs/components/Tabs/Tabs.d.ts +11 -0
  241. package/Tabs/components/Tabs/Tabs.js +11 -0
  242. package/Tabs/components/Tabs/types.d.ts +4 -0
  243. package/Tabs/types.d.ts +4 -0
  244. package/Toast/Toast.d.ts +5 -0
  245. package/Toast/Toast.js +5 -0
  246. package/Toast/ToastProvider.d.ts +7 -0
  247. package/Toast/ToastProvider.js +7 -0
  248. package/Toast/hooks.d.ts +8 -0
  249. package/Toast/hooks.js +8 -0
  250. package/Toast/types.d.ts +24 -0
  251. package/Tooltip/Tooltip.d.ts +7 -0
  252. package/Tooltip/Tooltip.js +7 -0
  253. package/Tooltip/TooltipTrigger.d.ts +13 -0
  254. package/Tooltip/TooltipTrigger.js +7 -0
  255. package/Tooltip/types.d.ts +12 -0
  256. package/hooks/useElementWidth.d.ts +4 -3
  257. package/hooks/useElementWidth.js +4 -3
  258. package/hooks/useLayer.d.ts +7 -0
  259. package/hooks/useLayer.js +7 -0
  260. package/hooks/useOnClickOutside.d.ts +7 -0
  261. package/hooks/useOnClickOutside.js +7 -0
  262. package/native/Input.d.ts +3 -0
  263. package/native/Input.js +1 -0
  264. package/native/NativeTimeInput.d.ts +1 -0
  265. package/native/NativeTimeInput.js +1 -0
  266. package/native/Select.d.ts +1 -0
  267. package/native/Select.js +1 -0
  268. package/native/Textarea.d.ts +1 -0
  269. package/native/Textarea.js +1 -0
  270. package/package.json +2 -3
  271. package/polyglot/react.d.ts +19 -0
  272. package/polyglot/react.js +19 -0
  273. package/polyglot/types.d.ts +4 -0
  274. package/shared/dropdownField/FieldInput.d.ts +1 -0
  275. package/shared/dropdownField/FieldInput.js +1 -0
  276. package/shared/dropdownField/FieldShell.d.ts +4 -0
  277. package/shared/dropdownField/FieldShell.js +4 -0
  278. package/shared/dropdownField/SuggestionsDropdown.d.ts +4 -0
  279. package/shared/dropdownField/SuggestionsDropdown.js +4 -0
  280. package/shared/dropdownField/constants.d.ts +1 -0
  281. package/shared/dropdownField/constants.js +1 -0
  282. package/shared/dropdownField/shared.d.ts +7 -0
  283. package/shared/dropdownField/shared.js +7 -0
  284. package/shared/dropdownField/types.d.ts +7 -0
  285. package/shared/dropdownField/useActiveIndex.d.ts +4 -0
  286. package/shared/dropdownField/useActiveIndex.js +4 -0
  287. package/shared/dropdownField/useAsyncItems.d.ts +4 -0
  288. package/shared/dropdownField/useAsyncItems.js +4 -0
  289. package/shared/dropdownField/useDebouncedValue.d.ts +1 -0
  290. package/shared/dropdownField/useDebouncedValue.js +1 -0
  291. package/shared/dropdownField/useDropdownItems.d.ts +4 -0
  292. package/shared/dropdownField/useDropdownItems.js +4 -0
  293. package/shared/dropdownField/useDropdownPosition.d.ts +4 -0
  294. package/shared/dropdownField/useDropdownPosition.js +4 -0
  295. package/shared/dropdownField/useFieldOpenEffects.d.ts +4 -0
  296. package/shared/dropdownField/useFieldOpenEffects.js +4 -0
  297. package/shared/dropdownField/useListNavigation.d.ts +5 -0
  298. package/shared/dropdownField/useListNavigation.js +5 -0
  299. package/Alert/ai-documentation.md +0 -132
  300. package/Badge/ai-documentation.md +0 -155
  301. package/Banner/ai-documentation.md +0 -285
  302. package/Button/ai-documentation.md +0 -247
  303. package/CardMetric/ai-documentation.md +0 -277
  304. package/Checkbox/ai-documentation.md +0 -231
  305. package/Chip/ai-documentation.md +0 -281
  306. package/CodeEditor/ai-documentation.md +0 -350
  307. package/DateTimePicker/ai-documentation.md +0 -400
  308. package/Drawer/ai-documentation.md +0 -417
  309. package/EnhancedInput/ai-documentation.md +0 -352
  310. package/InputFile/ai-documentation.md +0 -420
  311. package/Modal/ai-documentation.md +0 -285
  312. package/PageHeader/ai-documentation.md +0 -511
  313. package/Pagination/ai-documentation.md +0 -509
  314. package/Popover/ai-documentation.md +0 -625
  315. package/ProgressBar/ai-documentation.md +0 -533
  316. package/Radio/ai-documentation.md +0 -243
  317. package/Select/ai-documentation.md +0 -374
  318. package/Skeleton/ai-documentation.md +0 -574
  319. package/Spinner/ai-documentation.md +0 -607
  320. package/Switch/ai-documentation.md +0 -312
  321. package/Tabs/ai-documentation.md +0 -475
  322. package/Toast/ai-documentation.md +0 -220
  323. package/Tooltip/ai-documentation.md +0 -340
  324. package/ai-documentation.md +0 -124
  325. package/native/ai-documentation.md +0 -485
@@ -1,13 +1,16 @@
1
1
  import styled from 'styled-components';
2
2
  import { Color, FontSize, FontWeight, LineHeight } from '@pushwoosh/kit-constants';
3
+ /** Top section of a {@link Drawer}; typically wraps a {@link DrawerTitle}. */
3
4
  export const DrawerHeader = styled.div.withConfig({
4
5
  displayName: "DrawerHeader",
5
6
  componentId: "sc-1jmui00-0"
6
7
  })(["padding:40px 40px 8px;background:", ";"], Color.CLEAR);
8
+ /** Heading row of a {@link Drawer} (an `<h2>`); place inside {@link DrawerHeader}. */
7
9
  export const DrawerTitle = styled.h2.withConfig({
8
10
  displayName: "DrawerTitle",
9
11
  componentId: "sc-1jmui00-1"
10
12
  })(["display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;font-size:", ";font-weight:", ";line-height:", ";letter-spacing:0;margin:0;"], FontSize.HEADING2, FontWeight.BOLD, LineHeight.HEADING2);
13
+ /** Scrollable main content area of a {@link Drawer}. */
11
14
  export const DrawerBody = styled.div.withConfig({
12
15
  displayName: "DrawerBody",
13
16
  componentId: "sc-1jmui00-2"
@@ -1,3 +1,10 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { DrawerPlatformsProps } from './types';
3
+ /**
4
+ * {@link Drawer} preset that loads a documentation page in an iframe with a loading
5
+ * state. Pair with {@link useDocs} to manage open/close.
6
+ *
7
+ * @example
8
+ * <DrawerDocs url={docsUrl} isOpen={docsOpen} onClose={closeDocsDrawer} />
9
+ */
3
10
  export declare function DrawerDocs(props: DrawerPlatformsProps): ReactElement;
@@ -4,6 +4,13 @@ import { DrawerBodyIframe, IframeElement, LoadingBox } from './styles';
4
4
  import { Spinner } from '../../../Spinner';
5
5
  import { Lang, useLang } from '../../polyglot';
6
6
  import { Drawer } from '../Drawer';
7
+ /**
8
+ * {@link Drawer} preset that loads a documentation page in an iframe with a loading
9
+ * state. Pair with {@link useDocs} to manage open/close.
10
+ *
11
+ * @example
12
+ * <DrawerDocs url={docsUrl} isOpen={docsOpen} onClose={closeDocsDrawer} />
13
+ */
7
14
  export function DrawerDocs(props) {
8
15
  const {
9
16
  isOpen,
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Open/close state helper for {@link DrawerDocs}; returns
3
+ * `{ docsOpen, openDocsDrawer, closeDocsDrawer }`.
4
+ */
1
5
  export declare const useDocs: () => {
2
6
  docsOpen: boolean;
3
7
  openDocsDrawer: () => void;
@@ -1,4 +1,8 @@
1
1
  import { useCallback, useState } from 'react';
2
+ /**
3
+ * Open/close state helper for {@link DrawerDocs}; returns
4
+ * `{ docsOpen, openDocsDrawer, closeDocsDrawer }`.
5
+ */
2
6
  export const useDocs = () => {
3
7
  const [docsOpen, setDocsOpen] = useState(false);
4
8
  const openDocsDrawer = useCallback(() => {
@@ -1,5 +1,9 @@
1
+ /** Props of {@link DrawerDocs}. */
1
2
  export interface DrawerPlatformsProps {
3
+ /** URL of the documentation page to load in the iframe. */
2
4
  url: string;
5
+ /** Whether the drawer is open. */
3
6
  isOpen: boolean;
7
+ /** Fires when the drawer is closed. */
4
8
  onClose: () => void;
5
9
  }
@@ -1,3 +1,15 @@
1
1
  import { type FC } from 'react';
2
2
  import { type DropdownMenuProps } from './types';
3
+ /**
4
+ * Floating dropdown menu anchored to a custom trigger (`renderHandler`), with
5
+ * auto-placement, click-outside close and layered z-index. Fill it with
6
+ * {@link DropdownMenuItem}, {@link DropdownMenuSection} and {@link DropdownMenuSubmenu}.
7
+ *
8
+ * @example
9
+ * <DropdownMenu renderHandler={({ ref, onClick, isOpen }) => (
10
+ * <Button boxRef={ref} onClick={onClick} isOpen={isOpen} color="secondary">Menu</Button>
11
+ * )}>
12
+ * <DropdownMenuItem onClick={edit}>Edit</DropdownMenuItem>
13
+ * </DropdownMenu>
14
+ */
3
15
  export declare const DropdownMenu: FC<DropdownMenuProps>;
@@ -7,6 +7,18 @@ import { useLayer } from '../../../hooks';
7
7
  import { DropdownContext, DropdownZIndexContext } from '../../context';
8
8
  import { renderChildren } from '../../shared/renderChildren';
9
9
  const defaultPlacements = ['top-start', 'top-end', 'bottom-start', 'bottom-end'];
10
+ /**
11
+ * Floating dropdown menu anchored to a custom trigger (`renderHandler`), with
12
+ * auto-placement, click-outside close and layered z-index. Fill it with
13
+ * {@link DropdownMenuItem}, {@link DropdownMenuSection} and {@link DropdownMenuSubmenu}.
14
+ *
15
+ * @example
16
+ * <DropdownMenu renderHandler={({ ref, onClick, isOpen }) => (
17
+ * <Button boxRef={ref} onClick={onClick} isOpen={isOpen} color="secondary">Menu</Button>
18
+ * )}>
19
+ * <DropdownMenuItem onClick={edit}>Edit</DropdownMenuItem>
20
+ * </DropdownMenu>
21
+ */
10
22
  export const DropdownMenu = ({
11
23
  renderHandler,
12
24
  color,
@@ -1,20 +1,35 @@
1
1
  import type { ReferenceType, Placement } from '@floating-ui/react-dom';
2
2
  import type { ReactNode } from 'react';
3
3
  import type { Color } from '@pushwoosh/kit-constants';
4
+ /** Arguments passed to {@link DropdownMenuProps.renderHandler} for wiring up the trigger element. */
4
5
  export type HandlerProps = {
6
+ /** Whether the menu is currently open. */
5
7
  isOpen: boolean;
8
+ /** Ref callback to attach to the trigger so the menu can anchor to it. */
6
9
  ref: (el: ReferenceType | null) => void;
10
+ /** Toggle handler to call on the trigger's click. */
7
11
  onClick: () => void;
8
12
  };
13
+ /** Props of {@link DropdownMenu}. */
9
14
  export type DropdownMenuProps = {
15
+ /** Background color of the menu surface (`CLEAR` or `FROZEN`). */
10
16
  color?: Color.CLEAR | Color.FROZEN;
17
+ /** Make the menu body scrollable and scroll the active item into view. */
11
18
  isScrollable?: boolean;
19
+ /** Open the menu on mount. */
12
20
  openOnMount?: boolean;
21
+ /** z-index of the floating menu; auto-layered when omitted. */
13
22
  menuZIndex?: number;
23
+ /** Force a specific floating placement instead of auto-placement. */
14
24
  menuPlacement?: Placement;
25
+ /** Match the menu width to the trigger width. */
15
26
  fullWidth?: boolean;
27
+ /** Fixed menu width in pixels; `fit-content` when omitted. */
16
28
  windowWidth?: number;
29
+ /** Fires when the menu closes. */
17
30
  onClose?: () => void;
31
+ /** Renders the trigger; wire the provided {@link HandlerProps} onto your element. */
18
32
  renderHandler: (args: HandlerProps) => ReactNode;
33
+ /** Menu contents — nodes, or a function returning nodes (lazily rendered when open). */
19
34
  children: (() => ReactNode) | ReactNode;
20
35
  };
@@ -1,3 +1,11 @@
1
1
  import { type FC } from 'react';
2
2
  import { type DropdownMenuButtonProps } from './types';
3
+ /**
4
+ * {@link DropdownMenu} preset that renders a {@link Button} as its trigger — the common case.
5
+ *
6
+ * @example
7
+ * <DropdownMenuButton label="Actions" color="secondary">
8
+ * <DropdownMenuItem onClick={remove} isDanger>Delete</DropdownMenuItem>
9
+ * </DropdownMenuButton>
10
+ */
3
11
  export declare const DropdownMenuButton: FC<DropdownMenuButtonProps>;
@@ -1,6 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Button } from '../../../Button';
3
3
  import { DropdownMenu } from '../DropdownMenu';
4
+ /**
5
+ * {@link DropdownMenu} preset that renders a {@link Button} as its trigger — the common case.
6
+ *
7
+ * @example
8
+ * <DropdownMenuButton label="Actions" color="secondary">
9
+ * <DropdownMenuItem onClick={remove} isDanger>Delete</DropdownMenuItem>
10
+ * </DropdownMenuButton>
11
+ */
4
12
  export const DropdownMenuButton = ({
5
13
  label,
6
14
  isScrollable,
@@ -1,20 +1,36 @@
1
1
  import { type Placement } from '@floating-ui/react-dom';
2
2
  import { type ReactNode } from 'react';
3
3
  import { type RequiredButtonProps } from '../../../Button';
4
+ /** Props of {@link DropdownMenuButton} — a {@link DropdownMenu} whose trigger is a {@link Button}. */
4
5
  export type DropdownMenuButtonProps = {
6
+ /** Button label. */
5
7
  label?: ReactNode;
8
+ /** Make the menu body scrollable. */
6
9
  isScrollable?: boolean;
10
+ /** Disable the trigger button. */
7
11
  isDisabled?: boolean;
12
+ /** Show the loading state on the trigger button. */
8
13
  isLoading?: boolean;
14
+ /** Open the menu on mount. */
9
15
  openOnMount?: boolean;
16
+ /** z-index of the floating menu. */
10
17
  menuZIndex?: number;
18
+ /** Force a specific floating placement. */
11
19
  menuPlacement?: Placement;
20
+ /** Fires when the menu closes. */
12
21
  onClose?: () => void;
22
+ /** Button color (see {@link RequiredButtonProps}). */
13
23
  color: RequiredButtonProps['color'];
24
+ /** Button size. */
14
25
  size?: RequiredButtonProps['size'];
26
+ /** Button view. */
15
27
  view?: RequiredButtonProps['view'];
28
+ /** Extra CSS class on the button. */
16
29
  className?: string;
30
+ /** Icon before the label. */
17
31
  icon?: RequiredButtonProps['icon'];
32
+ /** Icon after the label. */
18
33
  rightIcon?: RequiredButtonProps['rightIcon'];
34
+ /** Menu contents — nodes, or a function returning nodes. */
19
35
  children: (() => ReactNode) | ReactNode;
20
36
  };
@@ -1,3 +1,10 @@
1
1
  import { type FC } from 'react';
2
2
  import { type DropdownMenuItemProps } from './types';
3
+ /**
4
+ * Clickable row inside a {@link DropdownMenu}, with active (checked), danger and
5
+ * disabled states. Must be rendered inside a {@link DropdownMenu}.
6
+ *
7
+ * @example
8
+ * <DropdownMenuItem onClick={select} isActive={selected}>Option</DropdownMenuItem>
9
+ */
3
10
  export declare const DropdownMenuItem: FC<DropdownMenuItemProps>;
@@ -3,6 +3,13 @@ import { useContext } from 'react';
3
3
  import { CheckIcon } from '@pushwoosh/kit-icons';
4
4
  import { DropdownMenuItemStyled, DropdownMenuIconStyled } from './styles';
5
5
  import { DropdownContext } from '../../context';
6
+ /**
7
+ * Clickable row inside a {@link DropdownMenu}, with active (checked), danger and
8
+ * disabled states. Must be rendered inside a {@link DropdownMenu}.
9
+ *
10
+ * @example
11
+ * <DropdownMenuItem onClick={select} isActive={selected}>Option</DropdownMenuItem>
12
+ */
6
13
  export const DropdownMenuItem = ({
7
14
  children,
8
15
  onClick,
@@ -1,8 +1,14 @@
1
1
  import type { PropsWithChildren } from 'react';
2
+ /** Props of {@link DropdownMenuItem}. */
2
3
  export type DropdownMenuItemProps = PropsWithChildren<{
4
+ /** Fires when the item is clicked. */
3
5
  onClick: () => void;
6
+ /** Mark as selected (shows a check icon). */
4
7
  isActive?: boolean;
8
+ /** Render in the danger (red) style, e.g. for destructive actions. */
5
9
  isDanger?: boolean;
10
+ /** Disable the item. */
6
11
  disabled?: boolean;
12
+ /** Close the menu after clicking (default `true`). */
7
13
  closeOnClick?: boolean;
8
14
  }>;
@@ -1,3 +1,11 @@
1
1
  import { type FC } from 'react';
2
2
  import { type DropdownMenuSectionProps } from './types';
3
+ /**
4
+ * Groups {@link DropdownMenuItem}s under an optional heading inside a {@link DropdownMenu}.
5
+ *
6
+ * @example
7
+ * <DropdownMenuSection title="Account">
8
+ * <DropdownMenuItem onClick={logout}>Log out</DropdownMenuItem>
9
+ * </DropdownMenuSection>
10
+ */
3
11
  export declare const DropdownMenuSection: FC<DropdownMenuSectionProps>;
@@ -3,6 +3,14 @@ import { Color } from '@pushwoosh/kit-constants';
3
3
  import { Horizontal } from '@pushwoosh/kit-helpers';
4
4
  import { Text } from '@pushwoosh/kit-typography';
5
5
  import { DropdownMenuSectionRoot } from './styles';
6
+ /**
7
+ * Groups {@link DropdownMenuItem}s under an optional heading inside a {@link DropdownMenu}.
8
+ *
9
+ * @example
10
+ * <DropdownMenuSection title="Account">
11
+ * <DropdownMenuItem onClick={logout}>Log out</DropdownMenuItem>
12
+ * </DropdownMenuSection>
13
+ */
6
14
  export const DropdownMenuSection = ({
7
15
  title,
8
16
  bgColor,
@@ -1,5 +1,8 @@
1
1
  import { type PropsWithChildren } from 'react';
2
+ /** Props of {@link DropdownMenuSection}. */
2
3
  export type DropdownMenuSectionProps = PropsWithChildren<{
4
+ /** Optional uppercase section heading. */
3
5
  title?: string;
6
+ /** Background color of the section. */
4
7
  bgColor?: string;
5
8
  }>;
@@ -1,3 +1,12 @@
1
1
  import { type FC } from 'react';
2
2
  import { type DropdownMenuSubmenuProps } from './types';
3
+ /**
4
+ * Nested submenu inside a {@link DropdownMenu}: a trigger row that opens a flyout
5
+ * of further items on hover or click. Must be rendered inside a {@link DropdownMenu}.
6
+ *
7
+ * @example
8
+ * <DropdownMenuSubmenu label="More">
9
+ * <DropdownMenuItem onClick={archive}>Archive</DropdownMenuItem>
10
+ * </DropdownMenuSubmenu>
11
+ */
3
12
  export declare const DropdownMenuSubmenu: FC<DropdownMenuSubmenuProps>;
@@ -9,6 +9,15 @@ import { renderChildren } from '../../shared/renderChildren';
9
9
  import { DropdownMenuItemStyled, Place } from '../../shared/styles';
10
10
  const OPEN_DELAY = 100;
11
11
  const CLOSE_DELAY = 200;
12
+ /**
13
+ * Nested submenu inside a {@link DropdownMenu}: a trigger row that opens a flyout
14
+ * of further items on hover or click. Must be rendered inside a {@link DropdownMenu}.
15
+ *
16
+ * @example
17
+ * <DropdownMenuSubmenu label="More">
18
+ * <DropdownMenuItem onClick={archive}>Archive</DropdownMenuItem>
19
+ * </DropdownMenuSubmenu>
20
+ */
12
21
  export const DropdownMenuSubmenu = ({
13
22
  label,
14
23
  isDanger,
@@ -1,7 +1,12 @@
1
1
  import { type ReactNode } from 'react';
2
+ /** Props of {@link DropdownMenuSubmenu}. */
2
3
  export type DropdownMenuSubmenuProps = {
4
+ /** Row label for the submenu trigger. */
3
5
  label: ReactNode;
6
+ /** Render the trigger in the danger (red) style. */
4
7
  isDanger?: boolean;
8
+ /** Disable the submenu. */
5
9
  disabled?: boolean;
10
+ /** Submenu contents — nodes, or a function returning nodes. */
6
11
  children: (() => ReactNode) | ReactNode;
7
12
  };
@@ -1,3 +1,12 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { EditableFieldProps } from './types';
3
+ /**
4
+ * Inline-editable value: shows the current value as a trigger that opens a popover
5
+ * with arbitrary editor content plus Save/Cancel buttons.
6
+ *
7
+ * @example
8
+ * <EditableField value={name} open={open} onToggleOpen={toggle} onSubmit={save} onCancel={close}>
9
+ * <EnhancedInput value={draft} onChange={onChange} />
10
+ * </EditableField>
11
+ */
3
12
  export declare function EditableField({ value, title, open, loading, width, position, zIndex, onToggleOpen, onSubmit, onCancel, children, }: EditableFieldProps): ReactElement;
@@ -8,6 +8,15 @@ import { useOnClickOutside } from '../hooks';
8
8
  import { Popover, PopoverContainer } from '../Popover';
9
9
  import { Lang } from './polyglot';
10
10
  import { FieldBox, TitleBox, ButtonsGroup } from './styles';
11
+ /**
12
+ * Inline-editable value: shows the current value as a trigger that opens a popover
13
+ * with arbitrary editor content plus Save/Cancel buttons.
14
+ *
15
+ * @example
16
+ * <EditableField value={name} open={open} onToggleOpen={toggle} onSubmit={save} onCancel={close}>
17
+ * <EnhancedInput value={draft} onChange={onChange} />
18
+ * </EditableField>
19
+ */
11
20
  export function EditableField({
12
21
  value,
13
22
  title = '',
@@ -1,15 +1,27 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { Placement } from '../Popover';
3
+ /** Props of {@link EditableField}. */
3
4
  export interface EditableFieldProps {
5
+ /** Current value shown in the read-only trigger. */
4
6
  readonly value: string;
7
+ /** Heading shown at the top of the edit popover. */
5
8
  readonly title?: string;
9
+ /** Whether the edit popover is open (controlled). */
6
10
  readonly open?: boolean;
11
+ /** Show the loading state on the submit button and block cancel. */
7
12
  readonly loading?: boolean;
13
+ /** Popover placement relative to the trigger (default `right-start`). */
8
14
  readonly position?: Placement;
15
+ /** Popover z-index (default `1000`). */
9
16
  readonly zIndex?: number;
17
+ /** Popover width in pixels (default `332`). */
10
18
  readonly width?: number;
19
+ /** Fires when the trigger is clicked to open/close the popover. */
11
20
  readonly onToggleOpen: () => void;
21
+ /** Fires when the Save button is clicked. */
12
22
  readonly onSubmit: () => void;
23
+ /** Fires on Cancel or click-outside. */
13
24
  readonly onCancel: () => void;
25
+ /** Editor content rendered inside the popover. */
14
26
  readonly children: ReactNode | undefined;
15
27
  }
@@ -1,3 +1,10 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { PreviewIframeProps } from './types';
3
+ /**
4
+ * Renders an email HTML template in a sandboxed iframe, resolving Liquid, localization
5
+ * and placeholder values before display.
6
+ *
7
+ * @example
8
+ * <EmailTemplatePreview template={html} localization={l10n} values={vars} scale={0.5} />
9
+ */
3
10
  export declare function EmailTemplatePreview(props: PreviewIframeProps): ReactElement;
@@ -18,6 +18,13 @@ const createLiquidInstance = () => {
18
18
  });
19
19
  return liquidInstance;
20
20
  };
21
+ /**
22
+ * Renders an email HTML template in a sandboxed iframe, resolving Liquid, localization
23
+ * and placeholder values before display.
24
+ *
25
+ * @example
26
+ * <EmailTemplatePreview template={html} localization={l10n} values={vars} scale={0.5} />
27
+ */
21
28
  export function EmailTemplatePreview(props) {
22
29
  const {
23
30
  scale,
@@ -1,2 +1,6 @@
1
1
  import { type ReactElement } from 'react';
2
+ /**
3
+ * Empty-state placeholder for {@link EmailTemplatePreview}, shown when there is no
4
+ * template to render.
5
+ */
2
6
  export declare function NoEmailTemplatePreview(): ReactElement;
@@ -5,6 +5,10 @@ import { Text } from '@pushwoosh/kit-typography';
5
5
  import Email from './assets/email.svg?url';
6
6
  import { Container, PreviewMock } from './styles';
7
7
  import { Lang, useLang } from '../../polyglot';
8
+ /**
9
+ * Empty-state placeholder for {@link EmailTemplatePreview}, shown when there is no
10
+ * template to render.
11
+ */
8
12
  export function NoEmailTemplatePreview() {
9
13
  const lang = useLang();
10
14
  return _jsxs(Container, {
@@ -1,2 +1,10 @@
1
+ /**
2
+ * Replaces `{{key|text|html|color|default}}` localization tokens in `str` with the
3
+ * matching value from `values`, falling back to the token's default.
4
+ */
1
5
  export declare function replaceLocalization(str: string, values: Record<string, string>): string;
6
+ /**
7
+ * Replaces `{key|modifier|default}` placeholder tokens (e.g. `UPPERCASE`, `dollar`,
8
+ * date formats) in `str` with the matching value from `values`, falling back to the default.
9
+ */
2
10
  export declare function replacePlaceholders(str: string, values: Record<string, string>): string;
@@ -1,9 +1,17 @@
1
+ /**
2
+ * Replaces `{{key|text|html|color|default}}` localization tokens in `str` with the
3
+ * matching value from `values`, falling back to the token's default.
4
+ */
1
5
  export function replaceLocalization(str, values) {
2
6
  const re = /{{([^|{}]+)\|(text|html|color)\|([^}]*)?}}/g;
3
7
  return str.replace(re, (_, key, _type, defaultValue) => {
4
8
  return (key in values ? values[key] : defaultValue) || '';
5
9
  });
6
10
  }
11
+ /**
12
+ * Replaces `{key|modifier|default}` placeholder tokens (e.g. `UPPERCASE`, `dollar`,
13
+ * date formats) in `str` with the matching value from `values`, falling back to the default.
14
+ */
7
15
  export function replacePlaceholders(str, values) {
8
16
  const allAvailableModifiers = ['CapitalizeFirst', 'CapitalizeAllFirst', 'UPPERCASE', 'lowercase', 'regular', 'cent', 'dollar', 'comma', 'euro', 'jpy', 'lira', 'M-d-y', 'm-d-y', 'M d y', 'M d Y', 'l', 'M d', 'H:i', 'm-d-y H:i'];
9
17
  const re = new RegExp(`{([^|{}]{1,64})\\|(${allAvailableModifiers.join('|')})(?:\\|([^}]*))?}`, 'g');
@@ -1,8 +1,15 @@
1
+ /** Props of {@link EmailTemplatePreview}. */
1
2
  export type PreviewIframeProps = {
3
+ /** CSS `transform: scale()` factor applied to the rendered email. */
2
4
  scale?: number;
5
+ /** CSS width of the iframe. */
3
6
  width?: string;
7
+ /** CSS height of the iframe. */
4
8
  height?: string;
9
+ /** Raw email HTML template (Liquid + placeholders). */
5
10
  template: string;
11
+ /** Localization map resolved by {@link replaceLocalization}. */
6
12
  localization: Record<string, string>;
13
+ /** Placeholder values resolved by {@link replacePlaceholders}. */
7
14
  values: Record<string, any>;
8
15
  };
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Text input with optional left icon, trailing hint and a clear button, on top
3
+ * of the styled {@link NativeInput}.
4
+ *
5
+ * @example
6
+ * <EnhancedInput value={q} onChange={onChange} $onClear={() => setQ('')} hint="⏎" />
7
+ */
1
8
  export declare const EnhancedInput: import("react").ForwardRefExoticComponent<import("react").InputHTMLAttributes<HTMLInputElement> & import("../native/Input").NativeInputProps & {
2
9
  $icon?: import("react").ReactNode;
3
10
  $onClear?: () => void;
@@ -3,6 +3,13 @@ import { forwardRef } from 'react';
3
3
  import { CloseIcon } from '@pushwoosh/kit-icons';
4
4
  import { Wrapper, RightSlot } from './styles';
5
5
  import { NativeInput } from '../native';
6
+ /**
7
+ * Text input with optional left icon, trailing hint and a clear button, on top
8
+ * of the styled {@link NativeInput}.
9
+ *
10
+ * @example
11
+ * <EnhancedInput value={q} onChange={onChange} $onClear={() => setQ('')} hint="⏎" />
12
+ */
6
13
  export const EnhancedInput = forwardRef(({
7
14
  $icon,
8
15
  $onClear,
@@ -1,3 +1,9 @@
1
1
  import { type FC } from 'react';
2
2
  import { type SearchInputProps } from './types';
3
+ /**
4
+ * {@link EnhancedInput} preset with a fixed search icon — for search/filter fields.
5
+ *
6
+ * @example
7
+ * <SearchInput placeholder="Search" value={q} onChange={onChange} $onClear={() => setQ('')} />
8
+ */
3
9
  export declare const SearchInput: FC<SearchInputProps>;
@@ -1,6 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { SearchIcon } from '@pushwoosh/kit-icons';
3
3
  import { EnhancedInput } from './EnhancedInput';
4
+ /**
5
+ * {@link EnhancedInput} preset with a fixed search icon — for search/filter fields.
6
+ *
7
+ * @example
8
+ * <SearchInput placeholder="Search" value={q} onChange={onChange} $onClear={() => setQ('')} />
9
+ */
4
10
  export const SearchInput = props => {
5
11
  return _jsx(EnhancedInput, {
6
12
  ...props,
@@ -1,8 +1,13 @@
1
1
  import type { InputHTMLAttributes, ReactNode } from 'react';
2
2
  import type { NativeInputProps } from '../native/Input';
3
+ /** Props of {@link EnhancedInput} — native input attributes plus icon, clear and hint slots. */
3
4
  export type EnhancedInputProps = InputHTMLAttributes<HTMLInputElement> & NativeInputProps & {
5
+ /** Icon rendered on the left inside the field. */
4
6
  $icon?: ReactNode;
7
+ /** When set, shows a clear (✕) button; called when it is clicked. */
5
8
  $onClear?: () => void;
9
+ /** Trailing hint text shown on the right inside the field. */
6
10
  hint?: string;
7
11
  };
12
+ /** Props of {@link SearchInput} — like {@link EnhancedInputProps} but the icon is a fixed search glyph. */
8
13
  export type SearchInputProps = Omit<EnhancedInputProps, '$icon'>;
@@ -1,3 +1,10 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import { type ExportResultProps } from './types';
3
+ /**
4
+ * Result row for a finished export: a colored leading icon, title/subtitle, an
5
+ * optional right slot and a close button.
6
+ *
7
+ * @example
8
+ * <ExportResult type="success" title="Export ready" subtitle="users.csv" handleClose={dismiss} />
9
+ */
3
10
  export declare function ExportResult(props: ExportResultProps): ReactElement;
@@ -3,6 +3,13 @@ import { Horizontal } from '@pushwoosh/kit-helpers';
3
3
  import { CloseIcon, CsvIcon } from '@pushwoosh/kit-icons';
4
4
  import { Button } from '../Button';
5
5
  import { LeftSlot, MainInfoContainer, RightSlotContainer, Subtitle, Title } from './styles';
6
+ /**
7
+ * Result row for a finished export: a colored leading icon, title/subtitle, an
8
+ * optional right slot and a close button.
9
+ *
10
+ * @example
11
+ * <ExportResult type="success" title="Export ready" subtitle="users.csv" handleClose={dismiss} />
12
+ */
6
13
  export function ExportResult(props) {
7
14
  const {
8
15
  type,
@@ -1,9 +1,16 @@
1
1
  import { type ReactNode } from 'react';
2
+ /** Props of {@link ExportResult}. */
2
3
  export type ExportResultProps = {
4
+ /** Main line of text. */
3
5
  title: string;
6
+ /** Secondary line of text. */
4
7
  subtitle: string;
8
+ /** Leading icon (defaults to a CSV icon). */
5
9
  leftSlotIcon?: ReactNode;
10
+ /** Extra content on the right, before the close button. */
6
11
  rightSlot?: ReactNode;
12
+ /** Severity, driving the leading icon's color. */
7
13
  type: 'error' | 'warning' | 'info' | 'success';
14
+ /** Fires when the close button is clicked. */
8
15
  handleClose: () => void;
9
16
  };
@@ -1,3 +1,10 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { ExternalImagePreviewProps } from './types';
3
+ /**
4
+ * Loads an external image with loading and error states, showing `placeholder`
5
+ * until it resolves or if it fails.
6
+ *
7
+ * @example
8
+ * <ExternalImagePreview src={url} width={120} height={120} placeholder={<Skeleton />} />
9
+ */
3
10
  export declare function ExternalImagePreview(props: ExternalImagePreviewProps): ReactElement;
@@ -3,6 +3,13 @@ import { useState, useEffect } from 'react';
3
3
  import { Color } from '@pushwoosh/kit-constants';
4
4
  import { Spinner } from '../Spinner';
5
5
  import { RootBox, ImgPreview, PlaceholderWrapper } from './styles';
6
+ /**
7
+ * Loads an external image with loading and error states, showing `placeholder`
8
+ * until it resolves or if it fails.
9
+ *
10
+ * @example
11
+ * <ExternalImagePreview src={url} width={120} height={120} placeholder={<Skeleton />} />
12
+ */
6
13
  export function ExternalImagePreview(props) {
7
14
  const {
8
15
  src,