no-frills-ui 0.0.14-alpha.4 → 0.0.14-alpha.6

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 (323) hide show
  1. package/dist/index.js +2841 -2786
  2. package/dist/index.js.map +1 -1
  3. package/lib-esm/components/Accordion/Accordion.d.ts +0 -1
  4. package/lib-esm/components/Accordion/Accordion.js +26 -26
  5. package/lib-esm/components/Accordion/AccordionStep.d.ts +0 -1
  6. package/lib-esm/components/Accordion/AccordionStep.js +98 -114
  7. package/lib-esm/components/Accordion/index.d.ts +0 -1
  8. package/lib-esm/components/Badge/Badge.d.ts +0 -1
  9. package/lib-esm/components/Badge/Badge.js +37 -43
  10. package/lib-esm/components/Badge/index.d.ts +0 -1
  11. package/lib-esm/components/Button/ActionButton.d.ts +0 -1
  12. package/lib-esm/components/Button/ActionButton.js +6 -38
  13. package/lib-esm/components/Button/Button.d.ts +0 -1
  14. package/lib-esm/components/Button/Button.js +8 -43
  15. package/lib-esm/components/Button/IconButton.d.ts +0 -1
  16. package/lib-esm/components/Button/IconButton.js +6 -42
  17. package/lib-esm/components/Button/LinkButton.d.ts +0 -1
  18. package/lib-esm/components/Button/LinkButton.js +6 -33
  19. package/lib-esm/components/Button/RaisedButton.d.ts +0 -1
  20. package/lib-esm/components/Button/RaisedButton.js +6 -46
  21. package/lib-esm/components/Button/index.d.ts +0 -1
  22. package/lib-esm/components/Card/Card.d.ts +0 -1
  23. package/lib-esm/components/Card/Card.js +8 -13
  24. package/lib-esm/components/Card/index.d.ts +0 -1
  25. package/lib-esm/components/Chip/Chip.d.ts +0 -1
  26. package/lib-esm/components/Chip/Chip.js +35 -43
  27. package/lib-esm/components/Chip/index.d.ts +0 -1
  28. package/lib-esm/components/ChipInput/ChipInput.d.ts +0 -1
  29. package/lib-esm/components/ChipInput/ChipInput.js +107 -167
  30. package/lib-esm/components/ChipInput/index.d.ts +0 -1
  31. package/lib-esm/components/Dialog/AlertDialog.d.ts +0 -1
  32. package/lib-esm/components/Dialog/AlertDialog.js +47 -25
  33. package/lib-esm/components/Dialog/ConfirmDialog.d.ts +0 -1
  34. package/lib-esm/components/Dialog/ConfirmDialog.js +49 -31
  35. package/lib-esm/components/Dialog/Dialog.d.ts +27 -2
  36. package/lib-esm/components/Dialog/Dialog.js +120 -67
  37. package/lib-esm/components/Dialog/PromptDialog.d.ts +0 -1
  38. package/lib-esm/components/Dialog/PromptDialog.js +82 -44
  39. package/lib-esm/components/Dialog/index.d.ts +0 -1
  40. package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +0 -1
  41. package/lib-esm/components/DragAndDrop/DragAndDrop.js +66 -71
  42. package/lib-esm/components/DragAndDrop/DragItem.d.ts +0 -1
  43. package/lib-esm/components/DragAndDrop/DragItem.js +106 -118
  44. package/lib-esm/components/DragAndDrop/index.d.ts +0 -1
  45. package/lib-esm/components/DragAndDrop/types.d.ts +0 -1
  46. package/lib-esm/components/DragAndDrop/types.js +7 -5
  47. package/lib-esm/components/Drawer/Drawer.d.ts +76 -2
  48. package/lib-esm/components/Drawer/Drawer.js +176 -96
  49. package/lib-esm/components/Drawer/index.d.ts +0 -1
  50. package/lib-esm/components/Groups/Group.d.ts +0 -1
  51. package/lib-esm/components/Groups/Group.js +32 -88
  52. package/lib-esm/components/Groups/GroupLabel.d.ts +0 -1
  53. package/lib-esm/components/Groups/GroupLabel.js +7 -17
  54. package/lib-esm/components/Groups/index.d.ts +0 -1
  55. package/lib-esm/components/Input/Checkbox.d.ts +0 -1
  56. package/lib-esm/components/Input/Checkbox.js +39 -110
  57. package/lib-esm/components/Input/Dropdown.d.ts +8 -1
  58. package/lib-esm/components/Input/Dropdown.js +109 -49
  59. package/lib-esm/components/Input/Input.d.ts +0 -1
  60. package/lib-esm/components/Input/Input.js +61 -113
  61. package/lib-esm/components/Input/Radio.d.ts +0 -1
  62. package/lib-esm/components/Input/Radio.js +31 -76
  63. package/lib-esm/components/Input/RadioButton.d.ts +0 -1
  64. package/lib-esm/components/Input/RadioButton.js +30 -67
  65. package/lib-esm/components/Input/Select.d.ts +0 -1
  66. package/lib-esm/components/Input/Select.js +74 -126
  67. package/lib-esm/components/Input/TextArea.d.ts +0 -1
  68. package/lib-esm/components/Input/TextArea.js +60 -111
  69. package/lib-esm/components/Input/Toggle.d.ts +0 -1
  70. package/lib-esm/components/Input/Toggle.js +29 -77
  71. package/lib-esm/components/Input/index.d.ts +0 -1
  72. package/lib-esm/components/Menu/Menu.d.ts +13 -2
  73. package/lib-esm/components/Menu/Menu.js +107 -27
  74. package/lib-esm/components/Menu/MenuContext.d.ts +0 -1
  75. package/lib-esm/components/Menu/MenuContext.js +4 -2
  76. package/lib-esm/components/Menu/MenuItem.d.ts +6 -4
  77. package/lib-esm/components/Menu/MenuItem.js +36 -51
  78. package/lib-esm/components/Menu/index.d.ts +0 -1
  79. package/lib-esm/components/Modal/Modal.d.ts +70 -2
  80. package/lib-esm/components/Modal/Modal.js +149 -52
  81. package/lib-esm/components/Modal/index.d.ts +0 -1
  82. package/lib-esm/components/Notification/Notification.d.ts +3 -2
  83. package/lib-esm/components/Notification/Notification.js +54 -64
  84. package/lib-esm/components/Notification/NotificationManager.d.ts +15 -2
  85. package/lib-esm/components/Notification/NotificationManager.js +169 -77
  86. package/lib-esm/components/Notification/index.d.ts +0 -1
  87. package/lib-esm/components/Notification/style.d.ts +4 -1
  88. package/lib-esm/components/Notification/style.js +63 -142
  89. package/lib-esm/components/Notification/types.d.ts +2 -1
  90. package/lib-esm/components/Notification/types.js +8 -9
  91. package/lib-esm/components/Popover/Popover.d.ts +0 -1
  92. package/lib-esm/components/Popover/Popover.js +146 -111
  93. package/lib-esm/components/Popover/index.d.ts +0 -1
  94. package/lib-esm/components/Spinner/Spinner.d.ts +3 -1
  95. package/lib-esm/components/Spinner/Spinner.js +19 -24
  96. package/lib-esm/components/Spinner/index.d.ts +0 -1
  97. package/lib-esm/components/Stepper/Step.d.ts +0 -1
  98. package/lib-esm/components/Stepper/Step.js +15 -22
  99. package/lib-esm/components/Stepper/Stepper.d.ts +0 -1
  100. package/lib-esm/components/Stepper/Stepper.js +100 -102
  101. package/lib-esm/components/Stepper/index.d.ts +0 -1
  102. package/lib-esm/components/Tabs/Tab.d.ts +0 -1
  103. package/lib-esm/components/Tabs/Tab.js +11 -10
  104. package/lib-esm/components/Tabs/Tabs.d.ts +0 -1
  105. package/lib-esm/components/Tabs/Tabs.js +88 -50
  106. package/lib-esm/components/Tabs/index.d.ts +0 -1
  107. package/lib-esm/components/Toast/Toast.d.ts +30 -5
  108. package/lib-esm/components/Toast/Toast.js +196 -108
  109. package/lib-esm/components/Toast/ToastStory.d.ts +0 -1
  110. package/lib-esm/components/Toast/index.d.ts +0 -1
  111. package/lib-esm/components/Tooltip/Tooltip.d.ts +0 -1
  112. package/lib-esm/components/Tooltip/Tooltip.js +60 -61
  113. package/lib-esm/components/Tooltip/index.d.ts +0 -1
  114. package/lib-esm/components/index.d.ts +0 -1
  115. package/lib-esm/components/index.js +42 -21
  116. package/lib-esm/icons/CheckCircle.d.ts +0 -1
  117. package/lib-esm/icons/CheckCircle.js +21 -4
  118. package/lib-esm/icons/Close.d.ts +0 -1
  119. package/lib-esm/icons/Close.js +21 -4
  120. package/lib-esm/icons/DragIndicator.d.ts +0 -1
  121. package/lib-esm/icons/DragIndicator.js +21 -4
  122. package/lib-esm/icons/ErrorOutline.d.ts +0 -1
  123. package/lib-esm/icons/ErrorOutline.js +15 -4
  124. package/lib-esm/icons/ExpandMore.d.ts +0 -1
  125. package/lib-esm/icons/ExpandMore.js +21 -4
  126. package/lib-esm/icons/FiberManualRecord.d.ts +0 -1
  127. package/lib-esm/icons/FiberManualRecord.js +23 -4
  128. package/lib-esm/icons/Info.d.ts +0 -1
  129. package/lib-esm/icons/Info.js +21 -4
  130. package/lib-esm/icons/ReportProblem.d.ts +0 -1
  131. package/lib-esm/icons/ReportProblem.js +21 -4
  132. package/lib-esm/icons/index.d.ts +0 -1
  133. package/lib-esm/index.d.ts +0 -1
  134. package/lib-esm/shared/LayerManager.d.ts +3 -1
  135. package/lib-esm/shared/LayerManager.js +158 -87
  136. package/lib-esm/shared/constants.d.ts +58 -28
  137. package/lib-esm/shared/constants.js +61 -26
  138. package/lib-esm/shared/styles.d.ts +1 -2
  139. package/lib-esm/shared/styles.js +20 -24
  140. package/package.json +15 -5
  141. package/lib-esm/components/Accordion/Accordion.d.ts.map +0 -1
  142. package/lib-esm/components/Accordion/Accordion.js.map +0 -1
  143. package/lib-esm/components/Accordion/AccordionStep.d.ts.map +0 -1
  144. package/lib-esm/components/Accordion/AccordionStep.js.map +0 -1
  145. package/lib-esm/components/Accordion/index.d.ts.map +0 -1
  146. package/lib-esm/components/Accordion/index.js +0 -3
  147. package/lib-esm/components/Accordion/index.js.map +0 -1
  148. package/lib-esm/components/Badge/Badge.d.ts.map +0 -1
  149. package/lib-esm/components/Badge/Badge.js.map +0 -1
  150. package/lib-esm/components/Badge/index.d.ts.map +0 -1
  151. package/lib-esm/components/Badge/index.js +0 -2
  152. package/lib-esm/components/Badge/index.js.map +0 -1
  153. package/lib-esm/components/Button/ActionButton.d.ts.map +0 -1
  154. package/lib-esm/components/Button/ActionButton.js.map +0 -1
  155. package/lib-esm/components/Button/Button.d.ts.map +0 -1
  156. package/lib-esm/components/Button/Button.js.map +0 -1
  157. package/lib-esm/components/Button/IconButton.d.ts.map +0 -1
  158. package/lib-esm/components/Button/IconButton.js.map +0 -1
  159. package/lib-esm/components/Button/LinkButton.d.ts.map +0 -1
  160. package/lib-esm/components/Button/LinkButton.js.map +0 -1
  161. package/lib-esm/components/Button/RaisedButton.d.ts.map +0 -1
  162. package/lib-esm/components/Button/RaisedButton.js.map +0 -1
  163. package/lib-esm/components/Button/index.d.ts.map +0 -1
  164. package/lib-esm/components/Button/index.js +0 -6
  165. package/lib-esm/components/Button/index.js.map +0 -1
  166. package/lib-esm/components/Card/Card.d.ts.map +0 -1
  167. package/lib-esm/components/Card/Card.js.map +0 -1
  168. package/lib-esm/components/Card/index.d.ts.map +0 -1
  169. package/lib-esm/components/Card/index.js +0 -3
  170. package/lib-esm/components/Card/index.js.map +0 -1
  171. package/lib-esm/components/Chip/Chip.d.ts.map +0 -1
  172. package/lib-esm/components/Chip/Chip.js.map +0 -1
  173. package/lib-esm/components/Chip/index.d.ts.map +0 -1
  174. package/lib-esm/components/Chip/index.js +0 -2
  175. package/lib-esm/components/Chip/index.js.map +0 -1
  176. package/lib-esm/components/ChipInput/ChipInput.d.ts.map +0 -1
  177. package/lib-esm/components/ChipInput/ChipInput.js.map +0 -1
  178. package/lib-esm/components/ChipInput/index.d.ts.map +0 -1
  179. package/lib-esm/components/ChipInput/index.js +0 -2
  180. package/lib-esm/components/ChipInput/index.js.map +0 -1
  181. package/lib-esm/components/Dialog/AlertDialog.d.ts.map +0 -1
  182. package/lib-esm/components/Dialog/AlertDialog.js.map +0 -1
  183. package/lib-esm/components/Dialog/ConfirmDialog.d.ts.map +0 -1
  184. package/lib-esm/components/Dialog/ConfirmDialog.js.map +0 -1
  185. package/lib-esm/components/Dialog/Dialog.d.ts.map +0 -1
  186. package/lib-esm/components/Dialog/Dialog.js.map +0 -1
  187. package/lib-esm/components/Dialog/PromptDialog.d.ts.map +0 -1
  188. package/lib-esm/components/Dialog/PromptDialog.js.map +0 -1
  189. package/lib-esm/components/Dialog/index.d.ts.map +0 -1
  190. package/lib-esm/components/Dialog/index.js +0 -5
  191. package/lib-esm/components/Dialog/index.js.map +0 -1
  192. package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts.map +0 -1
  193. package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +0 -1
  194. package/lib-esm/components/DragAndDrop/DragItem.d.ts.map +0 -1
  195. package/lib-esm/components/DragAndDrop/DragItem.js.map +0 -1
  196. package/lib-esm/components/DragAndDrop/index.d.ts.map +0 -1
  197. package/lib-esm/components/DragAndDrop/index.js +0 -3
  198. package/lib-esm/components/DragAndDrop/index.js.map +0 -1
  199. package/lib-esm/components/DragAndDrop/types.d.ts.map +0 -1
  200. package/lib-esm/components/DragAndDrop/types.js.map +0 -1
  201. package/lib-esm/components/Drawer/Drawer.d.ts.map +0 -1
  202. package/lib-esm/components/Drawer/Drawer.js.map +0 -1
  203. package/lib-esm/components/Drawer/index.d.ts.map +0 -1
  204. package/lib-esm/components/Drawer/index.js +0 -2
  205. package/lib-esm/components/Drawer/index.js.map +0 -1
  206. package/lib-esm/components/Groups/Group.d.ts.map +0 -1
  207. package/lib-esm/components/Groups/Group.js.map +0 -1
  208. package/lib-esm/components/Groups/GroupLabel.d.ts.map +0 -1
  209. package/lib-esm/components/Groups/GroupLabel.js.map +0 -1
  210. package/lib-esm/components/Groups/index.d.ts.map +0 -1
  211. package/lib-esm/components/Groups/index.js +0 -3
  212. package/lib-esm/components/Groups/index.js.map +0 -1
  213. package/lib-esm/components/Input/Checkbox.d.ts.map +0 -1
  214. package/lib-esm/components/Input/Checkbox.js.map +0 -1
  215. package/lib-esm/components/Input/Dropdown.d.ts.map +0 -1
  216. package/lib-esm/components/Input/Dropdown.js.map +0 -1
  217. package/lib-esm/components/Input/Input.d.ts.map +0 -1
  218. package/lib-esm/components/Input/Input.js.map +0 -1
  219. package/lib-esm/components/Input/Radio.d.ts.map +0 -1
  220. package/lib-esm/components/Input/Radio.js.map +0 -1
  221. package/lib-esm/components/Input/RadioButton.d.ts.map +0 -1
  222. package/lib-esm/components/Input/RadioButton.js.map +0 -1
  223. package/lib-esm/components/Input/Select.d.ts.map +0 -1
  224. package/lib-esm/components/Input/Select.js.map +0 -1
  225. package/lib-esm/components/Input/TextArea.d.ts.map +0 -1
  226. package/lib-esm/components/Input/TextArea.js.map +0 -1
  227. package/lib-esm/components/Input/Toggle.d.ts.map +0 -1
  228. package/lib-esm/components/Input/Toggle.js.map +0 -1
  229. package/lib-esm/components/Input/index.d.ts.map +0 -1
  230. package/lib-esm/components/Input/index.js +0 -9
  231. package/lib-esm/components/Input/index.js.map +0 -1
  232. package/lib-esm/components/Menu/Menu.d.ts.map +0 -1
  233. package/lib-esm/components/Menu/Menu.js.map +0 -1
  234. package/lib-esm/components/Menu/MenuContext.d.ts.map +0 -1
  235. package/lib-esm/components/Menu/MenuContext.js.map +0 -1
  236. package/lib-esm/components/Menu/MenuItem.d.ts.map +0 -1
  237. package/lib-esm/components/Menu/MenuItem.js.map +0 -1
  238. package/lib-esm/components/Menu/index.d.ts.map +0 -1
  239. package/lib-esm/components/Menu/index.js +0 -3
  240. package/lib-esm/components/Menu/index.js.map +0 -1
  241. package/lib-esm/components/Modal/Modal.d.ts.map +0 -1
  242. package/lib-esm/components/Modal/Modal.js.map +0 -1
  243. package/lib-esm/components/Modal/index.d.ts.map +0 -1
  244. package/lib-esm/components/Modal/index.js +0 -2
  245. package/lib-esm/components/Modal/index.js.map +0 -1
  246. package/lib-esm/components/Notification/Notification.d.ts.map +0 -1
  247. package/lib-esm/components/Notification/Notification.js.map +0 -1
  248. package/lib-esm/components/Notification/NotificationManager.d.ts.map +0 -1
  249. package/lib-esm/components/Notification/NotificationManager.js.map +0 -1
  250. package/lib-esm/components/Notification/index.d.ts.map +0 -1
  251. package/lib-esm/components/Notification/index.js +0 -3
  252. package/lib-esm/components/Notification/index.js.map +0 -1
  253. package/lib-esm/components/Notification/style.d.ts.map +0 -1
  254. package/lib-esm/components/Notification/style.js.map +0 -1
  255. package/lib-esm/components/Notification/types.d.ts.map +0 -1
  256. package/lib-esm/components/Notification/types.js.map +0 -1
  257. package/lib-esm/components/Popover/Popover.d.ts.map +0 -1
  258. package/lib-esm/components/Popover/Popover.js.map +0 -1
  259. package/lib-esm/components/Popover/index.d.ts.map +0 -1
  260. package/lib-esm/components/Popover/index.js +0 -2
  261. package/lib-esm/components/Popover/index.js.map +0 -1
  262. package/lib-esm/components/Spinner/Spinner.d.ts.map +0 -1
  263. package/lib-esm/components/Spinner/Spinner.js.map +0 -1
  264. package/lib-esm/components/Spinner/index.d.ts.map +0 -1
  265. package/lib-esm/components/Spinner/index.js +0 -2
  266. package/lib-esm/components/Spinner/index.js.map +0 -1
  267. package/lib-esm/components/Stepper/Step.d.ts.map +0 -1
  268. package/lib-esm/components/Stepper/Step.js.map +0 -1
  269. package/lib-esm/components/Stepper/Stepper.d.ts.map +0 -1
  270. package/lib-esm/components/Stepper/Stepper.js.map +0 -1
  271. package/lib-esm/components/Stepper/index.d.ts.map +0 -1
  272. package/lib-esm/components/Stepper/index.js +0 -4
  273. package/lib-esm/components/Stepper/index.js.map +0 -1
  274. package/lib-esm/components/Tabs/Tab.d.ts.map +0 -1
  275. package/lib-esm/components/Tabs/Tab.js.map +0 -1
  276. package/lib-esm/components/Tabs/Tabs.d.ts.map +0 -1
  277. package/lib-esm/components/Tabs/Tabs.js.map +0 -1
  278. package/lib-esm/components/Tabs/index.d.ts.map +0 -1
  279. package/lib-esm/components/Tabs/index.js +0 -3
  280. package/lib-esm/components/Tabs/index.js.map +0 -1
  281. package/lib-esm/components/Toast/Toast.d.ts.map +0 -1
  282. package/lib-esm/components/Toast/Toast.js.map +0 -1
  283. package/lib-esm/components/Toast/ToastStory.d.ts.map +0 -1
  284. package/lib-esm/components/Toast/ToastStory.js +0 -35
  285. package/lib-esm/components/Toast/ToastStory.js.map +0 -1
  286. package/lib-esm/components/Toast/index.d.ts.map +0 -1
  287. package/lib-esm/components/Toast/index.js +0 -2
  288. package/lib-esm/components/Toast/index.js.map +0 -1
  289. package/lib-esm/components/Tooltip/Tooltip.d.ts.map +0 -1
  290. package/lib-esm/components/Tooltip/Tooltip.js.map +0 -1
  291. package/lib-esm/components/Tooltip/index.d.ts.map +0 -1
  292. package/lib-esm/components/Tooltip/index.js +0 -2
  293. package/lib-esm/components/Tooltip/index.js.map +0 -1
  294. package/lib-esm/components/index.d.ts.map +0 -1
  295. package/lib-esm/components/index.js.map +0 -1
  296. package/lib-esm/icons/CheckCircle.d.ts.map +0 -1
  297. package/lib-esm/icons/CheckCircle.js.map +0 -1
  298. package/lib-esm/icons/Close.d.ts.map +0 -1
  299. package/lib-esm/icons/Close.js.map +0 -1
  300. package/lib-esm/icons/DragIndicator.d.ts.map +0 -1
  301. package/lib-esm/icons/DragIndicator.js.map +0 -1
  302. package/lib-esm/icons/ErrorOutline.d.ts.map +0 -1
  303. package/lib-esm/icons/ErrorOutline.js.map +0 -1
  304. package/lib-esm/icons/ExpandMore.d.ts.map +0 -1
  305. package/lib-esm/icons/ExpandMore.js.map +0 -1
  306. package/lib-esm/icons/FiberManualRecord.d.ts.map +0 -1
  307. package/lib-esm/icons/FiberManualRecord.js.map +0 -1
  308. package/lib-esm/icons/Info.d.ts.map +0 -1
  309. package/lib-esm/icons/Info.js.map +0 -1
  310. package/lib-esm/icons/ReportProblem.d.ts.map +0 -1
  311. package/lib-esm/icons/ReportProblem.js.map +0 -1
  312. package/lib-esm/icons/index.d.ts.map +0 -1
  313. package/lib-esm/icons/index.js +0 -9
  314. package/lib-esm/icons/index.js.map +0 -1
  315. package/lib-esm/index.d.ts.map +0 -1
  316. package/lib-esm/index.js +0 -2
  317. package/lib-esm/index.js.map +0 -1
  318. package/lib-esm/shared/LayerManager.d.ts.map +0 -1
  319. package/lib-esm/shared/LayerManager.js.map +0 -1
  320. package/lib-esm/shared/constants.d.ts.map +0 -1
  321. package/lib-esm/shared/constants.js.map +0 -1
  322. package/lib-esm/shared/styles.d.ts.map +0 -1
  323. package/lib-esm/shared/styles.js.map +0 -1
package/package.json CHANGED
@@ -1,19 +1,27 @@
1
1
  {
2
2
  "name": "no-frills-ui",
3
- "version": "0.0.14-alpha.4",
3
+ "version": "0.0.14-alpha.6",
4
4
  "description": "React components that are made of styled native components. Mostly!",
5
5
  "main": "dist/index.js",
6
- "module": "lib-esm/index.js",
7
- "jsnext:main": "lib-esm/index.js",
8
- "types": "lib-esm/index.d.ts",
6
+ "module": "lib-esm/components/index.js",
7
+ "jsnext:main": "lib-esm/components/index.js",
8
+ "types": "lib-esm/components/index.d.ts",
9
9
  "sideEffects": false,
10
+ "exports": {
11
+ ".": {
12
+ "types": "./lib-esm/components/index.d.ts",
13
+ "import": "./lib-esm/components/index.js",
14
+ "require": "./dist/index.js"
15
+ }
16
+ },
10
17
  "files": [
11
18
  "dist",
12
19
  "lib-esm"
13
20
  ],
14
21
  "scripts": {
15
22
  "clean": "shx rm -rf dist lib-esm",
16
- "build": "tsc && rollup -c",
23
+ "build": "NODE_ENV=production tsc --emitDeclarationOnly && rollup -c",
24
+ "build:dev": "NODE_ENV=development tsc --emitDeclarationOnly && rollup -c",
17
25
  "test": "echo \"Warning: No tests implemented yet\" && exit 0",
18
26
  "lint": "eslint . --ext .js,.jsx,.mjs,.ts,.tsx",
19
27
  "lint:fix": "eslint . --ext .js,.jsx,.mjs,.ts,.tsx --fix",
@@ -47,6 +55,8 @@
47
55
  },
48
56
  "devDependencies": {
49
57
  "@rollup/plugin-node-resolve": "^8.0.1",
58
+ "@rollup/plugin-swc": "^0.4.0",
59
+ "@rollup/plugin-terser": "^0.4.4",
50
60
  "@storybook/addon-docs": "^10.0.2",
51
61
  "@storybook/addon-links": "^10.0.2",
52
62
  "@storybook/addon-webpack5-compiler-swc": "^4.0.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAkB,MAAM,OAAO,CAAC;AAC5F,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,iBAAS,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,oDA6B1D;kBA7BQ,SAAS;;QAkCd,4BAA4B;;QAE5B,wCAAwC;;;;;;;AAL5C,KAAK,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAavE,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAqB,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5F,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,SAAS,SAAS,CAAC,KAAwC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE,CAAC,GAAG,EAAE;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,4BACK,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,YAAY,CAAC,KAAK,EAAE;gBACvB,IAAI,EAAE,MAAM,KAAK,KAAK;gBACtB,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;aACzB,CAAC,CAAC;QACtC,CAAC,CAAC,GACH,CACN,CAAC;AACN,CAAC;AAID,SAAS,CAAC,SAAS,GAAG;IAClB,4BAA4B;IAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,wCAAwC;IACxC,WAAW,EAAE,SAAS,CAAC,IAAI;CAC9B,CAAC;AAEF,SAAS,CAAC,YAAY,GAAG;IACrB,MAAM,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { useState, Children, cloneElement, PropsWithChildren, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Accordion(props: PropsWithChildren<AccordionProps>) {\n const [active, setActive] = useState(props.active);\n\n const onStepClick = (index: number, disabled: boolean) => () => {\n if (disabled) {\n return;\n }\n\n const newIndex = index !== active ? index : -1;\n if (props.onStepClick) {\n props.onStepClick(newIndex);\n } else {\n setActive(newIndex);\n }\n };\n\n return (\n <>\n {Children.map(props.children, (child, index) => {\n if (!isValidElement(child)) {\n return child;\n }\n return cloneElement(child, {\n open: active === index,\n onStepClick: onStepClick(index, child.props.disabled),\n } as Partial<typeof child.props>);\n })}\n </>\n );\n}\n\ntype AccordionProps = PropTypes.InferProps<typeof Accordion.propTypes>;\n\nAccordion.propTypes = {\n /** Currently opened step */\n active: PropTypes.number,\n /** Handler for click event on a step */\n onStepClick: PropTypes.func,\n};\n\nAccordion.defaultProps = {\n active: -1,\n};\n\nexport default Accordion;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionStep.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AAuGnC,eAAO,MAAM,iBAAiB;;SAnFE,MAAO,WAAW;qFAqFjD,CAAC;AAEF,eAAO,MAAM,mBAAmB;;SAvFA,MAAO,WAAW;qFA4FjD,CAAC;AAEF,iBAAwB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,oDAmDvF;kBAnDuB,aAAa;;QAsDjC,+BAA+B;;QAE/B,8BAA8B;;QAE9B,4CAA4C;;QAE5C,8BAA8B;;;;;;;;eA5DV,aAAa;AAqErC,KAAK,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,GAAG;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionStep.js","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionStep.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useId } from 'react';\nimport PropTypes from 'prop-types';\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { FiberManualRecord, ExpandMore } from '../../icons';\nimport constants from '../../shared/constants';\nimport { Ellipsis } from '../../shared/styles';\nimport { Badge, BADGE_TYPE } from '../Badge';\nimport { Card } from '../Card';\n\nconst Step = styled(Card)<AccordionStepProps>`\n transition: all 0.6s ease;\n overflow: visible;\n\n ${(props) =>\n props.open &&\n `\n margin: 20px 5px;\n `}\n`;\n\nconst StepHeader = styled.button<{ open: boolean; disabled: boolean }>`\n padding: 20px 15px;\n display: flex;\n justify-content: space-between;\n background: none;\n border: none;\n border-radius: 10px;\n width: 100%;\n font-size: inherit;\n\n &:focus-visible {\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n & input {\n appearance: none;\n margin: 0;\n }\n\n ${(props) =>\n props.open\n ? `\n border-bottom: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n `\n : ''}\n\n ${(props) =>\n props.disabled\n ? `\n color: ${constants.DISABLED};\n `\n : `\n cursor: pointer;\n `}\n`;\n\nconst HeaderContainer = styled.div<{ open: boolean; completed: boolean }>`\n display: flex;\n align-items: center;\n min-width: 40px;\n\n & svg {\n vertical-align: top;\n margin-right: 10px;\n fill: ${(props) =>\n props.open\n ? `var(--primary, ${constants.PRIMARY})`\n : props.completed\n ? `var(--success, ${constants.SUCCESS})`\n : constants.LIGHT_GREY};\n transform: ${(props) => (props.open ? 'scale(0.8)' : 'scale(0.6)')};\n transition: all 0.3s ease;\n min-width: 24px;\n }\n`;\n\nconst ExpandContainer = styled.div<{ open: boolean }>`\n display: flex;\n align-items: center;\n\n & svg {\n vertical-align: top;\n margin-right: 10px;\n transition: all 0.6s ease;\n fill: currentColor;\n }\n\n ${(props) =>\n props.open\n ? `\n & svg {\n transform: rotate(180deg);\n }\n `\n : ''}\n`;\n\nconst StepBody = styled.div<{ height: number }>`\n transition: all 0.6s ease;\n overflow: hidden;\n height: ${(props) => props.height || 0}px;\n`;\n\nexport const AccordionStepBody = styled.div`\n padding: 20px 15px;\n`;\n\nexport const AccordionStepFooter = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 10px 15px;\n border-top: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n`;\n\nexport default function AccordionStep(props: React.PropsWithChildren<AccordionStepProps>) {\n const [height, setHeight] = useState(0);\n const { open, disabled, header, errorText, completed, onStepClick } = props;\n\n // Generate unique IDs for ARIA relationships\n const headerId = useId();\n const regionId = useId();\n\n const ref = (el?: HTMLDivElement) => setHeight(el?.scrollHeight || 0);\n\n return (\n <Step {...props} elevated={props.open}>\n <StepHeader\n open={open}\n disabled={disabled}\n onClick={onStepClick}\n aria-expanded={open ? 'true' : 'false'}\n aria-controls={regionId}\n id={headerId}\n >\n <HeaderContainer open={open} completed={completed}>\n <FiberManualRecord aria-hidden=\"true\" />\n <Ellipsis>{header}</Ellipsis>\n </HeaderContainer>\n <ExpandContainer open={open}>\n {errorText && (\n <Badge\n css={css`\n margin-right: 15px;\n `}\n inline\n type={BADGE_TYPE.DANGER}\n >\n {errorText}\n </Badge>\n )}\n <ExpandMore aria-hidden=\"true\" />\n </ExpandContainer>\n </StepHeader>\n <StepBody\n ref={ref}\n height={open ? height : 0}\n role=\"region\"\n id={regionId}\n aria-labelledby={headerId}\n aria-hidden={open ? 'false' : 'true'}\n >\n {open && props.children}\n </StepBody>\n </Step>\n );\n}\n\nAccordionStep.propTypes = {\n /** Header text for the step */\n header: PropTypes.string.isRequired,\n /** Error text for the step */\n errorText: PropTypes.string,\n /** If steps has been marked as completed */\n completed: PropTypes.bool,\n /** If the step is disabled */\n disabled: PropTypes.bool,\n};\n\nAccordionStep.defaultProps = {\n completed: false,\n disabled: false,\n};\n\ntype AccordionStepProps = PropTypes.InferProps<typeof AccordionStep.propTypes> & {\n open?: boolean;\n completed: boolean;\n onStepClick?: () => void;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +0,0 @@
1
- export { default as Accordion } from './Accordion';
2
- export { default as AccordionStep, AccordionStepBody, AccordionStepFooter } from './AccordionStep';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { default as Accordion } from './Accordion';\nexport { default as AccordionStep, AccordionStepBody, AccordionStepFooter } from './AccordionStep';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,oBAAY,UAAU;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB;AAED,KAAK,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAkCxF,iBAAwB,KAAK,CAAC,KAAK,EAAE,UAAU,oDAE9C;kBAFuB,KAAK;;QAKzB,0DAA0D;;QAE1D,oBAAoB;;;;;;;;;eAPA,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACzB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAID,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAY;wBACjB,CAAC,KAAK,EAAE,EAAE;IAC1B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,OAAO;YACnB,OAAO,kBAAkB,SAAS,CAAC,OAAO,GAAG,CAAC;QAElD,KAAK,UAAU,CAAC,OAAO;YACnB,OAAO,eAAe,SAAS,CAAC,OAAO,GAAG,CAAC;QAE/C,KAAK,UAAU,CAAC,MAAM;YAClB,OAAO,gBAAgB,SAAS,CAAC,KAAK,GAAG,CAAC;QAE9C,KAAK,UAAU,CAAC,QAAQ;YACpB,OAAO,mBAAmB,SAAS,CAAC,QAAQ,GAAG,CAAC;QAEpD;YACI,OAAO,kBAAkB,SAAS,CAAC,OAAO,GAAG,CAAC;IACtD,CAAC;AACL,CAAC;;;eAGU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;;;;;cAKjD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;;MAEjD,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,MAAM,IAAI,wEAAwE;CAChG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAiB;IAC3C,OAAO,KAAC,SAAS,oBAAK,KAAK,EAAI,CAAC;AACpC,CAAC;AAED,KAAK,CAAC,SAAS,GAAG;IACd,0DAA0D;IAC1D,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,oBAAoB;IACpB,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;QAClB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,QAAQ;KACtB,CAAC;IACF,GAAG,EAAE,SAAS,CAAC,GAAG;CACrB,CAAC;AAEF,KAAK,CAAC,YAAY,GAAG;IACjB,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,UAAU,CAAC,OAAO;CAC3B,CAAC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport enum BADGE_TYPE {\n PRIMARY = 'primary',\n SUCCESS = 'success',\n WARNING = 'warning',\n DANGER = 'danger',\n DISABLED = 'disabled',\n}\n\ntype BadgeProps = React.PropsWithChildren<PropTypes.InferProps<typeof Badge.propTypes>>;\n\nconst BadgeSpan = styled.span<BadgeProps>`\n background-color: ${(props) => {\n switch (props.type) {\n case BADGE_TYPE.SUCCESS:\n return `var(--success, ${constants.SUCCESS})`;\n\n case BADGE_TYPE.WARNING:\n return `var(--info, ${constants.WARNING})`;\n\n case BADGE_TYPE.DANGER:\n return `var(--error, ${constants.ERROR})`;\n\n case BADGE_TYPE.DISABLED:\n return `var(--disabled, ${constants.DISABLED})`;\n\n default:\n return `var(--primary, ${constants.PRIMARY})`;\n }\n }};\n color: #fff;\n border-radius: 10px;\n padding: ${(props) => (props.children ? '3px 10px' : '4px')};\n display: inline-block;\n min-height: 4px;\n min-width: 4px;\n font-size: 12px;\n margin: ${(props) => (props.inline ? '0 5px' : '0')};\n\n ${(props) =>\n !props.inline && 'position: absolute; top: 0; right: 0; transform: translate(50%, -50%);'};\n`;\n\nexport default function Badge(props: BadgeProps) {\n return <BadgeSpan {...props} />;\n}\n\nBadge.propTypes = {\n /** Display badge inline or overlay on parent component */\n inline: PropTypes.bool,\n /** Type of badge */\n type: PropTypes.oneOf([\n BADGE_TYPE.PRIMARY,\n BADGE_TYPE.SUCCESS,\n BADGE_TYPE.WARNING,\n BADGE_TYPE.DANGER,\n BADGE_TYPE.DISABLED,\n ]),\n css: PropTypes.any,\n};\n\nBadge.defaultProps = {\n inline: false,\n type: BADGE_TYPE.PRIMARY,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as Badge, BADGE_TYPE } from './Badge';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { default as Badge, BADGE_TYPE } from './Badge';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionButton.d.ts","sourceRoot":"","sources":["../../../src/components/Button/ActionButton.tsx"],"names":[],"mappings":";;SAwBQ,MAAA,WAAU;;AArBlB,wBAqCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionButton.js","sourceRoot":"","sources":["../../../src/components/Button/ActionButton.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,eAAe,MAAM,CAAC,MAAM,CAAA;uCACW,SAAS,CAAC,OAAO;uCACjB,SAAS,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;0CAuBd,SAAS,CAAC,YAAY;;;;qDAIX,SAAS,CAAC,aAAa;;;;4BAIhD,SAAS,CAAC,kBAAkB;sDACF,SAAS,CAAC,mBAAmB;iCAClD,SAAS,CAAC,QAAQ;;CAElD,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.button`\n border: 1px solid var(--primary, ${constants.PRIMARY});\n background-color: var(--primary, ${constants.PRIMARY});\n color: #fff;\n border-radius: 5px;\n height: 32px;\n min-width: 100px;\n font-size: 14px;\n text-align: center;\n padding: 0 12px;\n cursor: pointer;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 5px;\n position: relative;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n fill: currentColor;\n margin-left: -6px;\n }\n\n &:enabled:hover {\n box-shadow: var(--hover-shadow, ${constants.HOVER_SHADOW});\n }\n\n &:focus {\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:disabled {\n border: 1px solid ${constants.BORDER_LIGHT_COLOR};\n background-color: var(--border-light-color, ${constants.DISABLED_BACKGROUND});\n color: var(--disabled, ${constants.DISABLED});\n }\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;SAoBV,MAAE,WAAW;qHAmBpB,CAAC;AAMF,eAAe,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;4CACU,SAAS,CAAC,YAAY;;;;;;;;;0CASxB,SAAS,CAAC,UAAU;;;;;;;;;;;;;;;uCAevB,SAAS,CAAC,OAAO;gCACxB,SAAS,CAAC,OAAO;;;;uCAIV,SAAS,CAAC,OAAO;qDACH,SAAS,CAAC,aAAa;;;;sDAItB,SAAS,CAAC,mBAAmB;0CACzC,SAAS,CAAC,UAAU;iCAC7B,SAAS,CAAC,QAAQ;;CAElD,CAAC;AAEF,YAAY,CAAC,YAAY,GAAG;IACxB,IAAI,EAAE,QAAQ;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst StyledButton = styled.button`\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 5px;\n height: 32px;\n min-width: 100px;\n font-size: 14px;\n text-align: center;\n padding: 0 12px;\n cursor: pointer;\n color: inherit;\n background-color: var(--background, ${constants.BACKGROUND});\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 5px;\n position: relative;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n margin-left: -6px;\n fill: currentColor;\n }\n\n &:enabled:hover {\n border-color: var(--primary, ${constants.PRIMARY});\n color: var(--primary, ${constants.PRIMARY});\n }\n\n &:focus {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:disabled {\n background-color: var(--border-light-color, ${constants.DISABLED_BACKGROUND});\n border-color: var(--light-grey, ${constants.LIGHT_GREY});\n color: var(--disabled, ${constants.DISABLED});\n }\n`;\n\nStyledButton.defaultProps = {\n type: 'button',\n};\n\nexport default StyledButton;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/Button/IconButton.tsx"],"names":[],"mappings":";;SAuBI,MAEA,WAAW;;AAtBf,wBAyCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/Button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,eAAe,MAAM,CAAC,MAAM,CAAA;4CACgB,SAAS,CAAC,YAAY;;;;;;;;0CAQxB,SAAS,CAAC,UAAU;;;;;;;;;;;;;;uCAcvB,SAAS,CAAC,OAAO;gCACxB,SAAS,CAAC,OAAO;;;;uCAIV,SAAS,CAAC,OAAO;qDACH,SAAS,CAAC,aAAa;;;;4BAIhD,SAAS,CAAC,kBAAkB;wBAChC,SAAS,CAAC,UAAU;iBAC3B,SAAS,CAAC,QAAQ;;;;gBAInB,SAAS,CAAC,QAAQ;;CAEjC,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.button`\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 5px;\n height: 32px;\n font-size: 14px;\n text-align: center;\n padding: 0 3px;\n cursor: pointer;\n color: inherit;\n background-color: var(--background, ${constants.BACKGROUND});\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 5px;\n position: relative;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n fill: currentColor;\n }\n\n &:enabled:hover {\n border-color: var(--primary, ${constants.PRIMARY});\n color: var(--primary, ${constants.PRIMARY});\n }\n\n &:focus {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:disabled {\n background-color: ${constants.BORDER_LIGHT_COLOR};\n border-color: ${constants.LIGHT_GREY};\n color: ${constants.DISABLED};\n }\n\n &:disabled > svg {\n fill: ${constants.DISABLED};\n }\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../../src/components/Button/LinkButton.tsx"],"names":[],"mappings":";;SA2BI,MAAQ,WACJ;;AAzBR,wBAgCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/components/Button/LinkButton.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,eAAe,MAAM,CAAC,MAAM,CAAA;;;;;;;;4BAQA,SAAS,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;wBAqBrB,SAAS,CAAC,YAAY;iBAC7B,SAAS,CAAC,QAAQ;;CAElC,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.button`\n min-width: 100px;\n font-size: 14px;\n text-align: center;\n height: 32px;\n cursor: pointer;\n background-color: transparent;\n border: none;\n color: var(--primary, ${constants.PRIMARY});\n padding: 0 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 5px;\n position: relative;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n fill: currentColor;\n margin-left: -6px;\n }\n\n &:enabled:hover,\n &:focus {\n text-decoration: underline;\n }\n\n &:disabled {\n border-color: ${constants.BORDER_COLOR};\n color: ${constants.DISABLED};\n }\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaisedButton.d.ts","sourceRoot":"","sources":["../../../src/components/Button/RaisedButton.tsx"],"names":[],"mappings":";;SAqBI,MAAE,WACD;;AAnBL,wBA6CE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaisedButton.js","sourceRoot":"","sources":["../../../src/components/Button/RaisedButton.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,eAAe,MAAM,CAAC,MAAM,CAAA;4CACgB,SAAS,CAAC,YAAY;;;;;;;;;0CASxB,SAAS,CAAC,UAAU;;sCAExB,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;uCAerB,SAAS,CAAC,OAAO;gCACxB,SAAS,CAAC,OAAO;;;;uCAIV,SAAS,CAAC,OAAO;;;;4BAI5B,SAAS,CAAC,mBAAmB;wBACjC,SAAS,CAAC,UAAU;iBAC3B,SAAS,CAAC,QAAQ;;;;;oCAKC,SAAS,CAAC,MAAM;;CAEnD,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.button`\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 5px;\n height: 32px;\n min-width: 100px;\n font-size: 14px;\n text-align: center;\n padding: 0 12px;\n cursor: pointer;\n color: inherit;\n background-color: var(--background, ${constants.BACKGROUND});\n transform: translateY(-2px);\n box-shadow: var(--hover-shadow, ${constants.HOVER_SHADOW});\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 5px;\n position: relative;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n margin-left: -6px;\n fill: currentColor;\n }\n\n &:enabled:hover {\n border-color: var(--primary, ${constants.PRIMARY});\n color: var(--primary, ${constants.PRIMARY});\n }\n\n &:focus {\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n &:disabled {\n background-color: ${constants.DISABLED_BACKGROUND};\n border-color: ${constants.LIGHT_GREY};\n color: ${constants.DISABLED};\n }\n\n &:active {\n transform: translateY(0);\n box-shadow: var(--shadow, ${constants.SHADOW});\n }\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +0,0 @@
1
- export { default as Button } from './Button';
2
- export { default as LinkButton } from './LinkButton';
3
- export { default as RaisedButton } from './RaisedButton';
4
- export { default as ActionButton } from './ActionButton';
5
- export { default as IconButton } from './IconButton';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { default as Button } from './Button';\nexport { default as LinkButton } from './LinkButton';\nexport { default as RaisedButton } from './RaisedButton';\nexport { default as ActionButton } from './ActionButton';\nexport { default as IconButton } from './IconButton';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,IAAI;;SAa2D,MAAO,WAAW;0HAHtF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAM/C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAgB;;0CAEG,SAAS,CAAC,UAAU;MACxD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,QAAQ;IACV,CAAC,CAAC,mCAAmC,SAAS,CAAC,YAAY,IAAI;IAC/D,CAAC,CAAC,6BAA6B,SAAS,CAAC,MAAM,IAAI;;;;CAI9D,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport interface CardExtraProps {\n elevated?: boolean;\n}\n\nconst Card = styled.div<CardExtraProps>`\n border-radius: 10px;\n background-color: var(--background, ${constants.BACKGROUND});\n ${(props) =>\n props.elevated\n ? `box-shadow: var(--modal-shadow, ${constants.MODAL_SHADOW});`\n : `box-shadow: var(--shadow, ${constants.SHADOW});`}\n margin: 5px;\n overflow: auto;\n position: relative;\n`;\n\nexport default Card;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,3 +0,0 @@
1
- export { default as Card } from './Card';
2
- export { Header as CardHeader, Body as CardBody, Footer as CardFooter } from '../../shared/styles';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { default as Card } from './Card';\nexport { Header as CardHeader, Body as CardBody, Footer as CardFooter } from '../../shared/styles';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,SAAS;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACnE,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AA2BD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,oDA4BpF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAW/C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAA;;;;kDAIqB,SAAS,CAAC,kBAAkB;;;;;;;kDAO5B,SAAS,CAAC,aAAa;;CAExE,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;qCACS,SAAS,CAAC,UAAU;4CACb,SAAS,CAAC,QAAQ;;;;;;CAM7D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAwD;IACjF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA9D,iDAAsD,CAAQ,CAAC;IAErE,MAAM,YAAY,GAAgD,CAAC,CAAC,EAAE,EAAE;QACpE,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAkD,CAAC,CAAC,EAAE,EAAE;QAC9E,qEAAqE;QACrE,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC7D,CAAC,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,SAAS,oBAAK,IAAI,IAAE,OAAO,EAAE,YAAY,aACrC,KAAK,EACN,KAAC,MAAM,IACH,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,oBAAoB,gBACnB,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,UAAU,KAAK,EAAE,YAErD,KAAC,KAAK,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,GAC3B,KACD,CACf,CAAC;AACN,CAAC","sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { Close } from '../../icons';\nimport constants from '../../shared/constants';\n\ninterface ChipProps {\n /** Label for the chip */\n label: string;\n /** Callback when the close button is clicked */\n onCloseClick?: (e: React.KeyboardEvent | React.MouseEvent) => void;\n /** Aria label for the close button. Defaults to \"Remove {label}\" */\n closeButtonAriaLabel?: string;\n}\n\nconst Container = styled.span`\n padding: 5px;\n padding-left: 15px;\n border-radius: 16px;\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n display: inline-flex;\n margin: 5px;\n line-height: 20px;\n align-items: center;\n\n &:focus-within {\n outline: 2px solid var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n`;\n\nconst Button = styled.button`\n color: var(--background-color, ${constants.BACKGROUND});\n background-color: var(--border-color, ${constants.DISABLED});\n border-radius: 50%;\n border: none;\n padding: 4px;\n display: inline-flex;\n margin-left: 5px;\n`;\n\nexport default function Chip(props: ChipProps & React.HTMLAttributes<HTMLSpanElement>) {\n const { label, onCloseClick, closeButtonAriaLabel, ...rest } = props;\n\n const keyUpHandler: React.KeyboardEventHandler<HTMLSpanElement> = (e) => {\n if (e.key === 'Backspace' || e.key === 'Delete') {\n onCloseClick?.(e);\n }\n };\n\n const buttonKeyDownHandler: React.KeyboardEventHandler<HTMLButtonElement> = (e) => {\n // Stop propagation to prevent DragAndDrop from capturing Space/Enter\n if (e.key === ' ' || e.key === 'Spacebar' || e.key === 'Enter') {\n e.stopPropagation();\n }\n };\n\n return (\n <Container {...rest} onKeyUp={keyUpHandler}>\n {label}\n <Button\n onClick={onCloseClick}\n onKeyDown={buttonKeyDownHandler}\n aria-label={closeButtonAriaLabel ?? `Remove ${label}`}\n >\n <Close height={16} width={16} />\n </Button>\n </Container>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as Chip } from './Chip';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC","sourcesContent":["export { default as Chip } from './Chip';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChipInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipInput/ChipInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,SAAS,MAAM,YAAY,CAAC;AAOnC,KAAK,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAkJvE;;;;;;;;;;;;GAYG;AACH,iBAAwB,SAAS,CAC7B,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,oDAwIpE;kBAzIuB,SAAS;;QA4I7B,0BAA0B;;QAE1B,kCAAkC;;QAElC,iCAAiC;;QAEjC,iCAAiC;;QAEjC,4EAA4E;;QAE5E,8EAA8E;;QAE9E,kFAAkF;;;;;;;;;;eAxJ9D,SAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChipInput.js","sourceRoot":"","sources":["../../../src/components/ChipInput/ChipInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useId, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport Chip from '../Chip/Chip';\nimport { DragAndDrop, ORIENTATION } from '../DragAndDrop';\n\n// Prop types definition\ntype ChipInputProps = PropTypes.InferProps<typeof ChipInput.propTypes>;\n\n// Label component for the ChipInput\nconst Label = styled.label<{\n text: string;\n touched?: boolean;\n errorText?: string;\n}>`\n display: inline-flex;\n flex-direction: column;\n flex: 1;\n position: relative;\n margin: 10px 5px;\n color: inherit;\n padding: 0 8px;\n width: 250px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n background-color: var(--background, ${constants.BACKGROUND});\n\n /** Focused */\n &:has(:focus),\n &:has(:active) {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:has(:focus) > span,\n &:has(:active) > span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:has(:disabled) {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:has(:disabled) > span {\n color: #777;\n }\n\n /** Invalid */\n &:has(:focus:invalid) {\n border-color: var(--error, ${constants.ERROR});\n box-shadow: 0 0 0 4px var(--error-light, ${constants.ERROR_LIGHT});\n }\n\n ${(props) =>\n props.touched\n ? `\n &:has(:invalid) {\n border-color: var(--error, ${constants.ERROR});\n }\n \n &:has(:invalid) > span {\n color: var(--error, ${constants.ERROR});\n }\n `\n : ''}\n\n /** Error */\n ${(props) =>\n props.errorText\n ? `\n border-color: var(--error, ${constants.ERROR});\n\n & > span {\n color: var(--error, ${constants.ERROR});\n }\n `\n : ''}\n\n /** Required */\n &:has(:required) > span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\n }\n\n & > input {\n border: none;\n outline: none;\n width: 100%;\n line-height: 30px;\n min-height: 30px;\n }\n\n /** Label Animation */\n & > span {\n position: absolute;\n padding: 0 5px;\n top: 0px;\n left: 4px;\n font-size: 14px;\n line-height: 32px;\n transition: all 300ms ease;\n }\n\n &:has(:focus) > span,\n &:has(:placeholder-shown) > span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n\n ${(props) =>\n props.text !== ''\n ? `\n & > span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n `\n : ''}\n`;\n\n// Error message container\nconst ErrorContainer = styled.div`\n color: var(--error, ${constants.ERROR});\n padding-top: 3px;\n font-size: 12px;\n line-height: 14px;\n margin-left: 3px;\n`;\n\n// Visually hidden but accessible to screen readers\nconst VisuallyHidden = styled.ul`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n\n & li {\n list-style: none;\n }\n`;\n\n/**\n * A chip input component that allows users to add and remove chips (tags) by typing and pressing Enter.\n * @component\n * @example\n * ```tsx\n * <ChipInput\n * value={['tag1', 'tag2']}\n * onChange={(newTags) => console.log(newTags)}\n * label=\"Add tags\"\n * errorText=\"At least one tag is required\"\n * />\n * ```\n */\nexport default function ChipInput(\n props: ChipInputProps & React.AllHTMLAttributes<HTMLInputElement>,\n) {\n const [text, setText] = useState('');\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState<string[]>(props.value);\n const InputRef = React.useRef<HTMLInputElement>(null);\n const [announcement, setAnnouncement] = useState('');\n const errorId = useId();\n\n /**\n * Replace {:label} placeholder in template string\n */\n const replacePlaceholder = (\n template: string | undefined,\n label: string,\n ): string | undefined => {\n if (!template) return undefined;\n return template.replace(/\\{:label\\}/g, label);\n };\n\n // Sync internal value with props.value\n useEffect(() => {\n if (Array.isArray(props.value)) {\n setValue(props.value);\n }\n }, [props.value]);\n\n /**\n * Update the chip values and notify changes.\n * @param newValue The new array of chip values\n */\n const updateValue = (newValue: string[]) => {\n const deduped = Array.from(new Set(newValue));\n setValue(deduped);\n props.onChange?.(deduped);\n };\n\n /**\n * Marks the input as touched on focus.\n * @param e React focus event\n */\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n /**\n * Change handler for the input field.\n * @param e React change event\n */\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n setText(e.target.value);\n };\n\n /**\n * Adds a new chip on Enter key press.\n * @param e React keyboard event\n */\n const handleKeyUp: React.KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (e.key === 'Enter' && text.trim() !== '') {\n const newValue = [...value, text.trim()];\n updateValue(newValue);\n setText('');\n setAnnouncement(replacePlaceholder(props.addedAnnouncementTemplate, text.trim())!);\n }\n };\n\n /**\n * Removes a chip from the list.\n * @param chipToRemove The chip value to remove\n */\n const removeChip = (chipToRemove: string) => {\n const newValue = value.filter((chip) => chip !== chipToRemove);\n updateValue(newValue);\n setAnnouncement(replacePlaceholder(props.removedAnnouncementTemplate, chipToRemove)!);\n };\n\n /**\n * Moves a chip from one position to another.\n * @param start The starting index of the item to move\n * @param end The ending index where the item should be placed\n */\n const onDrop = (start: number, end: number) => {\n // Clone existing elements\n const newItems = [...value];\n // Remove the element to be moved\n const item = newItems.splice(start, 1);\n // Add it back at the required position\n newItems.splice(end, 0, item[0]);\n // Update\n updateValue(newItems);\n };\n\n // Render the component\n return (\n <>\n <Label text={text} touched={touched} errorText={props.errorText}>\n <input\n {...props}\n ref={InputRef}\n value={text}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n required={props.required && value.length === 0}\n aria-required={props.required}\n aria-invalid={!!props.errorText}\n aria-describedby={props.errorText ? errorId : undefined}\n />\n <div>\n {value?.length > 0 && (\n <DragAndDrop orientation={ORIENTATION.HORIZONTAL} onDrop={onDrop}>\n {value.map((chip) => (\n <Chip\n key={chip}\n label={chip}\n onCloseClick={() => removeChip(chip)}\n closeButtonAriaLabel={replacePlaceholder(\n props.closeButtonAriaLabel,\n chip,\n )}\n />\n ))}\n </DragAndDrop>\n )}\n </div>\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer id={errorId}>{props.errorText}</ErrorContainer>}\n </Label>\n <VisuallyHidden aria-live=\"polite\" aria-atomic=\"true\">\n {announcement}\n </VisuallyHidden>\n </>\n );\n}\n\nChipInput.propTypes = {\n /** Label for the field */\n label: PropTypes.string.isRequired,\n /** Error message for the field */\n errorText: PropTypes.string,\n /** Values to display as chips */\n value: PropTypes.arrayOf(PropTypes.string),\n /** Callback when chips change */\n onChange: PropTypes.func,\n /** Aria label for the close button on chip. Defaults to \"Remove {label}\" */\n closeButtonAriaLabel: PropTypes.string,\n /** Announcement text when a chip is added. Defaults to \"{label} was added\" */\n addedAnnouncementTemplate: PropTypes.string,\n /** Announcement text when a chip is removed. Defaults to \"{label} was removed\" */\n removedAnnouncementTemplate: PropTypes.string,\n};\n\nChipInput.defaultProps = {\n value: [],\n closeButtonAriaLabel: 'Remove {:label}',\n addedAnnouncementTemplate: '{:label} was added',\n removedAnnouncementTemplate: '{:label} was removed',\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChipInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as ChipInput } from './ChipInput';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ChipInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { default as ChipInput } from './ChipInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/AlertDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,KAAK,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IACjE,OAAO,CAAC,MAAM,CAAuB;IAErC,MAAM,CAAC,SAAS;QACZ,oCAAoC;;QAEpC,4BAA4B;;QAE5B,gDAAgD;;QAEhD,2BAA2B;;MAE7B;IAEF,MAAM,CAAC,YAAY;;MAEjB;IAEK,IAAI,yBAKT;IAEF,OAAO,CAAC,KAAK,CAAqC;IAElD,MAAM;CAgBT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AlertDialog.js","sourceRoot":"","sources":["../../../src/components/Dialog/AlertDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI1E,MAAqB,WAAY,SAAQ,KAAK,CAAC,SAAsB;IAArE;;QACY,WAAM,GAAG,SAAS,EAAU,CAAC;QAiB9B,SAAI,GAAG,GAAG,EAAE;YACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,UAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBtD,CAAC;IAhBG,MAAM;QACF,OAAO,CACH,MAAC,MAAM,oBACC,IAAI,CAAC,KAAK,CAAC,WAAW,IAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,UAAU,EAAE,KAAK,EACjB,mBAAmB,EAAE,KAAK,aAEzB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAC,YAAY,cAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAgB,EACtE,KAAC,UAAU,cAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAc,EAC1C,KAAC,YAAY,cACT,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,YAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAU,GAClD,KACV,CACZ,CAAC;IACN,CAAC;;AAvCM,qBAAS,GAAG;IACf,oCAAoC;IACpC,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;IAC9B,gDAAgD;IAChD,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,2BAA2B;IAC3B,WAAW,EAAE,SAAS,CAAC,MAAM;CAChC,AATe,CASd;AAEK,wBAAY,GAAG;IAClB,UAAU,EAAE,IAAI;CACnB,AAFkB,CAEjB;eAhBe,WAAW","sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from '../Button';\nimport Dialog, { DialogBody, DialogFooter, DialogHeader } from './Dialog';\n\ntype AlertOption = PropTypes.InferProps<typeof AlertDialog.propTypes>;\n\nexport default class AlertDialog extends React.Component<AlertOption> {\n private dialog = createRef<Dialog>();\n\n static propTypes = {\n /** Shown as header of the dialog */\n header: PropTypes.string,\n /** Rendered in the body. */\n body: PropTypes.any.isRequired,\n /** Accept button text, default value is `OK` */\n buttonText: PropTypes.string,\n /** props for the dialog */\n dialogProps: PropTypes.object,\n };\n\n static defaultProps = {\n buttonText: 'OK',\n };\n\n public show = () => {\n return new Promise((resolve) => {\n const onClose = () => resolve(null);\n this.dialog.current.open(onClose);\n });\n };\n\n private close = () => this.dialog.current.close();\n\n render() {\n return (\n <Dialog\n {...this.props.dialogProps}\n ref={this.dialog}\n closeOnEsc={false}\n closeOnOverlayClick={false}\n >\n {this.props.header && <DialogHeader>{this.props.header}</DialogHeader>}\n <DialogBody>{this.props.body}</DialogBody>\n <DialogFooter>\n <Button onClick={this.close}>{this.props.buttonText}</Button>\n </DialogFooter>\n </Dialog>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,KAAK,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;IACrE,OAAO,CAAC,MAAM,CAAuB;IAErC,MAAM,CAAC,SAAS;QACZ,oCAAoC;;QAEpC,qCAAqC;;QAErC,yBAAyB;;QAEzB,yBAAyB;;QAEzB,2BAA2B;;MAE7B;IAEF,MAAM,CAAC,YAAY;;;MAGjB;IAEK,IAAI,yBAWT;IAEF,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,OAAO,CAAyC;IAExD,MAAM;CAkBT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/Dialog/ConfirmDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI1E,MAAqB,aAAc,SAAQ,KAAK,CAAC,SAAwB;IAAzE;;QACY,WAAM,GAAG,SAAS,EAAU,CAAC;QAoB9B,SAAI,GAAG,GAAG,EAAE;YACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE;oBAC9B,IAAI,IAAI,EAAE,CAAC;wBACP,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACJ,MAAM,EAAE,CAAC;oBACb,CAAC;gBACL,CAAC,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAoB5D,CAAC;IAlBG,MAAM;QACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClE,OAAO,CACH,MAAC,MAAM,oBACC,WAAW,IACf,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,UAAU,EAAE,KAAK,EACjB,mBAAmB,EAAE,KAAK,aAEzB,MAAM,IAAI,KAAC,YAAY,cAAE,MAAM,GAAgB,EAChD,KAAC,UAAU,cAAE,IAAI,GAAc,EAC/B,MAAC,YAAY,eACT,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,YAAG,MAAM,GAAU,EAC/C,KAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,YAAG,OAAO,GAAgB,IAClD,KACV,CACZ,CAAC;IACN,CAAC;;AAnDM,uBAAS,GAAG;IACf,oCAAoC;IACpC,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,qCAAqC;IACrC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACjC,yBAAyB;IACzB,OAAO,EAAE,SAAS,CAAC,MAAM;IACzB,yBAAyB;IACzB,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,2BAA2B;IAC3B,WAAW,EAAE,SAAS,CAAC,MAAM;CAChC,AAXe,CAWd;AAEK,0BAAY,GAAG;IAClB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;CACf,AAHkB,CAGjB;eAnBe,aAAa","sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, ActionButton } from '../Button';\nimport Dialog, { DialogBody, DialogFooter, DialogHeader } from './Dialog';\n\ntype ConfirmOption = PropTypes.InferProps<typeof ConfirmDialog.propTypes>;\n\nexport default class ConfirmDialog extends React.Component<ConfirmOption> {\n private dialog = createRef<Dialog>();\n\n static propTypes = {\n /** Shown as header of the dialog */\n header: PropTypes.string,\n /** Rendered as body of the dialog */\n body: PropTypes.string.isRequired,\n /** Accept button text */\n yesText: PropTypes.string,\n /** Reject button text */\n noText: PropTypes.string,\n /** Props for the dialog */\n dialogProps: PropTypes.object,\n };\n\n static defaultProps = {\n yesText: 'Yes',\n noText: 'No',\n };\n\n public show = () => {\n return new Promise((resolve, reject) => {\n const onClose = (resp: boolean) => {\n if (resp) {\n resolve(null);\n } else {\n reject();\n }\n };\n this.dialog.current.open(onClose);\n });\n };\n\n private cancel = () => this.dialog.current.close(false);\n private confirm = () => this.dialog.current.close(true);\n\n render() {\n const { header, body, yesText, noText, dialogProps } = this.props;\n return (\n <Dialog\n {...dialogProps}\n ref={this.dialog}\n closeOnEsc={false}\n closeOnOverlayClick={false}\n >\n {header && <DialogHeader>{header}</DialogHeader>}\n <DialogBody>{body}</DialogBody>\n <DialogFooter>\n <Button onClick={this.cancel}>{noText}</Button>\n <ActionButton onClick={this.confirm}>{yesText}</ActionButton>\n </DialogFooter>\n </Dialog>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,eAAO,MAAM,eAAe;;SAqBL,MACrB,WAAW;;;UANZ,CAAC;AAEF,OAAO,EACH,MAAM,IAAI,YAAY,EACtB,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,GACzB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,aAAa;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,UAAU,WAAW;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;CACnD;AAED,cAAM,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;IACrF,MAAM,CAAC,SAAS;QACZ,kEAAkE;;QAElE,6DAA6D;;MAE/D;IAEF,MAAM,CAAC,YAAY;;;MAGjB;IAEF,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,SAAS,CAA2B;IAE5C,KAAK,EAAE,WAAW,CAGhB;IAEF,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW;IAI/D,IAAI,mBAAoB,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,UAwBpD;IAEK,KAAK,UAAW,OAAO,UAE5B;IAEF,OAAO,CAAC,aAAa,CAMnB;IAEF,MAAM;CAST;AAED,eAAe,MAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,YAAY,EAAE,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;;;;;;;;;;;;;;;CAgB1C,CAAC;AAEF,OAAO,EACH,MAAM,IAAI,YAAY,EACtB,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,GACzB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,MAAO,SAAQ,KAAK,CAAC,SAA8D;IAAzF;;QAgBI,UAAK,GAAgB;YACjB,IAAI,EAAE,KAAK;YACX,cAAc,EAAE,SAAS;SAC5B,CAAC;QAMK,SAAI,GAAG,CAAC,aAAuC,EAAE,EAAE;YACtD,MAAM,KAAyD,IAAI,CAAC,KAAK,EAAnE,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,OAAwB,EAAnB,IAAI,cAApD,iDAAsD,CAAa,CAAC;YAE1E,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;gBAClD,SAAS,EAAE,GAAG;gBACd,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,mBAAmB;gBACnB,QAAQ,EAAE,cAAc,CAAC,MAAM;gBAC/B,SAAS,EAAE,CACP,KAAC,eAAe,oBAAK,IAAI,IAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,QAAQ,kBACnE,QAAQ,IACK,CACrB;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAE3B,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,SAAS;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QACnC,CAAC,CAAC;QAEK,UAAK,GAAG,CAAC,IAAc,EAAE,EAAE;;YAC9B,MAAA,IAAI,CAAC,WAAW,qDAAG,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,IAAc,EAAE,EAAE;;YACvC,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,KAAK;gBACX,cAAc,EAAE,SAAS;aAC5B,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,SAAS,qDAAG,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;IAWN,CAAC;IAnDG,qBAAqB,CAAC,SAAwB,EAAE,SAAsB;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;IAC9C,CAAC;IAwCD,MAAM;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YACpC,OAAO,KAAC,cAAc,KAAG,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;;AAtEM,gBAAS,GAAG;IACf,kEAAkE;IAClE,UAAU,EAAE,SAAS,CAAC,IAAI;IAC1B,6DAA6D;IAC7D,mBAAmB,EAAE,SAAS,CAAC,IAAI;CACtC,AALe,CAKd;AAEK,mBAAY,GAAG;IAClB,UAAU,EAAE,IAAI;IAChB,mBAAmB,EAAE,IAAI;CAC5B,AAHkB,CAGjB;AA+DN,eAAe,MAAM,CAAC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nimport { Card } from '../Card';\n\nexport const DialogContainer = styled(Card)`\n max-width: 768px;\n max-height: 80vh;\n transform: scale(0);\n opacity: 0;\n transition: all 0.3s ease;\n\n .nf-layer-enter & {\n opacity: 1;\n transform: scale(1);\n }\n\n .nf-layer-exit & {\n opacity: 0;\n transform: scale(0);\n }\n`;\n\nexport {\n Header as DialogHeader,\n Body as DialogBody,\n Footer as DialogFooter,\n} from '../../shared/styles';\n\ninterface DialogOptions {\n /** Flag to close dialog on `esc` click. Default value is true. */\n closeOnEsc?: boolean;\n /** Close layer overlay is clicked. Default value is true. */\n closeOnOverlayClick?: boolean;\n}\n\ninterface DialogState {\n show: boolean;\n LayerComponent?: () => React.ReactPortal | null;\n}\n\nclass Dialog extends React.Component<React.PropsWithChildren<DialogOptions>, DialogState> {\n static propTypes = {\n /** Flag to close dialog on `esc` click. Default value is true. */\n closeOnEsc: PropTypes.bool,\n /** Close layer overlay is clicked. Default value is true. */\n closeOnOverlayClick: PropTypes.bool,\n };\n\n static defaultProps = {\n closeOnEsc: true,\n closeOnOverlayClick: true,\n };\n\n private closeDialog: (resp?: unknown) => void;\n private onCloseFn: (resp?: unknown) => void;\n\n state: DialogState = {\n show: false,\n LayerComponent: undefined,\n };\n\n shouldComponentUpdate(nextProps: DialogOptions, nextState: DialogState) {\n return this.state.show !== nextState.show;\n }\n\n public open = (closeCallback?: (resp: unknown) => void) => {\n const { closeOnEsc, closeOnOverlayClick, children, ...rest } = this.props;\n\n const [Component, closeFn] = LayerManager.renderLayer({\n exitDelay: 300,\n overlay: true,\n closeOnEsc,\n closeCallback: this.closeCallback,\n closeOnOverlayClick,\n position: LAYER_POSITION.DIALOG,\n component: (\n <DialogContainer {...rest} onClick={(e) => e.stopPropagation()} elevated>\n {children}\n </DialogContainer>\n ),\n });\n\n this.closeDialog = closeFn;\n\n this.setState({\n show: true,\n LayerComponent: Component,\n });\n this.onCloseFn = closeCallback;\n };\n\n public close = (resp?: unknown) => {\n this.closeDialog?.(resp);\n };\n\n private closeCallback = (resp?: unknown) => {\n this.setState({\n show: false,\n LayerComponent: undefined,\n });\n this.onCloseFn?.(resp);\n };\n\n render() {\n const { LayerComponent } = this.state;\n\n if (this.state.show && LayerComponent) {\n return <LayerComponent />;\n } else {\n return null;\n }\n }\n}\n\nexport default Dialog;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/PromptDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,KAAK,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AAMxE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;IACtF,MAAM,CAAC,SAAS;QACZ,oCAAoC;;QAEpC,yCAAyC;;QAEzC,mCAAmC;;QAEnC,oDAAoD;;QAEpD,oDAAoD;;QAEpD,2BAA2B;;QAE3B,uCAAuC;;MAEzC;IAEF,MAAM,CAAC,YAAY;;;;MAIjB;gBAEU,KAAK,EAAE,YAAY;IAO/B,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,MAAM,CAAqC;IAEnD,OAAO,CAAC,MAAM,CAGZ;IAEK,IAAI,yBAcT;IAEF,MAAM;CAiCT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptDialog.js","sourceRoot":"","sources":["../../../src/components/Dialog/PromptDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport { Button, ActionButton } from '../Button';\nimport { Input } from '../Input';\nimport Dialog, { DialogHeader, DialogBody, DialogFooter } from './Dialog';\n\ntype PromptOption = PropTypes.InferProps<typeof PromptDialog.propTypes>;\n\nconst BodyText = styled.p`\n margin-top: 0;\n`;\n\nexport default class PromptDialog extends React.Component<PromptOption, { value: string }> {\n static propTypes = {\n /** Shown as header of the dialog */\n header: PropTypes.string,\n /** Rendered as the body of the dialog */\n body: PropTypes.string,\n /** Default value for the input. */\n defaultValue: PropTypes.string,\n /** Submit button text. Default value is 'Submit' */\n submitText: PropTypes.string,\n /** Cancel button text. Default value is 'Cancel' */\n cancelText: PropTypes.string,\n /** Props for the input. */\n inputProps: PropTypes.object,\n /** Additional props for the dialog. */\n dialogProps: PropTypes.object,\n };\n\n static defaultProps = {\n cancelText: 'Cancel',\n submitText: 'Submit',\n defaultValue: '',\n };\n\n constructor(props: PromptOption) {\n super(props);\n this.state = {\n value: props.defaultValue,\n };\n }\n\n private dialog = createRef<Dialog>();\n\n private valueChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n this.setState({\n value: e.target.value,\n });\n };\n\n private cancel = () => this.dialog.current.close();\n\n private submit = (e: React.FormEvent) => {\n e.preventDefault();\n this.dialog.current.close(this.state.value);\n };\n\n public show = () => {\n return new Promise((resolve, reject) => {\n const onClose = (value: string) => {\n if (value) {\n resolve(value);\n } else {\n reject();\n }\n this.setState({\n value: this.props.defaultValue,\n });\n };\n this.dialog.current.open(onClose);\n });\n };\n\n render() {\n const { header, body, inputProps, submitText, cancelText, dialogProps } = this.props;\n\n return (\n <Dialog\n {...dialogProps}\n ref={this.dialog}\n closeOnEsc={false}\n closeOnOverlayClick={false}\n >\n <form onSubmit={this.submit}>\n {header && <DialogHeader>{header}</DialogHeader>}\n <DialogBody>\n <BodyText>{body}</BodyText>\n <div style={{ display: 'flex' }}>\n <Input\n style={{ width: 'auto', flex: '1' }}\n value={this.state.value}\n onChange={this.valueChange}\n {...inputProps}\n />\n </div>\n </DialogBody>\n <DialogFooter>\n <Button type=\"button\" onClick={this.cancel}>\n {cancelText}\n </Button>\n <ActionButton>{submitText}</ActionButton>\n </DialogFooter>\n </form>\n </Dialog>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +0,0 @@
1
- export { default as Dialog, DialogBody, DialogFooter, DialogHeader } from './Dialog';
2
- export { default as AlertDialog } from './AlertDialog';
3
- export { default as ConfirmDialog } from './ConfirmDialog';
4
- export { default as PromptDialog } from './PromptDialog';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { default as Dialog, DialogBody, DialogFooter, DialogHeader } from './Dialog';\nexport { default as AlertDialog } from './AlertDialog';\nexport { default as ConfirmDialog } from './ConfirmDialog';\nexport { default as PromptDialog } from './PromptDialog';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragAndDrop.d.ts","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragAndDrop.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAEnD,KAAK,gBAAgB,GAAG;IACpB,qCAAqC;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,yBAAyB;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,wHAAwH;IACxH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+HAA+H;IAC/H,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uEAAuE;IACvE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yEAAyE;IACzE,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gDAAgD;IAChD,6BAA6B,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAwB/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAwB,WAAW,CAAC,KAAK,EAAE,gBAAgB,oDAiI1D;kBAjIuB,WAAW;;QAoI/B,qCAAqC;;QAErC,4DAA4D;;QAE5D,uCAAuC;;QAGvC,qCAAqC;;QAErC,4CAA4C;;QAG5C,0CAA0C;;QAE1C,4CAA4C;;QAE5C,8CAA8C;;;;eApJ1B,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragAndDrop.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragAndDrop.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useState } from 'react';\nimport styled from '@emotion/styled';\nimport DragItem from './DragItem';\nimport { ORIENTATION, DragContext } from './types';\n\ntype DragAndDropProps = {\n /** Orientation of the list layout */\n orientation: ORIENTATION;\n /** Drop event handler */\n onDrop: (start: number, end: number) => void;\n /** Shows drag indicator against each list item */\n showIndicator: boolean;\n /** i18n: Template for item aria-label. Placeholders: {:position}, {:grabKey}, {:moveKeys}, {:dropKey}, {:altDropKey} */\n itemAriaLabelTemplate?: string;\n /** i18n: Aria label for drag handle */\n dragHandleAriaLabel?: string;\n /** i18n: Template for grabbed announcement. Placeholders: {:position}, {:moveKeys}, {:dropKey}, {:altDropKey}, {:cancelKey} */\n grabbedAnnouncementTemplate?: string;\n /** i18n: Template for moved announcement. Placeholders: {:position} */\n movedAnnouncementTemplate?: string;\n /** i18n: Template for dropped announcement. Placeholders: {:position} */\n droppedAnnouncementTemplate?: string;\n /** i18n: Template for cancelled announcement */\n cancelledAnnouncementTemplate?: string;\n} & PropsWithChildren<unknown>;\n\n/** Container Component */\nconst Container = styled.div<{ orientation: ORIENTATION }>`\n flex: 1;\n display: flex;\n position: relative;\n flex-wrap: wrap;\n flex-direction: ${(props) => (props.orientation === ORIENTATION.HORIZONTAL ? 'row' : 'column')};\n`;\n\n/** Visually hidden but accessible to screen readers */\nconst VisuallyHidden = styled.div`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n`;\n\n/**\n * A drag and drop container component that enables reordering of child elements.\n *\n * @component\n * @example\n * ```tsx\n * <DragAndDrop\n * orientation={ORIENTATION.VERTICAL}\n * onDrop={(start, end) => handleReorder(start, end)}\n * showIndicator={true}\n * >\n * <div>Item 1</div>\n * <div>Item 2</div>\n * <div>Item 3</div>\n * </DragAndDrop>\n * ```\n *\n * @param {DragAndDropProps} props - The component props\n * @param {ORIENTATION} props.orientation - Determines the layout direction (horizontal or vertical). Defaults to VERTICAL.\n * @param {(start: number, end: number) => void} props.onDrop - Callback fired when an item is dropped, receives the start and end indices\n * @param {boolean} props.showIndicator - Whether to display drag indicators for each list item. Defaults to false.\n * @param {React.ReactNode} props.children - Child elements to be rendered as draggable items\n *\n * @returns {JSX.Element} A draggable container with reorderable items\n */\nexport default function DragAndDrop(props: DragAndDropProps) {\n const {\n orientation,\n children,\n onDrop,\n showIndicator,\n itemAriaLabelTemplate,\n dragHandleAriaLabel,\n grabbedAnnouncementTemplate,\n movedAnnouncementTemplate,\n droppedAnnouncementTemplate,\n cancelledAnnouncementTemplate,\n } = props;\n const [startIndex, setStartIndex] = useState<number>(null);\n const [originalIndex, setOriginalIndex] = useState<number>(null);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [dragOver, setDragOver] = useState<number>(null);\n const [announcement, setAnnouncement] = useState('');\n const childrenArray = React.Children.toArray(children);\n const totalItems = childrenArray.length;\n\n /**\n * Replace placeholders in i18n templates\n */\n const replacePlaceholders = (\n template: string,\n data: {\n position?: number;\n grabKey?: string;\n dropKey?: string;\n altDropKey?: string;\n cancelKey?: string;\n moveKeys?: string;\n },\n ): string => {\n return template\n .replace(/\\{:position\\}/g, String(data.position ?? ''))\n .replace(/\\{:grabKey\\}/g, data.grabKey ?? 'Space')\n .replace(/\\{:dropKey\\}/g, data.dropKey ?? 'Space')\n .replace(/\\{:altDropKey\\}/g, data.altDropKey ?? 'Enter')\n .replace(/\\{:cancelKey\\}/g, data.cancelKey ?? 'Escape')\n .replace(\n /\\{:moveKeys\\}/g,\n data.moveKeys ??\n (orientation === ORIENTATION.VERTICAL ? 'Arrow Up/Down' : 'Arrow Left/Right'),\n );\n };\n\n // i18n configuration object\n const i18n = {\n itemAriaLabelTemplate: itemAriaLabelTemplate!,\n dragHandleAriaLabel: dragHandleAriaLabel!,\n grabbedAnnouncementTemplate: grabbedAnnouncementTemplate!,\n movedAnnouncementTemplate: movedAnnouncementTemplate!,\n droppedAnnouncementTemplate: droppedAnnouncementTemplate!,\n cancelledAnnouncementTemplate: cancelledAnnouncementTemplate!,\n replacePlaceholders,\n };\n\n /**\n * Drop handler invoked when a draggable item is released.\n * @param index\n */\n const drop = (index: number) => {\n if (startIndex !== null) {\n onDrop?.(startIndex, index);\n }\n setStartIndex(null);\n setOriginalIndex(null);\n setIsDragging(false);\n };\n\n /**\n * Cancel handler to restore item to original position\n */\n const cancel = () => {\n if (originalIndex !== null && startIndex !== null && startIndex !== originalIndex) {\n onDrop?.(startIndex, originalIndex);\n }\n setStartIndex(null);\n setOriginalIndex(null);\n setIsDragging(false);\n };\n\n /**\n * Start grab handler to track original position\n */\n const startGrab = (index: number) => {\n setStartIndex(index);\n setOriginalIndex(index);\n setIsDragging(true);\n };\n\n return (\n <>\n <DragContext.Provider\n value={{\n startIndex,\n setStartIndex,\n drop,\n onDrop,\n cancel,\n startGrab,\n isDragging,\n setIsDragging,\n setDragOver,\n i18n,\n }}\n >\n <Container orientation={orientation} role=\"list\">\n {React.Children.map(childrenArray, (child, index) => (\n <DragItem\n index={index}\n orientation={orientation}\n showIndicator={showIndicator}\n dragOver={dragOver}\n totalItems={totalItems}\n setAnnouncement={setAnnouncement}\n >\n {child}\n </DragItem>\n ))}\n </Container>\n </DragContext.Provider>\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {announcement}\n </VisuallyHidden>\n </>\n );\n}\n\nDragAndDrop.defaultProps = {\n /** Orientation of the list layout */\n orientation: ORIENTATION.VERTICAL,\n /** Whether to display drag indicators for each list item */\n showIndicator: false,\n /** Default item aria-label template */\n itemAriaLabelTemplate:\n 'Item {:position}. Press {:grabKey} to grab, {:moveKeys} to move, {:dropKey} or {:altDropKey} to drop',\n /** Default drag handle aria-label */\n dragHandleAriaLabel: 'Drag to reorder',\n /** Default grabbed announcement template */\n grabbedAnnouncementTemplate:\n 'Item {:position} grabbed. Use {:moveKeys} to move, {:dropKey} or {:altDropKey} to drop, {:cancelKey} to cancel',\n /** Default moved announcement template */\n movedAnnouncementTemplate: 'Item moved to position {:position}',\n /** Default dropped announcement template */\n droppedAnnouncementTemplate: 'Item dropped at position {:position}',\n /** Default cancelled announcement template */\n cancelledAnnouncementTemplate: 'Drag cancelled, item restored to original position',\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragItem.d.ts","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,iBAAiB,EAKpB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAEnD,UAAU,aAAa;IACnB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,EAAE,WAAW,CAAC;IACzB,0FAA0F;IAC1F,aAAa,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AA6DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,oDA2PvE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragItem.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n DragEventHandler,\n PropsWithChildren,\n useContext,\n useState,\n useEffect,\n TouchEventHandler,\n} from 'react';\nimport styled from '@emotion/styled';\nimport { DragIndicator } from '../../icons';\nimport constants from '../../shared/constants';\nimport { ORIENTATION, DragContext } from './types';\n\ninterface DragItemProps {\n /** Position index of the draggable item */\n index: number;\n /** Orientation of the drag operation (VERTICAL or HORIZONTAL) */\n orientation: ORIENTATION;\n /** Whether to show a drag handle indicator instead of making the entire item draggable */\n showIndicator: boolean;\n /** The index of the item currently being dragged over */\n dragOver: number;\n /** Total number of items in the list */\n totalItems: number;\n /** Callback to set announcement for screen readers */\n setAnnouncement: (message: string) => void;\n}\n\n/** Styled component for the draggable item container */\nconst Item = styled.div<{\n active: number;\n orientation: ORIENTATION;\n showIndicator: boolean;\n dragging: boolean;\n}>`\n cursor: ${(props) => (props.showIndicator ? 'default' : 'move')};\n display: flex;\n user-select: ${(props) => (props.showIndicator ? 'auto' : 'none')};\n border-top: 2px dashed\n ${(props) =>\n props.orientation === ORIENTATION.VERTICAL && props.active > 0\n ? constants.PRIMARY\n : 'transparent'};\n border-bottom: 2px dashed\n ${(props) =>\n props.orientation === ORIENTATION.VERTICAL && props.active < 0\n ? constants.PRIMARY\n : 'transparent'};\n border-left: 2px dashed\n ${(props) =>\n props.orientation === ORIENTATION.HORIZONTAL && props.active > 0\n ? constants.PRIMARY\n : 'transparent'};\n border-right: 2px dashed\n ${(props) =>\n props.orientation === ORIENTATION.HORIZONTAL && props.active < 0\n ? constants.PRIMARY\n : 'transparent'};\n opacity: ${(props) => (props.dragging ? 0.5 : 1)};\n border-radius: 10px;\n\n &:focus {\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n`;\n\n/** Styled component for the drag handle indicator */\nconst DragKnob = styled.div`\n padding-top: 8px;\n cursor: move;\n touch-action: none;\n color: var(--disabled, ${constants.DISABLED});\n`;\n\n/** Container for the children */\nconst Container = styled.div`\n flex: 1;\n`;\n\n/**\n * A draggable item component that supports both mouse and touch interactions for drag-and-drop functionality.\n *\n * @component\n * @example\n * ```tsx\n * <DragItem\n * index={0}\n * orientation={ORIENTATION.VERTICAL}\n * showIndicator={true}\n * dragOver={-1}\n * >\n * <div>Draggable content</div>\n * </DragItem>\n * ```\n *\n * @param props - The component props\n * @param props.index - The position index of this item in the draggable list\n * @param props.orientation - The orientation of the drag operation (VERTICAL or HORIZONTAL)\n * @param props.showIndicator - Whether to show a drag handle indicator instead of making the entire item draggable\n * @param props.dragOver - The index of the item currently being dragged over\n * @param props.children - The content to be rendered inside the draggable item\n *\n * @remarks\n * - Uses the DragContext to manage drag state across items\n * - Provides visual feedback with borders during drag operations\n * - Supports haptic feedback (vibration) on touch devices\n * - For touch devices, requires a 200ms hold before drag starts\n * - When showIndicator is true, only the drag handle can initiate drag operations\n *\n * @returns A draggable item with optional drag indicator and visual feedback\n */\nexport default function DragItem(props: PropsWithChildren<DragItemProps>) {\n const { index, orientation, children, showIndicator, dragOver, totalItems, setAnnouncement } =\n props;\n const [active, setActive] = useState(0);\n const [touchTimer, setTouchTimer] = useState<NodeJS.Timeout | null>(null);\n const context = useContext(DragContext);\n\n /**\n * Vibrate the device for haptic feedback\n * @param duration Duration of the vibration in milliseconds\n */\n const vibrate = (duration: number) => {\n if (navigator.vibrate) {\n navigator.vibrate(duration);\n }\n };\n\n /**\n * Drag start event handler\n * @param e Event\n */\n const dragStartHandler: DragEventHandler<HTMLDivElement> = () => {\n context.setStartIndex(index);\n context.setIsDragging(true);\n };\n\n /**\n * Drag over event handler\n * @param e Event\n */\n const dragOverHandler: DragEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setActive(context.startIndex - index);\n };\n\n /**\n * Drag leave event handler\n */\n const dragExitHandler: DragEventHandler<HTMLDivElement> = () => {\n setActive(0);\n };\n\n /**\n * Drop event handler\n * @param e Event\n */\n const dropHandler: DragEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n setActive(0);\n context.drop(index);\n context.setIsDragging(false);\n };\n\n /**\n * Touch start event handler\n * @param e Event\n */\n const touchStartHandler: TouchEventHandler<HTMLDivElement> = () => {\n const timer = setTimeout(() => {\n context.setStartIndex(index);\n context.setIsDragging(true);\n context.setDragOver(index);\n document.body.style.overflow = 'hidden';\n vibrate(50);\n }, 200);\n\n setTouchTimer(timer);\n };\n\n /**\n * Touch move event handler\n * @param e Event\n * @returns void\n */\n const touchMoveHandler: TouchEventHandler<HTMLDivElement> = (e) => {\n const touch = e.touches[0];\n if (!touch) return;\n\n if (context.isDragging) {\n e.preventDefault();\n\n // get the element under the touch point\n const el = document.elementFromPoint(\n touch.clientX,\n touch.clientY,\n ) as HTMLElement | null;\n const overAttr = el?.closest('[data-drag-index]')?.getAttribute('data-drag-index');\n const overIndex = overAttr != null ? parseInt(overAttr, 10) : null;\n\n // if we know which index we're over, update visual state\n if (overIndex !== null) {\n context.setDragOver(overIndex);\n }\n } else if (touchTimer) {\n clearTimeout(touchTimer);\n setTouchTimer(null);\n }\n };\n\n /**\n * Touch end event handler\n * @param e Event\n */\n const touchEndHandler: TouchEventHandler<HTMLDivElement> = () => {\n if (touchTimer) {\n clearTimeout(touchTimer);\n setTouchTimer(null);\n }\n\n if (context.isDragging) {\n context.drop(dragOver);\n vibrate(50);\n context.setIsDragging(false);\n document.body.style.overflow = 'auto';\n }\n };\n\n /**\n * Keyboard navigation handler for reordering items\n * @param e Keyboard event\n */\n const handleKeyDown = (e: React.KeyboardEvent) => {\n const isVertical = orientation === ORIENTATION.VERTICAL;\n const moveUp = isVertical ? 'ArrowUp' : 'ArrowLeft';\n const moveDown = isVertical ? 'ArrowDown' : 'ArrowRight';\n\n const isGrabbed = context.isDragging && context.startIndex === index;\n\n // Space to grab/drop\n if (e.key === ' ' || e.key === 'Spacebar') {\n e.preventDefault();\n if (isGrabbed) {\n // Drop at current position\n context.drop(index);\n setAnnouncement(\n context.i18n.replacePlaceholders(context.i18n.droppedAnnouncementTemplate, {\n position: index + 1,\n }),\n );\n } else {\n // Grab item\n context.startGrab(index);\n setAnnouncement(\n context.i18n.replacePlaceholders(context.i18n.grabbedAnnouncementTemplate, {\n position: index + 1,\n }),\n );\n }\n }\n // Enter to drop\n else if (e.key === 'Enter' && isGrabbed) {\n e.preventDefault();\n context.drop(index);\n setAnnouncement(\n context.i18n.replacePlaceholders(context.i18n.droppedAnnouncementTemplate, {\n position: index + 1,\n }),\n );\n }\n // Escape to cancel\n else if (e.key === 'Escape' && isGrabbed) {\n e.preventDefault();\n context.cancel();\n setAnnouncement(context.i18n.cancelledAnnouncementTemplate);\n }\n // Arrow keys to move while grabbed\n else if (isGrabbed) {\n if (e.key === moveUp && index > 0) {\n e.preventDefault();\n // Move without dropping - just reorder and update startIndex\n const newIndex = index - 1;\n context.onDrop(context.startIndex, newIndex);\n context.setStartIndex(newIndex);\n setAnnouncement(\n context.i18n.replacePlaceholders(context.i18n.movedAnnouncementTemplate, {\n position: newIndex + 1,\n }),\n );\n } else if (e.key === moveDown && index < totalItems - 1) {\n e.preventDefault();\n // Move without dropping - just reorder and update startIndex\n const newIndex = index + 1;\n context.onDrop(context.startIndex, newIndex);\n context.setStartIndex(newIndex);\n setAnnouncement(\n context.i18n.replacePlaceholders(context.i18n.movedAnnouncementTemplate, {\n position: newIndex + 1,\n }),\n );\n }\n }\n };\n\n /** Cleanup touch timer on unmount */\n useEffect(() => {\n return () => {\n if (touchTimer) clearTimeout(touchTimer);\n document.body.style.overflow = 'auto';\n };\n }, [touchTimer]);\n\n /** Update active state based on dragOver changes */\n useEffect(() => {\n if (context.isDragging && dragOver === index) {\n setActive(context.startIndex - index);\n } else {\n setActive(0);\n }\n }, [dragOver, context.startIndex, index, context.isDragging]);\n\n return (\n <Item\n draggable={!showIndicator}\n showIndicator={showIndicator}\n active={active}\n dragging={context.isDragging && context.startIndex === index}\n orientation={orientation}\n data-drag-index={index}\n tabIndex={0}\n role=\"listitem\"\n aria-label={context.i18n.replacePlaceholders(context.i18n.itemAriaLabelTemplate, {\n position: index + 1,\n })}\n aria-grabbed={context.isDragging && context.startIndex === index}\n onKeyDown={handleKeyDown}\n onDragStart={!showIndicator ? dragStartHandler : undefined}\n onDragOver={dragOverHandler}\n onDragLeave={dragExitHandler}\n onDrop={dropHandler}\n onTouchStart={!showIndicator ? touchStartHandler : undefined}\n onTouchMove={touchMoveHandler}\n onTouchEnd={touchEndHandler}\n onTouchCancel={touchEndHandler}\n >\n {showIndicator && (\n <DragKnob\n draggable\n role=\"button\"\n aria-label={context.i18n.dragHandleAriaLabel}\n onDragStart={dragStartHandler}\n onTouchStart={touchStartHandler}\n onKeyDown={handleKeyDown}\n tabIndex={-1}\n >\n <DragIndicator />\n </DragKnob>\n )}\n <Container>{children}</Container>\n </Item>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DragAndDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -1,3 +0,0 @@
1
- export { default as DragAndDrop } from './DragAndDrop';
2
- export { ORIENTATION } from './types';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { default as DragAndDrop } from './DragAndDrop';\nexport { ORIENTATION } from './types';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DragAndDrop/types.ts"],"names":[],"mappings":"AAEA,oBAAY,WAAW;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,WAAW;gBACR,MAAM;mBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;UAChC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;YACrB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;YACpC,MAAM,IAAI;eACP,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;gBACtB,OAAO;mBACJ,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;iBAC1B,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;UAC9B;QACF,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,2BAA2B,EAAE,MAAM,CAAC;QACpC,yBAAyB,EAAE,MAAM,CAAC;QAClC,2BAA2B,EAAE,MAAM,CAAC;QACpC,6BAA6B,EAAE,MAAM,CAAC;QACtC,mBAAmB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;YACF,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACrB,KACA,MAAM,CAAC;KACf;EACG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;AACzB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CA6BrC,IAAI,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\nexport enum ORIENTATION {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\nexport const DragContext = createContext<{\n startIndex: number;\n setStartIndex: (value: number) => void;\n drop: (index: number) => void;\n onDrop: (start: number, end: number) => void;\n cancel: () => void;\n startGrab: (index: number) => void;\n isDragging: boolean;\n setIsDragging: (value: boolean) => void;\n setDragOver: (value: number) => void;\n i18n: {\n itemAriaLabelTemplate: string;\n dragHandleAriaLabel: string;\n grabbedAnnouncementTemplate: string;\n movedAnnouncementTemplate: string;\n droppedAnnouncementTemplate: string;\n cancelledAnnouncementTemplate: string;\n replacePlaceholders: (\n template: string,\n data: {\n position?: number;\n grabKey?: string;\n dropKey?: string;\n altDropKey?: string;\n cancelKey?: string;\n moveKeys?: string;\n },\n ) => string;\n };\n}>(null);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,OAAO,EACH,MAAM,IAAI,YAAY,EACtB,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,GACzB,MAAM,qBAAqB,CAAC;AAE7B,oBAAY,eAAe;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;CACpB;AAsCD,KAAK,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AACjE,UAAU,WAAW;IACjB,IAAI,EAAE,OAAO,CAAC;CACjB;AAQD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,KAAK,CAAC,SAAS,CAC/C,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACpC,WAAW,CACd;IACG,KAAK;;MAEH;IAEF,MAAM,CAAC,SAAS;QACZ,uBAAuB;;QAEvB,6BAA6B;;QAM7B,yBAAyB;;QAEzB,0CAA0C;;QAE1C,+BAA+B;;QAE/B,yCAAyC;;QAEzC,wDAAwD;;MAE1D;IAEF,MAAM,CAAC,YAAY;;;;;MAKjB;IAEF,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW;;;IASlD,OAAO,CAAC,KAAK,CAA8C;IAE3D,OAAO,CAAC,aAAa,CAA2B;IAEhD,OAAO,CAAC,OAAO,CAOb;IAEF,uBAAuB,CAAC,SAAS,EAAE,WAAW;IAwC9C,MAAM;CAQT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\n\nexport {\n Header as DrawerHeader,\n Body as DrawerBody,\n Footer as DrawerFooter,\n} from '../../shared/styles';\n\nexport enum DRAWER_POSITION {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n BOTTOM = 'BOTTOM',\n}\n\nconst positionStyle = (size: string) => ({\n [DRAWER_POSITION.LEFT]: {\n before: `height: 100vh; min-width: ${size || '300px'}; transform: translateX(-100%);`,\n after: 'transform: translateX(0%);',\n },\n [DRAWER_POSITION.RIGHT]: {\n before: `height: 100vh; min-width: ${size || '300px'}; transform: translateX(100%);`,\n after: 'transform: translateX(0%);',\n },\n [DRAWER_POSITION.BOTTOM]: {\n before: `\n position: absolute;\n bottom: 0;\n width: 100%;\n height: ${size || '90vh'};\n transform: translateY(100%);\n border-radius: 15px 15px 0 0; \n `,\n after: 'transform: translateX(0%);',\n },\n});\n\nconst DrawerDiv = styled.div<{ position: DRAWER_POSITION; size: string }>`\n display: flex;\n flex-direction: column;\n background-color: #fff;\n transition: transform 0.3s ease;\n box-shadow: var(--modal-shadow, ${constants.MODAL_SHADOW});\n ${(props) => positionStyle(props.size)[props.position].before}\n\n .nf-layer-enter & {\n transform: translateX(0%);\n ${(props) => positionStyle(props.size)[props.position].after}\n }\n`;\n\ntype DrawerProps = PropTypes.InferProps<typeof Drawer.propTypes>;\ninterface DrawerState {\n open: boolean;\n}\n\nconst positionMap = {\n [DRAWER_POSITION.LEFT]: LAYER_POSITION.TOP_LEFT,\n [DRAWER_POSITION.RIGHT]: LAYER_POSITION.TOP_RIGHT,\n [DRAWER_POSITION.BOTTOM]: LAYER_POSITION.BOTTOM_LEFT,\n};\n\nexport default class Drawer extends React.Component<\n React.PropsWithChildren<DrawerProps>,\n DrawerState\n> {\n state = {\n open: false,\n };\n\n static propTypes = {\n /** Opens the drawer */\n open: PropTypes.bool.isRequired,\n /** position of the drawer */\n position: PropTypes.oneOf([\n DRAWER_POSITION.LEFT,\n DRAWER_POSITION.RIGHT,\n DRAWER_POSITION.BOTTOM,\n ]),\n /** size of the drawer */\n size: PropTypes.string,\n /** Shows an overlay behind the drawer. */\n overlay: PropTypes.bool,\n /** Closes the drawer on esc */\n closeOnEsc: PropTypes.bool,\n /** Closes the drawer on overlay click */\n closeOnOverlayClick: PropTypes.bool,\n /** Call back function called when the drawer closes. */\n onClose: PropTypes.func,\n };\n\n static defaultProps = {\n overlay: true,\n position: DRAWER_POSITION.LEFT,\n closeOnEsc: true,\n closeOnOverlayClick: true,\n };\n\n static getDerivedStateFromProps(props: DrawerProps) {\n if (props.open) {\n return {\n open: true,\n };\n }\n return null;\n }\n\n private layer: ReturnType<typeof LayerManager.renderLayer>;\n\n private closeCallback: (resp?: unknown) => void;\n\n private onClose = () => {\n this.setState({\n open: false,\n });\n this.props.onClose?.();\n this.closeCallback = null;\n this.layer = null;\n };\n\n getSnapshotBeforeUpdate(prevProps: DrawerProps) {\n const {\n open,\n closeOnEsc,\n closeOnOverlayClick,\n overlay,\n position,\n children,\n size,\n ...rest\n } = this.props;\n\n if (prevProps.open && !open) {\n this.closeCallback?.();\n }\n\n if (!prevProps.open && open) {\n this.layer = LayerManager.renderLayer({\n overlay,\n exitDelay: 300,\n position: positionMap[position],\n closeCallback: this.onClose,\n closeOnEsc,\n closeOnOverlayClick,\n component: (\n <DrawerDiv\n {...rest}\n position={position}\n size={size}\n onClick={(e) => e.stopPropagation()}\n >\n {children}\n </DrawerDiv>\n ),\n });\n this.closeCallback = this.layer[1];\n this.forceUpdate();\n }\n }\n\n render() {\n if (this.state.open && this.layer) {\n const [Component] = this.layer;\n return <Component />;\n }\n\n return null;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,IAAI,MAAM,EACjB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,GAClB,MAAM,UAAU,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as Drawer, DrawerHeader, DrawerBody, DrawerFooter, DRAWER_POSITION, } from './Drawer';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Drawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,IAAI,MAAM,EACjB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,GAClB,MAAM,UAAU,CAAC","sourcesContent":["export {\n default as Drawer,\n DrawerHeader,\n DrawerBody,\n DrawerFooter,\n DRAWER_POSITION,\n} from './Drawer';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/components/Groups/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AA4FnC,iBAAwB,KAAK,CACzB,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,oDAQ/E;kBATuB,KAAK;;QAYzB,kCAAkC;;;;eAZd,KAAK"}