@expofp/ui 3.21.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 (304) hide show
  1. package/README.md +30 -0
  2. package/dist/Alert/Alert.d.ts +20 -0
  3. package/dist/Alert/Alert.js +23 -0
  4. package/dist/Alert/index.d.ts +3 -0
  5. package/dist/Alert/index.js +1 -0
  6. package/dist/Autocomplete/Autocomplete.d.ts +21 -0
  7. package/dist/Autocomplete/Autocomplete.js +183 -0
  8. package/dist/Autocomplete/index.d.ts +3 -0
  9. package/dist/Autocomplete/index.js +1 -0
  10. package/dist/Badge/Badge.d.ts +14 -0
  11. package/dist/Badge/Badge.js +15 -0
  12. package/dist/Badge/index.d.ts +3 -0
  13. package/dist/Badge/index.js +1 -0
  14. package/dist/Button/Button.d.ts +30 -0
  15. package/dist/Button/Button.js +41 -0
  16. package/dist/Button/index.d.ts +3 -0
  17. package/dist/Button/index.js +1 -0
  18. package/dist/Checkbox/Checkbox.d.ts +19 -0
  19. package/dist/Checkbox/Checkbox.js +19 -0
  20. package/dist/Checkbox/index.d.ts +3 -0
  21. package/dist/Checkbox/index.js +1 -0
  22. package/dist/CheckboxButton/CheckboxButton.d.ts +12 -0
  23. package/dist/CheckboxButton/CheckboxButton.js +19 -0
  24. package/dist/CheckboxButton/index.d.ts +3 -0
  25. package/dist/CheckboxButton/index.js +1 -0
  26. package/dist/DownloadList/DownloadList.d.ts +15 -0
  27. package/dist/DownloadList/DownloadList.js +9 -0
  28. package/dist/DownloadList/index.d.ts +3 -0
  29. package/dist/DownloadList/index.js +2 -0
  30. package/dist/Draggable/Draggable.d.ts +9 -0
  31. package/dist/Draggable/Draggable.js +92 -0
  32. package/dist/Draggable/index.d.ts +3 -0
  33. package/dist/Draggable/index.js +2 -0
  34. package/dist/EntityItem/EntityItem.d.ts +46 -0
  35. package/dist/EntityItem/EntityItem.js +29 -0
  36. package/dist/EntityItem/index.d.ts +3 -0
  37. package/dist/EntityItem/index.js +1 -0
  38. package/dist/EventBadge/EventBadge.d.ts +13 -0
  39. package/dist/EventBadge/EventBadge.js +10 -0
  40. package/dist/EventBadge/index.d.ts +3 -0
  41. package/dist/EventBadge/index.js +1 -0
  42. package/dist/HeatmapLegend/HeatmapLegend.d.ts +15 -0
  43. package/dist/HeatmapLegend/HeatmapLegend.js +11 -0
  44. package/dist/HeatmapLegend/index.d.ts +3 -0
  45. package/dist/HeatmapLegend/index.js +2 -0
  46. package/dist/HighlightText/HighlightText.d.ts +7 -0
  47. package/dist/HighlightText/HighlightText.js +14 -0
  48. package/dist/HighlightText/index.d.ts +2 -0
  49. package/dist/HighlightText/index.js +1 -0
  50. package/dist/LevelBadge/LevelBadge.d.ts +9 -0
  51. package/dist/LevelBadge/LevelBadge.js +10 -0
  52. package/dist/LevelBadge/index.d.ts +3 -0
  53. package/dist/LevelBadge/index.js +2 -0
  54. package/dist/LevelSelector/LevelSelector.d.ts +19 -0
  55. package/dist/LevelSelector/LevelSelector.js +91 -0
  56. package/dist/LevelSelector/index.d.ts +3 -0
  57. package/dist/LevelSelector/index.js +2 -0
  58. package/dist/MapControls/MapControls.d.ts +33 -0
  59. package/dist/MapControls/MapControls.js +38 -0
  60. package/dist/MapControls/index.d.ts +3 -0
  61. package/dist/MapControls/index.js +2 -0
  62. package/dist/MobileToggleButton/MobileToggleButton.d.ts +12 -0
  63. package/dist/MobileToggleButton/MobileToggleButton.js +8 -0
  64. package/dist/MobileToggleButton/index.d.ts +3 -0
  65. package/dist/MobileToggleButton/index.js +1 -0
  66. package/dist/Modal/Modal.d.ts +34 -0
  67. package/dist/Modal/Modal.js +98 -0
  68. package/dist/Modal/index.d.ts +3 -0
  69. package/dist/Modal/index.js +1 -0
  70. package/dist/MultiSelectGroups/MultiSelectGroups.d.ts +37 -0
  71. package/dist/MultiSelectGroups/MultiSelectGroups.js +80 -0
  72. package/dist/MultiSelectGroups/index.d.ts +3 -0
  73. package/dist/MultiSelectGroups/index.js +1 -0
  74. package/dist/OverlayGrip/OverlayGrip.d.ts +11 -0
  75. package/dist/OverlayGrip/OverlayGrip.js +8 -0
  76. package/dist/OverlayGrip/index.d.ts +3 -0
  77. package/dist/OverlayGrip/index.js +2 -0
  78. package/dist/PermissionNotice/PermissionNotice.d.ts +16 -0
  79. package/dist/PermissionNotice/PermissionNotice.js +11 -0
  80. package/dist/PermissionNotice/index.d.ts +3 -0
  81. package/dist/PermissionNotice/index.js +2 -0
  82. package/dist/Radio/Radio.d.ts +15 -0
  83. package/dist/Radio/Radio.js +13 -0
  84. package/dist/Radio/index.d.ts +3 -0
  85. package/dist/Radio/index.js +1 -0
  86. package/dist/RebookingNotes/RebookingNotes.d.ts +11 -0
  87. package/dist/RebookingNotes/RebookingNotes.js +18 -0
  88. package/dist/RebookingNotes/index.d.ts +3 -0
  89. package/dist/RebookingNotes/index.js +1 -0
  90. package/dist/RebookingRadioGroup/RebookingRadioGroup.d.ts +17 -0
  91. package/dist/RebookingRadioGroup/RebookingRadioGroup.js +13 -0
  92. package/dist/RebookingRadioGroup/index.d.ts +3 -0
  93. package/dist/RebookingRadioGroup/index.js +1 -0
  94. package/dist/ScrollableRow/ScrollableRow.d.ts +21 -0
  95. package/dist/ScrollableRow/ScrollableRow.js +155 -0
  96. package/dist/ScrollableRow/index.d.ts +3 -0
  97. package/dist/ScrollableRow/index.js +2 -0
  98. package/dist/Share/Share.d.ts +22 -0
  99. package/dist/Share/Share.js +24 -0
  100. package/dist/Share/index.d.ts +3 -0
  101. package/dist/Share/index.js +1 -0
  102. package/dist/ShowMoreButton/ShowMoreButton.d.ts +11 -0
  103. package/dist/ShowMoreButton/ShowMoreButton.js +7 -0
  104. package/dist/ShowMoreButton/index.d.ts +3 -0
  105. package/dist/ShowMoreButton/index.js +1 -0
  106. package/dist/SidebarActions/SidebarActions.d.ts +26 -0
  107. package/dist/SidebarActions/SidebarActions.js +32 -0
  108. package/dist/SidebarActions/index.d.ts +3 -0
  109. package/dist/SidebarActions/index.js +2 -0
  110. package/dist/SimpleRow/SimpleRow.d.ts +15 -0
  111. package/dist/SimpleRow/SimpleRow.js +11 -0
  112. package/dist/SimpleRow/index.d.ts +3 -0
  113. package/dist/SimpleRow/index.js +2 -0
  114. package/dist/Spinner/Spinner.d.ts +9 -0
  115. package/dist/Spinner/Spinner.js +8 -0
  116. package/dist/Spinner/index.d.ts +3 -0
  117. package/dist/Spinner/index.js +1 -0
  118. package/dist/ToggleButton/ToggleButton.d.ts +17 -0
  119. package/dist/ToggleButton/ToggleButton.js +8 -0
  120. package/dist/ToggleButton/index.d.ts +3 -0
  121. package/dist/ToggleButton/index.js +1 -0
  122. package/dist/ToggleSwitch/ToggleSwitch.d.ts +12 -0
  123. package/dist/ToggleSwitch/ToggleSwitch.js +10 -0
  124. package/dist/ToggleSwitch/index.d.ts +3 -0
  125. package/dist/ToggleSwitch/index.js +1 -0
  126. package/dist/TouchHand/TouchHand.d.ts +5 -0
  127. package/dist/TouchHand/TouchHand.js +7 -0
  128. package/dist/TouchHand/index.d.ts +2 -0
  129. package/dist/TouchHand/index.js +1 -0
  130. package/dist/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +24 -0
  131. package/dist/WayfindingFloorSelector/WayfindingFloorSelector.js +27 -0
  132. package/dist/WayfindingFloorSelector/index.d.ts +3 -0
  133. package/dist/WayfindingFloorSelector/index.js +1 -0
  134. package/dist/components/Alert/Alert.d.ts +20 -0
  135. package/dist/components/Alert/Alert.js +23 -0
  136. package/dist/components/Alert/index.d.ts +3 -0
  137. package/dist/components/Alert/index.js +1 -0
  138. package/dist/components/Autocomplete/Autocomplete.d.ts +21 -0
  139. package/dist/components/Autocomplete/Autocomplete.js +183 -0
  140. package/dist/components/Autocomplete/index.d.ts +3 -0
  141. package/dist/components/Autocomplete/index.js +1 -0
  142. package/dist/components/Badge/Badge.d.ts +14 -0
  143. package/dist/components/Badge/Badge.js +15 -0
  144. package/dist/components/Badge/index.d.ts +3 -0
  145. package/dist/components/Badge/index.js +1 -0
  146. package/dist/components/Button/Button.d.ts +30 -0
  147. package/dist/components/Button/Button.js +41 -0
  148. package/dist/components/Button/index.d.ts +3 -0
  149. package/dist/components/Button/index.js +1 -0
  150. package/dist/components/Checkbox/Checkbox.d.ts +19 -0
  151. package/dist/components/Checkbox/Checkbox.js +19 -0
  152. package/dist/components/Checkbox/index.d.ts +3 -0
  153. package/dist/components/Checkbox/index.js +1 -0
  154. package/dist/components/CheckboxButton/CheckboxButton.d.ts +12 -0
  155. package/dist/components/CheckboxButton/CheckboxButton.js +19 -0
  156. package/dist/components/CheckboxButton/index.d.ts +3 -0
  157. package/dist/components/CheckboxButton/index.js +1 -0
  158. package/dist/components/DownloadList/DownloadList.d.ts +15 -0
  159. package/dist/components/DownloadList/DownloadList.js +9 -0
  160. package/dist/components/DownloadList/index.d.ts +3 -0
  161. package/dist/components/DownloadList/index.js +2 -0
  162. package/dist/components/Draggable/Draggable.d.ts +9 -0
  163. package/dist/components/Draggable/Draggable.js +92 -0
  164. package/dist/components/Draggable/index.d.ts +3 -0
  165. package/dist/components/Draggable/index.js +2 -0
  166. package/dist/components/EntityItem/EntityItem.d.ts +46 -0
  167. package/dist/components/EntityItem/EntityItem.js +29 -0
  168. package/dist/components/EntityItem/index.d.ts +3 -0
  169. package/dist/components/EntityItem/index.js +1 -0
  170. package/dist/components/EventBadge/EventBadge.d.ts +13 -0
  171. package/dist/components/EventBadge/EventBadge.js +10 -0
  172. package/dist/components/EventBadge/index.d.ts +3 -0
  173. package/dist/components/EventBadge/index.js +1 -0
  174. package/dist/components/Gallery/Gallery.d.ts +25 -0
  175. package/dist/components/Gallery/Gallery.js +25 -0
  176. package/dist/components/Gallery/GalleryBadges/GalleryBadges.d.ts +8 -0
  177. package/dist/components/Gallery/GalleryBadges/GalleryBadges.js +5 -0
  178. package/dist/components/Gallery/GalleryControls/GalleryControls.d.ts +11 -0
  179. package/dist/components/Gallery/GalleryControls/GalleryControls.js +5 -0
  180. package/dist/components/Gallery/GalleryImg/GalleryImg.d.ts +13 -0
  181. package/dist/components/Gallery/GalleryImg/GalleryImg.js +37 -0
  182. package/dist/components/Gallery/GalleryItem/GalleryItem.d.ts +14 -0
  183. package/dist/components/Gallery/GalleryItem/GalleryItem.js +6 -0
  184. package/dist/components/Gallery/GalleryModal/GalleryModal.d.ts +18 -0
  185. package/dist/components/Gallery/GalleryModal/GalleryModal.js +88 -0
  186. package/dist/components/Gallery/GalleryPreLoader.d.ts +7 -0
  187. package/dist/components/Gallery/GalleryPreLoader.js +29 -0
  188. package/dist/components/Gallery/TransformImg/TransformImg.d.ts +10 -0
  189. package/dist/components/Gallery/TransformImg/TransformImg.js +15 -0
  190. package/dist/components/Gallery/index.d.ts +3 -0
  191. package/dist/components/Gallery/index.js +1 -0
  192. package/dist/components/HeatmapLegend/HeatmapLegend.d.ts +15 -0
  193. package/dist/components/HeatmapLegend/HeatmapLegend.js +11 -0
  194. package/dist/components/HeatmapLegend/index.d.ts +3 -0
  195. package/dist/components/HeatmapLegend/index.js +2 -0
  196. package/dist/components/HighlightText/HighlightText.d.ts +7 -0
  197. package/dist/components/HighlightText/HighlightText.js +14 -0
  198. package/dist/components/HighlightText/index.d.ts +2 -0
  199. package/dist/components/HighlightText/index.js +1 -0
  200. package/dist/components/LevelBadge/LevelBadge.d.ts +9 -0
  201. package/dist/components/LevelBadge/LevelBadge.js +10 -0
  202. package/dist/components/LevelBadge/index.d.ts +3 -0
  203. package/dist/components/LevelBadge/index.js +2 -0
  204. package/dist/components/LevelSelector/LevelSelector.d.ts +19 -0
  205. package/dist/components/LevelSelector/LevelSelector.js +91 -0
  206. package/dist/components/LevelSelector/index.d.ts +3 -0
  207. package/dist/components/LevelSelector/index.js +2 -0
  208. package/dist/components/MapControls/MapControls.d.ts +33 -0
  209. package/dist/components/MapControls/MapControls.js +38 -0
  210. package/dist/components/MapControls/index.d.ts +3 -0
  211. package/dist/components/MapControls/index.js +2 -0
  212. package/dist/components/MobileToggleButton/MobileToggleButton.d.ts +12 -0
  213. package/dist/components/MobileToggleButton/MobileToggleButton.js +8 -0
  214. package/dist/components/MobileToggleButton/index.d.ts +3 -0
  215. package/dist/components/MobileToggleButton/index.js +1 -0
  216. package/dist/components/Modal/Modal.d.ts +34 -0
  217. package/dist/components/Modal/Modal.js +98 -0
  218. package/dist/components/Modal/index.d.ts +3 -0
  219. package/dist/components/Modal/index.js +1 -0
  220. package/dist/components/MultiSelectGroups/MultiSelectGroups.d.ts +37 -0
  221. package/dist/components/MultiSelectGroups/MultiSelectGroups.js +80 -0
  222. package/dist/components/MultiSelectGroups/index.d.ts +3 -0
  223. package/dist/components/MultiSelectGroups/index.js +1 -0
  224. package/dist/components/Overlay/Overlay.d.ts +29 -0
  225. package/dist/components/Overlay/Overlay.js +251 -0
  226. package/dist/components/Overlay/OverlayScrollContext.d.ts +7 -0
  227. package/dist/components/Overlay/OverlayScrollContext.js +7 -0
  228. package/dist/components/Overlay/index.d.ts +4 -0
  229. package/dist/components/Overlay/index.js +2 -0
  230. package/dist/components/OverlayGrip/OverlayGrip.d.ts +11 -0
  231. package/dist/components/OverlayGrip/OverlayGrip.js +8 -0
  232. package/dist/components/OverlayGrip/index.d.ts +3 -0
  233. package/dist/components/OverlayGrip/index.js +2 -0
  234. package/dist/components/PermissionNotice/PermissionNotice.d.ts +16 -0
  235. package/dist/components/PermissionNotice/PermissionNotice.js +11 -0
  236. package/dist/components/PermissionNotice/index.d.ts +3 -0
  237. package/dist/components/PermissionNotice/index.js +2 -0
  238. package/dist/components/Radio/Radio.d.ts +15 -0
  239. package/dist/components/Radio/Radio.js +13 -0
  240. package/dist/components/Radio/index.d.ts +3 -0
  241. package/dist/components/Radio/index.js +1 -0
  242. package/dist/components/RebookingNotes/RebookingNotes.d.ts +11 -0
  243. package/dist/components/RebookingNotes/RebookingNotes.js +18 -0
  244. package/dist/components/RebookingNotes/index.d.ts +3 -0
  245. package/dist/components/RebookingNotes/index.js +1 -0
  246. package/dist/components/RebookingRadioGroup/RebookingRadioGroup.d.ts +17 -0
  247. package/dist/components/RebookingRadioGroup/RebookingRadioGroup.js +13 -0
  248. package/dist/components/RebookingRadioGroup/index.d.ts +3 -0
  249. package/dist/components/RebookingRadioGroup/index.js +1 -0
  250. package/dist/components/ScrollableRow/ScrollableRow.d.ts +21 -0
  251. package/dist/components/ScrollableRow/ScrollableRow.js +155 -0
  252. package/dist/components/ScrollableRow/index.d.ts +3 -0
  253. package/dist/components/ScrollableRow/index.js +2 -0
  254. package/dist/components/Share/Share.d.ts +22 -0
  255. package/dist/components/Share/Share.js +24 -0
  256. package/dist/components/Share/index.d.ts +3 -0
  257. package/dist/components/Share/index.js +1 -0
  258. package/dist/components/ShowMoreButton/ShowMoreButton.d.ts +11 -0
  259. package/dist/components/ShowMoreButton/ShowMoreButton.js +7 -0
  260. package/dist/components/ShowMoreButton/index.d.ts +3 -0
  261. package/dist/components/ShowMoreButton/index.js +1 -0
  262. package/dist/components/SidebarActions/SidebarActions.d.ts +26 -0
  263. package/dist/components/SidebarActions/SidebarActions.js +32 -0
  264. package/dist/components/SidebarActions/index.d.ts +3 -0
  265. package/dist/components/SidebarActions/index.js +2 -0
  266. package/dist/components/SimpleRow/SimpleRow.d.ts +15 -0
  267. package/dist/components/SimpleRow/SimpleRow.js +11 -0
  268. package/dist/components/SimpleRow/index.d.ts +3 -0
  269. package/dist/components/SimpleRow/index.js +2 -0
  270. package/dist/components/Spinner/Spinner.d.ts +9 -0
  271. package/dist/components/Spinner/Spinner.js +8 -0
  272. package/dist/components/Spinner/index.d.ts +3 -0
  273. package/dist/components/Spinner/index.js +1 -0
  274. package/dist/components/ToggleButton/ToggleButton.d.ts +17 -0
  275. package/dist/components/ToggleButton/ToggleButton.js +8 -0
  276. package/dist/components/ToggleButton/index.d.ts +3 -0
  277. package/dist/components/ToggleButton/index.js +1 -0
  278. package/dist/components/ToggleSwitch/ToggleSwitch.d.ts +12 -0
  279. package/dist/components/ToggleSwitch/ToggleSwitch.js +10 -0
  280. package/dist/components/ToggleSwitch/index.d.ts +3 -0
  281. package/dist/components/ToggleSwitch/index.js +1 -0
  282. package/dist/components/TouchHand/TouchHand.d.ts +5 -0
  283. package/dist/components/TouchHand/TouchHand.js +7 -0
  284. package/dist/components/TouchHand/index.d.ts +2 -0
  285. package/dist/components/TouchHand/index.js +1 -0
  286. package/dist/components/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +24 -0
  287. package/dist/components/WayfindingFloorSelector/WayfindingFloorSelector.js +27 -0
  288. package/dist/components/WayfindingFloorSelector/index.d.ts +3 -0
  289. package/dist/components/WayfindingFloorSelector/index.js +1 -0
  290. package/dist/index.d.ts +65 -0
  291. package/dist/index.js +69 -0
  292. package/dist/shared/debounce.d.ts +2 -0
  293. package/dist/shared/debounce.js +9 -0
  294. package/dist/shared/hooks/useDragGesture.d.ts +19 -0
  295. package/dist/shared/hooks/useDragGesture.js +45 -0
  296. package/dist/shared/hooks/useOnClickOutside.d.ts +14 -0
  297. package/dist/shared/hooks/useOnClickOutside.js +43 -0
  298. package/dist/shared/hooks/useOnEscape.d.ts +14 -0
  299. package/dist/shared/hooks/useOnEscape.js +31 -0
  300. package/dist/shared/hooks/useWindowSize.d.ts +5 -0
  301. package/dist/shared/hooks/useWindowSize.js +40 -0
  302. package/dist/shared/interactive.d.ts +2 -0
  303. package/dist/shared/interactive.js +4 -0
  304. package/package.json +70 -0
package/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # @expofp/ui
2
+
3
+ Shared **pure, presentational** React components for the ExpoFP SDK. Bundled with the packages that
4
+ depend on it — no separate install.
5
+
6
+ **Scope rule:** props-in, markup-out components only — no domain logic, no MobX stores, no data
7
+ fetching, no side effects. Nothing here may know about floor plans, booths, exhibitors, or events, or
8
+ import from a domain package. Components receive everything they render via props; stateful wiring
9
+ (Containers) lives in the consuming package. The test: _could it ship in a general-purpose React
10
+ component library unchanged?_ If not, it belongs next to the domain that owns it.
11
+
12
+ ## Styling
13
+
14
+ Components import their own `.scss`, which expects the SDK's shared SCSS layer (design tokens,
15
+ mixins, icon glyphs) via the `@styles` alias. The published package ships **JS only** — no compiled
16
+ CSS and no `.scss` sources. It is therefore consumed **from source** by `@expofp/floorplan`'s bundler
17
+ (the `@expofp/source` export condition), which compiles the SCSS into its own output. `@expofp/ui` is
18
+ an internal building block and is not intended to be styled standalone from its published `dist`.
19
+
20
+ `src/styles` (the primitives `_vars`, `_utils`, `main`, `_icons`) and `public/fonts` are the canonical
21
+ home of this layer — `@expofp/floorplan` points its own `@styles` alias here instead of keeping a
22
+ copy. If a third consumer ever needs it, split it into a dedicated `@expofp/styles` package; until
23
+ then, one extra alias hop is simpler than a package with a single dependent.
24
+
25
+ - Build: `nx build ui`
26
+ - Test (unit): `nx test ui`
27
+ - Test (stories, browser): `nx test-storybook ui`
28
+ - Storybook (dev): `nx storybook ui`
29
+ - Storybook (build): `nx build-storybook ui`
30
+ - Lint: `nx lint ui`
@@ -0,0 +1,20 @@
1
+ import './Alert.scss';
2
+ import React, { type ReactNode } from 'react';
3
+ export type AlertVariant = 'info' | 'warning' | 'error' | 'success' | 'blank';
4
+ export type AlertSize = 'sm' | 'md';
5
+ export type AlertPosition = 'top-right' | 'bottom-right';
6
+ export interface AlertProps {
7
+ children?: ReactNode;
8
+ position?: AlertPosition;
9
+ variant?: AlertVariant;
10
+ size?: AlertSize;
11
+ inline?: boolean;
12
+ showIcon?: boolean;
13
+ closable?: boolean;
14
+ title?: string;
15
+ closeLabel: string;
16
+ onClose?: () => void;
17
+ }
18
+ declare const Alert: ({ children, position, variant, inline, showIcon, size, closable, title, closeLabel, onClose, }: AlertProps) => React.JSX.Element;
19
+ export default Alert;
20
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import './Alert.scss';
4
+ import cn from 'classnames';
5
+ const Alert = ({ children, position, variant = 'info', inline = false, showIcon = true, size = 'md', closable = false, title, closeLabel, onClose, }) => {
6
+ const alertIcon = () => {
7
+ switch (variant) {
8
+ case 'error':
9
+ return 'icon-close-solid';
10
+ case 'success':
11
+ return 'icon-checkmark-solid';
12
+ case 'warning':
13
+ return 'icon-warning-solid';
14
+ default:
15
+ return 'icon-info-solid';
16
+ }
17
+ };
18
+ return (_jsxs("div", { className: cn('efp-alert', `efp-alert--${variant} efp-alert--${size}`, {
19
+ 'efp-alert--inline': inline,
20
+ [`efp-alert--${position}`]: position,
21
+ }), role: variant === 'error' || variant === 'warning' ? 'alert' : 'status', "aria-live": variant === 'error' || variant === 'warning' ? 'assertive' : 'polite', children: [showIcon && (_jsx("div", { className: "efp-alert__icon", children: _jsx("i", { className: cn(alertIcon()), "aria-hidden": "true" }) })), _jsxs("div", { className: "efp-alert__content", children: [title && _jsx("div", { className: "efp-alert__title", children: title }), children] }), closable && (_jsx("button", { type: "button", className: "efp-alert__close", onClick: onClose, "aria-label": closeLabel, title: closeLabel }))] }));
22
+ };
23
+ export default Alert;
@@ -0,0 +1,3 @@
1
+ export type { AlertPosition, AlertProps, AlertSize, AlertVariant } from './Alert';
2
+ export { default } from './Alert';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './Alert';
@@ -0,0 +1,21 @@
1
+ import './Autocomplete.scss';
2
+ import React from 'react';
3
+ export interface AutocompleteOptionObject {
4
+ value: string;
5
+ label: string;
6
+ }
7
+ export interface AutocompleteProps<T extends AutocompleteOptionObject = AutocompleteOptionObject> {
8
+ placeholder: string;
9
+ options: T[];
10
+ value?: T;
11
+ showClear?: boolean;
12
+ onChange?: (value: T | undefined) => void;
13
+ renderTarget?: HTMLElement | null;
14
+ noOptionsLabel: string;
15
+ ariaLabel: string;
16
+ clearLabel: string;
17
+ getOptionKey?: (option: T) => string;
18
+ }
19
+ declare const Autocomplete: <T extends AutocompleteOptionObject = AutocompleteOptionObject>({ placeholder, options, value, showClear, onChange, renderTarget, noOptionsLabel, ariaLabel, clearLabel, getOptionKey, }: AutocompleteProps<T>) => React.JSX.Element;
20
+ export default Autocomplete;
21
+ //# sourceMappingURL=Autocomplete.d.ts.map
@@ -0,0 +1,183 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './Autocomplete.scss';
3
+ import classNames from 'classnames';
4
+ import { useEffect, useId, useMemo, useRef, useState } from 'react';
5
+ import { createPortal } from 'react-dom';
6
+ import useOnClickOutside from '../shared/hooks/useOnClickOutside';
7
+ const Autocomplete = ({ placeholder, options, value, showClear = false, onChange, renderTarget = document.body, noOptionsLabel, ariaLabel, clearLabel, getOptionKey = (option) => option.value, }) => {
8
+ const container = renderTarget;
9
+ const refAutocomplete = useRef(null);
10
+ const refSearchInput = useRef(null);
11
+ const refOptions = useRef(null);
12
+ const blurTimeoutRef = useRef(null);
13
+ const listboxId = useId();
14
+ const getOptionId = (index) => `${listboxId}-option-${index}`;
15
+ const getOptionLabel = (option) => option.label;
16
+ const isSameOption = (a, b) => getOptionKey(a) === getOptionKey(b);
17
+ const findOptionIndexByValue = (searchValue) => options.findIndex((option) => isSameOption(option, searchValue));
18
+ const findOptionByValue = (searchValue) => options.find((option) => isSameOption(option, searchValue));
19
+ const [searchText, setSearchText] = useState(null);
20
+ const [focusOptionIndex, setFocusOptionIndex] = useState(null);
21
+ const [showOptionsDropdown, setShowOptionsDropdown] = useState(false);
22
+ const [dropdownPosition, setDropdownPosition] = useState({ top: 0, left: 0, width: 0 });
23
+ const activeOption = value ? findOptionByValue(value) : undefined;
24
+ const activeOptionIndex = activeOption ? findOptionIndexByValue(activeOption) : null;
25
+ const displayValue = searchText ?? (activeOption ? getOptionLabel(activeOption) : '');
26
+ const filteredOptions = useMemo(() => {
27
+ if (!searchText)
28
+ return [];
29
+ const lower = searchText.toLowerCase();
30
+ return options.filter((option) => getOptionLabel(option).toLowerCase().includes(lower));
31
+ }, [searchText, options]);
32
+ const updateDropdownPosition = () => {
33
+ if (refAutocomplete.current && showOptionsDropdown) {
34
+ const rect = refAutocomplete.current.getBoundingClientRect();
35
+ setDropdownPosition({
36
+ top: rect.bottom + window.scrollY + 4,
37
+ left: rect.left + window.scrollX,
38
+ width: rect.width,
39
+ });
40
+ }
41
+ };
42
+ useEffect(() => {
43
+ if (!showOptionsDropdown)
44
+ return;
45
+ updateDropdownPosition();
46
+ window.addEventListener('scroll', updateDropdownPosition, true);
47
+ window.addEventListener('resize', updateDropdownPosition);
48
+ return () => {
49
+ window.removeEventListener('scroll', updateDropdownPosition, true);
50
+ window.removeEventListener('resize', updateDropdownPosition);
51
+ };
52
+ }, [showOptionsDropdown]);
53
+ useEffect(() => {
54
+ if (focusOptionIndex === null || !refOptions.current)
55
+ return;
56
+ const items = refOptions.current.querySelectorAll('li');
57
+ items[focusOptionIndex]?.scrollIntoView({ block: 'nearest' });
58
+ }, [focusOptionIndex]);
59
+ useOnClickOutside([refAutocomplete, refOptions], () => setShowOptionsDropdown(false), showOptionsDropdown);
60
+ useEffect(() => {
61
+ return () => {
62
+ if (blurTimeoutRef.current)
63
+ clearTimeout(blurTimeoutRef.current);
64
+ };
65
+ }, []);
66
+ const updateValue = (newValue) => {
67
+ setSearchText(null);
68
+ onChange?.(newValue);
69
+ };
70
+ const selectOption = (option) => {
71
+ updateValue(option);
72
+ setFocusOptionIndex(null);
73
+ setShowOptionsDropdown(false);
74
+ refSearchInput.current?.blur();
75
+ };
76
+ const clearValue = (setFocus = false) => {
77
+ updateValue(undefined);
78
+ setFocusOptionIndex(null);
79
+ if (setFocus)
80
+ refSearchInput.current?.focus();
81
+ };
82
+ const onFocus = () => {
83
+ setShowOptionsDropdown(true);
84
+ };
85
+ const onBlur = () => {
86
+ if (blurTimeoutRef.current)
87
+ clearTimeout(blurTimeoutRef.current);
88
+ blurTimeoutRef.current = setTimeout(() => {
89
+ setSearchText(null);
90
+ }, 200);
91
+ };
92
+ const handleEnterKey = () => {
93
+ if ((!displayValue && focusOptionIndex === null) || (searchText && focusOptionIndex === null)) {
94
+ return;
95
+ }
96
+ const currentOptions = filteredOptions.length > 0 ? filteredOptions : options;
97
+ if (focusOptionIndex !== null && currentOptions[focusOptionIndex]) {
98
+ const selectedOption = currentOptions[focusOptionIndex];
99
+ updateValue(selectedOption);
100
+ }
101
+ setFocusOptionIndex(null);
102
+ setShowOptionsDropdown(false);
103
+ refSearchInput.current?.blur();
104
+ };
105
+ const handleArrowUp = () => {
106
+ if (!showOptionsDropdown || focusOptionIndex === 0 || focusOptionIndex === null) {
107
+ return;
108
+ }
109
+ setFocusOptionIndex(focusOptionIndex - 1);
110
+ };
111
+ const handleArrowDown = () => {
112
+ if (!showOptionsDropdown) {
113
+ setFocusOptionIndex(activeOptionIndex ?? 0);
114
+ setShowOptionsDropdown(true);
115
+ return;
116
+ }
117
+ const currentOptions = filteredOptions.length > 0 ? filteredOptions : options;
118
+ const nextIndex = focusOptionIndex === null ? 0 : focusOptionIndex + 1;
119
+ if (nextIndex < currentOptions.length) {
120
+ setFocusOptionIndex(nextIndex);
121
+ }
122
+ };
123
+ const onKeyDown = (event) => {
124
+ switch (event.key) {
125
+ case 'Enter':
126
+ handleEnterKey();
127
+ break;
128
+ case 'ArrowUp':
129
+ handleArrowUp();
130
+ break;
131
+ case 'ArrowDown':
132
+ handleArrowDown();
133
+ break;
134
+ case 'Delete':
135
+ clearValue(true);
136
+ break;
137
+ case 'Escape':
138
+ if (!searchText) {
139
+ event.preventDefault();
140
+ setShowOptionsDropdown(false);
141
+ refSearchInput.current?.blur();
142
+ }
143
+ else {
144
+ setSearchText(null);
145
+ setFocusOptionIndex(activeOptionIndex);
146
+ }
147
+ break;
148
+ }
149
+ };
150
+ const onInputChange = (event) => {
151
+ setSearchText(event.target.value);
152
+ setShowOptionsDropdown(true);
153
+ setFocusOptionIndex(null);
154
+ };
155
+ const renderOptions = () => {
156
+ const currentOptions = filteredOptions.length > 0 ? filteredOptions : options;
157
+ if (searchText && filteredOptions.length === 0) {
158
+ return _jsx("div", { className: "efp-autocomplete__empty", children: noOptionsLabel });
159
+ }
160
+ return (_jsx("ul", { role: "listbox", id: listboxId, children: currentOptions.map((option, index) => {
161
+ const isFocused = index === focusOptionIndex;
162
+ const isActive = filteredOptions.length === 0 && index === activeOptionIndex;
163
+ const className = isFocused ? 'is-focus' : isActive ? 'is-active' : undefined;
164
+ return (_jsx("li", { id: getOptionId(index), role: "option", "aria-selected": isActive, className: className, onMouseDown: (e) => e.preventDefault(), onClick: () => selectOption(option), children: getOptionLabel(option) }, getOptionKey(option)));
165
+ }) }));
166
+ };
167
+ return (_jsxs(_Fragment, { children: [_jsx("div", { ref: refAutocomplete, className: classNames('efp-autocomplete', {
168
+ 'is-open': showOptionsDropdown,
169
+ 'with-clear': showOptionsDropdown && showClear,
170
+ }), children: _jsxs("div", { className: "efp-autocomplete__inner", children: [_jsx("input", { type: "search", className: "efp-autocomplete__input", role: "combobox", "aria-label": ariaLabel, "aria-autocomplete": "list", "aria-expanded": showOptionsDropdown, "aria-controls": showOptionsDropdown ? listboxId : undefined, "aria-activedescendant": showOptionsDropdown && focusOptionIndex !== null
171
+ ? getOptionId(focusOptionIndex)
172
+ : undefined, onChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onKeyDown: onKeyDown, value: displayValue, placeholder: placeholder, ref: refSearchInput }), showClear && showOptionsDropdown && displayValue && (_jsx("button", { type: "button", className: "efp-autocomplete__clear", "aria-label": clearLabel, onMouseDown: (e) => {
173
+ e.preventDefault();
174
+ clearValue(true);
175
+ } }))] }) }), showOptionsDropdown &&
176
+ container &&
177
+ createPortal(_jsx("div", { ref: refOptions, className: "efp-autocomplete-options", style: {
178
+ top: `${dropdownPosition.top}px`,
179
+ left: `${dropdownPosition.left}px`,
180
+ width: `${dropdownPosition.width}px`,
181
+ }, children: _jsx("div", { className: "efp-autocomplete-options__scroll", children: renderOptions() }) }), container)] }));
182
+ };
183
+ export default Autocomplete;
@@ -0,0 +1,3 @@
1
+ export type { AutocompleteOptionObject, AutocompleteProps } from './Autocomplete';
2
+ export { default } from './Autocomplete';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './Autocomplete';
@@ -0,0 +1,14 @@
1
+ import './Badge.scss';
2
+ import React, { type ReactNode } from 'react';
3
+ export type BadgeVariant = 'primary' | 'primary-light' | 'lightgray' | 'gray' | 'ghost' | 'orange' | 'location';
4
+ export interface BadgeProps {
5
+ children?: ReactNode;
6
+ variant?: BadgeVariant;
7
+ size?: 'xs' | 'md' | 'lg';
8
+ noMargins?: boolean;
9
+ rounded?: boolean;
10
+ inline?: boolean;
11
+ }
12
+ declare const Badge: ({ children, variant, size, noMargins, rounded, inline, }: BadgeProps) => React.JSX.Element;
13
+ export default Badge;
14
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import './Badge.scss';
4
+ import cn from 'classnames';
5
+ const Badge = ({ children, variant = 'ghost', size = 'lg', noMargins, rounded, inline, }) => {
6
+ return (_jsx("div", { className: cn({
7
+ 'efp-badge': true,
8
+ [`efp-badge--${variant}`]: true,
9
+ [`efp-badge--${size}`]: true,
10
+ 'is-no-margin': noMargins,
11
+ 'is-rounded': rounded,
12
+ 'is-inline': inline,
13
+ }), children: children }));
14
+ };
15
+ export default Badge;
@@ -0,0 +1,3 @@
1
+ export type { BadgeProps, BadgeVariant } from './Badge';
2
+ export { default } from './Badge';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './Badge';
@@ -0,0 +1,30 @@
1
+ import './Button.scss';
2
+ import React, { type ReactNode } from 'react';
3
+ export type ButtonVariant = 'primary' | 'secondary' | 'gray' | 'gray-border' | 'ghost' | 'danger';
4
+ export type ButtonSize = 'sm' | 'md' | 'lg';
5
+ export type ButtonTarget = '_self' | '_blank' | '_parent';
6
+ interface ButtonOwnProps {
7
+ children?: ReactNode;
8
+ inline?: boolean;
9
+ text?: string;
10
+ disabled?: boolean;
11
+ variant?: ButtonVariant;
12
+ size?: ButtonSize;
13
+ target?: ButtonTarget;
14
+ ariaLabel?: string;
15
+ withBadge?: boolean;
16
+ /** Whether the button should have a round/circular shape */
17
+ round?: boolean;
18
+ }
19
+ type ButtonAsButton = ButtonOwnProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof ButtonOwnProps> & {
20
+ link?: undefined;
21
+ ref?: React.Ref<HTMLButtonElement>;
22
+ };
23
+ type ButtonAsLink = ButtonOwnProps & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof ButtonOwnProps> & {
24
+ link: string;
25
+ ref?: React.Ref<HTMLAnchorElement>;
26
+ };
27
+ export type ButtonProps = ButtonAsButton | ButtonAsLink;
28
+ declare const Button: (props: ButtonProps) => React.JSX.Element;
29
+ export default Button;
30
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import './Button.scss';
3
+ import cn from 'classnames';
4
+ // `if (props.link)` alone doesn't narrow the union for TS; this predicate does.
5
+ const isLinkProps = (props) => props.link != null;
6
+ const processLabel = (label) => {
7
+ const parts = label.split(/(#\d+#)/);
8
+ const badgeMatch = /#(\d+)#/.exec(label);
9
+ const badgeValue = badgeMatch ? badgeMatch[1] : null;
10
+ return {
11
+ content: parts.map((part, index) => {
12
+ if (/#\d+#/.exec(part)) {
13
+ return (_jsx("div", { className: "efp-button-badge", children: badgeValue }, index));
14
+ }
15
+ return _jsx("span", { children: part }, index);
16
+ }),
17
+ };
18
+ };
19
+ const Button = (props) => {
20
+ const { children, inline = false, text, disabled = false, variant = 'primary', size = 'lg', target = '_self', ariaLabel, title, withBadge = false, round, } = props;
21
+ const content = children ?? text;
22
+ const { content: processedContent } = withBadge && typeof content === 'string' ? processLabel(content) : { content };
23
+ const commonClassNames = cn('efp-button', `efp-button--${variant}`, `efp-button--${size}`, {
24
+ 'efp-button--inline': inline,
25
+ 'is-disabled': disabled,
26
+ 'efp-button--round': round,
27
+ }, props.className);
28
+ if (isLinkProps(props)) {
29
+ const { link, className: _className, onClick, ...rest } = props;
30
+ const onKeyDown = (event) => {
31
+ if (disabled || event.key !== ' ')
32
+ return;
33
+ event.preventDefault();
34
+ event.currentTarget.click();
35
+ };
36
+ return (_jsx("a", { ...rest, href: disabled ? undefined : link, className: commonClassNames, target: target, rel: "noopener noreferrer", onClick: disabled ? undefined : onClick, onKeyDown: onKeyDown, "aria-label": ariaLabel || undefined, title: title || ariaLabel || (typeof content === 'string' ? content : undefined), role: "button", "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, children: processedContent }));
37
+ }
38
+ const { className: _className, ...rest } = props;
39
+ return (_jsx("button", { type: "button", ...rest, className: commonClassNames, disabled: disabled, "aria-label": ariaLabel || undefined, title: title || ariaLabel || (typeof content === 'string' ? content : undefined), children: processedContent }));
40
+ };
41
+ export default Button;
@@ -0,0 +1,3 @@
1
+ export type { ButtonProps, ButtonSize, ButtonTarget, ButtonVariant } from './Button';
2
+ export { default } from './Button';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './Button';
@@ -0,0 +1,19 @@
1
+ import './Checkbox.scss';
2
+ import React from 'react';
3
+ interface CheckboxBase {
4
+ name?: string;
5
+ value: boolean;
6
+ indeterminate?: boolean;
7
+ size?: 'sm' | 'md';
8
+ onChange: (value: boolean) => void;
9
+ }
10
+ export type CheckboxProps = (CheckboxBase & {
11
+ label: string;
12
+ ariaLabel?: string;
13
+ }) | (CheckboxBase & {
14
+ label?: undefined;
15
+ ariaLabel: string;
16
+ });
17
+ declare const Checkbox: ({ name, value, label, ariaLabel, size, indeterminate, onChange, }: CheckboxProps) => React.JSX.Element;
18
+ export default Checkbox;
19
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import './Checkbox.scss';
4
+ import classNames from 'classnames';
5
+ import { useEffect, useId, useRef } from 'react';
6
+ const Checkbox = ({ name, value, label, ariaLabel, size = 'md', indeterminate = false, onChange, }) => {
7
+ const id = useId();
8
+ const checkboxRef = useRef(null);
9
+ useEffect(() => {
10
+ if (checkboxRef.current) {
11
+ checkboxRef.current.indeterminate = indeterminate;
12
+ }
13
+ }, [indeterminate]);
14
+ return (_jsxs("div", { className: classNames({
15
+ 'efp-checkbox': true,
16
+ [`efp-checkbox--${size}`]: true,
17
+ }), children: [_jsx("input", { ref: checkboxRef, type: "checkbox", id: id, name: name, checked: value, "aria-label": ariaLabel, onChange: () => onChange(!value) }), _jsx("label", { htmlFor: id, children: label })] }));
18
+ };
19
+ export default Checkbox;
@@ -0,0 +1,3 @@
1
+ export type { CheckboxProps } from './Checkbox';
2
+ export { default } from './Checkbox';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './Checkbox';
@@ -0,0 +1,12 @@
1
+ import './CheckboxButton.scss';
2
+ import React from 'react';
3
+ export interface CheckboxButtonProps {
4
+ checked: boolean;
5
+ label?: string;
6
+ ariaLabel?: string;
7
+ className?: string;
8
+ onClick: () => void;
9
+ }
10
+ declare const CheckboxButton: ({ checked, label, ariaLabel, className, onClick }: CheckboxButtonProps) => React.JSX.Element;
11
+ export default CheckboxButton;
12
+ //# sourceMappingURL=CheckboxButton.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import './CheckboxButton.scss';
4
+ import cn from 'classnames';
5
+ import { useState } from 'react';
6
+ const CheckboxButton = ({ checked, label, ariaLabel, className, onClick }) => {
7
+ const [animateIcon, setAnimateIcon] = useState(false);
8
+ const handleClick = () => {
9
+ setAnimateIcon(true);
10
+ onClick();
11
+ setTimeout(() => {
12
+ setAnimateIcon(false);
13
+ }, 320);
14
+ };
15
+ return (_jsxs("button", { type: "button", role: "checkbox", "aria-checked": checked, "aria-label": ariaLabel ?? (label ? undefined : 'Toggle'), className: cn('efp-checkbox-button', className, { 'efp-checkbox-button--checked': checked }), onClick: handleClick, children: [_jsx("div", { className: cn('efp-checkbox-button__inner', {
16
+ 'efp-checkbox-button__inner--animate': animateIcon,
17
+ }) }), label && _jsx("span", { className: "efp-checkbox-button__label", children: label })] }));
18
+ };
19
+ export default CheckboxButton;
@@ -0,0 +1,3 @@
1
+ export type { CheckboxButtonProps } from './CheckboxButton';
2
+ export { default } from './CheckboxButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export { default } from './CheckboxButton';
@@ -0,0 +1,15 @@
1
+ import './DownloadList.scss';
2
+ export interface DownloadItem {
3
+ fileName: string;
4
+ path: string;
5
+ }
6
+ export interface DownloadListProps {
7
+ list: DownloadItem[];
8
+ /** Section heading (e.g. a localized "Read More"). */
9
+ title: string;
10
+ /** Builds the per-item download link accessible name from its file name. */
11
+ downloadLabel: (fileName: string) => string;
12
+ }
13
+ declare function DownloadList({ list, title, downloadLabel }: DownloadListProps): import("react").JSX.Element;
14
+ export default DownloadList;
15
+ //# sourceMappingURL=DownloadList.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './DownloadList.scss';
3
+ function DownloadListItem({ fileName, path, downloadLabel }) {
4
+ return (_jsxs("a", { className: "efp-download-list__item", href: path, download: true, target: "_blank", rel: "noopener noreferrer", "aria-label": downloadLabel(fileName), children: [_jsx("div", { className: "efp-download-list__item-icon", children: _jsx("i", { className: "icon-file-solid", "aria-hidden": "true" }) }), _jsx("div", { className: "efp-download-list__item-name", children: _jsx("span", { children: fileName }) }), _jsx("div", { className: "efp-download-list__item-download", children: _jsx("i", { className: "icon-download", "aria-hidden": "true" }) })] }));
5
+ }
6
+ function DownloadList({ list, title, downloadLabel }) {
7
+ return (_jsxs("div", { className: "efp-download-list", children: [_jsx("div", { className: "efp-download-list__title font-medium", children: title }), _jsx("ul", { className: "efp-download-list__list", children: list.map((item) => (_jsx("li", { children: _jsx(DownloadListItem, { fileName: item.fileName, path: item.path, downloadLabel: downloadLabel }) }, item.path))) })] }));
8
+ }
9
+ export default DownloadList;
@@ -0,0 +1,3 @@
1
+ export { default } from './DownloadList';
2
+ export type { DownloadListProps, DownloadItem } from './DownloadList';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ /* eslint-disable simple-import-sort/exports */
2
+ export { default } from './DownloadList';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface DraggableProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ }
7
+ declare const Draggable: ({ children, className, style }: DraggableProps) => React.JSX.Element;
8
+ export default Draggable;
9
+ //# sourceMappingURL=Draggable.d.ts.map