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

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 (260) hide show
  1. package/dist/index.js +411 -120
  2. package/dist/index.js.map +1 -1
  3. package/lib-esm/components/Accordion/Accordion.d.ts +1 -0
  4. package/lib-esm/components/Accordion/Accordion.d.ts.map +1 -0
  5. package/lib-esm/components/Accordion/Accordion.js.map +1 -1
  6. package/lib-esm/components/Accordion/AccordionStep.d.ts +1 -0
  7. package/lib-esm/components/Accordion/AccordionStep.d.ts.map +1 -0
  8. package/lib-esm/components/Accordion/AccordionStep.js +18 -11
  9. package/lib-esm/components/Accordion/AccordionStep.js.map +1 -1
  10. package/lib-esm/components/Accordion/index.d.ts +1 -0
  11. package/lib-esm/components/Accordion/index.d.ts.map +1 -0
  12. package/lib-esm/components/Accordion/index.js.map +1 -1
  13. package/lib-esm/components/Badge/Badge.d.ts +1 -0
  14. package/lib-esm/components/Badge/Badge.d.ts.map +1 -0
  15. package/lib-esm/components/Badge/Badge.js.map +1 -1
  16. package/lib-esm/components/Badge/index.d.ts +1 -0
  17. package/lib-esm/components/Badge/index.d.ts.map +1 -0
  18. package/lib-esm/components/Badge/index.js.map +1 -1
  19. package/lib-esm/components/Button/ActionButton.d.ts +1 -0
  20. package/lib-esm/components/Button/ActionButton.d.ts.map +1 -0
  21. package/lib-esm/components/Button/ActionButton.js +2 -2
  22. package/lib-esm/components/Button/ActionButton.js.map +1 -1
  23. package/lib-esm/components/Button/Button.d.ts +3 -2
  24. package/lib-esm/components/Button/Button.d.ts.map +1 -0
  25. package/lib-esm/components/Button/Button.js +6 -2
  26. package/lib-esm/components/Button/Button.js.map +1 -1
  27. package/lib-esm/components/Button/IconButton.d.ts +1 -0
  28. package/lib-esm/components/Button/IconButton.d.ts.map +1 -0
  29. package/lib-esm/components/Button/IconButton.js.map +1 -1
  30. package/lib-esm/components/Button/LinkButton.d.ts +1 -0
  31. package/lib-esm/components/Button/LinkButton.d.ts.map +1 -0
  32. package/lib-esm/components/Button/LinkButton.js +1 -1
  33. package/lib-esm/components/Button/LinkButton.js.map +1 -1
  34. package/lib-esm/components/Button/RaisedButton.d.ts +1 -0
  35. package/lib-esm/components/Button/RaisedButton.d.ts.map +1 -0
  36. package/lib-esm/components/Button/RaisedButton.js +1 -1
  37. package/lib-esm/components/Button/RaisedButton.js.map +1 -1
  38. package/lib-esm/components/Button/index.d.ts +1 -0
  39. package/lib-esm/components/Button/index.d.ts.map +1 -0
  40. package/lib-esm/components/Button/index.js.map +1 -1
  41. package/lib-esm/components/Card/Card.d.ts +1 -0
  42. package/lib-esm/components/Card/Card.d.ts.map +1 -0
  43. package/lib-esm/components/Card/Card.js.map +1 -1
  44. package/lib-esm/components/Card/index.d.ts +1 -0
  45. package/lib-esm/components/Card/index.d.ts.map +1 -0
  46. package/lib-esm/components/Card/index.js.map +1 -1
  47. package/lib-esm/components/Chip/Chip.d.ts +6 -2
  48. package/lib-esm/components/Chip/Chip.d.ts.map +1 -0
  49. package/lib-esm/components/Chip/Chip.js +14 -8
  50. package/lib-esm/components/Chip/Chip.js.map +1 -1
  51. package/lib-esm/components/Chip/index.d.ts +1 -0
  52. package/lib-esm/components/Chip/index.d.ts.map +1 -0
  53. package/lib-esm/components/Chip/index.js.map +1 -1
  54. package/lib-esm/components/ChipInput/ChipInput.d.ts +10 -0
  55. package/lib-esm/components/ChipInput/ChipInput.d.ts.map +1 -0
  56. package/lib-esm/components/ChipInput/ChipInput.js +43 -4
  57. package/lib-esm/components/ChipInput/ChipInput.js.map +1 -1
  58. package/lib-esm/components/ChipInput/index.d.ts +1 -0
  59. package/lib-esm/components/ChipInput/index.d.ts.map +1 -0
  60. package/lib-esm/components/ChipInput/index.js.map +1 -1
  61. package/lib-esm/components/Dialog/AlertDialog.d.ts +1 -0
  62. package/lib-esm/components/Dialog/AlertDialog.d.ts.map +1 -0
  63. package/lib-esm/components/Dialog/AlertDialog.js.map +1 -1
  64. package/lib-esm/components/Dialog/ConfirmDialog.d.ts +1 -0
  65. package/lib-esm/components/Dialog/ConfirmDialog.d.ts.map +1 -0
  66. package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -1
  67. package/lib-esm/components/Dialog/Dialog.d.ts +9 -4
  68. package/lib-esm/components/Dialog/Dialog.d.ts.map +1 -0
  69. package/lib-esm/components/Dialog/Dialog.js +17 -13
  70. package/lib-esm/components/Dialog/Dialog.js.map +1 -1
  71. package/lib-esm/components/Dialog/PromptDialog.d.ts +1 -0
  72. package/lib-esm/components/Dialog/PromptDialog.d.ts.map +1 -0
  73. package/lib-esm/components/Dialog/PromptDialog.js.map +1 -1
  74. package/lib-esm/components/Dialog/index.d.ts +1 -0
  75. package/lib-esm/components/Dialog/index.d.ts.map +1 -0
  76. package/lib-esm/components/Dialog/index.js.map +1 -1
  77. package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +25 -0
  78. package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts.map +1 -0
  79. package/lib-esm/components/DragAndDrop/DragAndDrop.js +85 -3
  80. package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -1
  81. package/lib-esm/components/DragAndDrop/DragItem.d.ts +5 -0
  82. package/lib-esm/components/DragAndDrop/DragItem.d.ts.map +1 -0
  83. package/lib-esm/components/DragAndDrop/DragItem.js +86 -6
  84. package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -1
  85. package/lib-esm/components/DragAndDrop/index.d.ts +1 -0
  86. package/lib-esm/components/DragAndDrop/index.d.ts.map +1 -0
  87. package/lib-esm/components/DragAndDrop/index.js.map +1 -1
  88. package/lib-esm/components/DragAndDrop/types.d.ts +20 -0
  89. package/lib-esm/components/DragAndDrop/types.d.ts.map +1 -0
  90. package/lib-esm/components/DragAndDrop/types.js.map +1 -1
  91. package/lib-esm/components/Drawer/Drawer.d.ts +1 -0
  92. package/lib-esm/components/Drawer/Drawer.d.ts.map +1 -0
  93. package/lib-esm/components/Drawer/Drawer.js.map +1 -1
  94. package/lib-esm/components/Drawer/index.d.ts +1 -0
  95. package/lib-esm/components/Drawer/index.d.ts.map +1 -0
  96. package/lib-esm/components/Drawer/index.js.map +1 -1
  97. package/lib-esm/components/Groups/Group.d.ts +1 -0
  98. package/lib-esm/components/Groups/Group.d.ts.map +1 -0
  99. package/lib-esm/components/Groups/Group.js.map +1 -1
  100. package/lib-esm/components/Groups/GroupLabel.d.ts +1 -0
  101. package/lib-esm/components/Groups/GroupLabel.d.ts.map +1 -0
  102. package/lib-esm/components/Groups/GroupLabel.js.map +1 -1
  103. package/lib-esm/components/Groups/index.d.ts +1 -0
  104. package/lib-esm/components/Groups/index.d.ts.map +1 -0
  105. package/lib-esm/components/Groups/index.js.map +1 -1
  106. package/lib-esm/components/Input/Checkbox.d.ts +1 -0
  107. package/lib-esm/components/Input/Checkbox.d.ts.map +1 -0
  108. package/lib-esm/components/Input/Checkbox.js +1 -1
  109. package/lib-esm/components/Input/Checkbox.js.map +1 -1
  110. package/lib-esm/components/Input/Dropdown.d.ts +1 -0
  111. package/lib-esm/components/Input/Dropdown.d.ts.map +1 -0
  112. package/lib-esm/components/Input/Dropdown.js.map +1 -1
  113. package/lib-esm/components/Input/Input.d.ts +1 -0
  114. package/lib-esm/components/Input/Input.d.ts.map +1 -0
  115. package/lib-esm/components/Input/Input.js +0 -1
  116. package/lib-esm/components/Input/Input.js.map +1 -1
  117. package/lib-esm/components/Input/Radio.d.ts +1 -0
  118. package/lib-esm/components/Input/Radio.d.ts.map +1 -0
  119. package/lib-esm/components/Input/Radio.js.map +1 -1
  120. package/lib-esm/components/Input/RadioButton.d.ts +1 -0
  121. package/lib-esm/components/Input/RadioButton.d.ts.map +1 -0
  122. package/lib-esm/components/Input/RadioButton.js.map +1 -1
  123. package/lib-esm/components/Input/Select.d.ts +1 -0
  124. package/lib-esm/components/Input/Select.d.ts.map +1 -0
  125. package/lib-esm/components/Input/Select.js +0 -1
  126. package/lib-esm/components/Input/Select.js.map +1 -1
  127. package/lib-esm/components/Input/TextArea.d.ts +1 -0
  128. package/lib-esm/components/Input/TextArea.d.ts.map +1 -0
  129. package/lib-esm/components/Input/TextArea.js +0 -1
  130. package/lib-esm/components/Input/TextArea.js.map +1 -1
  131. package/lib-esm/components/Input/Toggle.d.ts +1 -0
  132. package/lib-esm/components/Input/Toggle.d.ts.map +1 -0
  133. package/lib-esm/components/Input/Toggle.js.map +1 -1
  134. package/lib-esm/components/Input/index.d.ts +1 -0
  135. package/lib-esm/components/Input/index.d.ts.map +1 -0
  136. package/lib-esm/components/Input/index.js.map +1 -1
  137. package/lib-esm/components/Menu/Menu.d.ts +1 -0
  138. package/lib-esm/components/Menu/Menu.d.ts.map +1 -0
  139. package/lib-esm/components/Menu/Menu.js.map +1 -1
  140. package/lib-esm/components/Menu/MenuContext.d.ts +1 -0
  141. package/lib-esm/components/Menu/MenuContext.d.ts.map +1 -0
  142. package/lib-esm/components/Menu/MenuContext.js.map +1 -1
  143. package/lib-esm/components/Menu/MenuItem.d.ts +1 -0
  144. package/lib-esm/components/Menu/MenuItem.d.ts.map +1 -0
  145. package/lib-esm/components/Menu/MenuItem.js.map +1 -1
  146. package/lib-esm/components/Menu/index.d.ts +1 -0
  147. package/lib-esm/components/Menu/index.d.ts.map +1 -0
  148. package/lib-esm/components/Menu/index.js.map +1 -1
  149. package/lib-esm/components/Modal/Modal.d.ts +1 -0
  150. package/lib-esm/components/Modal/Modal.d.ts.map +1 -0
  151. package/lib-esm/components/Modal/Modal.js.map +1 -1
  152. package/lib-esm/components/Modal/index.d.ts +1 -0
  153. package/lib-esm/components/Modal/index.d.ts.map +1 -0
  154. package/lib-esm/components/Modal/index.js.map +1 -1
  155. package/lib-esm/components/Notification/Notification.d.ts +10 -7
  156. package/lib-esm/components/Notification/Notification.d.ts.map +1 -0
  157. package/lib-esm/components/Notification/Notification.js +51 -24
  158. package/lib-esm/components/Notification/Notification.js.map +1 -1
  159. package/lib-esm/components/Notification/NotificationManager.d.ts +1 -0
  160. package/lib-esm/components/Notification/NotificationManager.d.ts.map +1 -0
  161. package/lib-esm/components/Notification/NotificationManager.js.map +1 -1
  162. package/lib-esm/components/Notification/index.d.ts +1 -0
  163. package/lib-esm/components/Notification/index.d.ts.map +1 -0
  164. package/lib-esm/components/Notification/index.js.map +1 -1
  165. package/lib-esm/components/Notification/style.d.ts +1 -0
  166. package/lib-esm/components/Notification/style.d.ts.map +1 -0
  167. package/lib-esm/components/Notification/style.js.map +1 -1
  168. package/lib-esm/components/Notification/types.d.ts +1 -0
  169. package/lib-esm/components/Notification/types.d.ts.map +1 -0
  170. package/lib-esm/components/Notification/types.js.map +1 -1
  171. package/lib-esm/components/Popover/Popover.d.ts +1 -0
  172. package/lib-esm/components/Popover/Popover.d.ts.map +1 -0
  173. package/lib-esm/components/Popover/Popover.js.map +1 -1
  174. package/lib-esm/components/Popover/index.d.ts +1 -0
  175. package/lib-esm/components/Popover/index.d.ts.map +1 -0
  176. package/lib-esm/components/Popover/index.js.map +1 -1
  177. package/lib-esm/components/Spinner/Spinner.d.ts +1 -0
  178. package/lib-esm/components/Spinner/Spinner.d.ts.map +1 -0
  179. package/lib-esm/components/Spinner/Spinner.js.map +1 -1
  180. package/lib-esm/components/Spinner/index.d.ts +1 -0
  181. package/lib-esm/components/Spinner/index.d.ts.map +1 -0
  182. package/lib-esm/components/Spinner/index.js.map +1 -1
  183. package/lib-esm/components/Stepper/Step.d.ts +1 -0
  184. package/lib-esm/components/Stepper/Step.d.ts.map +1 -0
  185. package/lib-esm/components/Stepper/Step.js.map +1 -1
  186. package/lib-esm/components/Stepper/Stepper.d.ts +1 -0
  187. package/lib-esm/components/Stepper/Stepper.d.ts.map +1 -0
  188. package/lib-esm/components/Stepper/Stepper.js.map +1 -1
  189. package/lib-esm/components/Stepper/index.d.ts +1 -0
  190. package/lib-esm/components/Stepper/index.d.ts.map +1 -0
  191. package/lib-esm/components/Stepper/index.js.map +1 -1
  192. package/lib-esm/components/Tabs/Tab.d.ts +1 -0
  193. package/lib-esm/components/Tabs/Tab.d.ts.map +1 -0
  194. package/lib-esm/components/Tabs/Tab.js.map +1 -1
  195. package/lib-esm/components/Tabs/Tabs.d.ts +1 -0
  196. package/lib-esm/components/Tabs/Tabs.d.ts.map +1 -0
  197. package/lib-esm/components/Tabs/Tabs.js.map +1 -1
  198. package/lib-esm/components/Tabs/index.d.ts +1 -0
  199. package/lib-esm/components/Tabs/index.d.ts.map +1 -0
  200. package/lib-esm/components/Tabs/index.js.map +1 -1
  201. package/lib-esm/components/Toast/Toast.d.ts +1 -0
  202. package/lib-esm/components/Toast/Toast.d.ts.map +1 -0
  203. package/lib-esm/components/Toast/Toast.js.map +1 -1
  204. package/lib-esm/components/Toast/ToastStory.d.ts +1 -0
  205. package/lib-esm/components/Toast/ToastStory.d.ts.map +1 -0
  206. package/lib-esm/components/Toast/ToastStory.js.map +1 -1
  207. package/lib-esm/components/Toast/index.d.ts +1 -0
  208. package/lib-esm/components/Toast/index.d.ts.map +1 -0
  209. package/lib-esm/components/Toast/index.js.map +1 -1
  210. package/lib-esm/components/Tooltip/Tooltip.d.ts +1 -0
  211. package/lib-esm/components/Tooltip/Tooltip.d.ts.map +1 -0
  212. package/lib-esm/components/Tooltip/Tooltip.js.map +1 -1
  213. package/lib-esm/components/Tooltip/index.d.ts +1 -0
  214. package/lib-esm/components/Tooltip/index.d.ts.map +1 -0
  215. package/lib-esm/components/Tooltip/index.js.map +1 -1
  216. package/lib-esm/components/index.d.ts +1 -0
  217. package/lib-esm/components/index.d.ts.map +1 -0
  218. package/lib-esm/components/index.js.map +1 -1
  219. package/lib-esm/icons/CheckCircle.d.ts +1 -0
  220. package/lib-esm/icons/CheckCircle.d.ts.map +1 -0
  221. package/lib-esm/icons/CheckCircle.js.map +1 -1
  222. package/lib-esm/icons/Close.d.ts +1 -0
  223. package/lib-esm/icons/Close.d.ts.map +1 -0
  224. package/lib-esm/icons/Close.js.map +1 -1
  225. package/lib-esm/icons/DragIndicator.d.ts +1 -0
  226. package/lib-esm/icons/DragIndicator.d.ts.map +1 -0
  227. package/lib-esm/icons/DragIndicator.js.map +1 -1
  228. package/lib-esm/icons/ErrorOutline.d.ts +1 -0
  229. package/lib-esm/icons/ErrorOutline.d.ts.map +1 -0
  230. package/lib-esm/icons/ErrorOutline.js.map +1 -1
  231. package/lib-esm/icons/ExpandMore.d.ts +1 -0
  232. package/lib-esm/icons/ExpandMore.d.ts.map +1 -0
  233. package/lib-esm/icons/ExpandMore.js.map +1 -1
  234. package/lib-esm/icons/FiberManualRecord.d.ts +1 -0
  235. package/lib-esm/icons/FiberManualRecord.d.ts.map +1 -0
  236. package/lib-esm/icons/FiberManualRecord.js.map +1 -1
  237. package/lib-esm/icons/Info.d.ts +1 -0
  238. package/lib-esm/icons/Info.d.ts.map +1 -0
  239. package/lib-esm/icons/Info.js.map +1 -1
  240. package/lib-esm/icons/ReportProblem.d.ts +1 -0
  241. package/lib-esm/icons/ReportProblem.d.ts.map +1 -0
  242. package/lib-esm/icons/ReportProblem.js.map +1 -1
  243. package/lib-esm/icons/index.d.ts +1 -0
  244. package/lib-esm/icons/index.d.ts.map +1 -0
  245. package/lib-esm/icons/index.js.map +1 -1
  246. package/lib-esm/index.d.ts +1 -0
  247. package/lib-esm/index.d.ts.map +1 -0
  248. package/lib-esm/index.js.map +1 -1
  249. package/lib-esm/shared/LayerManager.d.ts +28 -1
  250. package/lib-esm/shared/LayerManager.d.ts.map +1 -0
  251. package/lib-esm/shared/LayerManager.js +82 -36
  252. package/lib-esm/shared/LayerManager.js.map +1 -1
  253. package/lib-esm/shared/constants.d.ts +1 -0
  254. package/lib-esm/shared/constants.d.ts.map +1 -0
  255. package/lib-esm/shared/constants.js +7 -7
  256. package/lib-esm/shared/constants.js.map +1 -1
  257. package/lib-esm/shared/styles.d.ts +1 -0
  258. package/lib-esm/shared/styles.d.ts.map +1 -0
  259. package/lib-esm/shared/styles.js.map +1 -1
  260. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/Accordion/Accordion.tsx","../src/icons/CheckCircle.tsx","../src/icons/ExpandMore.tsx","../src/icons/FiberManualRecord.tsx","../src/icons/Close.tsx","../src/icons/Info.tsx","../src/icons/ReportProblem.tsx","../src/icons/ErrorOutline.tsx","../src/icons/DragIndicator.tsx","../src/shared/constants.ts","../src/shared/styles.ts","../src/components/Badge/Badge.tsx","../src/components/Card/Card.tsx","../src/components/Accordion/AccordionStep.tsx","../src/components/Button/Button.tsx","../src/components/Button/LinkButton.tsx","../src/components/Button/RaisedButton.tsx","../src/components/Button/ActionButton.tsx","../src/components/Button/IconButton.tsx","../node_modules/tslib/tslib.es6.js","../src/components/Chip/Chip.tsx","../src/components/DragAndDrop/types.ts","../src/components/DragAndDrop/DragItem.tsx","../src/components/DragAndDrop/DragAndDrop.tsx","../src/components/ChipInput/ChipInput.tsx","../src/shared/LayerManager.tsx","../src/components/Dialog/Dialog.tsx","../src/components/Dialog/AlertDialog.tsx","../src/components/Dialog/ConfirmDialog.tsx","../src/components/Input/Input.tsx","../src/components/Input/TextArea.tsx","../src/components/Input/Select.tsx","../src/components/Input/Checkbox.tsx","../src/components/Input/Toggle.tsx","../src/components/Input/Radio.tsx","../src/components/Input/RadioButton.tsx","../src/components/Menu/MenuContext.ts","../src/components/Menu/Menu.tsx","../src/components/Menu/MenuItem.tsx","../src/components/Popover/Popover.tsx","../src/components/Input/Dropdown.tsx","../src/components/Dialog/PromptDialog.tsx","../src/components/Drawer/Drawer.tsx","../src/components/Groups/Group.tsx","../src/components/Groups/GroupLabel.tsx","../src/components/Modal/Modal.tsx","../src/components/Notification/types.ts","../src/components/Notification/style.ts","../src/components/Notification/NotificationManager.tsx","../src/components/Notification/Notification.tsx","../src/components/Spinner/Spinner.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Stepper/Step.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/Tab.tsx","../src/components/Toast/Toast.tsx","../src/components/Tooltip/Tooltip.tsx"],"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","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0zm0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M16.59 7.58L10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" />\n </svg>\n );\n}\n","export default function ExpandMore(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 24 24\" width=\"18px\" height=\"18px\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\" />\n </svg>\n );\n}\n","export default function FiberManualRecord(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M24 24H0V0h24v24z\" fill=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n </svg>\n );\n}\n","export default function Close(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" />\n </svg>\n );\n}\n","export default {\n PRIMARY: '#2283d2',\n PRIMARY_LIGHT: '#64baff',\n PRIMARY_LIGHTER: '#cfe9ff',\n BACKDROP_COLOR: '#2681da80',\n INFO: '#2283d2',\n INFO_LIGHT: '#64baff',\n SUCCESS: '#22d295',\n SUCCESS_LIGHT: '#80eac6',\n WARNING: '#cc9500',\n WARNING_LIGHT: '#ffba00',\n ERROR: '#d63b3b',\n ERROR_LIGHT: '#f1a5a5',\n BORDER_COLOR: '#555555',\n TOAST: '#5f5f5f',\n TOOLTIP_COLOR: 'rgba(0,0,0,0.5)',\n BORDER_LIGHT_COLOR: '#eeeeee',\n BACKGROUND: '#ffffff',\n DISABLED_BACKGROUND: '#fafafa',\n DISABLED_BORDER: '#aaa',\n LIGHT_GREY: '#ccc',\n DISABLED: '#777',\n SHADOW: '0px 1px 3px 0px rgba(0,0,0,0.1), 0px 1px 2px 0px rgba(0,0,0,0.06)',\n HOVER_SHADOW: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n MODAL_SHADOW:\n '0px 8px 17px 2px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12), 0px 5px 5px -3px rgba(0,0,0,0.2)',\n};\n","import styled from '@emotion/styled';\n\nexport const Ellipsis = styled.span`\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nexport const Header = styled.div`\n padding: 10px 15px;\n line-height: 26px;\n border-bottom: 1px solid var(--border-light-color, #eeeeee);\n font-size: 16px;\n font-weight: bold;\n`;\n\nexport const Body = styled.div`\n padding: 20px 15px;\n flex: 1;\n overflow: auto;\n`;\n\nexport const Footer = styled.div`\n padding: 10px 15px;\n border-top: 1px solid var(--border-light-color, #eeeeee);\n display: flex;\n justify-content: flex-end;\n`;\n","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","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","import React, { useState } 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 & { focused: boolean }>`\n transition: all 0.6s ease;\n\n ${(props) =>\n props.open &&\n `\n margin: 20px 5px;\n `}\n\n ${(props) =>\n props.focused && `box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});`}\n`;\n\nconst StepHeader = styled.div<{ open: boolean; disabled: boolean }>`\n padding: 20px 15px;\n display: flex;\n justify-content: space-between;\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.LIGHT_GREY};\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 [focused, setFocused] = useState(false);\n const { open, disabled, header, errorText, completed, onStepClick } = props;\n\n const ref = (el?: HTMLDivElement) => setHeight(el?.scrollHeight || 0);\n\n const toggleFocus = () => {\n setFocused(!focused);\n };\n\n return (\n <Step {...props} focused={focused} elevated={props.open}>\n <StepHeader open={open} disabled={disabled} onClick={onStepClick}>\n <HeaderContainer open={open} completed={completed}>\n <input\n type=\"checkbox\"\n checked={open}\n disabled={disabled}\n onFocus={toggleFocus}\n onBlur={toggleFocus}\n />\n <FiberManualRecord />\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 />\n </ExpandContainer>\n </StepHeader>\n <StepBody ref={ref} height={open ? height : 0}>\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","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 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.BORDER_LIGHT_COLOR});\n border-color: var(--light-grey, ${constants.LIGHT_GREY});\n color: var(--disabled, ${constants.DISABLED});\n }\n`;\n","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_BORDER};\n }\n`;\n","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.BORDER_LIGHT_COLOR};\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","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.LIGHT_GREY};\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n color: var(--disabled, ${constants.DISABLED});\n }\n`;\n","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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","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?: () => void;\n}\n\nconst Container = styled.div`\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: #fff;\n background-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n border-radius: 50%;\n border: none;\n padding: 0;\n display: inline-flex;\n margin-left: 5px;\n`;\n\nexport default function Chip(props: ChipProps) {\n const { label, onCloseClick, ...rest } = props;\n\n const keyUpHandler: React.KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (e.keyCode === 8 || e.keyCode === 46) {\n onCloseClick?.();\n }\n };\n\n return (\n <Container {...rest} onKeyUp={keyUpHandler}>\n {label}\n <Button onClick={onCloseClick} aria-label={`Remove ${label}`}>\n <Close height={20} width={20} />\n </Button>\n </Container>\n );\n}\n","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 isDragging: boolean;\n setIsDragging: (value: boolean) => void;\n setDragOver: (value: number) => void;\n}>(null);\n","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}\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 solid\n ${(props) =>\n props.orientation === ORIENTATION.VERTICAL && props.active > 0\n ? constants.PRIMARY\n : 'transparent'};\n border-bottom: 2px solid\n ${(props) =>\n props.orientation === ORIENTATION.VERTICAL && props.active < 0\n ? constants.PRIMARY\n : 'transparent'};\n border-left: 2px solid\n ${(props) =>\n props.orientation === ORIENTATION.HORIZONTAL && props.active > 0\n ? constants.PRIMARY\n : 'transparent'};\n border-right: 2px solid\n ${(props) =>\n props.orientation === ORIENTATION.HORIZONTAL && props.active < 0\n ? constants.PRIMARY\n : 'transparent'};\n opacity: ${(props) => (props.dragging ? 0.5 : 1)};\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 } = 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 /** 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 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 draggable onDragStart={dragStartHandler} onTouchStart={touchStartHandler}>\n <DragIndicator />\n </DragKnob>\n )}\n <Container>{children}</Container>\n </Item>\n );\n}\n","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} & 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/**\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 { orientation, children, onDrop, showIndicator } = props;\n const [startIndex, setStartIndex] = useState<number>(null);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [dragOver, setDragOver] = useState<number>(null);\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 setIsDragging(false);\n };\n\n return (\n <DragContext.Provider\n value={{ startIndex, setStartIndex, drop, isDragging, setIsDragging, setDragOver }}\n >\n <Container orientation={orientation}>\n {React.Children.map(children, (child, index) => (\n <DragItem\n index={index}\n orientation={orientation}\n showIndicator={showIndicator}\n dragOver={dragOver}\n >\n {child}\n </DragItem>\n ))}\n </Container>\n </DragContext.Provider>\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};\n","import React, { useEffect, 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/**\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\n // Sync internal value with props.value\n useEffect(() => {\n setValue(props.value);\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 }\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 };\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 <Label text={text} touched={touched} errorText={props.errorText}>\n <input\n {...props}\n ref={InputRef}\n type=\"text\"\n value={text}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n required={props.required && value.length === 0}\n />\n <div>\n {value?.length > 0 && (\n <DragAndDrop orientation={ORIENTATION.HORIZONTAL} onDrop={onDrop}>\n {value.map((chip) => (\n <Chip key={chip} label={chip} onCloseClick={() => removeChip(chip)} />\n ))}\n </DragAndDrop>\n )}\n </div>\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\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};\n\nChipInput.defaultProps = {\n value: [],\n};\n","import React, { ReactPortal, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from '@emotion/styled';\n\n/** Enums for layer position on screen. */\nexport enum LAYER_POSITION {\n TOP_LEFT,\n TOP_CENTER,\n TOP_RIGHT,\n BOTTOM_LEFT,\n BOTTOM_CENTER,\n BOTTOM_RIGHT,\n DIALOG,\n}\n\ninterface LayerConfig {\n /** Show an overlay */\n overlay?: boolean;\n /** Element to render inside the layer. */\n component: JSX.Element;\n /** Position of the layer */\n position?: LAYER_POSITION;\n /** Delay for exit */\n exitDelay?: number;\n /** Close layer on `esc` key press. */\n closeOnEsc?: boolean;\n /** Close layer overlay is clicked. */\n closeOnOverlayClick?: boolean;\n /** Callback called when modal closes */\n closeCallback?: <T>(resp: T) => void;\n /** Layer is created with max z-index */\n alwaysOnTop?: boolean;\n}\n\n/** Default value of config */\nconst defaultConfig: LayerConfig = {\n closeOnEsc: true,\n overlay: false,\n position: LAYER_POSITION.TOP_LEFT,\n component: null,\n exitDelay: 0,\n closeOnOverlayClick: true,\n alwaysOnTop: false,\n};\n\n/** Metadata of each layer */\ninterface Layer {\n id: string;\n config: LayerConfig;\n element: HTMLDivElement;\n}\n\n/** Styles for each position */\nconst POSITION_STYLE = {\n [LAYER_POSITION.TOP_LEFT]: 'top: 0; left: 0;',\n [LAYER_POSITION.TOP_CENTER]: 'top: 0; left: 50%; justify-content: center;',\n [LAYER_POSITION.TOP_RIGHT]: 'top: 0; right: 0; justify-content: flex-end;',\n [LAYER_POSITION.BOTTOM_LEFT]: 'bottom: 0; left: 0;',\n [LAYER_POSITION.BOTTOM_CENTER]: 'bottom: 0; left: 50%; justify-content: center;',\n [LAYER_POSITION.BOTTOM_RIGHT]: 'bottom: 0; right: 0; justify-content: flex-end;',\n [LAYER_POSITION.DIALOG]: 'top: 0; left: 0; justify-content: center; align-items: center;',\n};\n\n/** Layer container component. */\nconst Container = styled.div<LayerConfig & { zIndex: number }>`\n position: fixed;\n display: flex;\n opacity: 0;\n transition: opacity 0.3s ease;\n ${(props) => POSITION_STYLE[props.position]}\n ${(props) =>\n props.overlay &&\n `\n width: 100%;\n height: 100vh;\n background-color: var(--backdrop-color, #2681da80);\n backdrop-filter: blur(0px);\n pointer-events: all;\n `}\n z-index: ${(props) => props.zIndex};\n\n .nf-layer-enter & {\n opacity: 1;\n ${(props) =>\n props.overlay &&\n `\n backdrop-filter: blur(3px);\n `}\n }\n`;\n\n/** Key code for different keys. */\nconst KEY_CODES = {\n ESC: 27,\n};\n\n/**\n * This is a shared helper class which manages the z-index of each layer.\n * If a component needs to be rendered in a different layer then this class\n * should be used. It internally maintains the stack of opened layer and each\n * `renderLayer` call will push a new layer in stack.\n *\n * This way we need not worry about the z-index and can freely keep on creating\n * new layers. The staring layer z-index is 10000. Leaving enough z-index for the\n * user if they desires so.\n */\nclass LayerManager {\n /** Layer stack */\n private layers: Layer[] = [];\n /** z-index of the next layer */\n private nextIndex = 10000;\n\n /**\n * Constructor simply registers a event listener on body to\n * react to esc key press.\n */\n constructor() {\n document?.body.addEventListener('keyup', (e) => {\n if (this.layers.length && e.keyCode === KEY_CODES.ESC) {\n const lastLayer = this.layers.slice(-1)[0];\n if (lastLayer.config.closeOnEsc !== false) {\n this.unmount(lastLayer);\n }\n }\n });\n }\n\n /**\n * Un-mounts a layer.\n *\n * It first adds a class 'nf-layer-exit' and then un-mounts the\n * layer after the `exitDelay` mentioned in the layer config.\n * This class will help component in triggering the entry animation.\n *\n * @param layer\n */\n private unmount = (layer: Layer, resp?: unknown) => {\n layer.element.setAttribute('class', 'nf-layer-exit');\n this.layers.splice(\n this.layers.findIndex((item) => item === layer),\n 1,\n );\n\n setTimeout(() => {\n try {\n layer.config.closeCallback?.(resp);\n } catch (e) {\n // Error in callback function. Ignore and proceed.\n console.warn(e.message);\n }\n }, layer.config.exitDelay);\n };\n\n /**\n * Renders a layer.\n * @param config\n */\n public renderLayer = (\n config: LayerConfig,\n ): [() => React.ReactPortal, (resp?: unknown) => void] => {\n // Merge default config with the provided config.\n const layerConfig = {\n ...defaultConfig,\n ...config,\n };\n\n // Get the z-index for the new layer\n const currentIndex = layerConfig.alwaysOnTop ? 2147483647 : this.nextIndex++;\n\n // Prepare the div on DOM where the new layer will be mounted.\n const divElement = document.createElement('div');\n divElement.setAttribute('id', `nf-layer-manager-${currentIndex}`);\n document.body.appendChild(divElement);\n\n // Add layer to stack.\n const currentLayer = {\n id: `nf-layer-manager-${currentIndex}`,\n config: layerConfig,\n element: divElement,\n };\n this.layers.push(currentLayer);\n\n const overlayClickHandler = (layer: Layer) => () => {\n if (layer.config.closeOnOverlayClick !== false) {\n this.unmount(layer);\n }\n };\n\n // Return callback which will trigger the un-mount.\n return [\n // Render the layer and then add `nf-layer-enter` class to\n // the div created above.\n // This class will help component in triggering the entry animation.\n function TestLayer(): ReactPortal {\n useEffect(() => {\n // The delay is introduced to enable entry animation on Firefox.\n // Somehow on Firefox, useEffect is triggered before the component\n // is rendered it seems.\n setTimeout(() => {\n divElement.setAttribute('class', 'nf-layer-enter');\n }, 10);\n\n // Cleanup function\n return () => {\n document.body.removeChild(divElement);\n };\n }, []);\n\n return ReactDOM.createPortal(\n <Container\n onClick={overlayClickHandler(currentLayer)}\n zIndex={currentIndex}\n {...layerConfig}\n >\n {layerConfig.component}\n </Container>,\n divElement,\n // Used setTimeout so that the attribute is added only after\n // the component is completely mounted.\n // () => { setTimeout(() => divElement.setAttribute('class', 'nf-layer-enter'), 100) }\n );\n },\n (resp?: unknown) => {\n this.unmount(currentLayer, resp);\n },\n ];\n };\n}\n\n// Return the instance of the class to create a Singleton.\nexport default new LayerManager();\n","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\ntype DialogOptions = PropTypes.InferProps<typeof Dialog.propTypes>;\n\ninterface DialogState {\n show: boolean;\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 = {\n show: false,\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 this.setState({\n show: true,\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 });\n this.onCloseFn?.(resp);\n };\n\n render() {\n const { closeOnEsc, closeOnOverlayClick, children, ...rest } = this.props;\n\n if (this.state.show) {\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 this.closeDialog = closeFn;\n return <Component />;\n } else {\n return null;\n }\n }\n}\n\nexport default Dialog;\n","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","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","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\ntype InputProps = React.AllHTMLAttributes<HTMLInputElement> & {\n /** Label for the field */\n label?: string;\n /** Error message for the field */\n errorText?: string;\n};\n\ntype InputInternalProps = InputProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n flex: 1;\n position: relative;\n margin: 10px 5px;\n`;\n\nconst TextField = styled.input<InputInternalProps>`\n outline: none;\n color: inherit;\n padding: 0 8px;\n line-height: 30px;\n min-height: 30px;\n width: 250px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus + span,\n &:active + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled + span {\n color: #777;\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nconst Input = React.forwardRef<HTMLInputElement, Omit<InputProps, 'as'>>((props, ref) => {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <TextField\n {...props}\n ref={ref}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n />\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n});\n\nInput.displayName = 'Input';\n\nexport default Input;\n\nInput.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\ninterface TextAreaProps\n extends\n PropTypes.InferType<typeof TextArea.propTypes>,\n React.InputHTMLAttributes<HTMLTextAreaElement> {\n value?: string;\n}\n\ntype TextAreaInternalProps = TextAreaProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n flex: 1;\n position: relative;\n margin: 10px 5px;\n`;\n\nconst TextField = styled.textarea<TextAreaInternalProps>`\n border: none;\n color: inherit;\n padding: 8px;\n min-height: 150px;\n min-width: 250px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus + span,\n &:active + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled + span {\n color: var(--disabled, ${constants.DISABLED});\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nexport default function TextArea(props: TextAreaProps) {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <TextField\n {...props}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n />\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n}\n\nTextArea.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport ExpandMore from '../../icons/ExpandMore';\nimport constants from '../../shared/constants';\n\ninterface SelectProps\n extends\n PropTypes.InferType<typeof Select.propTypes>,\n React.InputHTMLAttributes<HTMLSelectElement> {\n value?: string;\n}\n\ntype SelectInternalProps = SelectProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n flex: 1;\n position: relative;\n margin: 10px 5px;\n pointer-events: none;\n max-width: 268px;\n\n & svg {\n fill: currentColor;\n }\n`;\n\nconst SelectField = styled.select<SelectInternalProps>`\n border: none;\n color: inherit;\n padding: 0 8px;\n line-height: 30px;\n min-height: 32px;\n width: 268px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n pointer-events: auto;\n appearance: none;\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus ~ span,\n &:active ~ span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled ~ span {\n color: var(--disabled, ${constants.DISABLED});\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nconst ArrowContainer = styled.span`\n position: absolute;\n right: 8px;\n top: 8px;\n`;\n\nexport default function Select(props: SelectProps) {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLSelectElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLSelectElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <SelectField\n {...props}\n multiple={false}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n >\n <option />\n {props.children}\n </SelectField>\n <span>{props.label}</span>\n <ArrowContainer>\n <ExpandMore />\n </ArrowContainer>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n}\n\nSelect.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Label = styled.label`\n margin: 5px 0;\n position: relative;\n`;\n\nconst Input = styled.input`\n appearance: none;\n position: relative;\n margin: 0;\n\n &::before {\n content: '';\n width: 16px;\n height: 16px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n border-radius: 3px;\n vertical-align: bottom;\n margin: 0 5px;\n text-align: center;\n line-height: 16px;\n background-color: var(--background, ${constants.BACKGROUND});\n transition: background-color 0.3s ease;\n }\n\n &::after {\n content: '';\n width: 3px;\n height: 10px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: translate(-16px, 1px);\n opacity: 0;\n transition: transform 0.3s ease;\n position: absolute;\n }\n\n /** checked */\n &:checked::before {\n content: '';\n background-color: var(--primary, ${constants.PRIMARY});\n border-color: var(--primary, ${constants.PRIMARY});\n color: #fff;\n }\n\n &:checked::after {\n opacity: 1;\n transform: translate(-16px, 2px) rotate(45deg);\n }\n\n /** indeterminate */\n &:indeterminate::before {\n content: '';\n background-color: var(--primary, ${constants.PRIMARY});\n border-color: var(--primary, ${constants});\n color: #fff;\n }\n\n &:indeterminate::after {\n width: 0;\n opacity: 1;\n transform: translate(-15px, 3px) rotate(90deg);\n }\n\n /** active and focus */\n &:enabled:active::before,\n &:focus::before {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:enabled:active + span,\n &:focus + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** hover */\n &:enabled:hover::before {\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n &:enabled:hover + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** disabled */\n &:disabled::before {\n border-color: #aaa;\n }\n\n &:disabled + span {\n color: #aaa;\n }\n\n &:checked:disabled::before,\n &:indeterminate:disabled::before {\n background-color: #aaa;\n }\n`;\n\ntype CheckboxProps = Omit<React.HTMLProps<HTMLInputElement>, 'as'> &\n PropTypes.InferProps<typeof Checkbox.propTypes>;\n\nexport default function Checkbox(props: CheckboxProps) {\n const ref = useCallback(\n (node: unknown) => {\n if (node !== null) {\n if (props.indeterminate) {\n (node as HTMLInputElement).indeterminate = true;\n }\n }\n },\n [props.indeterminate],\n );\n\n return (\n <Label>\n <Input {...props} ref={ref} type=\"checkbox\" />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nCheckbox.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** If the field is in indeterminate state */\n indeterminate: PropTypes.bool,\n};\n\nCheckbox.defaultProps = {\n indeterminate: false,\n label: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Switch = styled.label`\n position: relative;\n display: inline-flex;\n margin: 5px 0;\n`;\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n\n & + span {\n position: relative;\n cursor: pointer;\n width: 30px;\n height: 18px;\n background-color: ${constants.LIGHT_GREY};\n transition: 0.4s;\n border-radius: 10px;\n padding: 0 3px;\n margin: 0 10px 0 5px;\n }\n & + span:before {\n position: absolute;\n content: '';\n height: 14px;\n width: 14px;\n left: 1px;\n top: 1px;\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n border-radius: 50%;\n background-color: var(--background, ${constants.BACKGROUND});\n transition: 0.4s;\n }\n\n /* checked */\n &:checked + span {\n background-color: var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:checked + span:before {\n transform: translateX(18px);\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n /* focus */\n &:enabled:focus + span:before {\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n /* hover */\n &:enabled:hover ~ span {\n cursor: pointer;\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /* disabled */\n &:disabled ~ span {\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n\n &:disabled + span {\n background-color: ${constants.LIGHT_GREY};\n cursor: not-allowed;\n }\n\n &:disabled + span:before {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\ntype ToggleProps = PropTypes.InferProps<\n React.AllHTMLAttributes<HTMLInputElement> & typeof Toggle.propTypes\n>;\n\nfunction Toggle(props: ToggleProps) {\n return (\n <Switch>\n <Input {...props} type=\"checkbox\" />\n <span></span>\n <span>{props.label}</span>\n </Switch>\n );\n}\n\nToggle.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default Toggle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Label = styled.label`\n display: inline-flex;\n align-items: center;\n margin: 5px 0;\n`;\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n\n &::before {\n content: ' ';\n width: 16px;\n height: 16px;\n margin: 0 5px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 50%;\n display: block;\n transition: background-color 0.3s ease;\n }\n\n /* checked */\n &:checked::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n background-color: var(--primary, ${constants.PRIMARY});\n box-shadow: inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n }\n\n /* focus */\n &:enabled:focus::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n cursor: pointer;\n }\n\n &:enabled:checked:focus::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n box-shadow:\n 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT}),\n inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n cursor: pointer;\n }\n\n /* hover */\n &:enabled:hover::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n }\n\n &:enabled:hover + span {\n color: var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n }\n\n /* disabled */\n &:disabled::before {\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--light-grey, ${constants.LIGHT_GREY});\n }\n\n &:disabled:checked::before {\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n box-shadow: inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n }\n\n &:disabled + span {\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\nfunction Radio(\n props: PropTypes.InferProps<React.AllHTMLAttributes<HTMLInputElement> & typeof Radio.propTypes>,\n) {\n return (\n <Label>\n <Input {...props} type=\"radio\" />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nRadio.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default Radio;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n width: 0;\n\n & + span {\n color: var(--primary, ${constants.PRIMARY});\n padding: 6px 12px;\n border: none;\n border: 1px solid var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n margin-right: -1px;\n line-height: 18px;\n }\n\n &:enabled:focus + span {\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:enabled:hover + span {\n background-color: var(--primary, ${constants.PRIMARY_LIGHT});\n color: #fff;\n }\n\n &:enabled:checked + span {\n background-color: var(--primary, ${constants.PRIMARY});\n color: #fff;\n }\n\n &:disabled + span {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n\n &:disabled:checked + span {\n background-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n color: #fff;\n }\n`;\n\nconst Label = styled.label`\n display: inline-flex;\n\n &:focus-within {\n z-index: 1;\n }\n`;\n\nexport const RadioGroup = styled.div`\n display: inline-flex;\n align-items: center;\n border-radius: 3px;\n margin: 5px 0;\n\n & ${Label}:first-child > span {\n border-radius: 3px 0 0 3px;\n }\n\n & ${Label}:last-child > span {\n border-radius: 0 3px 3px 0;\n }\n`;\n\nfunction RadioButton(\n props: PropTypes.InferProps<\n React.AllHTMLAttributes<HTMLInputElement> & typeof RadioButton.propTypes\n >,\n) {\n return (\n <Label>\n <Input {...props} type=\"radio\" />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nRadioButton.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default RadioButton;\n","import { createContext } from 'react';\n\ntype SingleSelect<T> = {\n value: T;\n multiSelect: false;\n updateValue: (newVal: T) => void;\n};\n\ntype MultiSelect<T> = {\n value: T[];\n multiSelect: true;\n updateValue: (newVal: T[]) => void;\n};\nexport type MenuContextType<T> = SingleSelect<T> | MultiSelect<T>;\n\nexport default createContext<MenuContextType<object>>(undefined);\n","import React, { useState, ReactNode, ForwardedRef } from 'react';\nimport styled from '@emotion/styled';\nimport MenuContext from './MenuContext';\ninterface MenuProps<T> {\n /** Multiple Menu Items can be selected */\n multiSelect?: boolean;\n /** Value(s) selected */\n value?: T | T[];\n /** Callback when the selected value changes */\n onChange?: (value: T | T[]) => void;\n /** Menu Items */\n children?: ReactNode;\n}\n\nconst MenuContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n\n & div:last-child {\n border-bottom: none;\n }\n`;\n\nconst Menu = React.forwardRef(function <T extends object>(\n props: MenuProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { multiSelect, onChange } = props;\n const [value, setValue] = useState(props.value || (multiSelect ? [] : ''));\n\n const updateValue = (val: T) => {\n let newVal;\n if (multiSelect) {\n if (Array.isArray(value)) {\n if (value.includes(val)) {\n newVal = value.filter((item) => item !== val);\n } else {\n newVal = [...value, val];\n }\n }\n } else {\n newVal = val;\n }\n setValue(newVal);\n onChange?.(newVal);\n };\n\n return (\n <MenuContext.Provider\n value={\n {\n value,\n multiSelect,\n updateValue,\n } as unknown as React.ContextType<typeof MenuContext>\n }\n >\n <MenuContainer ref={ref}>{props.children}</MenuContainer>\n </MenuContext.Provider>\n );\n});\n\nMenu.displayName = 'Menu';\n\nMenu.defaultProps = {\n multiSelect: false,\n};\n\nexport default Menu;\n","import React, { SyntheticEvent, useContext } from 'react';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport Checkbox from '../Input/Checkbox';\nimport MenuContext, { MenuContextType } from './MenuContext';\n\ninterface MenuItemProps<T> {\n /** Value of the element */\n value: T & T[];\n}\n\nconst Container = styled.button<{ selected: boolean }>`\n font-weight: ${(props) => (props.selected ? 'bold' : 'normal')};\n padding: 8px 6px;\n border: none;\n background-color: transparent;\n font-size: 16px;\n border-bottom: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n min-height: 41px;\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n\n &:hover,\n &:focus,\n &:focus-within {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n }\n\n & > label {\n margin: 0 4px 0 0;\n }\n`;\n\nexport default function MenuItem<T>(props: MenuItemProps<T> & React.PropsWithChildren<unknown>) {\n const context = useContext(MenuContext) as MenuContextType<T>;\n const { value, children, ...rest } = props;\n const clickHandler = (e: SyntheticEvent) => {\n e.stopPropagation();\n if (context.multiSelect) {\n e.nativeEvent.stopImmediatePropagation();\n }\n context.updateValue(value);\n };\n\n const selected = context.multiSelect\n ? context.value?.includes?.(value)\n : context.value === value;\n\n return (\n <Container\n {...rest}\n type=\"button\"\n tabIndex={context.multiSelect ? -1 : 0}\n selected={selected}\n onClick={clickHandler}\n >\n {context.multiSelect && <Checkbox checked={selected} />}\n {children}\n </Container>\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport { Card } from '../Card';\n\nexport enum POPOVER_POSITION {\n TOP_LEFT = 'TOP_LEFT',\n TOP_RIGHT = 'TOP_RIGHT',\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\ninterface translate {\n x: number;\n y: number;\n}\n\nconst positionMap = {\n [POPOVER_POSITION.TOP_LEFT]: `\n bottom: calc(100% - 10px);\n left: 0;\n `,\n [POPOVER_POSITION.TOP_RIGHT]: `\n bottom: calc(100% - 10px);\n right: 0;\n `,\n [POPOVER_POSITION.BOTTOM_RIGHT]: `\n top: calc(100% - 10px);\n right: 0;\n `,\n [POPOVER_POSITION.BOTTOM_LEFT]: `\n top: calc(100% - 10px);\n left: 0;\n `,\n};\n\nconst PopoverDiv = styled.div`\n position: relative;\n display: inline-flex;\n`;\n\nconst Popper = styled(Card)<{ position: POPOVER_POSITION; translateX: number; translateY: number }>`\n position: absolute;\n width: 100%;\n min-width: 200px;\n overflow: auto;\n animation: enter 0.3s linear;\n border-radius: 3px;\n z-index: 1;\n transform: translate(${(props) => props.translateX}px, ${(props) => props.translateY}px);\n ${(props) => positionMap[props.position]}\n\n &.closing {\n /* max-height: 0px;\n opacity: 0;\n overflow: hidden; */\n animation: exit 0.3s linear;\n }\n\n @keyframes enter {\n from {\n max-height: 0px;\n opacity: 1;\n overflow: hidden;\n }\n to {\n max-height: 300px;\n opacity: 1;\n overflow: hidden;\n }\n }\n\n @keyframes exit {\n to {\n max-height: 0px;\n opacity: 1;\n overflow: hidden;\n }\n from {\n max-height: 300px;\n opacity: 1;\n overflow: hidden;\n }\n }\n`;\n\nconst KEY_CODES = {\n ESC: 27,\n};\n\nexport default function Popover(\n props: React.PropsWithChildren<PropTypes.InferProps<typeof Popover.propTypes>>,\n) {\n const [open, setOpen] = useState(props.open);\n const [closing, setClosing] = useState(false);\n const [translate, setTranslate] = useState<translate>({ x: 0, y: 0 });\n const popperRef = useRef<HTMLDivElement>();\n const containerRef = useRef<HTMLDivElement>();\n\n const close = useCallback(() => {\n setClosing(true);\n setTimeout(() => {\n setOpen(false);\n setTranslate({ x: 0, y: 0 });\n if (props.onClose) {\n props.onClose();\n }\n setClosing(false);\n }, 280);\n }, [props]);\n\n const keyupEventHandler = useCallback(\n (e: KeyboardEvent) => {\n if (props.closeOnEsc && e.keyCode === KEY_CODES.ESC) {\n close();\n }\n },\n [close, props.closeOnEsc],\n );\n\n const clickOutsideHandler = useCallback(\n (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n close();\n }\n },\n [close],\n );\n\n /**\n * Get called on popover mount.\n */\n useEffect(() => {\n document.addEventListener('keyup', keyupEventHandler);\n\n return () => {\n document.removeEventListener('keyup', keyupEventHandler);\n document.removeEventListener('click', clickOutsideHandler);\n };\n }, [clickOutsideHandler, close, keyupEventHandler]);\n\n useEffect(() => {\n if (props.open) {\n setOpen(true);\n // Use requestAnimationFrame to add listener after current event loop\n requestAnimationFrame(() => {\n document.addEventListener('click', clickOutsideHandler);\n });\n } else {\n if (open) {\n close();\n }\n }\n\n return () => {\n document.removeEventListener('click', clickOutsideHandler);\n };\n }, [props.open, open, clickOutsideHandler, close]);\n\n useEffect(() => {\n if (open) {\n const { top, left, right } = popperRef.current.getBoundingClientRect();\n const height = popperRef.current.scrollHeight;\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n const translation = { x: 0, y: 0 };\n\n if (props.position === POPOVER_POSITION.BOTTOM_LEFT) {\n // overflow can happen at bottom and right\n if (viewportHeight - top - height < 0) {\n translation.y = -1 * (Math.abs(viewportHeight - top - height) + 5);\n }\n if (viewportWidth - right < 0) {\n translation.x = -1 * (Math.abs(viewportWidth - right) + 5);\n }\n } else if (props.position == POPOVER_POSITION.BOTTOM_RIGHT) {\n // overflow can happen at bottom and left\n if (viewportHeight - top - height < 0) {\n translation.y = -1 * (Math.abs(viewportHeight - top - height) + 5);\n }\n if (left < 0) {\n translation.x = Math.abs(left) + 5;\n }\n } else if (props.position === POPOVER_POSITION.TOP_LEFT) {\n // overflow can happen at top and right\n if (top - height < 0) {\n translation.y = Math.abs(top - height) + 5;\n }\n if (viewportWidth - right < 0) {\n translation.x = -1 * (Math.abs(viewportWidth - right) + 5);\n }\n } else {\n // overflow can happen at top and left\n if (top - height < 0) {\n translation.y = Math.abs(top - height) + 5;\n }\n if (left < 0) {\n translation.x = Math.abs(left) + 5;\n }\n }\n // Note it can still overflow, but in that case fitting popper inside the\n // window is not possible.\n setTranslate(translation);\n popperRef.current.focus();\n }\n }, [open, props.position]);\n\n return (\n <PopoverDiv ref={containerRef}>\n <props.element />\n {open && (\n <Popper\n elevated\n tabIndex={0}\n position={props.position}\n translateX={translate.x}\n translateY={translate.y}\n className={closing && 'closing'}\n ref={popperRef}\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n >\n {props.children}\n </Popper>\n )}\n </PopoverDiv>\n );\n}\n\nPopover.propTypes = {\n /** Opens the popover */\n open: PropTypes.bool.isRequired,\n /** Anchor element for the popover */\n element: PropTypes.func,\n /** Position of the popover around anchor element */\n position: PropTypes.oneOf([\n POPOVER_POSITION.TOP_LEFT,\n POPOVER_POSITION.TOP_RIGHT,\n POPOVER_POSITION.BOTTOM_LEFT,\n POPOVER_POSITION.BOTTOM_RIGHT,\n ]),\n /** If the popover should close on `esc` key press */\n closeOnEsc: PropTypes.bool,\n /** Popover close callback */\n onClose: PropTypes.func,\n};\n\nPopover.defaultProps = {\n closeOnEsc: true,\n position: POPOVER_POSITION.BOTTOM_LEFT,\n};\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { ExpandMore } from '../../icons';\nimport { Menu } from '../Menu';\nimport { Popover, POPOVER_POSITION } from '../Popover';\nimport Input from './Input';\n\ntype DropdownProps<T> = {\n /** Value of the control */\n value?: T | T[];\n /** If multiple elements can be selected */\n multiSelect: boolean;\n /** Change handler */\n onChange?: (v: T | T[]) => void;\n /** Label of the control */\n label?: string;\n /** Error message */\n errorText?: string;\n /** Makes field required */\n required?: boolean;\n /** Disables the field */\n disabled?: boolean;\n} & React.PropsWithChildren<unknown>;\n\nconst ArrowContainer = styled.span`\n position: absolute;\n right: 12px;\n top: 16px;\n pointer-events: none;\n`;\n\nexport default function Dropdown<T extends object>(props: DropdownProps<T>) {\n const { multiSelect, onChange } = props;\n const [open, setOpen] = useState(false);\n const [value, setValue] = useState(props.value);\n\n useEffect(() => {\n const focusHandler = (e: KeyboardEvent) => {\n if (open && (e.keyCode === 38 || e.keyCode === 40)) {\n e.preventDefault();\n const current = document.querySelector(':focus');\n if (current.tagName === 'DIV') {\n const firstBtn = current.querySelector('button');\n firstBtn?.focus();\n } else {\n const currentBtn = current.closest('button');\n if (e.keyCode === 38) {\n const prev = currentBtn?.previousElementSibling?.closest('button');\n prev?.focus();\n } else {\n const next = currentBtn?.nextElementSibling?.closest('button');\n next?.focus();\n }\n }\n return false;\n }\n };\n document.addEventListener('keydown', focusHandler);\n\n return () => {\n document.removeEventListener('keydown', focusHandler);\n };\n }, [open]);\n\n const clickHandler = () => setOpen(true);\n\n const keyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.keyCode === 40) {\n setOpen(true);\n }\n };\n\n const changeHandler = (val: T | T[]) => {\n setValue(val);\n onChange?.(val);\n\n // Close dropdown after selection if not multiSelect\n if (!multiSelect) {\n setOpen(false);\n }\n };\n\n return (\n <Popover\n position={POPOVER_POSITION.BOTTOM_LEFT}\n open={open}\n element={() => (\n <>\n <Input\n type=\"text\"\n value={value && String(value)}\n label={props.label}\n errorText={props.errorText}\n onClick={clickHandler}\n onKeyUp={keyUp}\n required={props.required}\n disabled={props.disabled}\n />\n <ArrowContainer>\n <ExpandMore />\n </ArrowContainer>\n </>\n )}\n onClose={() => setOpen(false)}\n >\n <Menu value={value} multiSelect={multiSelect} onChange={changeHandler}>\n {props.children}\n </Menu>\n </Popover>\n );\n}\n\nDropdown.defaultProps = {\n multiSelect: false,\n};\n","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","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","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Container = styled.div<PropTypes.InferProps<typeof Group.propTypes>>`\n display: inline-flex;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 3px;\n margin: 5px;\n\n /* overrides */\n & button,\n & label {\n margin: 0;\n border: none;\n border-radius: 0;\n border-left: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n box-shadow: none;\n height: 32px;\n }\n\n & > div button {\n border-left: none;\n }\n\n & input,\n & select {\n border: none;\n height: 32px;\n }\n\n & input,\n & select {\n border-radius: 0;\n }\n\n & input:active,\n & select:active {\n box-shadow: none;\n }\n\n & > div > span {\n top: 8px;\n }\n\n /* Handling for first and last child */\n & > *:first-child,\n & > label:first-child input,\n & > label:first-child select,\n & > *:first-child label,\n & > *:first-child input {\n border-left: none;\n border-radius: 2px 0 0 2px;\n }\n\n & > *:last-child,\n & > label:last-child input,\n & > label:last-child select,\n & > *:last-child label,\n & > *:last-child input {\n border-radius: 0 2px 2px 0;\n }\n\n /* focus */\n & *:focus,\n & *:focus + span {\n z-index: 1;\n }\n\n &:focus-within,\n &:hover {\n box-shadow: var(--hover-shadow, ${constants.HOVER_SHADOW});\n }\n\n ${(props) =>\n props.errorText\n ? `\n border-color: var(--error, ${constants.ERROR});\n\n & > button, & > label {\n border-color: var(--error, ${constants.ERROR});\n }\n `\n : ''}\n`;\n\nconst ErrorContainer = styled.div`\n color: var(--error, ${constants.ERROR});\n margin-left: 8px;\n font-size: 12px;\n`;\n\nexport default function Group(\n props: React.PropsWithChildren<PropTypes.InferProps<typeof Group.propTypes>>,\n) {\n return (\n <>\n <Container {...props}>{props.children}</Container>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </>\n );\n}\n\nGroup.propTypes = {\n /** Error Message for the group */\n errorText: PropTypes.string,\n};\n","import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.label`\n height: 32px;\n background-color: ${constants.DISABLED_BACKGROUND};\n padding: 0 4px;\n line-height: 32px;\n min-width: 24px;\n text-align: center;\n color: ${constants.BORDER_COLOR};\n\n & > svg {\n height: 24px;\n width: 24px;\n vertical-align: middle;\n fill: currentColor;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nexport {\n Header as ModalHeader,\n Body as ModalBody,\n Footer as ModalFooter,\n} from '../../shared/styles';\nimport { DialogContainer as ModalContainer } from '../Dialog/Dialog';\n\ntype ModalProps = PropTypes.InferProps<typeof Modal.propTypes>;\n\ninterface ModalState {\n open: boolean;\n}\n\nexport default class Modal extends React.Component<\n React.PropsWithChildren<ModalProps>,\n ModalState\n> {\n state = {\n open: false,\n };\n\n static propTypes = {\n /** Opens the modal */\n open: PropTypes.bool.isRequired,\n /** Closes the modal on esc */\n closeOnEsc: PropTypes.bool,\n /** Closes the modal on overlay click */\n closeOnOverlayClick: PropTypes.bool,\n /** Call back function called when the modal closes. */\n onClose: PropTypes.func,\n };\n\n static defaultProps = {\n closeOnEsc: true,\n closeOnOverlayClick: true,\n };\n\n static getDerivedStateFromProps(props: ModalProps) {\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: ModalProps) {\n const { open, closeOnEsc, closeOnOverlayClick, children, ...rest } = 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: true,\n exitDelay: 300,\n position: LAYER_POSITION.DIALOG,\n closeCallback: this.onClose,\n closeOnEsc: closeOnEsc,\n closeOnOverlayClick: closeOnOverlayClick,\n component: (\n <ModalContainer {...rest} onClick={(e) => e.stopPropagation()} elevated>\n {children}\n </ModalContainer>\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","/** Position for Notification */\nexport enum NOTIFICATION_POSITION {\n TOP_LEFT = 'TOP_LEFT',\n TOP_RIGHT = 'TOP_RIGHT',\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** Type of Notifications */\nexport enum NOTIFICATION_TYPE {\n INFO = 'INFO',\n SUCCESS = 'SUCCESS',\n DANGER = 'DANGER',\n WARNING = 'WARNING',\n}\n\nexport interface NotificationOptions {\n /** Title of the notification */\n title: string;\n /** Body of the notification */\n description: string;\n /** Id for the notification, helps in de-duplication. */\n id?: string;\n /** Duration for the notification in milliseconds */\n duration?: number;\n /** Creates sticky notification */\n sticky?: boolean;\n /** Type of notification */\n type?: NOTIFICATION_TYPE;\n /** Action button text */\n buttonText?: string;\n /** Action button click callback */\n buttonClick?: () => void;\n /** Notification close callback. */\n onClose?: () => void;\n}\n","import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport { Card } from '../Card';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\nconst getEntryAnimation = (position: NOTIFICATION_POSITION) => {\n switch (position) {\n case NOTIFICATION_POSITION.TOP_LEFT:\n case NOTIFICATION_POSITION.BOTTOM_LEFT:\n return 'in-left';\n default:\n return 'in-right';\n }\n};\n\nconst getExitAnimation = (position: NOTIFICATION_POSITION) => {\n switch (position) {\n case NOTIFICATION_POSITION.TOP_LEFT:\n case NOTIFICATION_POSITION.BOTTOM_LEFT:\n return 'out-left';\n default:\n return 'out-right';\n }\n};\n\nconst getBorderColor = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.SUCCESS:\n return `var(--success-light, ${constants.SUCCESS_LIGHT})`;\n case NOTIFICATION_TYPE.DANGER:\n return `var(--error-light, ${constants.ERROR_LIGHT})`;\n case NOTIFICATION_TYPE.WARNING:\n return `var(--warning-light, ${constants.WARNING_LIGHT})`;\n default:\n return `var(--info-light, ${constants.INFO_LIGHT})`;\n }\n};\n\nconst getTitleColor = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.SUCCESS:\n return `var(--success, ${constants.SUCCESS})`;\n case NOTIFICATION_TYPE.DANGER:\n return `var(--error, ${constants.ERROR})`;\n case NOTIFICATION_TYPE.WARNING:\n return `var(--warning, ${constants.WARNING})`;\n case NOTIFICATION_TYPE.INFO:\n return `var(--info, ${constants.INFO})`;\n }\n};\n\nconst getTypeStyle = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.INFO:\n return `color: var(--info, ${constants.INFO})`;\n case NOTIFICATION_TYPE.SUCCESS:\n return `color: var(--success, ${constants.SUCCESS})`;\n case NOTIFICATION_TYPE.DANGER:\n return `color: var(--error, ${constants.ERROR})`;\n case NOTIFICATION_TYPE.WARNING:\n return `color: var(--warning, ${constants.WARNING})`;\n }\n};\n\ninterface NoticeProp extends NotificationOptions {\n position: NOTIFICATION_POSITION;\n}\n\nexport const Container = styled.div<{ position: NOTIFICATION_POSITION }>`\n display: flex;\n flex-direction: ${(props) =>\n props.position === NOTIFICATION_POSITION.TOP_LEFT ||\n props.position === NOTIFICATION_POSITION.TOP_RIGHT\n ? 'column'\n : 'column-reverse'};\n`;\n\nexport const Notice = styled(Card)<NoticeProp>`\n border-radius: 3px;\n border-left: 4px solid ${(props) => getBorderColor(props.type)};\n width: 300px;\n display: flex;\n padding: 0 5px 5px 0;\n overflow: hidden;\n animation: ${(props) => getEntryAnimation(props.position)} 0.6s ease;\n\n & svg {\n fill: currentColor;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n }\n\n &.leave {\n animation: ${(props) => getExitAnimation(props.position)} 0.6s;\n }\n\n @keyframes in-right {\n from {\n transform: translateX(100%);\n max-height: 0;\n opacity: 0;\n }\n\n to {\n transform: translateX(0%);\n max-height: 150px;\n opacity: 1;\n }\n }\n\n @keyframes out-right {\n to {\n transform: translateX(100%);\n max-height: 0;\n opacity: 0;\n }\n\n from {\n transform: translateX(0%);\n max-height: 100px;\n opacity: 1;\n }\n }\n\n @keyframes in-left {\n from {\n transform: translateX(-100%);\n max-height: 0;\n opacity: 0;\n }\n\n to {\n transform: translateX(0%);\n max-height: 150px;\n opacity: 1;\n }\n }\n\n @keyframes out-left {\n to {\n transform: translateX(-100%);\n max-height: 0;\n opacity: 0;\n }\n\n from {\n transform: translateX(0%);\n max-height: 100px;\n opacity: 1;\n }\n }\n`;\n\nexport const Title = styled.div<{ type: NOTIFICATION_TYPE }>`\n padding: 5px 0;\n font-size: 14px;\n color: ${(props) => getTitleColor(props.type)};\n display: flex;\n align-items: center;\n`;\n\nexport const FillParent = styled.div`\n flex: 1;\n`;\n\nexport const CloseButton = styled.button`\n background-color: transparent;\n border: none;\n padding: none;\n cursor: pointer;\n\n &:focus {\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n border-radius: 3px;\n }\n`;\n\nexport const Body = styled.div`\n padding: 5px 5px 5px 0;\n font-size: 14px;\n`;\n\nexport const IconContainer = styled.div<{ type: NOTIFICATION_TYPE }>`\n padding: 6px 10px;\n ${(props) => getTypeStyle(props.type)};\n`;\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 0 5px;\n`;\n","import React from 'react';\nimport { Close, Info, ReportProblem, ErrorOutline, CheckCircle } from '../../icons';\nimport { ActionButton } from '../Button';\nimport {\n Container,\n Notice,\n Title,\n IconContainer,\n FillParent,\n Body,\n CloseButton,\n Footer,\n} from './style';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\ninterface NotificationManagerProps {\n // Notification Position\n position: NOTIFICATION_POSITION;\n // Callback for when stack is emptied\n onEmpty: () => void;\n}\n\n// Notice prop\ninterface NoticeProp extends NotificationOptions {\n leaving?: boolean;\n}\n\n// Manager state\ninterface NotificationManagerState {\n notices: NoticeProp[];\n}\n\ntype timeouts = {\n [id: string]: NodeJS.Timeout;\n};\n\nconst DEFAULT_DURATION = 5000;\n\n/**\n * Notification Manager class\n */\nclass NotificationManager extends React.Component<\n NotificationManagerProps,\n NotificationManagerState\n> {\n state: NotificationManagerState = {\n notices: [],\n };\n\n // bookkeeping for timeouts\n private timeouts: timeouts = {};\n\n // Set of notification ids\n private set = new Set<string>();\n\n /**\n * Removes a notification from stack if the notification with the given id is found.\n *\n * @param id\n */\n public remove = (id: string) => {\n // Trigger leaving animation.\n this.setState({\n notices: this.state.notices.map((notice) => ({\n ...notice,\n leaving: notice.id === id ? true : notice.leaving,\n })),\n });\n this.set.delete(id);\n\n // Remove notification on animation completion.\n setTimeout(() => {\n const notice = this.state.notices.find((notice) => notice.id === id);\n if (notice) {\n // call close callback, ignore any errors in callback.\n if (notice.onClose) {\n try {\n notice.onClose();\n } catch (e) {\n console.warn('Error in notification close callback', e.message);\n }\n }\n\n // Remove the notification\n this.setState(\n {\n notices: this.state.notices.filter((notice) => notice.id !== id),\n },\n () => {\n // Check if the stack is empty and then call the\n // empty callback function.\n if (this.state.notices.length === 0) {\n this.props.onEmpty();\n }\n },\n );\n }\n }, 550);\n };\n\n /**\n * Adds a notification to stack.\n *\n * @param notice\n */\n public add = (notice: NotificationOptions) => {\n // Generate unique id if not provided.\n const id = notice.id || (Math.random() * 10 ** 7).toFixed(0);\n\n // De-dupe on id\n if (!this.set.has(id)) {\n // Add notice to the top of stack.\n this.setState({\n notices: [\n {\n ...notice,\n id,\n },\n ...this.state.notices,\n ],\n });\n\n // set timeout for closing the notification.\n if (!notice.sticky) {\n this.timeouts[id] = setTimeout(\n () => this.remove(id),\n notice.duration || DEFAULT_DURATION,\n );\n }\n\n // Add id to the set.\n this.set.add(id);\n }\n\n return id;\n };\n\n /**\n * Handler for close button click.\n *\n * @param id\n */\n public closeClickHandler = (id: string) => () => {\n this.remove(id);\n };\n\n /**\n * Pause notification when user is hovering over it.\n *\n * @param id\n */\n public pause = (id: string) => () => {\n clearTimeout(this.timeouts[id]);\n };\n\n /**\n * Restart the removal of notification.\n *\n * @param id\n */\n public resume = (id: string) => () => {\n const notice = this.state.notices.find((notice) => notice.id === id);\n if (!notice.sticky) {\n this.timeouts[id] = setTimeout(() => this.remove(id), DEFAULT_DURATION);\n }\n };\n\n render() {\n return (\n <Container position={this.props.position}>\n {this.state.notices.map((notice) => {\n const {\n id,\n title,\n description,\n leaving,\n type = NOTIFICATION_TYPE.INFO,\n buttonText,\n buttonClick,\n } = notice;\n return (\n <Notice\n key={id}\n {...notice}\n position={this.props.position}\n className={leaving ? 'leave' : ''}\n onMouseEnter={this.pause(id)}\n onMouseLeave={this.resume(id)}\n >\n <IconContainer type={type}>\n {type === NOTIFICATION_TYPE.INFO && <Info />}\n {type === NOTIFICATION_TYPE.SUCCESS && <CheckCircle />}\n {type === NOTIFICATION_TYPE.WARNING && <ReportProblem />}\n {type === NOTIFICATION_TYPE.DANGER && <ErrorOutline />}\n </IconContainer>\n <FillParent>\n <Title type={type}>\n <FillParent>{title}</FillParent>\n <CloseButton onClick={this.closeClickHandler(id)}>\n <Close />\n </CloseButton>\n </Title>\n <Body>{description}</Body>\n {buttonText && (\n <Footer>\n <ActionButton\n onClick={() => {\n buttonClick?.();\n }}\n >\n {buttonText}\n </ActionButton>\n </Footer>\n )}\n </FillParent>\n </Notice>\n );\n })}\n </Container>\n );\n }\n}\n\nexport default NotificationManager;\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { flushSync } from 'react-dom';\nimport { createRoot, type Root } from 'react-dom/client';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nimport NotificationManager from './NotificationManager';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\ntype NotificationProps = PropTypes.InferProps<typeof StoryProps.propTypes>;\n\n/** This component is only used for storybook documentation */\nexport class StoryProps extends React.Component<NotificationProps> {\n static propTypes = {\n /** Title of the notification */\n title: PropTypes.string.isRequired,\n /** Body of the notification */\n description: PropTypes.string.isRequired,\n /** Id for the notification, helps in de-duplication. */\n id: PropTypes.string,\n /** Duration for the notification in milliseconds */\n duration: PropTypes.number,\n /** Creates sticky notification */\n sticky: PropTypes.bool,\n /** Type of notification */\n type: PropTypes.oneOf([\n NOTIFICATION_TYPE.INFO,\n NOTIFICATION_TYPE.SUCCESS,\n NOTIFICATION_TYPE.WARNING,\n NOTIFICATION_TYPE.DANGER,\n ]),\n /** Action button text */\n buttonText: PropTypes.string,\n /** Action button click callback */\n buttonClick: PropTypes.func,\n /** Notification close callback. */\n onClose: PropTypes.func,\n };\n\n static defaultProps = {\n duration: 5000,\n sticky: false,\n type: NOTIFICATION_TYPE.INFO,\n };\n\n render(): React.ReactNode {\n return null;\n }\n}\n\n/** Maps notification position to layer position */\nconst positionMap = {\n [NOTIFICATION_POSITION.TOP_LEFT]: LAYER_POSITION.TOP_LEFT,\n [NOTIFICATION_POSITION.TOP_RIGHT]: LAYER_POSITION.TOP_RIGHT,\n [NOTIFICATION_POSITION.BOTTOM_LEFT]: LAYER_POSITION.BOTTOM_LEFT,\n [NOTIFICATION_POSITION.BOTTOM_RIGHT]: LAYER_POSITION.BOTTOM_RIGHT,\n};\n\n/** Notification class */\nclass Notification {\n /** Helps in maintaining single instance for different positions. */\n private containers: Map<\n NOTIFICATION_POSITION,\n {\n ref: React.RefObject<NotificationManager>;\n element: HTMLDivElement;\n root: Root;\n }\n > = new Map();\n\n /**\n * Adds a notification\n *\n * @param position\n * @param options\n */\n public add = (position: NOTIFICATION_POSITION, options: NotificationOptions) => {\n let notification;\n if (!this.containers.has(position)) {\n const div = document?.createElement('div');\n const ref = createRef<NotificationManager>();\n const [Component] = LayerManager.renderLayer({\n closeOnEsc: false,\n closeOnOverlayClick: false,\n position: positionMap[position],\n alwaysOnTop: true,\n component: (\n <NotificationManager\n ref={ref}\n position={position}\n onEmpty={() => this.destroy(position)}\n />\n ),\n });\n this.containers.set(position, {\n ref,\n element: div,\n root: createRoot(div),\n });\n flushSync(() => {\n this.containers.get(position).root.render(<Component />);\n });\n notification = ref;\n } else {\n notification = this.containers.get(position).ref;\n }\n return notification.current.add(options);\n };\n\n /**\n * Removes a notification\n *\n * @param position\n * @param id\n */\n public remove = (position: NOTIFICATION_POSITION, id: string) => {\n if (this.containers.has(position)) {\n this.containers.get(position).ref.current.remove(id);\n }\n };\n\n /**\n * Destroys entire stack of notifications.\n *\n * @param position\n */\n public destroy = (position: NOTIFICATION_POSITION) => {\n const notification = this.containers.get(position);\n notification.root.unmount();\n this.containers.delete(position);\n };\n}\n\n/** Export a singleton instance */\nexport default new Notification();\n","import PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst SpinnerDiv = styled.div<SpinnerProp>`\n border: 4px solid var(--primary, ${constants.PRIMARY});\n border-top: 4px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n border-radius: 50%;\n width: ${(props) => props.size}px;\n height: ${(props) => props.size}px;\n margin: 0 auto;\n animation: spin 1s linear infinite;\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n\nfunction Spinner(props: SpinnerProp) {\n return <SpinnerDiv {...props} />;\n}\n\ntype SpinnerProp = PropTypes.InferProps<typeof Spinner.propTypes>;\n\nSpinner.propTypes = {\n /** Spinner's size */\n size: PropTypes.number,\n};\n\nSpinner.defaultProps = {\n size: 30,\n};\n\nexport default Spinner;\n","import { Children, PropsWithChildren, useState, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport { Ellipsis } from '../../shared/styles';\nimport { Badge, BADGE_TYPE } from '../Badge';\n\ntype StepperProps = PropsWithChildren<{\n active: number;\n onStepClick?: (index: number) => void;\n}>;\n\nconst Container = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 400px;\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n border-bottom: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n\n @media (min-width: 601px) {\n &::before {\n position: absolute;\n top: 25px;\n left: 0;\n right: 0;\n height: 2px;\n background-color: var(--light-grey, ${constants.LIGHT_GREY});\n content: ' ';\n z-index: 0;\n }\n }\n\n & > * {\n z-index: 1;\n }\n`;\n\nconst HeaderButton = styled.button<{ active: boolean }>`\n border: none;\n padding: 16px 24px 16px 16px;\n font-size: 16px;\n cursor: pointer;\n background-color: ${(props) =>\n props.active\n ? `var(--border-light-color, ${constants.BORDER_LIGHT_COLOR})`\n : `var(--background, ${constants.BACKGROUND})`};\n font-weight: ${(props) => (props.active ? 'bold' : 'normal')};\n overflow: hidden;\n display: flex;\n align-items: center;\n\n &:disabled {\n cursor: not-allowed;\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:enabled:hover,\n &:focus {\n background-color: var(--primary-light, ${constants.PRIMARY_LIGHTER});\n }\n\n @media (max-width: 600px) {\n & {\n display: none;\n }\n }\n`;\n\nconst MobileHeader = styled.div`\n padding: 16px;\n font-size: 16px;\n line-height: 18px;\n align-items: center;\n font-weight: bold;\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n @media (min-width: 601px) {\n & {\n display: none;\n }\n }\n`;\n\nexport default function Stepper(props: StepperProps) {\n const [active, setActive] = useState(props.active);\n const { children, onStepClick } = props;\n const childrenArray = Children.toArray(children);\n\n const stepClickHandler = (index: number) => () => {\n setActive(index);\n onStepClick?.(index);\n };\n\n const getBadgeType = (index: number, completed: boolean, disabled: boolean) => {\n if (disabled) {\n return BADGE_TYPE.DISABLED;\n } else if (index === active) {\n return BADGE_TYPE.PRIMARY;\n } else if (completed) {\n return BADGE_TYPE.SUCCESS;\n }\n return BADGE_TYPE.DISABLED;\n };\n\n return (\n <Container>\n <Header>\n {Children.map(children, (child, index) => {\n if (!isValidElement(child)) return null;\n return (\n <>\n <HeaderButton\n active={index === active}\n type=\"button\"\n disabled={child.props.disabled}\n onClick={stepClickHandler(index)}\n >\n <Badge\n inline\n type={getBadgeType(\n index,\n child.props.completed,\n child.props.disabled,\n )}\n />\n <Ellipsis>{child.props.name}</Ellipsis>\n </HeaderButton>\n </>\n );\n })}\n <MobileHeader>\n <span>\n {isValidElement(childrenArray[active])\n ? childrenArray[active].props.name\n : ''}\n </span>\n <Badge inline type={BADGE_TYPE.PRIMARY}>\n {active + 1} of {Children.count(children)}\n </Badge>\n </MobileHeader>\n </Header>\n {childrenArray[active]}\n </Container>\n );\n}\n\nStepper.propTypes = {\n /** Index of currently active step */\n active: PropTypes.number,\n /** Callback function for click event on a step */\n onStepClick: PropTypes.func,\n};\n\nStepper.defaultProps = {\n active: 0,\n};\n","import React from 'react';\nimport styled from '@emotion/styled';\n\ninterface StepProps {\n /** Name of the step to be displayed in the header */\n name: string;\n /** Disables the step */\n disabled?: boolean;\n /** Marks the step as completed */\n completed?: boolean;\n}\n\nconst Container = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n`;\n\nexport default function Step(props: React.PropsWithChildren<StepProps>) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { name, disabled, completed, ...rest } = props;\n return <Container {...rest} />;\n}\n\nStep.defaultProps = {\n disabled: false,\n completed: false,\n};\n","import { useState, Children, useEffect, PropsWithChildren, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Button = styled.button<{ active: boolean }>`\n background-color: transparent;\n border: none;\n padding: 8px 12px;\n font-size: 14px;\n border-radius: 3px 3px 0 0;\n border-bottom: ${(props) =>\n props.active ? `3px solid var(--primary, ${constants.PRIMARY})` : 'none'};\n color: ${(props) => (props.active ? `var(--primary, ${constants.PRIMARY})` : '#000')};\n cursor: pointer;\n\n &:hover,\n &:focus {\n background-color: var(--primary-lighter, #cfe9ff);\n border-bottom: ${(props) =>\n props.active\n ? `3px solid var(--primary, ${constants.PRIMARY})`\n : `3px solid var(--primary, ${constants.PRIMARY})`};\n }\n\n &[disabled] {\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n color: var(--disabled, ${constants.DISABLED});\n border-bottom: 3px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\nconst ButtonContainer = styled.div`\n border-bottom: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n margin-bottom: 5px;\n position: relative;\n`;\n\nconst TabBody = styled.div`\n min-height: 150px;\n`;\n\ntype ITabsProps = PropsWithChildren<{\n active?: number;\n onChange?: (index: number) => void;\n props?: object;\n bodyProps?: object;\n}>;\n\nexport default function Tabs(props: ITabsProps) {\n const [active, setActive] = useState(props.active);\n const switchTab = (index: number) => () => setActive(index);\n const { children } = props;\n\n useEffect(() => {\n setActive(props.active);\n props.onChange?.(props.active);\n }, [props]);\n\n return (\n <>\n <ButtonContainer {...props.props}>\n {Children.map(children, (child, index) => (\n <Button\n type=\"button\"\n active={active === index}\n onClick={switchTab(index)}\n disabled={isValidElement(child) ? child.props.disabled : false}\n >\n {isValidElement(child) ? child.props.name : ''}\n </Button>\n ))}\n </ButtonContainer>\n <TabBody {...props.bodyProps}>{Children.toArray(children)[active]}</TabBody>\n </>\n );\n}\n\nTabs.propTypes = {\n /** Active Tab Index */\n active: PropTypes.number,\n /** OnChange event handler */\n onChange: PropTypes.func,\n /** Props for div that contains tab buttons */\n props: PropTypes.object,\n /** Props for div that contains tab body */\n bodyProps: PropTypes.object,\n};\n\nTabs.defaultProps = {\n active: 0,\n};\n","import { PropsWithChildren } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Tab = (props: PropsWithChildren<{ name: string; disabled: boolean }>) => {\n const { children } = props;\n return <>{children}</>;\n};\n\nTab.propTypes = {\n /** Name of the tab. This shown in the tab's button */\n name: PropTypes.string.isRequired,\n /** If the tab is disabled */\n disabled: PropTypes.bool,\n};\n\nTab.defaultProps = {\n disabled: false,\n};\n\nexport default Tab;\n","import { createRoot, type Root } from 'react-dom/client';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nimport { Card } from '../Card';\n\nexport interface ToastOptions {\n text: string;\n buttonText?: string;\n buttonClick?: () => void;\n duration?: number;\n type?: TOAST_TYPE;\n}\n\nexport enum TOAST_TYPE {\n NORMAL = 'NORMAL',\n INFO = 'INFO',\n SUCCESS = 'SUCCESS',\n WARNING = 'WARNING',\n DANGER = 'DANGER',\n}\n\nconst getBackgroundColor = (type: TOAST_TYPE) => {\n switch (type) {\n case TOAST_TYPE.INFO:\n return `var(--info, ${constants.INFO})`;\n case TOAST_TYPE.SUCCESS:\n return `var(--success, ${constants.SUCCESS})`;\n case TOAST_TYPE.WARNING:\n return `var(--warning, ${constants.WARNING})`;\n case TOAST_TYPE.DANGER:\n return `var(--error, ${constants.ERROR})`;\n case TOAST_TYPE.NORMAL:\n return `var(--toast, ${constants.TOAST})`;\n }\n};\n\nconst ToastContainer = styled(Card)<{ type: TOAST_TYPE }>`\n box-sizing: border-box;\n border-radius: 3px;\n padding: 12px;\n background-color: ${(props) => getBackgroundColor(props.type)};\n color: #fff;\n margin: 20px;\n font-size: 14px;\n line-height: 20px;\n transform: translateY(100%);\n transition: transform 0.3s ease;\n width: 344px;\n display: flex;\n align-items: center;\n\n & svg {\n width: 20px;\n height: 20px;\n fill: currentColor;\n }\n\n @media (max-width: 480px) {\n & {\n margin: 0;\n width: 100vw;\n border-radius: 0;\n }\n }\n\n .nf-layer-enter & {\n transform: translateY(0%);\n }\n`;\n\nconst TextContainer = styled.div`\n flex: 1;\n`;\n\nconst CloseContainer = styled.button`\n background-color: transparent;\n color: var(--primary, ${constants.PRIMARY_LIGHT});\n padding: 6px 10px;\n border: none;\n border-radius: 3px;\n text-transform: uppercase;\n cursor: pointer;\n\n &:focus {\n background-color: rgba(255, 255, 255, 0.1);\n }\n`;\n\nconst DEFAULT_DURATION = 2000;\n\nclass Toast {\n private element: HTMLDivElement;\n private toast: ReturnType<typeof LayerManager.renderLayer>;\n private timeout: NodeJS.Timeout;\n private root: Root;\n\n constructor() {\n this.element = document?.createElement('div');\n }\n\n public remove = () => {\n if (this.toast) {\n this.toast[1]();\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.toast = null;\n\n setTimeout(() => {\n if (!this.toast) {\n this.root.unmount();\n }\n }, 300);\n };\n\n /**\n * Pause toast when user is hovering over it.\n *\n * @param id\n */\n public pause = () => {\n clearTimeout(this.timeout);\n };\n\n /**\n * Restart the removal of toast.\n *\n * @param id\n */\n public resume = (options: ToastOptions) => () => {\n this.timeout = setTimeout(() => {\n this.remove();\n }, options.duration || DEFAULT_DURATION);\n };\n\n public add(options: ToastOptions) {\n const { text, buttonText, buttonClick, duration, type = TOAST_TYPE.NORMAL } = options;\n this.remove();\n this.toast = LayerManager.renderLayer({\n exitDelay: 300,\n closeOnEsc: false,\n closeOnOverlayClick: false,\n alwaysOnTop: true,\n position: LAYER_POSITION.BOTTOM_LEFT,\n component: (\n <ToastContainer\n {...options}\n type={type}\n elevated\n onMouseEnter={this.pause}\n onMouseLeave={this.resume(options)}\n >\n <TextContainer>{text}</TextContainer>\n {buttonText && (\n <CloseContainer onClick={buttonClick} type=\"button\">\n {buttonText}\n </CloseContainer>\n )}\n </ToastContainer>\n ),\n });\n const Component = this.toast[0];\n this.root = createRoot(this.element);\n this.root.render(<Component />);\n\n this.timeout = setTimeout(() => {\n this.remove();\n }, duration || DEFAULT_DURATION);\n }\n}\n\nexport default new Toast();\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport enum TOOLTIP_POSITION {\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nconst positionStyle = {\n [TOOLTIP_POSITION.LEFT]: `\n left: 0;\n transform: translateX(-50%) scale(0);\n `,\n [TOOLTIP_POSITION.RIGHT]: `\n right: 0;\n transform: translateX(50%) scale(0);\n `,\n [TOOLTIP_POSITION.TOP]: `\n top: 0;\n transform: translateY(-10px) scale(0);\n `,\n [TOOLTIP_POSITION.BOTTOM]: `\n bottom: 0;\n transform: translateY(10px) scale(0);\n `,\n};\n\nconst positionHoverStyle = {\n [TOOLTIP_POSITION.LEFT]: `\n transform: translateX(-100%) scale(1);\n `,\n [TOOLTIP_POSITION.RIGHT]: `\n transform: translateX(100%) scale(1);\n `,\n [TOOLTIP_POSITION.TOP]: `\n transform: translateY(-25px) scale(1);\n `,\n [TOOLTIP_POSITION.BOTTOM]: `\n transform: translateY(25px) scale(1);\n `,\n};\n\nconst TooltipDiv = styled.div<{ position: TOOLTIP_POSITION }>`\n position: absolute;\n background-color: var(--tooltip-color, ${constants.TOOLTIP_COLOR});\n padding: 5px;\n color: #fff;\n border-radius: 3px;\n transition: transform 0.3s ease;\n font-size: 12px;\n z-index: 1;\n ${(props) => positionStyle[props.position]}\n`;\n\nconst TooltipContainer = styled.div<{ position: TOOLTIP_POSITION }>`\n position: relative;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n &:hover ${TooltipDiv} {\n ${(props) => positionHoverStyle[props.position]}\n }\n`;\n\nexport default function Tooltip(props: React.PropsWithChildren<TooltipProps>) {\n const { children, position, ...rest } = props;\n\n return (\n <TooltipContainer position={position} {...rest}>\n {children}\n <TooltipDiv position={position}>{rest.tooltipText}</TooltipDiv>\n </TooltipContainer>\n );\n}\n\ntype TooltipProps = PropTypes.InferProps<typeof Tooltip.propTypes>;\n\nTooltip.propTypes = {\n /** Text to show in the tooltip */\n tooltipText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n /** Position of the tooltip */\n position: PropTypes.oneOf([\n TOOLTIP_POSITION.TOP,\n TOOLTIP_POSITION.LEFT,\n TOOLTIP_POSITION.RIGHT,\n TOOLTIP_POSITION.BOTTOM,\n ]),\n};\n\nTooltip.defaultProps = {\n position: TOOLTIP_POSITION.BOTTOM,\n};\n"],"names":["useState","_jsx","_Fragment","Children","isValidElement","cloneElement","CheckCircle","_jsxs","Header","Body","Footer","BADGE_TYPE","Step","css","Container","Button","ORIENTATION","createContext","useContext","useEffect","DragIndicator","Label","ErrorContainer","KEY_CODES","LayerManager","createRef","DialogHeader","DialogBody","DialogFooter","TextField","Input","ArrowContainer","useCallback","POPOVER_POSITION","positionMap","useRef","DRAWER_POSITION","positionStyle","ModalContainer","NOTIFICATION_POSITION","NOTIFICATION_TYPE","DEFAULT_DURATION","Info","ReportProblem","ErrorOutline","createRoot","flushSync","TOAST_TYPE","TOOLTIP_POSITION"],"mappings":"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","x_google_ignoreList":[19]}
1
+ {"version":3,"file":"index.js","sources":["src/components/Accordion/Accordion.tsx","src/icons/CheckCircle.tsx","src/icons/ExpandMore.tsx","src/icons/FiberManualRecord.tsx","src/icons/Close.tsx","src/icons/Info.tsx","src/icons/ReportProblem.tsx","src/icons/ErrorOutline.tsx","src/icons/DragIndicator.tsx","src/shared/constants.ts","src/shared/styles.ts","src/components/Badge/Badge.tsx","src/components/Card/Card.tsx","src/components/Accordion/AccordionStep.tsx","src/components/Button/Button.tsx","src/components/Button/LinkButton.tsx","src/components/Button/RaisedButton.tsx","src/components/Button/ActionButton.tsx","src/components/Button/IconButton.tsx","node_modules/tslib/tslib.es6.js","src/components/Chip/Chip.tsx","src/components/DragAndDrop/types.ts","src/components/DragAndDrop/DragItem.tsx","src/components/DragAndDrop/DragAndDrop.tsx","src/components/ChipInput/ChipInput.tsx","src/shared/LayerManager.tsx","src/components/Dialog/Dialog.tsx","src/components/Dialog/AlertDialog.tsx","src/components/Dialog/ConfirmDialog.tsx","src/components/Input/Input.tsx","src/components/Input/TextArea.tsx","src/components/Input/Select.tsx","src/components/Input/Checkbox.tsx","src/components/Input/Toggle.tsx","src/components/Input/Radio.tsx","src/components/Input/RadioButton.tsx","src/components/Menu/MenuContext.ts","src/components/Menu/Menu.tsx","src/components/Menu/MenuItem.tsx","src/components/Popover/Popover.tsx","src/components/Input/Dropdown.tsx","src/components/Dialog/PromptDialog.tsx","src/components/Drawer/Drawer.tsx","src/components/Groups/Group.tsx","src/components/Groups/GroupLabel.tsx","src/components/Modal/Modal.tsx","src/components/Notification/types.ts","src/components/Notification/style.ts","src/components/Notification/NotificationManager.tsx","src/components/Notification/Notification.tsx","src/components/Spinner/Spinner.tsx","src/components/Stepper/Stepper.tsx","src/components/Stepper/Step.tsx","src/components/Tabs/Tabs.tsx","src/components/Tabs/Tab.tsx","src/components/Toast/Toast.tsx","src/components/Tooltip/Tooltip.tsx"],"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","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0zm0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M16.59 7.58L10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" />\n </svg>\n );\n}\n","export default function ExpandMore(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 24 24\" width=\"18px\" height=\"18px\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\" />\n </svg>\n );\n}\n","export default function FiberManualRecord(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M24 24H0V0h24v24z\" fill=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n </svg>\n );\n}\n","export default function Close(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" />\n </svg>\n );\n}\n","export default function CheckCircle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" fill=\"currentColor\" {...props}>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" />\n </svg>\n );\n}\n","export default {\n PRIMARY: '#1f7ac5',\n PRIMARY_LIGHT: '#64baff',\n PRIMARY_LIGHTER: '#cfe9ff',\n BACKDROP_COLOR: '#2681da80',\n INFO: '#1d6eaf',\n INFO_LIGHT: '#64baff',\n SUCCESS: '#1a835f',\n SUCCESS_LIGHT: '#80eac6',\n WARNING: '#916b01',\n WARNING_LIGHT: '#ffba00',\n ERROR: '#bb2828',\n ERROR_LIGHT: '#f1a5a5',\n BORDER_COLOR: '#555555',\n TOAST: '#5f5f5f',\n TOOLTIP_COLOR: 'rgba(0,0,0,0.6)',\n BORDER_LIGHT_COLOR: '#eeeeee',\n BACKGROUND: '#ffffff',\n DISABLED_BACKGROUND: '#fafafa',\n DISABLED_BORDER: '#aaa',\n LIGHT_GREY: '#ccc',\n DISABLED: '#737373',\n SHADOW: '0px 1px 3px 0px rgba(0,0,0,0.1), 0px 1px 2px 0px rgba(0,0,0,0.06)',\n HOVER_SHADOW: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n MODAL_SHADOW:\n '0px 8px 17px 2px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12), 0px 5px 5px -3px rgba(0,0,0,0.2)',\n};\n","import styled from '@emotion/styled';\n\nexport const Ellipsis = styled.span`\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nexport const Header = styled.div`\n padding: 10px 15px;\n line-height: 26px;\n border-bottom: 1px solid var(--border-light-color, #eeeeee);\n font-size: 16px;\n font-weight: bold;\n`;\n\nexport const Body = styled.div`\n padding: 20px 15px;\n flex: 1;\n overflow: auto;\n`;\n\nexport const Footer = styled.div`\n padding: 10px 15px;\n border-top: 1px solid var(--border-light-color, #eeeeee);\n display: flex;\n justify-content: flex-end;\n`;\n","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","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","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","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","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","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","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","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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","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","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","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","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","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","import React, { ReactPortal, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from '@emotion/styled';\n\n/** Enums for layer position on screen. */\nexport enum LAYER_POSITION {\n TOP_LEFT,\n TOP_CENTER,\n TOP_RIGHT,\n BOTTOM_LEFT,\n BOTTOM_CENTER,\n BOTTOM_RIGHT,\n DIALOG,\n}\n\ninterface LayerConfig {\n /** Show an overlay */\n overlay?: boolean;\n /** Element to render inside the layer. */\n component: JSX.Element;\n /** Position of the layer */\n position?: LAYER_POSITION;\n /** Delay for exit */\n exitDelay?: number;\n /** Close layer on `esc` key press. */\n closeOnEsc?: boolean;\n /** Close layer overlay is clicked. */\n closeOnOverlayClick?: boolean;\n /** Callback called when modal closes */\n closeCallback?: <T>(resp: T) => void;\n /** Layer is created with max z-index */\n alwaysOnTop?: boolean;\n}\n\n/** Default value of config */\nconst defaultConfig: LayerConfig = {\n closeOnEsc: true,\n overlay: false,\n position: LAYER_POSITION.TOP_LEFT,\n component: null,\n exitDelay: 0,\n closeOnOverlayClick: true,\n alwaysOnTop: false,\n};\n\n/** Metadata of each layer */\ninterface Layer {\n id: string;\n config: LayerConfig;\n element: HTMLDivElement;\n}\n\n/** Styles for each position */\nconst POSITION_STYLE = {\n [LAYER_POSITION.TOP_LEFT]: 'top: 0; left: 0;',\n [LAYER_POSITION.TOP_CENTER]: 'top: 0; left: 50%; justify-content: center;',\n [LAYER_POSITION.TOP_RIGHT]: 'top: 0; right: 0; justify-content: flex-end;',\n [LAYER_POSITION.BOTTOM_LEFT]: 'bottom: 0; left: 0;',\n [LAYER_POSITION.BOTTOM_CENTER]: 'bottom: 0; left: 50%; justify-content: center;',\n [LAYER_POSITION.BOTTOM_RIGHT]: 'bottom: 0; right: 0; justify-content: flex-end;',\n [LAYER_POSITION.DIALOG]: 'top: 0; left: 0; justify-content: center; align-items: center;',\n};\n\n/** Layer container component. */\nconst Container = styled.div<LayerConfig & { zIndex: number }>`\n position: fixed;\n display: flex;\n opacity: 0;\n transition: opacity 0.3s ease;\n ${(props) => POSITION_STYLE[props.position]}\n ${(props) =>\n props.overlay &&\n `\n width: 100%;\n height: 100vh;\n background-color: var(--backdrop-color, #2681da80);\n backdrop-filter: blur(0px);\n pointer-events: all;\n `}\n z-index: ${(props) => props.zIndex};\n\n .nf-layer-enter & {\n opacity: 1;\n ${(props) =>\n props.overlay &&\n `\n backdrop-filter: blur(3px);\n `}\n }\n`;\n\n/** Key code for different keys. */\nconst KEY_CODES = {\n ESC: 27,\n};\n\n/**\n * This is a shared helper class which manages the z-index of each layer.\n * If a component needs to be rendered in a different layer then this class\n * should be used. It internally maintains the stack of opened layer and each\n * `renderLayer` call will push a new layer in stack.\n *\n * This way we need not worry about the z-index and can freely keep on creating\n * new layers. The staring layer z-index is 10000. Leaving enough z-index for the\n * user if they desires so.\n *\n * @important Usage Pattern\n * To avoid creating duplicate layers (especially in React Strict Mode or Next.js),\n * always call `renderLayer` only once - either in a lifecycle method (like `componentDidUpdate`)\n * or in an imperative method (like `open()`).\n *\n * @example\n * // ❌ Don't call renderLayer in render() method\n * render() {\n * if (this.state.show) {\n * const [Component, closeFn] = LayerManager.renderLayer({ ... }); // Creates new layer on every render\n * return <Component />;\n * }\n * }\n *\n * @example\n * // ✅ Do call renderLayer once in a method and store the component\n * open() {\n * const [Component, closeFn] = LayerManager.renderLayer({ ... });\n * this.setState({ LayerComponent: Component });\n * }\n *\n * render() {\n * const { LayerComponent } = this.state;\n * return LayerComponent ? <LayerComponent /> : null;\n * }\n */\nclass LayerManager {\n /** Layer stack */\n private layers: Layer[] = [];\n /** z-index of the next layer */\n private nextIndex = 10000;\n\n /**\n * Constructor simply registers a event listener on body to\n * react to esc key press.\n */\n constructor() {\n if (typeof document !== 'undefined') {\n document.body.addEventListener('keyup', (e) => {\n if (this.layers.length && e.keyCode === KEY_CODES.ESC) {\n const lastLayer = this.layers.slice(-1)[0];\n if (lastLayer.config.closeOnEsc !== false) {\n this.unmount(lastLayer);\n }\n }\n });\n }\n }\n\n /**\n * Un-mounts a layer.\n *\n * It first adds a class 'nf-layer-exit' and then un-mounts the\n * layer after the `exitDelay` mentioned in the layer config.\n * This class will help component in triggering the entry animation.\n *\n * @param layer\n */\n private unmount = (layer: Layer, resp?: unknown) => {\n layer.element.setAttribute('class', 'nf-layer-exit');\n this.layers.splice(\n this.layers.findIndex((item) => item === layer),\n 1,\n );\n\n setTimeout(() => {\n try {\n layer.config.closeCallback?.(resp);\n } catch (e) {\n // Error in callback function. Ignore and proceed.\n console.warn(e.message);\n }\n }, layer.config.exitDelay);\n };\n\n /**\n * Renders a layer.\n * @param config\n */\n public renderLayer = (\n config: LayerConfig,\n ): [() => React.ReactPortal | null, (resp?: unknown) => void] => {\n // SSR guard\n if (typeof document === 'undefined') {\n return [() => null, () => {}];\n }\n\n // Merge default config with the provided config.\n const layerConfig = {\n ...defaultConfig,\n ...config,\n };\n\n // Get the z-index for the new layer\n const currentIndex = layerConfig.alwaysOnTop ? 2147483647 : this.nextIndex++;\n\n // Create a unique ID for tracking this layer\n const layerId = `nf-layer-manager-${currentIndex}`;\n\n const overlayClickHandler = () => {\n const layer = this.layers.find((l) => l.id === layerId);\n if (layer && layer.config.closeOnOverlayClick !== false) {\n this.unmount(layer);\n }\n };\n\n const closeFn = (resp?: unknown) => {\n const layer = this.layers.find((l) => l.id === layerId);\n if (layer) {\n this.unmount(layer, resp);\n }\n };\n\n // Return callback which will trigger the un-mount.\n return [\n (): ReactPortal | null => {\n const [divElement, setDivElement] = React.useState<HTMLDivElement | null>(null);\n\n useEffect(() => {\n // Create the div element only once when component mounts\n const div = document.createElement('div');\n div.setAttribute('id', layerId);\n document.body.appendChild(div);\n\n // Add layer to stack\n const currentLayer = {\n id: layerId,\n config: layerConfig,\n element: div,\n };\n this.layers.push(currentLayer);\n\n setDivElement(div);\n // Add entry animation class after a short delay\n setTimeout(() => {\n div.setAttribute('class', 'nf-layer-enter');\n }, 10);\n\n // Cleanup function - remove div when component unmounts\n return () => {\n if (document.body.contains(div)) {\n document.body.removeChild(div);\n }\n // Remove from layers array\n const index = this.layers.findIndex((layer) => layer.id === layerId);\n if (index !== -1) {\n this.layers.splice(index, 1);\n }\n };\n }, []); // Empty dependency array - run only once\n\n if (!divElement) {\n return null;\n }\n\n return ReactDOM.createPortal(\n <Container onClick={overlayClickHandler} zIndex={currentIndex} {...layerConfig}>\n {layerConfig.component}\n </Container>,\n divElement,\n );\n },\n closeFn,\n ];\n };\n}\n\n// Return the instance of the class to create a Singleton.\nexport default new LayerManager();\n","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","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","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","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\ntype InputProps = React.AllHTMLAttributes<HTMLInputElement> & {\n /** Label for the field */\n label?: string;\n /** Error message for the field */\n errorText?: string;\n};\n\ntype InputInternalProps = InputProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n position: relative;\n margin: 10px 5px;\n`;\n\nconst TextField = styled.input<InputInternalProps>`\n outline: none;\n color: inherit;\n padding: 0 8px;\n line-height: 30px;\n min-height: 30px;\n width: 250px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary-light, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus + span,\n &:active + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled + span {\n color: #777;\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nconst Input = React.forwardRef<HTMLInputElement, Omit<InputProps, 'as'>>((props, ref) => {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <TextField\n {...props}\n ref={ref}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n />\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n});\n\nInput.displayName = 'Input';\n\nexport default Input;\n\nInput.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\ninterface TextAreaProps\n extends\n PropTypes.InferType<typeof TextArea.propTypes>,\n React.InputHTMLAttributes<HTMLTextAreaElement> {\n value?: string;\n}\n\ntype TextAreaInternalProps = TextAreaProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n position: relative;\n margin: 10px 5px;\n`;\n\nconst TextField = styled.textarea<TextAreaInternalProps>`\n border: none;\n color: inherit;\n padding: 8px;\n min-height: 150px;\n min-width: 250px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus + span,\n &:active + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled + span {\n color: var(--disabled, ${constants.DISABLED});\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nexport default function TextArea(props: TextAreaProps) {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <TextField\n {...props}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n />\n <span>{props.label}</span>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n}\n\nTextArea.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport ExpandMore from '../../icons/ExpandMore';\nimport constants from '../../shared/constants';\n\ninterface SelectProps\n extends\n PropTypes.InferType<typeof Select.propTypes>,\n React.InputHTMLAttributes<HTMLSelectElement> {\n value?: string;\n}\n\ntype SelectInternalProps = SelectProps & {\n touched: boolean;\n};\n\nconst Label = styled.label`\n display: inline-flex;\n flex-direction: column;\n position: relative;\n margin: 10px 5px;\n pointer-events: none;\n max-width: 268px;\n\n & svg {\n fill: currentColor;\n }\n`;\n\nconst SelectField = styled.select<SelectInternalProps>`\n border: none;\n color: inherit;\n padding: 0 8px;\n line-height: 30px;\n min-height: 32px;\n width: 268px;\n border-radius: 3px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n background-color: var(--background, ${constants.BACKGROUND});\n pointer-events: auto;\n appearance: none;\n\n /** Focused */\n &:focus,\n &:active {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:focus ~ span,\n &:active ~ span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** Disabled */\n &:disabled {\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:disabled ~ span {\n color: var(--disabled, ${constants.DISABLED});\n }\n\n /** Invalid */\n &: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 &:invalid {\n border-color: var(--error, ${constants.ERROR});\n }\n\n &: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 &:required + span:after {\n content: '*';\n margin-left: 2px;\n color: var(--error, ${constants.ERROR});\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 ${(props) =>\n props.value !== ''\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 &:focus + span, &:placeholder-shown + span {\n top: -8px;\n background: var(--background, ${constants.BACKGROUND});\n font-size: 12px;\n line-height: 14px;\n }\n`;\n\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\nconst ArrowContainer = styled.span`\n position: absolute;\n right: 8px;\n top: 8px;\n`;\n\nexport default function Select(props: SelectProps) {\n const [touched, setTouched] = useState(false);\n const [value, setValue] = useState(props.value || '');\n\n const handleFocus = (e: React.FocusEvent<HTMLSelectElement>) => {\n setTouched(true);\n if (props.onFocus) {\n props.onFocus(e);\n }\n };\n\n const onChangeHandler = (e: React.ChangeEvent<HTMLSelectElement>) => {\n if (props.onChange) {\n setValue(e.target.value);\n props.onChange(e);\n } else {\n setValue(e.target.value);\n }\n };\n\n return (\n <Label>\n <SelectField\n {...props}\n multiple={false}\n value={value}\n onChange={onChangeHandler}\n onFocus={handleFocus}\n touched={touched}\n >\n <option />\n {props.children}\n </SelectField>\n <span>{props.label}</span>\n <ArrowContainer>\n <ExpandMore />\n </ArrowContainer>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </Label>\n );\n}\n\nSelect.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** Error text to be shown below the field */\n errorText: PropTypes.string,\n};\n","import React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Label = styled.label`\n margin: 5px 0;\n position: relative;\n`;\n\nconst Input = styled.input`\n appearance: none;\n position: relative;\n margin: 0;\n\n &::before {\n content: '';\n width: 16px;\n height: 16px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n display: inline-block;\n border-radius: 3px;\n vertical-align: bottom;\n margin: 0 5px;\n text-align: center;\n line-height: 16px;\n background-color: var(--background, ${constants.BACKGROUND});\n transition: background-color 0.3s ease;\n }\n\n &::after {\n content: '';\n width: 3px;\n height: 10px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: translate(-16px, 1px);\n opacity: 0;\n transition: transform 0.3s ease;\n position: absolute;\n }\n\n /** checked */\n &:checked::before {\n content: '';\n background-color: var(--primary, ${constants.PRIMARY});\n border-color: var(--primary, ${constants.PRIMARY});\n color: #fff;\n }\n\n &:checked::after {\n opacity: 1;\n transform: translate(-16px, 2px) rotate(45deg);\n }\n\n /** indeterminate */\n &:indeterminate::before {\n content: '';\n background-color: var(--primary, ${constants.PRIMARY});\n border-color: var(--primary, ${constants});\n color: #fff;\n }\n\n &:indeterminate::after {\n width: 0;\n opacity: 1;\n transform: translate(-15px, 3px) rotate(90deg);\n }\n\n /** active and focus */\n &:enabled:active::before,\n &:focus::before {\n border-color: var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:enabled:active + span,\n &:focus + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** hover */\n &:enabled:hover::before {\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n &:enabled:hover + span {\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /** disabled */\n &:disabled::before {\n border-color: #aaa;\n }\n\n &:disabled + span {\n color: #aaa;\n }\n\n &:checked:disabled::before,\n &:indeterminate:disabled::before {\n background-color: #aaa;\n }\n`;\n\ntype CheckboxProps = Omit<React.HTMLProps<HTMLInputElement>, 'as'> &\n PropTypes.InferProps<typeof Checkbox.propTypes>;\n\nexport default function Checkbox(props: CheckboxProps) {\n const ref = useCallback(\n (node: unknown) => {\n if (node !== null) {\n if (props.indeterminate) {\n (node as HTMLInputElement).indeterminate = true;\n }\n }\n },\n [props.indeterminate],\n );\n\n return (\n <Label>\n <Input\n {...props}\n ref={ref}\n type=\"checkbox\"\n aria-checked={props.indeterminate ? 'mixed' : props.checked}\n />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nCheckbox.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n /** If the field is in indeterminate state */\n indeterminate: PropTypes.bool,\n};\n\nCheckbox.defaultProps = {\n indeterminate: false,\n label: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Switch = styled.label`\n position: relative;\n display: inline-flex;\n margin: 5px 0;\n`;\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n\n & + span {\n position: relative;\n cursor: pointer;\n width: 30px;\n height: 18px;\n background-color: ${constants.LIGHT_GREY};\n transition: 0.4s;\n border-radius: 10px;\n padding: 0 3px;\n margin: 0 10px 0 5px;\n }\n & + span:before {\n position: absolute;\n content: '';\n height: 14px;\n width: 14px;\n left: 1px;\n top: 1px;\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n border-radius: 50%;\n background-color: var(--background, ${constants.BACKGROUND});\n transition: 0.4s;\n }\n\n /* checked */\n &:checked + span {\n background-color: var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:checked + span:before {\n transform: translateX(18px);\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n /* focus */\n &:enabled:focus + span:before {\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n border-color: var(--primary, ${constants.PRIMARY});\n }\n\n /* hover */\n &:enabled:hover ~ span {\n cursor: pointer;\n color: var(--primary, ${constants.PRIMARY});\n }\n\n /* disabled */\n &:disabled ~ span {\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n\n &:disabled + span {\n background-color: ${constants.LIGHT_GREY};\n cursor: not-allowed;\n }\n\n &:disabled + span:before {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n border-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\ntype ToggleProps = PropTypes.InferProps<\n React.AllHTMLAttributes<HTMLInputElement> & typeof Toggle.propTypes\n>;\n\nfunction Toggle(props: ToggleProps) {\n return (\n <Switch>\n <Input {...props} type=\"checkbox\" />\n <span></span>\n <span>{props.label}</span>\n </Switch>\n );\n}\n\nToggle.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default Toggle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Label = styled.label`\n display: inline-flex;\n align-items: center;\n margin: 5px 0;\n`;\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n\n &::before {\n content: ' ';\n width: 16px;\n height: 16px;\n margin: 0 5px;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 50%;\n display: block;\n transition: background-color 0.3s ease;\n }\n\n /* checked */\n &:checked::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n background-color: var(--primary, ${constants.PRIMARY});\n box-shadow: inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n }\n\n /* focus */\n &:enabled:focus::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n cursor: pointer;\n }\n\n &:enabled:checked:focus::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n box-shadow:\n 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT}),\n inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n cursor: pointer;\n }\n\n /* hover */\n &:enabled:hover::before {\n border: 1px solid var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n }\n\n &:enabled:hover + span {\n color: var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n }\n\n /* disabled */\n &:disabled::before {\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--light-grey, ${constants.LIGHT_GREY});\n }\n\n &:disabled:checked::before {\n border: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n background-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n box-shadow: inset 0 0 0 3px var(--background, ${constants.BACKGROUND});\n }\n\n &:disabled + span {\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\nfunction Radio(\n props: PropTypes.InferProps<React.AllHTMLAttributes<HTMLInputElement> & typeof Radio.propTypes>,\n) {\n return (\n <Label>\n <Input {...props} type=\"radio\" />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nRadio.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default Radio;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Input = styled.input`\n appearance: none;\n margin: 0;\n width: 0;\n\n & + span {\n color: var(--primary, ${constants.PRIMARY});\n padding: 6px 12px;\n border: none;\n border: 1px solid var(--primary, ${constants.PRIMARY});\n cursor: pointer;\n margin-right: -1px;\n line-height: 18px;\n }\n\n &:enabled:focus + span {\n box-shadow: 0 0 0 4px var(--primary, ${constants.PRIMARY_LIGHT});\n }\n\n &:enabled:hover + span {\n background-color: var(--primary, ${constants.PRIMARY_LIGHT});\n color: #fff;\n }\n\n &:enabled:checked + span {\n background-color: var(--primary, ${constants.PRIMARY});\n color: #fff;\n }\n\n &:disabled + span {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n color: var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n\n &:disabled:checked + span {\n background-color: var(--disabled-border, ${constants.DISABLED_BORDER});\n color: #fff;\n }\n`;\n\nconst Label = styled.label`\n display: inline-flex;\n\n &:focus-within {\n z-index: 1;\n }\n`;\n\nexport const RadioGroup = styled.div`\n display: inline-flex;\n align-items: center;\n border-radius: 3px;\n margin: 5px 0;\n\n & ${Label}:first-child > span {\n border-radius: 3px 0 0 3px;\n }\n\n & ${Label}:last-child > span {\n border-radius: 0 3px 3px 0;\n }\n`;\n\nfunction RadioButton(\n props: PropTypes.InferProps<\n React.AllHTMLAttributes<HTMLInputElement> & typeof RadioButton.propTypes\n >,\n) {\n return (\n <Label>\n <Input {...props} type=\"radio\" />\n <span>{props.label}</span>\n </Label>\n );\n}\n\nRadioButton.propTypes = {\n /** Label for the field */\n label: PropTypes.string,\n};\n\nexport default RadioButton;\n","import { createContext } from 'react';\n\ntype SingleSelect<T> = {\n value: T;\n multiSelect: false;\n updateValue: (newVal: T) => void;\n};\n\ntype MultiSelect<T> = {\n value: T[];\n multiSelect: true;\n updateValue: (newVal: T[]) => void;\n};\nexport type MenuContextType<T> = SingleSelect<T> | MultiSelect<T>;\n\nexport default createContext<MenuContextType<object>>(undefined);\n","import React, { useState, ReactNode, ForwardedRef } from 'react';\nimport styled from '@emotion/styled';\nimport MenuContext from './MenuContext';\ninterface MenuProps<T> {\n /** Multiple Menu Items can be selected */\n multiSelect?: boolean;\n /** Value(s) selected */\n value?: T | T[];\n /** Callback when the selected value changes */\n onChange?: (value: T | T[]) => void;\n /** Menu Items */\n children?: ReactNode;\n}\n\nconst MenuContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n\n & div:last-child {\n border-bottom: none;\n }\n`;\n\nconst Menu = React.forwardRef(function <T extends object>(\n props: MenuProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { multiSelect, onChange } = props;\n const [value, setValue] = useState(props.value || (multiSelect ? [] : ''));\n\n const updateValue = (val: T) => {\n let newVal;\n if (multiSelect) {\n if (Array.isArray(value)) {\n if (value.includes(val)) {\n newVal = value.filter((item) => item !== val);\n } else {\n newVal = [...value, val];\n }\n }\n } else {\n newVal = val;\n }\n setValue(newVal);\n onChange?.(newVal);\n };\n\n return (\n <MenuContext.Provider\n value={\n {\n value,\n multiSelect,\n updateValue,\n } as unknown as React.ContextType<typeof MenuContext>\n }\n >\n <MenuContainer ref={ref}>{props.children}</MenuContainer>\n </MenuContext.Provider>\n );\n});\n\nMenu.displayName = 'Menu';\n\nMenu.defaultProps = {\n multiSelect: false,\n};\n\nexport default Menu;\n","import React, { SyntheticEvent, useContext } from 'react';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport Checkbox from '../Input/Checkbox';\nimport MenuContext, { MenuContextType } from './MenuContext';\n\ninterface MenuItemProps<T> {\n /** Value of the element */\n value: T & T[];\n}\n\nconst Container = styled.button<{ selected: boolean }>`\n font-weight: ${(props) => (props.selected ? 'bold' : 'normal')};\n padding: 8px 6px;\n border: none;\n background-color: transparent;\n font-size: 16px;\n border-bottom: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n min-height: 41px;\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n\n &:hover,\n &:focus,\n &:focus-within {\n background-color: var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n }\n\n & > label {\n margin: 0 4px 0 0;\n }\n`;\n\nexport default function MenuItem<T>(props: MenuItemProps<T> & React.PropsWithChildren<unknown>) {\n const context = useContext(MenuContext) as MenuContextType<T>;\n const { value, children, ...rest } = props;\n const clickHandler = (e: SyntheticEvent) => {\n e.stopPropagation();\n if (context.multiSelect) {\n e.nativeEvent.stopImmediatePropagation();\n }\n context.updateValue(value);\n };\n\n const selected = context.multiSelect\n ? context.value?.includes?.(value)\n : context.value === value;\n\n return (\n <Container\n {...rest}\n type=\"button\"\n tabIndex={context.multiSelect ? -1 : 0}\n selected={selected}\n onClick={clickHandler}\n >\n {context.multiSelect && <Checkbox checked={selected} />}\n {children}\n </Container>\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport { Card } from '../Card';\n\nexport enum POPOVER_POSITION {\n TOP_LEFT = 'TOP_LEFT',\n TOP_RIGHT = 'TOP_RIGHT',\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\ninterface translate {\n x: number;\n y: number;\n}\n\nconst positionMap = {\n [POPOVER_POSITION.TOP_LEFT]: `\n bottom: calc(100% - 10px);\n left: 0;\n `,\n [POPOVER_POSITION.TOP_RIGHT]: `\n bottom: calc(100% - 10px);\n right: 0;\n `,\n [POPOVER_POSITION.BOTTOM_RIGHT]: `\n top: calc(100% - 10px);\n right: 0;\n `,\n [POPOVER_POSITION.BOTTOM_LEFT]: `\n top: calc(100% - 10px);\n left: 0;\n `,\n};\n\nconst PopoverDiv = styled.div`\n position: relative;\n display: inline-flex;\n`;\n\nconst Popper = styled(Card)<{ position: POPOVER_POSITION; translateX: number; translateY: number }>`\n position: absolute;\n width: 100%;\n min-width: 200px;\n overflow: auto;\n animation: enter 0.3s linear;\n border-radius: 3px;\n z-index: 1;\n transform: translate(${(props) => props.translateX}px, ${(props) => props.translateY}px);\n ${(props) => positionMap[props.position]}\n\n &.closing {\n /* max-height: 0px;\n opacity: 0;\n overflow: hidden; */\n animation: exit 0.3s linear;\n }\n\n @keyframes enter {\n from {\n max-height: 0px;\n opacity: 1;\n overflow: hidden;\n }\n to {\n max-height: 300px;\n opacity: 1;\n overflow: hidden;\n }\n }\n\n @keyframes exit {\n to {\n max-height: 0px;\n opacity: 1;\n overflow: hidden;\n }\n from {\n max-height: 300px;\n opacity: 1;\n overflow: hidden;\n }\n }\n`;\n\nconst KEY_CODES = {\n ESC: 27,\n};\n\nexport default function Popover(\n props: React.PropsWithChildren<PropTypes.InferProps<typeof Popover.propTypes>>,\n) {\n const [open, setOpen] = useState(props.open);\n const [closing, setClosing] = useState(false);\n const [translate, setTranslate] = useState<translate>({ x: 0, y: 0 });\n const popperRef = useRef<HTMLDivElement>();\n const containerRef = useRef<HTMLDivElement>();\n\n const close = useCallback(() => {\n setClosing(true);\n setTimeout(() => {\n setOpen(false);\n setTranslate({ x: 0, y: 0 });\n if (props.onClose) {\n props.onClose();\n }\n setClosing(false);\n }, 280);\n }, [props]);\n\n const keyupEventHandler = useCallback(\n (e: KeyboardEvent) => {\n if (props.closeOnEsc && e.keyCode === KEY_CODES.ESC) {\n close();\n }\n },\n [close, props.closeOnEsc],\n );\n\n const clickOutsideHandler = useCallback(\n (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n close();\n }\n },\n [close],\n );\n\n /**\n * Get called on popover mount.\n */\n useEffect(() => {\n document.addEventListener('keyup', keyupEventHandler);\n\n return () => {\n document.removeEventListener('keyup', keyupEventHandler);\n document.removeEventListener('click', clickOutsideHandler);\n };\n }, [clickOutsideHandler, close, keyupEventHandler]);\n\n useEffect(() => {\n if (props.open) {\n setOpen(true);\n // Use requestAnimationFrame to add listener after current event loop\n requestAnimationFrame(() => {\n document.addEventListener('click', clickOutsideHandler);\n });\n } else {\n if (open) {\n close();\n }\n }\n\n return () => {\n document.removeEventListener('click', clickOutsideHandler);\n };\n }, [props.open, open, clickOutsideHandler, close]);\n\n useEffect(() => {\n if (open) {\n const { top, left, right } = popperRef.current.getBoundingClientRect();\n const height = popperRef.current.scrollHeight;\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n const translation = { x: 0, y: 0 };\n\n if (props.position === POPOVER_POSITION.BOTTOM_LEFT) {\n // overflow can happen at bottom and right\n if (viewportHeight - top - height < 0) {\n translation.y = -1 * (Math.abs(viewportHeight - top - height) + 5);\n }\n if (viewportWidth - right < 0) {\n translation.x = -1 * (Math.abs(viewportWidth - right) + 5);\n }\n } else if (props.position == POPOVER_POSITION.BOTTOM_RIGHT) {\n // overflow can happen at bottom and left\n if (viewportHeight - top - height < 0) {\n translation.y = -1 * (Math.abs(viewportHeight - top - height) + 5);\n }\n if (left < 0) {\n translation.x = Math.abs(left) + 5;\n }\n } else if (props.position === POPOVER_POSITION.TOP_LEFT) {\n // overflow can happen at top and right\n if (top - height < 0) {\n translation.y = Math.abs(top - height) + 5;\n }\n if (viewportWidth - right < 0) {\n translation.x = -1 * (Math.abs(viewportWidth - right) + 5);\n }\n } else {\n // overflow can happen at top and left\n if (top - height < 0) {\n translation.y = Math.abs(top - height) + 5;\n }\n if (left < 0) {\n translation.x = Math.abs(left) + 5;\n }\n }\n // Note it can still overflow, but in that case fitting popper inside the\n // window is not possible.\n setTranslate(translation);\n popperRef.current.focus();\n }\n }, [open, props.position]);\n\n return (\n <PopoverDiv ref={containerRef}>\n <props.element />\n {open && (\n <Popper\n elevated\n tabIndex={0}\n position={props.position}\n translateX={translate.x}\n translateY={translate.y}\n className={closing && 'closing'}\n ref={popperRef}\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n >\n {props.children}\n </Popper>\n )}\n </PopoverDiv>\n );\n}\n\nPopover.propTypes = {\n /** Opens the popover */\n open: PropTypes.bool.isRequired,\n /** Anchor element for the popover */\n element: PropTypes.func,\n /** Position of the popover around anchor element */\n position: PropTypes.oneOf([\n POPOVER_POSITION.TOP_LEFT,\n POPOVER_POSITION.TOP_RIGHT,\n POPOVER_POSITION.BOTTOM_LEFT,\n POPOVER_POSITION.BOTTOM_RIGHT,\n ]),\n /** If the popover should close on `esc` key press */\n closeOnEsc: PropTypes.bool,\n /** Popover close callback */\n onClose: PropTypes.func,\n};\n\nPopover.defaultProps = {\n closeOnEsc: true,\n position: POPOVER_POSITION.BOTTOM_LEFT,\n};\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { ExpandMore } from '../../icons';\nimport { Menu } from '../Menu';\nimport { Popover, POPOVER_POSITION } from '../Popover';\nimport Input from './Input';\n\ntype DropdownProps<T> = {\n /** Value of the control */\n value?: T | T[];\n /** If multiple elements can be selected */\n multiSelect: boolean;\n /** Change handler */\n onChange?: (v: T | T[]) => void;\n /** Label of the control */\n label?: string;\n /** Error message */\n errorText?: string;\n /** Makes field required */\n required?: boolean;\n /** Disables the field */\n disabled?: boolean;\n} & React.PropsWithChildren<unknown>;\n\nconst ArrowContainer = styled.span`\n position: absolute;\n right: 12px;\n top: 16px;\n pointer-events: none;\n`;\n\nexport default function Dropdown<T extends object>(props: DropdownProps<T>) {\n const { multiSelect, onChange } = props;\n const [open, setOpen] = useState(false);\n const [value, setValue] = useState(props.value);\n\n useEffect(() => {\n const focusHandler = (e: KeyboardEvent) => {\n if (open && (e.keyCode === 38 || e.keyCode === 40)) {\n e.preventDefault();\n const current = document.querySelector(':focus');\n if (current.tagName === 'DIV') {\n const firstBtn = current.querySelector('button');\n firstBtn?.focus();\n } else {\n const currentBtn = current.closest('button');\n if (e.keyCode === 38) {\n const prev = currentBtn?.previousElementSibling?.closest('button');\n prev?.focus();\n } else {\n const next = currentBtn?.nextElementSibling?.closest('button');\n next?.focus();\n }\n }\n return false;\n }\n };\n document.addEventListener('keydown', focusHandler);\n\n return () => {\n document.removeEventListener('keydown', focusHandler);\n };\n }, [open]);\n\n const clickHandler = () => setOpen(true);\n\n const keyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.keyCode === 40) {\n setOpen(true);\n }\n };\n\n const changeHandler = (val: T | T[]) => {\n setValue(val);\n onChange?.(val);\n\n // Close dropdown after selection if not multiSelect\n if (!multiSelect) {\n setOpen(false);\n }\n };\n\n return (\n <Popover\n position={POPOVER_POSITION.BOTTOM_LEFT}\n open={open}\n element={() => (\n <>\n <Input\n type=\"text\"\n value={value && String(value)}\n label={props.label}\n errorText={props.errorText}\n onClick={clickHandler}\n onKeyUp={keyUp}\n required={props.required}\n disabled={props.disabled}\n />\n <ArrowContainer>\n <ExpandMore />\n </ArrowContainer>\n </>\n )}\n onClose={() => setOpen(false)}\n >\n <Menu value={value} multiSelect={multiSelect} onChange={changeHandler}>\n {props.children}\n </Menu>\n </Popover>\n );\n}\n\nDropdown.defaultProps = {\n multiSelect: false,\n};\n","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","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","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Container = styled.div<PropTypes.InferProps<typeof Group.propTypes>>`\n display: inline-flex;\n border: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n border-radius: 3px;\n margin: 5px;\n\n /* overrides */\n & button,\n & label {\n margin: 0;\n border: none;\n border-radius: 0;\n border-left: 1px solid var(--border-color, ${constants.BORDER_COLOR});\n box-shadow: none;\n height: 32px;\n }\n\n & > div button {\n border-left: none;\n }\n\n & input,\n & select {\n border: none;\n height: 32px;\n }\n\n & input,\n & select {\n border-radius: 0;\n }\n\n & input:active,\n & select:active {\n box-shadow: none;\n }\n\n & > div > span {\n top: 8px;\n }\n\n /* Handling for first and last child */\n & > *:first-child,\n & > label:first-child input,\n & > label:first-child select,\n & > *:first-child label,\n & > *:first-child input {\n border-left: none;\n border-radius: 2px 0 0 2px;\n }\n\n & > *:last-child,\n & > label:last-child input,\n & > label:last-child select,\n & > *:last-child label,\n & > *:last-child input {\n border-radius: 0 2px 2px 0;\n }\n\n /* focus */\n & *:focus,\n & *:focus + span {\n z-index: 1;\n }\n\n &:focus-within,\n &:hover {\n box-shadow: var(--hover-shadow, ${constants.HOVER_SHADOW});\n }\n\n ${(props) =>\n props.errorText\n ? `\n border-color: var(--error, ${constants.ERROR});\n\n & > button, & > label {\n border-color: var(--error, ${constants.ERROR});\n }\n `\n : ''}\n`;\n\nconst ErrorContainer = styled.div`\n color: var(--error, ${constants.ERROR});\n margin-left: 8px;\n font-size: 12px;\n`;\n\nexport default function Group(\n props: React.PropsWithChildren<PropTypes.InferProps<typeof Group.propTypes>>,\n) {\n return (\n <>\n <Container {...props}>{props.children}</Container>\n {props.errorText && <ErrorContainer>{props.errorText}</ErrorContainer>}\n </>\n );\n}\n\nGroup.propTypes = {\n /** Error Message for the group */\n errorText: PropTypes.string,\n};\n","import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport default styled.label`\n height: 32px;\n background-color: ${constants.DISABLED_BACKGROUND};\n padding: 0 4px;\n line-height: 32px;\n min-width: 24px;\n text-align: center;\n color: ${constants.BORDER_COLOR};\n\n & > svg {\n height: 24px;\n width: 24px;\n vertical-align: middle;\n fill: currentColor;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nexport {\n Header as ModalHeader,\n Body as ModalBody,\n Footer as ModalFooter,\n} from '../../shared/styles';\nimport { DialogContainer as ModalContainer } from '../Dialog/Dialog';\n\ntype ModalProps = PropTypes.InferProps<typeof Modal.propTypes>;\n\ninterface ModalState {\n open: boolean;\n}\n\nexport default class Modal extends React.Component<\n React.PropsWithChildren<ModalProps>,\n ModalState\n> {\n state = {\n open: false,\n };\n\n static propTypes = {\n /** Opens the modal */\n open: PropTypes.bool.isRequired,\n /** Closes the modal on esc */\n closeOnEsc: PropTypes.bool,\n /** Closes the modal on overlay click */\n closeOnOverlayClick: PropTypes.bool,\n /** Call back function called when the modal closes. */\n onClose: PropTypes.func,\n };\n\n static defaultProps = {\n closeOnEsc: true,\n closeOnOverlayClick: true,\n };\n\n static getDerivedStateFromProps(props: ModalProps) {\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: ModalProps) {\n const { open, closeOnEsc, closeOnOverlayClick, children, ...rest } = 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: true,\n exitDelay: 300,\n position: LAYER_POSITION.DIALOG,\n closeCallback: this.onClose,\n closeOnEsc: closeOnEsc,\n closeOnOverlayClick: closeOnOverlayClick,\n component: (\n <ModalContainer {...rest} onClick={(e) => e.stopPropagation()} elevated>\n {children}\n </ModalContainer>\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","/** Position for Notification */\nexport enum NOTIFICATION_POSITION {\n TOP_LEFT = 'TOP_LEFT',\n TOP_RIGHT = 'TOP_RIGHT',\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** Type of Notifications */\nexport enum NOTIFICATION_TYPE {\n INFO = 'INFO',\n SUCCESS = 'SUCCESS',\n DANGER = 'DANGER',\n WARNING = 'WARNING',\n}\n\nexport interface NotificationOptions {\n /** Title of the notification */\n title: string;\n /** Body of the notification */\n description: string;\n /** Id for the notification, helps in de-duplication. */\n id?: string;\n /** Duration for the notification in milliseconds */\n duration?: number;\n /** Creates sticky notification */\n sticky?: boolean;\n /** Type of notification */\n type?: NOTIFICATION_TYPE;\n /** Action button text */\n buttonText?: string;\n /** Action button click callback */\n buttonClick?: () => void;\n /** Notification close callback. */\n onClose?: () => void;\n}\n","import styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport { Card } from '../Card';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\nconst getEntryAnimation = (position: NOTIFICATION_POSITION) => {\n switch (position) {\n case NOTIFICATION_POSITION.TOP_LEFT:\n case NOTIFICATION_POSITION.BOTTOM_LEFT:\n return 'in-left';\n default:\n return 'in-right';\n }\n};\n\nconst getExitAnimation = (position: NOTIFICATION_POSITION) => {\n switch (position) {\n case NOTIFICATION_POSITION.TOP_LEFT:\n case NOTIFICATION_POSITION.BOTTOM_LEFT:\n return 'out-left';\n default:\n return 'out-right';\n }\n};\n\nconst getBorderColor = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.SUCCESS:\n return `var(--success-light, ${constants.SUCCESS_LIGHT})`;\n case NOTIFICATION_TYPE.DANGER:\n return `var(--error-light, ${constants.ERROR_LIGHT})`;\n case NOTIFICATION_TYPE.WARNING:\n return `var(--warning-light, ${constants.WARNING_LIGHT})`;\n default:\n return `var(--info-light, ${constants.INFO_LIGHT})`;\n }\n};\n\nconst getTitleColor = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.SUCCESS:\n return `var(--success, ${constants.SUCCESS})`;\n case NOTIFICATION_TYPE.DANGER:\n return `var(--error, ${constants.ERROR})`;\n case NOTIFICATION_TYPE.WARNING:\n return `var(--warning, ${constants.WARNING})`;\n case NOTIFICATION_TYPE.INFO:\n return `var(--info, ${constants.INFO})`;\n }\n};\n\nconst getTypeStyle = (type: NOTIFICATION_TYPE) => {\n switch (type) {\n case NOTIFICATION_TYPE.INFO:\n return `color: var(--info, ${constants.INFO})`;\n case NOTIFICATION_TYPE.SUCCESS:\n return `color: var(--success, ${constants.SUCCESS})`;\n case NOTIFICATION_TYPE.DANGER:\n return `color: var(--error, ${constants.ERROR})`;\n case NOTIFICATION_TYPE.WARNING:\n return `color: var(--warning, ${constants.WARNING})`;\n }\n};\n\ninterface NoticeProp extends NotificationOptions {\n position: NOTIFICATION_POSITION;\n}\n\nexport const Container = styled.div<{ position: NOTIFICATION_POSITION }>`\n display: flex;\n flex-direction: ${(props) =>\n props.position === NOTIFICATION_POSITION.TOP_LEFT ||\n props.position === NOTIFICATION_POSITION.TOP_RIGHT\n ? 'column'\n : 'column-reverse'};\n`;\n\nexport const Notice = styled(Card)<NoticeProp>`\n border-radius: 3px;\n border-left: 4px solid ${(props) => getBorderColor(props.type)};\n width: 300px;\n display: flex;\n padding: 0 5px 5px 0;\n overflow: hidden;\n animation: ${(props) => getEntryAnimation(props.position)} 0.6s ease;\n\n & svg {\n fill: currentColor;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n }\n\n &.leave {\n animation: ${(props) => getExitAnimation(props.position)} 0.6s;\n }\n\n @keyframes in-right {\n from {\n transform: translateX(100%);\n max-height: 0;\n opacity: 0;\n }\n\n to {\n transform: translateX(0%);\n max-height: 150px;\n opacity: 1;\n }\n }\n\n @keyframes out-right {\n to {\n transform: translateX(100%);\n max-height: 0;\n opacity: 0;\n }\n\n from {\n transform: translateX(0%);\n max-height: 100px;\n opacity: 1;\n }\n }\n\n @keyframes in-left {\n from {\n transform: translateX(-100%);\n max-height: 0;\n opacity: 0;\n }\n\n to {\n transform: translateX(0%);\n max-height: 150px;\n opacity: 1;\n }\n }\n\n @keyframes out-left {\n to {\n transform: translateX(-100%);\n max-height: 0;\n opacity: 0;\n }\n\n from {\n transform: translateX(0%);\n max-height: 100px;\n opacity: 1;\n }\n }\n`;\n\nexport const Title = styled.div<{ type: NOTIFICATION_TYPE }>`\n padding: 5px 0;\n font-size: 14px;\n color: ${(props) => getTitleColor(props.type)};\n display: flex;\n align-items: center;\n`;\n\nexport const FillParent = styled.div`\n flex: 1;\n`;\n\nexport const CloseButton = styled.button`\n background-color: transparent;\n border: none;\n padding: none;\n cursor: pointer;\n\n &:focus {\n box-shadow: 0 0 0 3px var(--primary, ${constants.PRIMARY_LIGHT});\n border-radius: 3px;\n }\n`;\n\nexport const Body = styled.div`\n padding: 5px 5px 5px 0;\n font-size: 14px;\n`;\n\nexport const IconContainer = styled.div<{ type: NOTIFICATION_TYPE }>`\n padding: 6px 10px;\n ${(props) => getTypeStyle(props.type)};\n`;\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 0 5px;\n`;\n","import React from 'react';\nimport { Close, Info, ReportProblem, ErrorOutline, CheckCircle } from '../../icons';\nimport { ActionButton } from '../Button';\nimport {\n Container,\n Notice,\n Title,\n IconContainer,\n FillParent,\n Body,\n CloseButton,\n Footer,\n} from './style';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\ninterface NotificationManagerProps {\n // Notification Position\n position: NOTIFICATION_POSITION;\n // Callback for when stack is emptied\n onEmpty: () => void;\n}\n\n// Notice prop\ninterface NoticeProp extends NotificationOptions {\n leaving?: boolean;\n}\n\n// Manager state\ninterface NotificationManagerState {\n notices: NoticeProp[];\n}\n\ntype timeouts = {\n [id: string]: NodeJS.Timeout;\n};\n\nconst DEFAULT_DURATION = 5000;\n\n/**\n * Notification Manager class\n */\nclass NotificationManager extends React.Component<\n NotificationManagerProps,\n NotificationManagerState\n> {\n state: NotificationManagerState = {\n notices: [],\n };\n\n // bookkeeping for timeouts\n private timeouts: timeouts = {};\n\n // Set of notification ids\n private set = new Set<string>();\n\n /**\n * Removes a notification from stack if the notification with the given id is found.\n *\n * @param id\n */\n public remove = (id: string) => {\n // Trigger leaving animation.\n this.setState({\n notices: this.state.notices.map((notice) => ({\n ...notice,\n leaving: notice.id === id ? true : notice.leaving,\n })),\n });\n this.set.delete(id);\n\n // Remove notification on animation completion.\n setTimeout(() => {\n const notice = this.state.notices.find((notice) => notice.id === id);\n if (notice) {\n // call close callback, ignore any errors in callback.\n if (notice.onClose) {\n try {\n notice.onClose();\n } catch (e) {\n console.warn('Error in notification close callback', e.message);\n }\n }\n\n // Remove the notification\n this.setState(\n {\n notices: this.state.notices.filter((notice) => notice.id !== id),\n },\n () => {\n // Check if the stack is empty and then call the\n // empty callback function.\n if (this.state.notices.length === 0) {\n this.props.onEmpty();\n }\n },\n );\n }\n }, 550);\n };\n\n /**\n * Adds a notification to stack.\n *\n * @param notice\n */\n public add = (notice: NotificationOptions) => {\n // Generate unique id if not provided.\n const id = notice.id || (Math.random() * 10 ** 7).toFixed(0);\n\n // De-dupe on id\n if (!this.set.has(id)) {\n // Add notice to the top of stack.\n this.setState({\n notices: [\n {\n ...notice,\n id,\n },\n ...this.state.notices,\n ],\n });\n\n // set timeout for closing the notification.\n if (!notice.sticky) {\n this.timeouts[id] = setTimeout(\n () => this.remove(id),\n notice.duration || DEFAULT_DURATION,\n );\n }\n\n // Add id to the set.\n this.set.add(id);\n }\n\n return id;\n };\n\n /**\n * Handler for close button click.\n *\n * @param id\n */\n public closeClickHandler = (id: string) => () => {\n this.remove(id);\n };\n\n /**\n * Pause notification when user is hovering over it.\n *\n * @param id\n */\n public pause = (id: string) => () => {\n clearTimeout(this.timeouts[id]);\n };\n\n /**\n * Restart the removal of notification.\n *\n * @param id\n */\n public resume = (id: string) => () => {\n const notice = this.state.notices.find((notice) => notice.id === id);\n if (!notice.sticky) {\n this.timeouts[id] = setTimeout(() => this.remove(id), DEFAULT_DURATION);\n }\n };\n\n render() {\n return (\n <Container position={this.props.position}>\n {this.state.notices.map((notice) => {\n const {\n id,\n title,\n description,\n leaving,\n type = NOTIFICATION_TYPE.INFO,\n buttonText,\n buttonClick,\n } = notice;\n return (\n <Notice\n key={id}\n {...notice}\n position={this.props.position}\n className={leaving ? 'leave' : ''}\n onMouseEnter={this.pause(id)}\n onMouseLeave={this.resume(id)}\n >\n <IconContainer type={type}>\n {type === NOTIFICATION_TYPE.INFO && <Info />}\n {type === NOTIFICATION_TYPE.SUCCESS && <CheckCircle />}\n {type === NOTIFICATION_TYPE.WARNING && <ReportProblem />}\n {type === NOTIFICATION_TYPE.DANGER && <ErrorOutline />}\n </IconContainer>\n <FillParent>\n <Title type={type}>\n <FillParent>{title}</FillParent>\n <CloseButton onClick={this.closeClickHandler(id)}>\n <Close />\n </CloseButton>\n </Title>\n <Body>{description}</Body>\n {buttonText && (\n <Footer>\n <ActionButton\n onClick={() => {\n buttonClick?.();\n }}\n >\n {buttonText}\n </ActionButton>\n </Footer>\n )}\n </FillParent>\n </Notice>\n );\n })}\n </Container>\n );\n }\n}\n\nexport default NotificationManager;\n","import React, { type RefCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { flushSync } from 'react-dom';\nimport { createRoot, type Root } from 'react-dom/client';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nimport NotificationManager from './NotificationManager';\nimport { NOTIFICATION_POSITION, NOTIFICATION_TYPE, NotificationOptions } from './types';\n\ntype NotificationProps = PropTypes.InferProps<typeof StoryProps.propTypes>;\n\n/** This component is only used for storybook documentation */\nexport class StoryProps extends React.Component<NotificationProps> {\n static propTypes = {\n /** Title of the notification */\n title: PropTypes.string.isRequired,\n /** Body of the notification */\n description: PropTypes.string.isRequired,\n /** Id for the notification, helps in de-duplication. */\n id: PropTypes.string,\n /** Duration for the notification in milliseconds */\n duration: PropTypes.number,\n /** Creates sticky notification */\n sticky: PropTypes.bool,\n /** Type of notification */\n type: PropTypes.oneOf([\n NOTIFICATION_TYPE.INFO,\n NOTIFICATION_TYPE.SUCCESS,\n NOTIFICATION_TYPE.WARNING,\n NOTIFICATION_TYPE.DANGER,\n ]),\n /** Action button text */\n buttonText: PropTypes.string,\n /** Action button click callback */\n buttonClick: PropTypes.func,\n /** Notification close callback. */\n onClose: PropTypes.func,\n };\n\n static defaultProps = {\n duration: 5000,\n sticky: false,\n type: NOTIFICATION_TYPE.INFO,\n };\n\n render(): React.ReactNode {\n return null;\n }\n}\n\n/** Maps notification position to layer position */\nconst positionMap = {\n [NOTIFICATION_POSITION.TOP_LEFT]: LAYER_POSITION.TOP_LEFT,\n [NOTIFICATION_POSITION.TOP_RIGHT]: LAYER_POSITION.TOP_RIGHT,\n [NOTIFICATION_POSITION.BOTTOM_LEFT]: LAYER_POSITION.BOTTOM_LEFT,\n [NOTIFICATION_POSITION.BOTTOM_RIGHT]: LAYER_POSITION.BOTTOM_RIGHT,\n};\n\n/** Notification class */\nclass Notification {\n /** Helps in maintaining single instance for different positions. */\n private containers: Map<\n NOTIFICATION_POSITION,\n {\n manager: NotificationManager | null;\n root: Root;\n div: HTMLDivElement;\n }\n > = new Map();\n\n /**\n * Adds a notification\n *\n * @param position - The position where the notification should appear\n * @param options - Configuration options for the notification\n * @returns The notification ID or a promise that resolves to the notification ID\n */\n public add = (position: NOTIFICATION_POSITION, options: NotificationOptions) => {\n if (!this.containers.has(position)) {\n /** Callback ref to capture the NotificationManager instance when it mounts */\n const refCallback: RefCallback<NotificationManager> = (instance) => {\n if (instance) {\n const container = this.containers.get(position);\n if (container) {\n container.manager = instance;\n }\n }\n };\n\n const [Component] = LayerManager.renderLayer({\n closeOnEsc: false,\n closeOnOverlayClick: false,\n position: positionMap[position],\n alwaysOnTop: true,\n component: (\n <NotificationManager\n ref={refCallback}\n position={position}\n onEmpty={() => this.destroy(position)}\n />\n ),\n });\n\n // Create a div to mount the Component\n const div = document.createElement('div');\n document.body.appendChild(div);\n const root = createRoot(div);\n\n this.containers.set(position, {\n manager: null,\n root,\n div,\n });\n\n // Render the Component which will trigger the LayerManager's useEffect\n flushSync(() => {\n root.render(<Component />);\n });\n }\n\n const container = this.containers.get(position);\n if (container && container.manager) {\n return container.manager.add(options);\n }\n\n // If manager is not ready yet, wait a bit and retry\n return new Promise((resolve) => {\n setTimeout(() => {\n const container = this.containers.get(position);\n if (container && container.manager) {\n resolve(container.manager.add(options));\n }\n }, 10);\n });\n };\n\n /**\n * Removes a notification\n *\n * @param position - The position of the notification container\n * @param id - The unique ID of the notification to remove\n */\n public remove = (position: NOTIFICATION_POSITION, id: string) => {\n const container = this.containers.get(position);\n if (container && container.manager) {\n container.manager.remove(id);\n }\n };\n\n /**\n * Destroys entire stack of notifications at a position.\n * Unmounts the React root and cleans up DOM elements.\n *\n * @param position - The position of the notification container to destroy\n */\n public destroy = (position: NOTIFICATION_POSITION) => {\n const container = this.containers.get(position);\n if (container) {\n container.root.unmount();\n if (document.body.contains(container.div)) {\n document.body.removeChild(container.div);\n }\n this.containers.delete(position);\n }\n };\n}\n\n/** Export a singleton instance */\nexport default new Notification();\n","import PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst SpinnerDiv = styled.div<SpinnerProp>`\n border: 4px solid var(--primary, ${constants.PRIMARY});\n border-top: 4px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n border-radius: 50%;\n width: ${(props) => props.size}px;\n height: ${(props) => props.size}px;\n margin: 0 auto;\n animation: spin 1s linear infinite;\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n\nfunction Spinner(props: SpinnerProp) {\n return <SpinnerDiv {...props} />;\n}\n\ntype SpinnerProp = PropTypes.InferProps<typeof Spinner.propTypes>;\n\nSpinner.propTypes = {\n /** Spinner's size */\n size: PropTypes.number,\n};\n\nSpinner.defaultProps = {\n size: 30,\n};\n\nexport default Spinner;\n","import { Children, PropsWithChildren, useState, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport { Ellipsis } from '../../shared/styles';\nimport { Badge, BADGE_TYPE } from '../Badge';\n\ntype StepperProps = PropsWithChildren<{\n active: number;\n onStepClick?: (index: number) => void;\n}>;\n\nconst Container = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 400px;\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n border-bottom: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});\n\n @media (min-width: 601px) {\n &::before {\n position: absolute;\n top: 25px;\n left: 0;\n right: 0;\n height: 2px;\n background-color: var(--light-grey, ${constants.LIGHT_GREY});\n content: ' ';\n z-index: 0;\n }\n }\n\n & > * {\n z-index: 1;\n }\n`;\n\nconst HeaderButton = styled.button<{ active: boolean }>`\n border: none;\n padding: 16px 24px 16px 16px;\n font-size: 16px;\n cursor: pointer;\n background-color: ${(props) =>\n props.active\n ? `var(--border-light-color, ${constants.BORDER_LIGHT_COLOR})`\n : `var(--background, ${constants.BACKGROUND})`};\n font-weight: ${(props) => (props.active ? 'bold' : 'normal')};\n overflow: hidden;\n display: flex;\n align-items: center;\n\n &:disabled {\n cursor: not-allowed;\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n }\n\n &:enabled:hover,\n &:focus {\n background-color: var(--primary-light, ${constants.PRIMARY_LIGHTER});\n }\n\n @media (max-width: 600px) {\n & {\n display: none;\n }\n }\n`;\n\nconst MobileHeader = styled.div`\n padding: 16px;\n font-size: 16px;\n line-height: 18px;\n align-items: center;\n font-weight: bold;\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n @media (min-width: 601px) {\n & {\n display: none;\n }\n }\n`;\n\nexport default function Stepper(props: StepperProps) {\n const [active, setActive] = useState(props.active);\n const { children, onStepClick } = props;\n const childrenArray = Children.toArray(children);\n\n const stepClickHandler = (index: number) => () => {\n setActive(index);\n onStepClick?.(index);\n };\n\n const getBadgeType = (index: number, completed: boolean, disabled: boolean) => {\n if (disabled) {\n return BADGE_TYPE.DISABLED;\n } else if (index === active) {\n return BADGE_TYPE.PRIMARY;\n } else if (completed) {\n return BADGE_TYPE.SUCCESS;\n }\n return BADGE_TYPE.DISABLED;\n };\n\n return (\n <Container>\n <Header>\n {Children.map(children, (child, index) => {\n if (!isValidElement(child)) return null;\n return (\n <>\n <HeaderButton\n active={index === active}\n type=\"button\"\n disabled={child.props.disabled}\n onClick={stepClickHandler(index)}\n >\n <Badge\n inline\n type={getBadgeType(\n index,\n child.props.completed,\n child.props.disabled,\n )}\n />\n <Ellipsis>{child.props.name}</Ellipsis>\n </HeaderButton>\n </>\n );\n })}\n <MobileHeader>\n <span>\n {isValidElement(childrenArray[active])\n ? childrenArray[active].props.name\n : ''}\n </span>\n <Badge inline type={BADGE_TYPE.PRIMARY}>\n {active + 1} of {Children.count(children)}\n </Badge>\n </MobileHeader>\n </Header>\n {childrenArray[active]}\n </Container>\n );\n}\n\nStepper.propTypes = {\n /** Index of currently active step */\n active: PropTypes.number,\n /** Callback function for click event on a step */\n onStepClick: PropTypes.func,\n};\n\nStepper.defaultProps = {\n active: 0,\n};\n","import React from 'react';\nimport styled from '@emotion/styled';\n\ninterface StepProps {\n /** Name of the step to be displayed in the header */\n name: string;\n /** Disables the step */\n disabled?: boolean;\n /** Marks the step as completed */\n completed?: boolean;\n}\n\nconst Container = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n`;\n\nexport default function Step(props: React.PropsWithChildren<StepProps>) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { name, disabled, completed, ...rest } = props;\n return <Container {...rest} />;\n}\n\nStep.defaultProps = {\n disabled: false,\n completed: false,\n};\n","import { useState, Children, useEffect, PropsWithChildren, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nconst Button = styled.button<{ active: boolean }>`\n background-color: transparent;\n border: none;\n padding: 8px 12px;\n font-size: 14px;\n border-radius: 3px 3px 0 0;\n border-bottom: ${(props) =>\n props.active ? `3px solid var(--primary, ${constants.PRIMARY})` : 'none'};\n color: ${(props) => (props.active ? `var(--primary, ${constants.PRIMARY})` : '#000')};\n cursor: pointer;\n\n &:hover,\n &:focus {\n background-color: var(--primary-lighter, #cfe9ff);\n border-bottom: ${(props) =>\n props.active\n ? `3px solid var(--primary, ${constants.PRIMARY})`\n : `3px solid var(--primary, ${constants.PRIMARY})`};\n }\n\n &[disabled] {\n background-color: var(--disabled-background, ${constants.DISABLED_BACKGROUND});\n color: var(--disabled, ${constants.DISABLED});\n border-bottom: 3px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n }\n`;\n\nconst ButtonContainer = styled.div`\n border-bottom: 1px solid var(--disabled-border, ${constants.DISABLED_BORDER});\n margin-bottom: 5px;\n position: relative;\n`;\n\nconst TabBody = styled.div`\n min-height: 150px;\n`;\n\ntype ITabsProps = PropsWithChildren<{\n active?: number;\n onChange?: (index: number) => void;\n props?: object;\n bodyProps?: object;\n}>;\n\nexport default function Tabs(props: ITabsProps) {\n const [active, setActive] = useState(props.active);\n const switchTab = (index: number) => () => setActive(index);\n const { children } = props;\n\n useEffect(() => {\n setActive(props.active);\n props.onChange?.(props.active);\n }, [props]);\n\n return (\n <>\n <ButtonContainer {...props.props}>\n {Children.map(children, (child, index) => (\n <Button\n type=\"button\"\n active={active === index}\n onClick={switchTab(index)}\n disabled={isValidElement(child) ? child.props.disabled : false}\n >\n {isValidElement(child) ? child.props.name : ''}\n </Button>\n ))}\n </ButtonContainer>\n <TabBody {...props.bodyProps}>{Children.toArray(children)[active]}</TabBody>\n </>\n );\n}\n\nTabs.propTypes = {\n /** Active Tab Index */\n active: PropTypes.number,\n /** OnChange event handler */\n onChange: PropTypes.func,\n /** Props for div that contains tab buttons */\n props: PropTypes.object,\n /** Props for div that contains tab body */\n bodyProps: PropTypes.object,\n};\n\nTabs.defaultProps = {\n active: 0,\n};\n","import { PropsWithChildren } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Tab = (props: PropsWithChildren<{ name: string; disabled: boolean }>) => {\n const { children } = props;\n return <>{children}</>;\n};\n\nTab.propTypes = {\n /** Name of the tab. This shown in the tab's button */\n name: PropTypes.string.isRequired,\n /** If the tab is disabled */\n disabled: PropTypes.bool,\n};\n\nTab.defaultProps = {\n disabled: false,\n};\n\nexport default Tab;\n","import { createRoot, type Root } from 'react-dom/client';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\nimport { Card } from '../Card';\n\nexport interface ToastOptions {\n text: string;\n buttonText?: string;\n buttonClick?: () => void;\n duration?: number;\n type?: TOAST_TYPE;\n}\n\nexport enum TOAST_TYPE {\n NORMAL = 'NORMAL',\n INFO = 'INFO',\n SUCCESS = 'SUCCESS',\n WARNING = 'WARNING',\n DANGER = 'DANGER',\n}\n\nconst getBackgroundColor = (type: TOAST_TYPE) => {\n switch (type) {\n case TOAST_TYPE.INFO:\n return `var(--info, ${constants.INFO})`;\n case TOAST_TYPE.SUCCESS:\n return `var(--success, ${constants.SUCCESS})`;\n case TOAST_TYPE.WARNING:\n return `var(--warning, ${constants.WARNING})`;\n case TOAST_TYPE.DANGER:\n return `var(--error, ${constants.ERROR})`;\n case TOAST_TYPE.NORMAL:\n return `var(--toast, ${constants.TOAST})`;\n }\n};\n\nconst ToastContainer = styled(Card)<{ type: TOAST_TYPE }>`\n box-sizing: border-box;\n border-radius: 3px;\n padding: 12px;\n background-color: ${(props) => getBackgroundColor(props.type)};\n color: #fff;\n margin: 20px;\n font-size: 14px;\n line-height: 20px;\n transform: translateY(100%);\n transition: transform 0.3s ease;\n width: 344px;\n display: flex;\n align-items: center;\n\n & svg {\n width: 20px;\n height: 20px;\n fill: currentColor;\n }\n\n @media (max-width: 480px) {\n & {\n margin: 0;\n width: 100vw;\n border-radius: 0;\n }\n }\n\n .nf-layer-enter & {\n transform: translateY(0%);\n }\n`;\n\nconst TextContainer = styled.div`\n flex: 1;\n`;\n\nconst CloseContainer = styled.button`\n background-color: transparent;\n color: var(--primary, ${constants.PRIMARY_LIGHT});\n padding: 6px 10px;\n border: none;\n border-radius: 3px;\n text-transform: uppercase;\n cursor: pointer;\n\n &:focus {\n background-color: rgba(255, 255, 255, 0.1);\n }\n`;\n\nconst DEFAULT_DURATION = 2000;\n\nclass Toast {\n private element: HTMLDivElement;\n private toast: ReturnType<typeof LayerManager.renderLayer>;\n private timeout: NodeJS.Timeout;\n private root: Root;\n\n constructor() {\n this.element = document?.createElement('div');\n }\n\n public remove = () => {\n if (this.toast) {\n this.toast[1]();\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.toast = null;\n\n setTimeout(() => {\n if (!this.toast) {\n this.root.unmount();\n }\n }, 300);\n };\n\n /**\n * Pause toast when user is hovering over it.\n *\n * @param id\n */\n public pause = () => {\n clearTimeout(this.timeout);\n };\n\n /**\n * Restart the removal of toast.\n *\n * @param id\n */\n public resume = (options: ToastOptions) => () => {\n this.timeout = setTimeout(() => {\n this.remove();\n }, options.duration || DEFAULT_DURATION);\n };\n\n public add(options: ToastOptions) {\n const { text, buttonText, buttonClick, duration, type = TOAST_TYPE.NORMAL } = options;\n this.remove();\n this.toast = LayerManager.renderLayer({\n exitDelay: 300,\n closeOnEsc: false,\n closeOnOverlayClick: false,\n alwaysOnTop: true,\n position: LAYER_POSITION.BOTTOM_LEFT,\n component: (\n <ToastContainer\n {...options}\n type={type}\n elevated\n onMouseEnter={this.pause}\n onMouseLeave={this.resume(options)}\n >\n <TextContainer>{text}</TextContainer>\n {buttonText && (\n <CloseContainer onClick={buttonClick} type=\"button\">\n {buttonText}\n </CloseContainer>\n )}\n </ToastContainer>\n ),\n });\n const Component = this.toast[0];\n this.root = createRoot(this.element);\n this.root.render(<Component />);\n\n this.timeout = setTimeout(() => {\n this.remove();\n }, duration || DEFAULT_DURATION);\n }\n}\n\nexport default new Toast();\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport constants from '../../shared/constants';\n\nexport enum TOOLTIP_POSITION {\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nconst positionStyle = {\n [TOOLTIP_POSITION.LEFT]: `\n left: 0;\n transform: translateX(-50%) scale(0);\n `,\n [TOOLTIP_POSITION.RIGHT]: `\n right: 0;\n transform: translateX(50%) scale(0);\n `,\n [TOOLTIP_POSITION.TOP]: `\n top: 0;\n transform: translateY(-10px) scale(0);\n `,\n [TOOLTIP_POSITION.BOTTOM]: `\n bottom: 0;\n transform: translateY(10px) scale(0);\n `,\n};\n\nconst positionHoverStyle = {\n [TOOLTIP_POSITION.LEFT]: `\n transform: translateX(-100%) scale(1);\n `,\n [TOOLTIP_POSITION.RIGHT]: `\n transform: translateX(100%) scale(1);\n `,\n [TOOLTIP_POSITION.TOP]: `\n transform: translateY(-25px) scale(1);\n `,\n [TOOLTIP_POSITION.BOTTOM]: `\n transform: translateY(25px) scale(1);\n `,\n};\n\nconst TooltipDiv = styled.div<{ position: TOOLTIP_POSITION }>`\n position: absolute;\n background-color: var(--tooltip-color, ${constants.TOOLTIP_COLOR});\n padding: 5px;\n color: #fff;\n border-radius: 3px;\n transition: transform 0.3s ease;\n font-size: 12px;\n z-index: 1;\n ${(props) => positionStyle[props.position]}\n`;\n\nconst TooltipContainer = styled.div<{ position: TOOLTIP_POSITION }>`\n position: relative;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n &:hover ${TooltipDiv} {\n ${(props) => positionHoverStyle[props.position]}\n }\n`;\n\nexport default function Tooltip(props: React.PropsWithChildren<TooltipProps>) {\n const { children, position, ...rest } = props;\n\n return (\n <TooltipContainer position={position} {...rest}>\n {children}\n <TooltipDiv position={position}>{rest.tooltipText}</TooltipDiv>\n </TooltipContainer>\n );\n}\n\ntype TooltipProps = PropTypes.InferProps<typeof Tooltip.propTypes>;\n\nTooltip.propTypes = {\n /** Text to show in the tooltip */\n tooltipText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n /** Position of the tooltip */\n position: PropTypes.oneOf([\n TOOLTIP_POSITION.TOP,\n TOOLTIP_POSITION.LEFT,\n TOOLTIP_POSITION.RIGHT,\n TOOLTIP_POSITION.BOTTOM,\n ]),\n};\n\nTooltip.defaultProps = {\n position: TOOLTIP_POSITION.BOTTOM,\n};\n"],"names":["useState","_jsx","_Fragment","Children","isValidElement","cloneElement","CheckCircle","_jsxs","Header","Body","Footer","BADGE_TYPE","Step","useId","css","Container","Button","ORIENTATION","createContext","useContext","useEffect","DragIndicator","VisuallyHidden","Label","ErrorContainer","KEY_CODES","LayerManager","createRef","DialogHeader","DialogBody","DialogFooter","TextField","Input","ArrowContainer","useCallback","POPOVER_POSITION","positionMap","useRef","DRAWER_POSITION","positionStyle","ModalContainer","NOTIFICATION_POSITION","NOTIFICATION_TYPE","DEFAULT_DURATION","Info","ReportProblem","ErrorOutline","createRoot","flushSync","TOAST_TYPE","TOOLTIP_POSITION"],"mappings":"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","x_google_ignoreList":[19]}