@activecollab/components 2.0.497 → 2.0.499

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 (489) hide show
  1. package/dist/cjs/components/Button/AddToListButton/AddToListButton.js +13 -1
  2. package/dist/cjs/components/Button/AddToListButton/AddToListButton.js.map +1 -1
  3. package/dist/cjs/components/Button/AddToListButton/Styles.js +16 -1
  4. package/dist/cjs/components/Button/AddToListButton/Styles.js.map +1 -1
  5. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +5 -2
  6. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  7. package/dist/cjs/components/ButtonGroup/Styles.js +11 -7
  8. package/dist/cjs/components/ButtonGroup/Styles.js.map +1 -1
  9. package/dist/cjs/components/Card/Card.js +9 -2
  10. package/dist/cjs/components/Card/Card.js.map +1 -1
  11. package/dist/cjs/components/Card/Styles.js +6 -1
  12. package/dist/cjs/components/Card/Styles.js.map +1 -1
  13. package/dist/cjs/components/Chip/Chip.js +21 -6
  14. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  15. package/dist/cjs/components/Chip/ChipGroup.js +27 -0
  16. package/dist/cjs/components/Chip/ChipGroup.js.map +1 -0
  17. package/dist/cjs/components/Chip/ChipGroupStyles.js +17 -0
  18. package/dist/cjs/components/Chip/ChipGroupStyles.js.map +1 -0
  19. package/dist/cjs/components/Chip/Styles.js +55 -19
  20. package/dist/cjs/components/Chip/Styles.js.map +1 -1
  21. package/dist/cjs/components/Chip/index.js +11 -0
  22. package/dist/cjs/components/Chip/index.js.map +1 -1
  23. package/dist/cjs/components/ClampedContent/ClampedContent.js +131 -0
  24. package/dist/cjs/components/ClampedContent/ClampedContent.js.map +1 -0
  25. package/dist/cjs/components/ClampedContent/Styles.js +28 -0
  26. package/dist/cjs/components/ClampedContent/Styles.js.map +1 -0
  27. package/dist/cjs/components/ClampedContent/index.js +17 -0
  28. package/dist/cjs/components/ClampedContent/index.js.map +1 -0
  29. package/dist/cjs/components/Collapse/Collapse.js +93 -0
  30. package/dist/cjs/components/Collapse/Collapse.js.map +1 -0
  31. package/dist/cjs/components/Collapse/Styles.js +26 -0
  32. package/dist/cjs/components/Collapse/Styles.js.map +1 -0
  33. package/dist/cjs/components/Collapse/index.js +17 -0
  34. package/dist/cjs/components/Collapse/index.js.map +1 -0
  35. package/dist/cjs/components/ComboBox/ComboBox.js +5 -2
  36. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  37. package/dist/cjs/components/CompleteCheckbox/CompleteCheckbox.js +24 -2
  38. package/dist/cjs/components/CompleteCheckbox/CompleteCheckbox.js.map +1 -1
  39. package/dist/cjs/components/CompleteCheckbox/Styles.js +17 -1
  40. package/dist/cjs/components/CompleteCheckbox/Styles.js.map +1 -1
  41. package/dist/cjs/components/DockedCard/DockedCard.js +68 -0
  42. package/dist/cjs/components/DockedCard/DockedCard.js.map +1 -0
  43. package/dist/cjs/components/DockedCard/Styles.js +36 -0
  44. package/dist/cjs/components/DockedCard/Styles.js.map +1 -0
  45. package/dist/cjs/components/DockedCard/index.js +28 -0
  46. package/dist/cjs/components/DockedCard/index.js.map +1 -0
  47. package/dist/cjs/components/DockedCard/useDockedCard.js +236 -0
  48. package/dist/cjs/components/DockedCard/useDockedCard.js.map +1 -0
  49. package/dist/cjs/components/EditableContent/EditableContent.js.map +1 -1
  50. package/dist/cjs/components/EditorFrame/EditorFrame.js +51 -0
  51. package/dist/cjs/components/EditorFrame/EditorFrame.js.map +1 -0
  52. package/dist/cjs/components/EditorFrame/Styles.js +29 -0
  53. package/dist/cjs/components/EditorFrame/Styles.js.map +1 -0
  54. package/dist/cjs/components/EditorFrame/index.js +17 -0
  55. package/dist/cjs/components/EditorFrame/index.js.map +1 -0
  56. package/dist/cjs/components/EmptySlate/EmptySlate.js +19 -9
  57. package/dist/cjs/components/EmptySlate/EmptySlate.js.map +1 -1
  58. package/dist/cjs/components/EmptySlate/EmptySlate.styles.js +20 -6
  59. package/dist/cjs/components/EmptySlate/EmptySlate.styles.js.map +1 -1
  60. package/dist/cjs/components/FileTile/FileTile.js +138 -0
  61. package/dist/cjs/components/FileTile/FileTile.js.map +1 -0
  62. package/dist/cjs/components/FileTile/Styles.js +71 -0
  63. package/dist/cjs/components/FileTile/Styles.js.map +1 -0
  64. package/dist/cjs/components/FileTile/index.js +17 -0
  65. package/dist/cjs/components/FileTile/index.js.map +1 -0
  66. package/dist/cjs/components/FloatingPill/FloatingPill.js +33 -0
  67. package/dist/cjs/components/FloatingPill/FloatingPill.js.map +1 -0
  68. package/dist/cjs/components/FloatingPill/Styles.js +16 -0
  69. package/dist/cjs/components/FloatingPill/Styles.js.map +1 -0
  70. package/dist/cjs/components/FloatingPill/index.js +17 -0
  71. package/dist/cjs/components/FloatingPill/index.js.map +1 -0
  72. package/dist/cjs/components/Icons/collection/FlagFilled.js +71 -0
  73. package/dist/cjs/components/Icons/collection/FlagFilled.js.map +1 -0
  74. package/dist/cjs/components/Icons/collection/FlagOutline.js +72 -0
  75. package/dist/cjs/components/Icons/collection/FlagOutline.js.map +1 -0
  76. package/dist/cjs/components/Icons/collection/LayoutColumn.js +70 -0
  77. package/dist/cjs/components/Icons/collection/LayoutColumn.js.map +1 -0
  78. package/dist/cjs/components/Icons/collection/LayoutSidebar.js +68 -0
  79. package/dist/cjs/components/Icons/collection/LayoutSidebar.js.map +1 -0
  80. package/dist/cjs/components/Icons/collection/LayoutWide.js +70 -0
  81. package/dist/cjs/components/Icons/collection/LayoutWide.js.map +1 -0
  82. package/dist/cjs/components/Icons/collection/index.js +35 -0
  83. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  84. package/dist/cjs/components/LabeledDivider/LabeledDivider.js +39 -0
  85. package/dist/cjs/components/LabeledDivider/LabeledDivider.js.map +1 -0
  86. package/dist/cjs/components/LabeledDivider/Styles.js +27 -0
  87. package/dist/cjs/components/LabeledDivider/Styles.js.map +1 -0
  88. package/dist/cjs/components/LabeledDivider/index.js +17 -0
  89. package/dist/cjs/components/LabeledDivider/index.js.map +1 -0
  90. package/dist/cjs/components/ListRow/ListRow.js +48 -0
  91. package/dist/cjs/components/ListRow/ListRow.js.map +1 -0
  92. package/dist/cjs/components/ListRow/Styles.js +25 -0
  93. package/dist/cjs/components/ListRow/Styles.js.map +1 -0
  94. package/dist/cjs/components/ListRow/index.js +17 -0
  95. package/dist/cjs/components/ListRow/index.js.map +1 -0
  96. package/dist/cjs/components/Loaders/Skeleton/SkeletonLoader.js +11 -2
  97. package/dist/cjs/components/Loaders/Skeleton/SkeletonLoader.js.map +1 -1
  98. package/dist/cjs/components/Loaders/Skeleton/Styles.js +13 -1
  99. package/dist/cjs/components/Loaders/Skeleton/Styles.js.map +1 -1
  100. package/dist/cjs/components/Menu/Menu.js +4 -1
  101. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  102. package/dist/cjs/components/Menu/MenuFooter.js +18 -2
  103. package/dist/cjs/components/Menu/MenuFooter.js.map +1 -1
  104. package/dist/cjs/components/Menu/Styles.js +9 -3
  105. package/dist/cjs/components/Menu/Styles.js.map +1 -1
  106. package/dist/cjs/components/MessageBubble/MessageBubble.js +78 -0
  107. package/dist/cjs/components/MessageBubble/MessageBubble.js.map +1 -0
  108. package/dist/cjs/components/MessageBubble/Styles.js +56 -0
  109. package/dist/cjs/components/MessageBubble/Styles.js.map +1 -0
  110. package/dist/cjs/components/MessageBubble/index.js +17 -0
  111. package/dist/cjs/components/MessageBubble/index.js.map +1 -0
  112. package/dist/cjs/components/ObjectLayout/ObjectLayout.js +184 -0
  113. package/dist/cjs/components/ObjectLayout/ObjectLayout.js.map +1 -0
  114. package/dist/cjs/components/ObjectLayout/Styles.js +83 -0
  115. package/dist/cjs/components/ObjectLayout/Styles.js.map +1 -0
  116. package/dist/cjs/components/ObjectLayout/index.js +17 -0
  117. package/dist/cjs/components/ObjectLayout/index.js.map +1 -0
  118. package/dist/cjs/components/ProgressBar/ProgressBar.js +14 -3
  119. package/dist/cjs/components/ProgressBar/ProgressBar.js.map +1 -1
  120. package/dist/cjs/components/ProgressBar/Styles.js +8 -2
  121. package/dist/cjs/components/ProgressBar/Styles.js.map +1 -1
  122. package/dist/cjs/components/PropertyList/PropertyList.js +186 -0
  123. package/dist/cjs/components/PropertyList/PropertyList.js.map +1 -0
  124. package/dist/cjs/components/PropertyList/Styles.js +104 -0
  125. package/dist/cjs/components/PropertyList/Styles.js.map +1 -0
  126. package/dist/cjs/components/PropertyList/index.js +17 -0
  127. package/dist/cjs/components/PropertyList/index.js.map +1 -0
  128. package/dist/cjs/components/ResizeHandle/ResizeHandle.js +38 -0
  129. package/dist/cjs/components/ResizeHandle/ResizeHandle.js.map +1 -0
  130. package/dist/cjs/components/ResizeHandle/Styles.js +26 -0
  131. package/dist/cjs/components/ResizeHandle/Styles.js.map +1 -0
  132. package/dist/cjs/components/ResizeHandle/index.js +17 -0
  133. package/dist/cjs/components/ResizeHandle/index.js.map +1 -0
  134. package/dist/cjs/components/Section/Section.js +49 -0
  135. package/dist/cjs/components/Section/Section.js.map +1 -0
  136. package/dist/cjs/components/Section/Styles.js +29 -0
  137. package/dist/cjs/components/Section/Styles.js.map +1 -0
  138. package/dist/cjs/components/Section/index.js +17 -0
  139. package/dist/cjs/components/Section/index.js.map +1 -0
  140. package/dist/cjs/components/Sheet/Sheet.js +8 -3
  141. package/dist/cjs/components/Sheet/Sheet.js.map +1 -1
  142. package/dist/cjs/components/Sheet/Styles.js +8 -2
  143. package/dist/cjs/components/Sheet/Styles.js.map +1 -1
  144. package/dist/cjs/components/Typography/Styles.js +11 -1
  145. package/dist/cjs/components/Typography/Styles.js.map +1 -1
  146. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  147. package/dist/cjs/components/Typography/Variants/Title3.js +26 -0
  148. package/dist/cjs/components/Typography/Variants/Title3.js.map +1 -0
  149. package/dist/cjs/components/Typography/index.js +11 -0
  150. package/dist/cjs/components/Typography/index.js.map +1 -1
  151. package/dist/cjs/components/index.js +143 -0
  152. package/dist/cjs/components/index.js.map +1 -1
  153. package/dist/cjs/hooks/index.js +22 -0
  154. package/dist/cjs/hooks/index.js.map +1 -1
  155. package/dist/cjs/hooks/useLongPress.js +97 -0
  156. package/dist/cjs/hooks/useLongPress.js.map +1 -0
  157. package/dist/cjs/hooks/useResizablePanel.js +120 -0
  158. package/dist/cjs/hooks/useResizablePanel.js.map +1 -0
  159. package/dist/cjs/utils/useContainerCss.js +19 -0
  160. package/dist/cjs/utils/useContainerCss.js.map +1 -0
  161. package/dist/esm/components/Button/AddToListButton/AddToListButton.d.ts +5 -1
  162. package/dist/esm/components/Button/AddToListButton/AddToListButton.d.ts.map +1 -1
  163. package/dist/esm/components/Button/AddToListButton/AddToListButton.js +14 -2
  164. package/dist/esm/components/Button/AddToListButton/AddToListButton.js.map +1 -1
  165. package/dist/esm/components/Button/AddToListButton/Styles.d.ts +3 -0
  166. package/dist/esm/components/Button/AddToListButton/Styles.d.ts.map +1 -1
  167. package/dist/esm/components/Button/AddToListButton/Styles.js +15 -0
  168. package/dist/esm/components/Button/AddToListButton/Styles.js.map +1 -1
  169. package/dist/esm/components/ButtonGroup/ButtonGroup.d.ts +2 -0
  170. package/dist/esm/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  171. package/dist/esm/components/ButtonGroup/ButtonGroup.js +5 -2
  172. package/dist/esm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  173. package/dist/esm/components/ButtonGroup/Styles.d.ts +1 -0
  174. package/dist/esm/components/ButtonGroup/Styles.d.ts.map +1 -1
  175. package/dist/esm/components/ButtonGroup/Styles.js +9 -7
  176. package/dist/esm/components/ButtonGroup/Styles.js.map +1 -1
  177. package/dist/esm/components/Card/Card.d.ts +5 -1
  178. package/dist/esm/components/Card/Card.d.ts.map +1 -1
  179. package/dist/esm/components/Card/Card.js +9 -2
  180. package/dist/esm/components/Card/Card.js.map +1 -1
  181. package/dist/esm/components/Card/Styles.d.ts +3 -0
  182. package/dist/esm/components/Card/Styles.d.ts.map +1 -1
  183. package/dist/esm/components/Card/Styles.js +6 -1
  184. package/dist/esm/components/Card/Styles.js.map +1 -1
  185. package/dist/esm/components/Chip/Chip.d.ts +13 -1
  186. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  187. package/dist/esm/components/Chip/Chip.js +21 -6
  188. package/dist/esm/components/Chip/Chip.js.map +1 -1
  189. package/dist/esm/components/Chip/ChipGroup.d.ts +7 -0
  190. package/dist/esm/components/Chip/ChipGroup.d.ts.map +1 -0
  191. package/dist/esm/components/Chip/ChipGroup.js +19 -0
  192. package/dist/esm/components/Chip/ChipGroup.js.map +1 -0
  193. package/dist/esm/components/Chip/ChipGroupStyles.d.ts +4 -0
  194. package/dist/esm/components/Chip/ChipGroupStyles.d.ts.map +1 -0
  195. package/dist/esm/components/Chip/ChipGroupStyles.js +8 -0
  196. package/dist/esm/components/Chip/ChipGroupStyles.js.map +1 -0
  197. package/dist/esm/components/Chip/Styles.d.ts +9 -3
  198. package/dist/esm/components/Chip/Styles.d.ts.map +1 -1
  199. package/dist/esm/components/Chip/Styles.js +36 -13
  200. package/dist/esm/components/Chip/Styles.js.map +1 -1
  201. package/dist/esm/components/Chip/index.d.ts +1 -0
  202. package/dist/esm/components/Chip/index.d.ts.map +1 -1
  203. package/dist/esm/components/Chip/index.js +1 -0
  204. package/dist/esm/components/Chip/index.js.map +1 -1
  205. package/dist/esm/components/ClampedContent/ClampedContent.d.ts +18 -0
  206. package/dist/esm/components/ClampedContent/ClampedContent.d.ts.map +1 -0
  207. package/dist/esm/components/ClampedContent/ClampedContent.js +109 -0
  208. package/dist/esm/components/ClampedContent/ClampedContent.js.map +1 -0
  209. package/dist/esm/components/ClampedContent/Styles.d.ts +8 -0
  210. package/dist/esm/components/ClampedContent/Styles.d.ts.map +1 -0
  211. package/dist/esm/components/ClampedContent/Styles.js +21 -0
  212. package/dist/esm/components/ClampedContent/Styles.js.map +1 -0
  213. package/dist/esm/components/ClampedContent/index.d.ts +2 -0
  214. package/dist/esm/components/ClampedContent/index.d.ts.map +1 -0
  215. package/dist/esm/components/ClampedContent/index.js +2 -0
  216. package/dist/esm/components/ClampedContent/index.js.map +1 -0
  217. package/dist/esm/components/Collapse/Collapse.d.ts +15 -0
  218. package/dist/esm/components/Collapse/Collapse.d.ts.map +1 -0
  219. package/dist/esm/components/Collapse/Collapse.js +68 -0
  220. package/dist/esm/components/Collapse/Collapse.js.map +1 -0
  221. package/dist/esm/components/Collapse/Styles.d.ts +8 -0
  222. package/dist/esm/components/Collapse/Styles.d.ts.map +1 -0
  223. package/dist/esm/components/Collapse/Styles.js +19 -0
  224. package/dist/esm/components/Collapse/Styles.js.map +1 -0
  225. package/dist/esm/components/Collapse/index.d.ts +2 -0
  226. package/dist/esm/components/Collapse/index.d.ts.map +1 -0
  227. package/dist/esm/components/Collapse/index.js +2 -0
  228. package/dist/esm/components/Collapse/index.js.map +1 -0
  229. package/dist/esm/components/ComboBox/ComboBox.d.ts +2 -0
  230. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  231. package/dist/esm/components/ComboBox/ComboBox.js +5 -2
  232. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  233. package/dist/esm/components/CompleteCheckbox/CompleteCheckbox.d.ts +9 -1
  234. package/dist/esm/components/CompleteCheckbox/CompleteCheckbox.d.ts.map +1 -1
  235. package/dist/esm/components/CompleteCheckbox/CompleteCheckbox.js +24 -2
  236. package/dist/esm/components/CompleteCheckbox/CompleteCheckbox.js.map +1 -1
  237. package/dist/esm/components/CompleteCheckbox/Styles.d.ts +4 -0
  238. package/dist/esm/components/CompleteCheckbox/Styles.d.ts.map +1 -1
  239. package/dist/esm/components/CompleteCheckbox/Styles.js +16 -0
  240. package/dist/esm/components/CompleteCheckbox/Styles.js.map +1 -1
  241. package/dist/esm/components/DockedCard/DockedCard.d.ts +26 -0
  242. package/dist/esm/components/DockedCard/DockedCard.d.ts.map +1 -0
  243. package/dist/esm/components/DockedCard/DockedCard.js +54 -0
  244. package/dist/esm/components/DockedCard/DockedCard.js.map +1 -0
  245. package/dist/esm/components/DockedCard/Styles.d.ts +9 -0
  246. package/dist/esm/components/DockedCard/Styles.d.ts.map +1 -0
  247. package/dist/esm/components/DockedCard/Styles.js +29 -0
  248. package/dist/esm/components/DockedCard/Styles.js.map +1 -0
  249. package/dist/esm/components/DockedCard/index.d.ts +3 -0
  250. package/dist/esm/components/DockedCard/index.d.ts.map +1 -0
  251. package/dist/esm/components/DockedCard/index.js +3 -0
  252. package/dist/esm/components/DockedCard/index.js.map +1 -0
  253. package/dist/esm/components/DockedCard/useDockedCard.d.ts +37 -0
  254. package/dist/esm/components/DockedCard/useDockedCard.d.ts.map +1 -0
  255. package/dist/esm/components/DockedCard/useDockedCard.js +194 -0
  256. package/dist/esm/components/DockedCard/useDockedCard.js.map +1 -0
  257. package/dist/esm/components/EditableContent/EditableContent.d.ts +1 -1
  258. package/dist/esm/components/EditableContent/EditableContent.d.ts.map +1 -1
  259. package/dist/esm/components/EditableContent/EditableContent.js.map +1 -1
  260. package/dist/esm/components/EditorFrame/EditorFrame.d.ts +14 -0
  261. package/dist/esm/components/EditorFrame/EditorFrame.d.ts.map +1 -0
  262. package/dist/esm/components/EditorFrame/EditorFrame.js +42 -0
  263. package/dist/esm/components/EditorFrame/EditorFrame.js.map +1 -0
  264. package/dist/esm/components/EditorFrame/Styles.d.ts +13 -0
  265. package/dist/esm/components/EditorFrame/Styles.d.ts.map +1 -0
  266. package/dist/esm/components/EditorFrame/Styles.js +22 -0
  267. package/dist/esm/components/EditorFrame/Styles.js.map +1 -0
  268. package/dist/esm/components/EditorFrame/index.d.ts +2 -0
  269. package/dist/esm/components/EditorFrame/index.d.ts.map +1 -0
  270. package/dist/esm/components/EditorFrame/index.js +2 -0
  271. package/dist/esm/components/EditorFrame/index.js.map +1 -0
  272. package/dist/esm/components/EmptySlate/EmptySlate.d.ts +9 -4
  273. package/dist/esm/components/EmptySlate/EmptySlate.d.ts.map +1 -1
  274. package/dist/esm/components/EmptySlate/EmptySlate.js +19 -9
  275. package/dist/esm/components/EmptySlate/EmptySlate.js.map +1 -1
  276. package/dist/esm/components/EmptySlate/EmptySlate.styles.d.ts +8 -4
  277. package/dist/esm/components/EmptySlate/EmptySlate.styles.d.ts.map +1 -1
  278. package/dist/esm/components/EmptySlate/EmptySlate.styles.js +5 -5
  279. package/dist/esm/components/EmptySlate/EmptySlate.styles.js.map +1 -1
  280. package/dist/esm/components/FileTile/FileTile.d.ts +63 -0
  281. package/dist/esm/components/FileTile/FileTile.d.ts.map +1 -0
  282. package/dist/esm/components/FileTile/FileTile.js +129 -0
  283. package/dist/esm/components/FileTile/FileTile.js.map +1 -0
  284. package/dist/esm/components/FileTile/Styles.d.ts +19 -0
  285. package/dist/esm/components/FileTile/Styles.d.ts.map +1 -0
  286. package/dist/esm/components/FileTile/Styles.js +64 -0
  287. package/dist/esm/components/FileTile/Styles.js.map +1 -0
  288. package/dist/esm/components/FileTile/index.d.ts +2 -0
  289. package/dist/esm/components/FileTile/index.d.ts.map +1 -0
  290. package/dist/esm/components/FileTile/index.js +2 -0
  291. package/dist/esm/components/FileTile/index.js.map +1 -0
  292. package/dist/esm/components/FloatingPill/FloatingPill.d.ts +9 -0
  293. package/dist/esm/components/FloatingPill/FloatingPill.d.ts.map +1 -0
  294. package/dist/esm/components/FloatingPill/FloatingPill.js +24 -0
  295. package/dist/esm/components/FloatingPill/FloatingPill.js.map +1 -0
  296. package/dist/esm/components/FloatingPill/Styles.d.ts +4 -0
  297. package/dist/esm/components/FloatingPill/Styles.d.ts.map +1 -0
  298. package/dist/esm/components/FloatingPill/Styles.js +9 -0
  299. package/dist/esm/components/FloatingPill/Styles.js.map +1 -0
  300. package/dist/esm/components/FloatingPill/index.d.ts +2 -0
  301. package/dist/esm/components/FloatingPill/index.d.ts.map +1 -0
  302. package/dist/esm/components/FloatingPill/index.js +2 -0
  303. package/dist/esm/components/FloatingPill/index.js.map +1 -0
  304. package/dist/esm/components/Icons/collection/FlagFilled.d.ts +32 -0
  305. package/dist/esm/components/Icons/collection/FlagFilled.d.ts.map +1 -0
  306. package/dist/esm/components/Icons/collection/FlagFilled.js +64 -0
  307. package/dist/esm/components/Icons/collection/FlagFilled.js.map +1 -0
  308. package/dist/esm/components/Icons/collection/FlagOutline.d.ts +32 -0
  309. package/dist/esm/components/Icons/collection/FlagOutline.d.ts.map +1 -0
  310. package/dist/esm/components/Icons/collection/FlagOutline.js +65 -0
  311. package/dist/esm/components/Icons/collection/FlagOutline.js.map +1 -0
  312. package/dist/esm/components/Icons/collection/LayoutColumn.d.ts +32 -0
  313. package/dist/esm/components/Icons/collection/LayoutColumn.d.ts.map +1 -0
  314. package/dist/esm/components/Icons/collection/LayoutColumn.js +63 -0
  315. package/dist/esm/components/Icons/collection/LayoutColumn.js.map +1 -0
  316. package/dist/esm/components/Icons/collection/LayoutSidebar.d.ts +32 -0
  317. package/dist/esm/components/Icons/collection/LayoutSidebar.d.ts.map +1 -0
  318. package/dist/esm/components/Icons/collection/LayoutSidebar.js +61 -0
  319. package/dist/esm/components/Icons/collection/LayoutSidebar.js.map +1 -0
  320. package/dist/esm/components/Icons/collection/LayoutWide.d.ts +32 -0
  321. package/dist/esm/components/Icons/collection/LayoutWide.d.ts.map +1 -0
  322. package/dist/esm/components/Icons/collection/LayoutWide.js +63 -0
  323. package/dist/esm/components/Icons/collection/LayoutWide.js.map +1 -0
  324. package/dist/esm/components/Icons/collection/index.d.ts +5 -0
  325. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  326. package/dist/esm/components/Icons/collection/index.js +5 -0
  327. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  328. package/dist/esm/components/LabeledDivider/LabeledDivider.d.ts +11 -0
  329. package/dist/esm/components/LabeledDivider/LabeledDivider.d.ts.map +1 -0
  330. package/dist/esm/components/LabeledDivider/LabeledDivider.js +30 -0
  331. package/dist/esm/components/LabeledDivider/LabeledDivider.js.map +1 -0
  332. package/dist/esm/components/LabeledDivider/Styles.d.ts +10 -0
  333. package/dist/esm/components/LabeledDivider/Styles.d.ts.map +1 -0
  334. package/dist/esm/components/LabeledDivider/Styles.js +20 -0
  335. package/dist/esm/components/LabeledDivider/Styles.js.map +1 -0
  336. package/dist/esm/components/LabeledDivider/index.d.ts +2 -0
  337. package/dist/esm/components/LabeledDivider/index.d.ts.map +1 -0
  338. package/dist/esm/components/LabeledDivider/index.js +2 -0
  339. package/dist/esm/components/LabeledDivider/index.js.map +1 -0
  340. package/dist/esm/components/ListRow/ListRow.d.ts +19 -0
  341. package/dist/esm/components/ListRow/ListRow.d.ts.map +1 -0
  342. package/dist/esm/components/ListRow/ListRow.js +39 -0
  343. package/dist/esm/components/ListRow/ListRow.js.map +1 -0
  344. package/dist/esm/components/ListRow/Styles.d.ts +7 -0
  345. package/dist/esm/components/ListRow/Styles.d.ts.map +1 -0
  346. package/dist/esm/components/ListRow/Styles.js +18 -0
  347. package/dist/esm/components/ListRow/Styles.js.map +1 -0
  348. package/dist/esm/components/ListRow/index.d.ts +2 -0
  349. package/dist/esm/components/ListRow/index.d.ts.map +1 -0
  350. package/dist/esm/components/ListRow/index.js +2 -0
  351. package/dist/esm/components/ListRow/index.js.map +1 -0
  352. package/dist/esm/components/Loaders/Skeleton/SkeletonLoader.d.ts +11 -1
  353. package/dist/esm/components/Loaders/Skeleton/SkeletonLoader.d.ts.map +1 -1
  354. package/dist/esm/components/Loaders/Skeleton/SkeletonLoader.js +11 -2
  355. package/dist/esm/components/Loaders/Skeleton/SkeletonLoader.js.map +1 -1
  356. package/dist/esm/components/Loaders/Skeleton/Styles.d.ts +8 -1
  357. package/dist/esm/components/Loaders/Skeleton/Styles.d.ts.map +1 -1
  358. package/dist/esm/components/Loaders/Skeleton/Styles.js +4 -2
  359. package/dist/esm/components/Loaders/Skeleton/Styles.js.map +1 -1
  360. package/dist/esm/components/Menu/Menu.d.ts +2 -0
  361. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  362. package/dist/esm/components/Menu/Menu.js +4 -1
  363. package/dist/esm/components/Menu/Menu.js.map +1 -1
  364. package/dist/esm/components/Menu/MenuFooter.d.ts +12 -0
  365. package/dist/esm/components/Menu/MenuFooter.d.ts.map +1 -1
  366. package/dist/esm/components/Menu/MenuFooter.js +17 -3
  367. package/dist/esm/components/Menu/MenuFooter.js.map +1 -1
  368. package/dist/esm/components/Menu/Styles.d.ts +4 -1
  369. package/dist/esm/components/Menu/Styles.d.ts.map +1 -1
  370. package/dist/esm/components/Menu/Styles.js +7 -3
  371. package/dist/esm/components/Menu/Styles.js.map +1 -1
  372. package/dist/esm/components/MessageBubble/MessageBubble.d.ts +29 -0
  373. package/dist/esm/components/MessageBubble/MessageBubble.d.ts.map +1 -0
  374. package/dist/esm/components/MessageBubble/MessageBubble.js +69 -0
  375. package/dist/esm/components/MessageBubble/MessageBubble.js.map +1 -0
  376. package/dist/esm/components/MessageBubble/Styles.d.ts +16 -0
  377. package/dist/esm/components/MessageBubble/Styles.d.ts.map +1 -0
  378. package/dist/esm/components/MessageBubble/Styles.js +51 -0
  379. package/dist/esm/components/MessageBubble/Styles.js.map +1 -0
  380. package/dist/esm/components/MessageBubble/index.d.ts +2 -0
  381. package/dist/esm/components/MessageBubble/index.d.ts.map +1 -0
  382. package/dist/esm/components/MessageBubble/index.js +2 -0
  383. package/dist/esm/components/MessageBubble/index.js.map +1 -0
  384. package/dist/esm/components/ObjectLayout/ObjectLayout.d.ts +32 -0
  385. package/dist/esm/components/ObjectLayout/ObjectLayout.d.ts.map +1 -0
  386. package/dist/esm/components/ObjectLayout/ObjectLayout.js +162 -0
  387. package/dist/esm/components/ObjectLayout/ObjectLayout.js.map +1 -0
  388. package/dist/esm/components/ObjectLayout/Styles.d.ts +25 -0
  389. package/dist/esm/components/ObjectLayout/Styles.d.ts.map +1 -0
  390. package/dist/esm/components/ObjectLayout/Styles.js +76 -0
  391. package/dist/esm/components/ObjectLayout/Styles.js.map +1 -0
  392. package/dist/esm/components/ObjectLayout/index.d.ts +2 -0
  393. package/dist/esm/components/ObjectLayout/index.d.ts.map +1 -0
  394. package/dist/esm/components/ObjectLayout/index.js +2 -0
  395. package/dist/esm/components/ObjectLayout/index.js.map +1 -0
  396. package/dist/esm/components/ProgressBar/ProgressBar.d.ts +9 -2
  397. package/dist/esm/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  398. package/dist/esm/components/ProgressBar/ProgressBar.js +14 -3
  399. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  400. package/dist/esm/components/ProgressBar/Styles.d.ts +2 -0
  401. package/dist/esm/components/ProgressBar/Styles.d.ts.map +1 -1
  402. package/dist/esm/components/ProgressBar/Styles.js +2 -2
  403. package/dist/esm/components/ProgressBar/Styles.js.map +1 -1
  404. package/dist/esm/components/PropertyList/PropertyList.d.ts +59 -0
  405. package/dist/esm/components/PropertyList/PropertyList.d.ts.map +1 -0
  406. package/dist/esm/components/PropertyList/PropertyList.js +171 -0
  407. package/dist/esm/components/PropertyList/PropertyList.js.map +1 -0
  408. package/dist/esm/components/PropertyList/Styles.d.ts +35 -0
  409. package/dist/esm/components/PropertyList/Styles.d.ts.map +1 -0
  410. package/dist/esm/components/PropertyList/Styles.js +97 -0
  411. package/dist/esm/components/PropertyList/Styles.js.map +1 -0
  412. package/dist/esm/components/PropertyList/index.d.ts +2 -0
  413. package/dist/esm/components/PropertyList/index.d.ts.map +1 -0
  414. package/dist/esm/components/PropertyList/index.js +2 -0
  415. package/dist/esm/components/PropertyList/index.js.map +1 -0
  416. package/dist/esm/components/ResizeHandle/ResizeHandle.d.ts +11 -0
  417. package/dist/esm/components/ResizeHandle/ResizeHandle.d.ts.map +1 -0
  418. package/dist/esm/components/ResizeHandle/ResizeHandle.js +29 -0
  419. package/dist/esm/components/ResizeHandle/ResizeHandle.js.map +1 -0
  420. package/dist/esm/components/ResizeHandle/Styles.d.ts +7 -0
  421. package/dist/esm/components/ResizeHandle/Styles.d.ts.map +1 -0
  422. package/dist/esm/components/ResizeHandle/Styles.js +19 -0
  423. package/dist/esm/components/ResizeHandle/Styles.js.map +1 -0
  424. package/dist/esm/components/ResizeHandle/index.d.ts +2 -0
  425. package/dist/esm/components/ResizeHandle/index.d.ts.map +1 -0
  426. package/dist/esm/components/ResizeHandle/index.js +2 -0
  427. package/dist/esm/components/ResizeHandle/index.js.map +1 -0
  428. package/dist/esm/components/Section/Section.d.ts +13 -0
  429. package/dist/esm/components/Section/Section.d.ts.map +1 -0
  430. package/dist/esm/components/Section/Section.js +40 -0
  431. package/dist/esm/components/Section/Section.js.map +1 -0
  432. package/dist/esm/components/Section/Styles.d.ts +6 -0
  433. package/dist/esm/components/Section/Styles.d.ts.map +1 -0
  434. package/dist/esm/components/Section/Styles.js +22 -0
  435. package/dist/esm/components/Section/Styles.js.map +1 -0
  436. package/dist/esm/components/Section/index.d.ts +2 -0
  437. package/dist/esm/components/Section/index.d.ts.map +1 -0
  438. package/dist/esm/components/Section/index.js +2 -0
  439. package/dist/esm/components/Section/index.js.map +1 -0
  440. package/dist/esm/components/Sheet/Sheet.d.ts +4 -0
  441. package/dist/esm/components/Sheet/Sheet.d.ts.map +1 -1
  442. package/dist/esm/components/Sheet/Sheet.js +8 -3
  443. package/dist/esm/components/Sheet/Sheet.js.map +1 -1
  444. package/dist/esm/components/Sheet/Styles.d.ts +2 -0
  445. package/dist/esm/components/Sheet/Styles.d.ts.map +1 -1
  446. package/dist/esm/components/Sheet/Styles.js +6 -2
  447. package/dist/esm/components/Sheet/Styles.js.map +1 -1
  448. package/dist/esm/components/Steppers/DateStepper/Styles.d.ts +1 -0
  449. package/dist/esm/components/Steppers/DateStepper/Styles.d.ts.map +1 -1
  450. package/dist/esm/components/Typography/Styles.d.ts +2 -2
  451. package/dist/esm/components/Typography/Styles.d.ts.map +1 -1
  452. package/dist/esm/components/Typography/Styles.js +6 -2
  453. package/dist/esm/components/Typography/Styles.js.map +1 -1
  454. package/dist/esm/components/Typography/Typography.d.ts +2 -2
  455. package/dist/esm/components/Typography/Typography.d.ts.map +1 -1
  456. package/dist/esm/components/Typography/Typography.js.map +1 -1
  457. package/dist/esm/components/Typography/Variants/Title3.d.ts +8 -0
  458. package/dist/esm/components/Typography/Variants/Title3.d.ts.map +1 -0
  459. package/dist/esm/components/Typography/Variants/Title3.js +18 -0
  460. package/dist/esm/components/Typography/Variants/Title3.js.map +1 -0
  461. package/dist/esm/components/Typography/index.d.ts +1 -0
  462. package/dist/esm/components/Typography/index.d.ts.map +1 -1
  463. package/dist/esm/components/Typography/index.js +1 -0
  464. package/dist/esm/components/Typography/index.js.map +1 -1
  465. package/dist/esm/components/index.d.ts +13 -0
  466. package/dist/esm/components/index.d.ts.map +1 -1
  467. package/dist/esm/components/index.js +13 -0
  468. package/dist/esm/components/index.js.map +1 -1
  469. package/dist/esm/hooks/index.d.ts +2 -0
  470. package/dist/esm/hooks/index.d.ts.map +1 -1
  471. package/dist/esm/hooks/index.js +2 -0
  472. package/dist/esm/hooks/index.js.map +1 -1
  473. package/dist/esm/hooks/useLongPress.d.ts +23 -0
  474. package/dist/esm/hooks/useLongPress.d.ts.map +1 -0
  475. package/dist/esm/hooks/useLongPress.js +82 -0
  476. package/dist/esm/hooks/useLongPress.js.map +1 -0
  477. package/dist/esm/hooks/useResizablePanel.d.ts +27 -0
  478. package/dist/esm/hooks/useResizablePanel.d.ts.map +1 -0
  479. package/dist/esm/hooks/useResizablePanel.js +98 -0
  480. package/dist/esm/hooks/useResizablePanel.js.map +1 -0
  481. package/dist/esm/utils/useContainerCss.d.ts +2 -0
  482. package/dist/esm/utils/useContainerCss.d.ts.map +1 -0
  483. package/dist/esm/utils/useContainerCss.js +12 -0
  484. package/dist/esm/utils/useContainerCss.js.map +1 -0
  485. package/dist/index.js +3307 -881
  486. package/dist/index.js.map +1 -1
  487. package/dist/index.min.js +1 -1
  488. package/dist/index.min.js.map +1 -1
  489. package/package.json +1 -1
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _styled, { default as _styled2, default as _styled3, default as _styled4, default as _styled5 } from "styled-components";
5
5
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
6
- const _excluded = ["options", "selected", "keepFilterOnClose", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "listWidth", "listPlacement", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue", "disableVirtualization", "hideClearButton", "errorMessage", "onCancel"];
6
+ const _excluded = ["options", "selected", "keepFilterOnClose", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "listWidth", "listPlacement", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue", "disableVirtualization", "hideClearButton", "clearButtonLabel", "errorMessage", "onCancel"];
7
7
  import React, { useCallback, useState, useEffect, useRef, useMemo, Fragment } from "react";
8
8
  import { RemoveScroll } from "react-remove-scroll";
9
9
  import classNames from "classnames";
@@ -84,6 +84,7 @@ export const ComboBox = _ref => {
84
84
  disableVirtualization = _ref.disableVirtualization,
85
85
  _ref$hideClearButton = _ref.hideClearButton,
86
86
  hideClearButton = _ref$hideClearButton === void 0 ? false : _ref$hideClearButton,
87
+ clearButtonLabel = _ref.clearButtonLabel,
87
88
  errorMessage = _ref.errorMessage,
88
89
  onCancel = _ref.onCancel,
89
90
  prop = _objectWithoutPropertiesLoose(_ref, _excluded);
@@ -416,6 +417,7 @@ export const ComboBox = _ref => {
416
417
  onMouseDown: handleMouseDown,
417
418
  onClick: handleDeselect,
418
419
  "data-testid": "deselect-all",
420
+ "aria-label": clearButtonLabel,
419
421
  tabIndex: -1
420
422
  }, /*#__PURE__*/React.createElement(StyledComboBoxCloseSmallIcon, null)), invalid && errorMessage && /*#__PURE__*/React.createElement(Tooltip, {
421
423
  title: errorMessage
@@ -452,7 +454,8 @@ export const ComboBox = _ref => {
452
454
  onClick: handleDeselect,
453
455
  variant: "text gray",
454
456
  size: "small",
455
- tabIndex: -1
457
+ tabIndex: -1,
458
+ "aria-label": clearButtonLabel
456
459
  }, /*#__PURE__*/React.createElement(StyledComboBoxCloseSmallIcon, null)) : null, invalid && errorMessage && /*#__PURE__*/React.createElement(Tooltip, {
457
460
  title: errorMessage
458
461
  }, size === "regular" ? /*#__PURE__*/React.createElement(StyledInfoSmallIcon, null) : /*#__PURE__*/React.createElement(StyledInfoIcon, null)), showMenu && /*#__PURE__*/React.createElement(StyledComboBoxCollapseExpandSingleIcon, {
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","useLayerContext","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$keepFilterOnClos","keepFilterOnClose","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","listWidth","_ref$listPlacement","listPlacement","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","selectedName","value","map","v","find","q","id","name","_useState","setValue","_useState2","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","_useLayerContext","_useLayerContext$zInd","zIndex","_useState3","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","_error","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /**\n * The input holds a query, not the name of the selection, so closing the list keeps what was typed\n * and focusing the field again brings the same answers back. For a search, not a picker.\n */\n keepFilterOnClose?: boolean;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** Width of the list. Defaults to the width of the field. */\n listWidth?: number;\n /** Where the list sits against the field. Centered by default, which shifts a wider list both ways. */\n listPlacement?: \"bottom\" | \"bottom-start\" | \"bottom-end\";\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n keepFilterOnClose = false,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n listWidth,\n listPlacement = \"bottom\",\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n // Inside a dialog the list has to sit on the dialog's layer, not under it.\n const { zIndex = 10 } = useLayerContext();\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, keepFilterOnClose, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n setValue(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n setFocused(false);\n },\n [keepFilterOnClose, selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n try {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement={listPlacement}\n style={{\n zIndex,\n width: listWidth ?? comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","useLayerContext","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$keepFilterOnClos","keepFilterOnClose","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","listWidth","_ref$listPlacement","listPlacement","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","clearButtonLabel","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","selectedName","value","map","v","find","q","id","name","_useState","setValue","_useState2","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","_useLayerContext","_useLayerContext$zInd","zIndex","_useState3","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","_error","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /**\n * The input holds a query, not the name of the selection, so closing the list keeps what was typed\n * and focusing the field again brings the same answers back. For a search, not a picker.\n */\n keepFilterOnClose?: boolean;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** Width of the list. Defaults to the width of the field. */\n listWidth?: number;\n /** Where the list sits against the field. Centered by default, which shifts a wider list both ways. */\n listPlacement?: \"bottom\" | \"bottom-start\" | \"bottom-end\";\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Accessible name for the clear button */\n clearButtonLabel?: string;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n keepFilterOnClose = false,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n listWidth,\n listPlacement = \"bottom\",\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n clearButtonLabel,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n // Inside a dialog the list has to sit on the dialog's layer, not under it.\n const { zIndex = 10 } = useLayerContext();\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, keepFilterOnClose, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n setValue(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n setFocused(false);\n },\n [keepFilterOnClose, selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n try {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n aria-label={clearButtonLabel}\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n aria-label={clearButtonLabel}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement={listPlacement}\n style={{\n zIndex,\n width: listWidth ?? comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,OAAO,EACPC,QAAQ,QACH,OAAO;AACd,SAASC,YAAY,QAAQ,qBAAqB;AAElD,OAAOC,UAAU,MAAM,YAAY;AAGnC,SACEC,4BAA4B,EAC5BC,sCAAsC,EACtCC,mBAAmB,EACnBC,kBAAkB,EAClBC,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,QACd,UAAU;AACjB,SAASC,MAAM,EAAEC,eAAe,QAAQ,eAAe;AACvD,SAASC,kBAAkB,QAAQ,iDAAiD;AACpF,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAEEC,aAAa,QACR,8BAA8B;AACrC,SAASC,MAAM,QAAqB,WAAW;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,iBAAiB;AAEjE,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,UAAU,QAAQ,0BAA0B;AAErD,MAAMC,OAAO,GAAG;EACdC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE,EAAE;EACXC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC;AAuED,OAAO,MAAMC,QAA4B,GAAGC,IAAA,IAuCtC;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAAA,IAAAC,YAAA,GAAAH,IAAA,CAtCJI,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,EAAE,GAAAA,YAAA;IACZE,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAAC,qBAAA,GAAAN,IAAA,CACRO,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,YAAA,GAAAR,IAAA,CACzBS,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,WAAW,GAAAV,IAAA,CAAXU,WAAW;IACXC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,aAAa,GAAAZ,IAAA,CAAbY,aAAa;IACbC,WAAW,GAAAb,IAAA,CAAXa,WAAW;IACXC,iBAAiB,GAAAd,IAAA,CAAjBc,iBAAiB;IAAAC,aAAA,GAAAf,IAAA,CACjBgB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,SAAA,GAAAjB,IAAA,CAChBkB,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,SAAS,GAAAA,SAAA;IAAAE,YAAA,GAAAnB,IAAA,CAChBoB,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IAAAE,SAAA,GAAArB,IAAA,CACfsB,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,QAAQ,GAAAA,SAAA;IACfE,UAAU,GAAAvB,IAAA,CAAVuB,UAAU;IAAAC,mBAAA,GAAAxB,IAAA,CACVyB,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAGF,IAAI,KAAK,QAAQ,GAAAE,mBAAA;IAClCE,YAAY,GAAA1B,IAAA,CAAZ0B,YAAY;IAAAC,eAAA,GAAA3B,IAAA,CACZ4B,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IACdE,gBAAgB,GAAA7B,IAAA,CAAhB6B,gBAAgB;IAAAC,aAAA,GAAA9B,IAAA,CAChB+B,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,qBAAqB,GAAAhC,IAAA,CAArBgC,qBAAqB;IACrBC,SAAS,GAAAjC,IAAA,CAATiC,SAAS;IAAAC,kBAAA,GAAAlC,IAAA,CACTmC,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAG,QAAQ,GAAAA,kBAAA;IACxBE,aAAa,GAAApC,IAAA,CAAboC,aAAa;IACbC,OAAO,GAAArC,IAAA,CAAPqC,OAAO;IACPC,OAAO,GAAAtC,IAAA,CAAPsC,OAAO;IACPC,UAAU,GAAAvC,IAAA,CAAVuC,UAAU;IACVC,YAAY,GAAAxC,IAAA,CAAZwC,YAAY;IAAAC,SAAA,GAAAzC,IAAA,CACZ0C,IAAI;IAAEC,WAAW,GAAAF,SAAA,cAAG,KAAK,GAAAA,SAAA;IACzBG,MAAM,GAAA5C,IAAA,CAAN4C,MAAM;IACNC,WAAW,GAAA7C,IAAA,CAAX6C,WAAW;IACXC,YAAY,GAAA9C,IAAA,CAAZ8C,YAAY;IACZC,UAAU,GAAA/C,IAAA,CAAV+C,UAAU;IACVC,qBAAqB,GAAAhD,IAAA,CAArBgD,qBAAqB;IAAAC,oBAAA,GAAAjD,IAAA,CACrBkD,eAAe;IAAfA,eAAe,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA;IACvBE,gBAAgB,GAAAnD,IAAA,CAAhBmD,gBAAgB;IAChBC,YAAY,GAAApD,IAAA,CAAZoD,YAAY;IACZC,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACLC,IAAI,GAAAC,6BAAA,CAAAvD,IAAA,EAAAwD,SAAA;EAEP,MAAMC,YAAY,GAAGjG,OAAO,CAAC,MAAM;IACjC,IAAIkG,KAAK,GAAG,EAAE;IACd,IAAI,CAACrD,QAAQ,EAAE;MACb,OAAOqD,KAAK;IACd;IACAtD,OAAO,CAACuD,GAAG,CAAEC,CAAC,IAAK;MACjB,IAAKA,CAAC,YAADA,CAAC,CAAwBxD,OAAO,EAAE;QACrC,OAAQwD,CAAC,CAAuBxD,OAAO,CAACyD,IAAI,CAAEC,CAAC,IAAK;UAClD,IAAIA,CAAC,CAACC,EAAE,KAAK1D,QAAQ,EAAE;YACrBqD,KAAK,GAAGI,CAAC,CAACE,IAAI;YACd;UACF;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAIJ,CAAC,CAACG,EAAE,KAAK1D,QAAQ,EAAE;UACrBqD,KAAK,GAAGE,CAAC,CAACI,IAAI;UACd;QACF;MACF;IACF,CAAC,CAAC;IACF,OAAON,KAAK;EACd,CAAC,EAAE,CAACtD,OAAO,EAAEC,QAAQ,CAAC,CAAC;EACvB,MAAA4D,SAAA,GAA0B5G,QAAQ,CAACoG,YAAY,CAAC;IAAzCC,KAAK,GAAAO,SAAA;IAAEC,QAAQ,GAAAD,SAAA;EACtB,MAAAE,UAAA,GAA8B9G,QAAQ,CAAU,KAAK,CAAC;IAA/C+G,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,MAAMG,cAAc,GAAGlH,WAAW,CAC/BmH,CAAC,IAAK;IACLL,QAAQ,CAACK,CAAC,CAACC,MAAM,CAACd,KAAK,CAAC;IACxB9C,aAAa,YAAbA,aAAa,CAAG2D,CAAC,CAACC,MAAM,CAACd,KAAK,CAAC;EACjC,CAAC,EACD,CAAC9C,aAAa,CAChB,CAAC;EACD,MAAM6D,SAAS,GAAGlH,MAAM,CAA0B,CAAC;EACnD,MAAMmH,UAAU,GAAGnH,MAAM,CAA0B,IAAI,CAAC;EACxD,MAAMoH,SAAS,GAAGnG,UAAU,CAACiG,SAAS,EAAEC,UAAU,CAAC;EACnD,MAAME,UAAU,GAAGrH,MAAM,CAAiB,IAAI,CAAC;EAC/C,MAAMsH,WAAW,GAAGtH,MAAM,CAAiB,IAAI,CAAC;EAChD,MAAMuH,WAAW,GAAGvH,MAAM,CAAwB,IAAI,CAAC;EACvD;EACA,MAAAwH,gBAAA,GAAwB3G,eAAe,CAAC,CAAC;IAAA4G,qBAAA,GAAAD,gBAAA,CAAjCE,MAAM;IAANA,MAAM,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAEnB,MAAAE,UAAA,GAAwB7H,QAAQ,CAACsF,WAAW,CAAC;IAAtCD,IAAI,GAAAwC,UAAA;IAAEC,OAAO,GAAAD,UAAA;EACpB,MAAME,aAAa,GAAG9G,gBAAgB,CAAC,CAAC;EAExCC,iBAAiB,CAACqG,UAAU,EAAGL,CAAC,IAAK;IAAA,IAAAc,oBAAA;IACnC,IAAId,CAAC,CAACC,MAAM,KAAAa,oBAAA,GAAIP,WAAW,CAACQ,OAAO,aAAnBD,oBAAA,CAAqBE,QAAQ,CAAChB,CAAC,CAACC,MAAc,CAAC,EAAE;MAC/D;IACF;IACAnB,QAAQ,YAARA,QAAQ,CAAGI,YAAY,CAAC;IACxB0B,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC,CAAC;EAEF,MAAMK,eAAe,GAAGpI,WAAW,CAChCmH,CAAC,IAAK;IACL,IAAIA,CAAC,CAACkB,GAAG,KAAK,KAAK,IAAI/C,IAAI,EAAE;MAC3ByC,OAAO,CAAC,KAAK,CAAC;IAChB;IAEA,IAAIZ,CAAC,CAACkB,GAAG,KAAK,QAAQ,IAAI/C,IAAI,EAAE;MAC9ByC,OAAO,CAAC,KAAK,CAAC;MACd,IAAI,CAAC5E,iBAAiB,EAAE;QACtB2D,QAAQ,CAACT,YAAY,CAAC;MACxB;MACAJ,QAAQ,YAARA,QAAQ,CAAGI,YAAY,CAAC;MACxBc,CAAC,CAACmB,eAAe,CAAC,CAAC;IACrB;IAEA,IAAInB,CAAC,CAACkB,GAAG,KAAK,OAAO,IAAInE,IAAI,KAAK,UAAU,EAAE;MAC5C4C,QAAQ,CAAC,EAAE,CAAC;IACd;IAEA,IAAIK,CAAC,CAACkB,GAAG,KAAK,OAAO,IAAI,CAAC/C,IAAI,IAAI0B,OAAO,EAAE;MACzCe,OAAO,CAAC,IAAI,CAAC;MACbvC,MAAM,YAANA,MAAM,CAAG,CAAC;IACZ;EACF,CAAC,EACD,CAACwB,OAAO,EAAE7D,iBAAiB,EAAE8C,QAAQ,EAAET,MAAM,EAAEF,IAAI,EAAEe,YAAY,EAAEnC,IAAI,CACzE,CAAC;EAEDhE,SAAS,CAAC,MAAM;IACd,IAAI,CAACoF,IAAI,IAAI,CAAC0C,aAAa,EAAE;MAC3B/C,OAAO,YAAPA,OAAO,CAAG,CAAC;IACb;EACF,CAAC,EAAE,CAACK,IAAI,EAAEL,OAAO,EAAE+C,aAAa,CAAC,CAAC;EAElC9H,SAAS,CAAC,MAAM;IACd4G,QAAQ,CAACT,YAAY,CAAC;EACxB,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElBnG,SAAS,CAAC,MAAM;IACd,IAAIoF,IAAI,KAAKC,WAAW,EAAEwC,OAAO,CAACxC,WAAW,CAAC;IAC9C;EACF,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjBrF,SAAS,CAAC,MAAM;IACd,IAAI,CAACoF,IAAI,IAAI,CAAC0C,aAAa,IAAI,CAAChB,OAAO,EAAE;MACvC,IAAI,OAAO/B,OAAO,KAAK,UAAU,EAAE;QACjCA,OAAO,CAAC,CAAC;MACX;IACF;EACF,CAAC,EAAE,CAAC+B,OAAO,EAAEgB,aAAa,EAAE/C,OAAO,EAAEK,IAAI,CAAC,CAAC;EAE3C,MAAMiD,WAAW,GAAGvI,WAAW,CAC5BwG,CAAC,IAAK;IACL9C,iBAAiB,YAAjBA,iBAAiB,CAAG8C,CAAC,CAAC;IACtBuB,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC,EACD,CAACrE,iBAAiB,CACpB,CAAC;EAED,MAAM8E,YAAY,GAAGxI,WAAW,CAC7ByI,aAAa,IAAK;IACjB,IAAIA,aAAa,KAAKxF,QAAQ,IAAI,OAAOM,QAAQ,KAAK,UAAU,EAAE;MAChEA,QAAQ,CAACkF,aAAa,CAAC;IACzB;IACA3B,QAAQ,CAAC,EAAE,CAAC;IACZ,IAAIzC,cAAc,EAAE;MAClB0D,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EACD,CAAC1D,cAAc,EAAEd,QAAQ,EAAEN,QAAQ,CACrC,CAAC;EAED,MAAMyF,UAAU,GAAG1I,WAAW,CAAC,MAAM;IACnC,IAAI,CAAC4D,QAAQ,EAAE;MACbmE,OAAO,CAAC,IAAI,CAAC;MACbvC,MAAM,YAANA,MAAM,CAAG,CAAC;IACZ;EACF,CAAC,EAAE,CAAC5B,QAAQ,EAAE4B,MAAM,CAAC,CAAC;EAEtB,MAAMmD,kBAAkB,GAAG3I,WAAW,CACpC,CAAC4I,MAAM,EAAEC,KAAK,KAAK;IACjB,IAAI,OAAOvE,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAACsE,MAAM,EAAEC,KAAK,CAAC;IACpC;IACA,IAAI3E,IAAI,KAAK,UAAU,EAAE;MACvB,oBACEnE,KAAA,CAAA+I,aAAA,CAAA/I,KAAA,CAAAM,QAAA,qBACEN,KAAA,CAAA+I,aAAA,CAAC5G,aAAa;QACZ6G,QAAQ,EAAEH,MAAM,CAACI,KAAM;QACvBC,KAAK,EAAEL,MAAM,CAACK,KAAM;QACpBC,SAAS,EAAEN,MAAM,CAACM,SAAU;QAC5BtC,IAAI,EAAEgC,MAAM,CAAChC;MAAK,CACnB,CAAC,eACF7G,KAAA,CAAA+I,aAAA,CAACtH,QAAQ,EAAKqH,KAAQ,CACtB,CAAC;IAEP;IACA,oBACE9I,KAAA,CAAA+I,aAAA,CAAA/I,KAAA,CAAAM,QAAA,qBACEN,KAAA,CAAA+I,aAAA,CAAC5G,aAAa;MACZ6G,QAAQ,EAAEH,MAAM,CAACI,KAAM;MACvBC,KAAK,EAAEL,MAAM,CAACK,KAAM;MACpBC,SAAS,EAAEN,MAAM,CAACM,SAAU;MAC5BtC,IAAI,EAAEgC,MAAM,CAAChC;IAAK,CACnB,CAAC,eACF7G,KAAA,CAAA+I,aAAA,CAAC7G,WAAW,EAAK4G,KAAQ,CACzB,CAAC;EAEP,CAAC,EACD,CAAC3E,IAAI,EAAEI,YAAY,CACrB,CAAC;EAED,MAAM6E,cAAc,GAAGnJ,WAAW,CAC/BmH,CAAC,IAAK;IACLA,CAAC,CAACmB,eAAe,CAAC,CAAC;IACnB,IAAI,OAAOnD,UAAU,KAAK,UAAU,EAAE;MACpCA,UAAU,CAAC,CAAC;IACd,CAAC,MAAM,IAAIjB,IAAI,KAAK,UAAU,EAAE;MAC9BX,QAAQ,YAARA,QAAQ,CAAG,EAAE,CAAC;IAChB,CAAC,MAAM;MACLA,QAAQ,YAARA,QAAQ,CAAG,EAAE,CAAC;IAChB;IAEA2B,OAAO,YAAPA,OAAO,CAAG,CAAC;IACX6C,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC,EACD,CAAC7D,IAAI,EAAEX,QAAQ,EAAE2B,OAAO,EAAEC,UAAU,CACtC,CAAC;EAED,MAAMiE,eAAe,GAAGpJ,WAAW,CAAEmH,CAAC,IAAK;IACzCA,CAAC,CAACkC,cAAc,CAAC,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,UAAU,GAAGtJ,WAAW,CAC3BmH,CAAC,IAAK;IAAA,IAAAoC,mBAAA;IACL,IACEpC,CAAC,CAACqC,aAAa,KAAAD,mBAAA,GACf/B,UAAU,CAACU,OAAO,aAAlBqB,mBAAA,CAAoBpB,QAAQ,CAAChB,CAAC,CAACqC,aAAqB,CAAC,EACrD;MACA;IACF;IACA,IAAI,CAACrG,iBAAiB,EAAE;MACtB2D,QAAQ,CAACT,YAAY,CAAC;IACxB;IACAY,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EACD,CAAC9D,iBAAiB,EAAEkD,YAAY,CAClC,CAAC;EAED,MAAMoD,mBAAmB,GAAGzJ,WAAW,CACrC,CAAC4I,MAAM,EAAEc,KAAK,KAAK;IACjB,IAAI,OAAOvF,UAAU,KAAK,UAAU,EAAE;MACpC,OAAOA,UAAU,CAACyE,MAAM,EAAEc,KAAK,CAAC;IAClC;IACA,MAAMC,WAAiC,GAAG;MACxC7F,IAAI,EAAE;IACR,CAAC;IACD,QAAQA,IAAI;MACV,KAAK,KAAK;QACR6F,WAAW,CAAC7F,IAAI,GAAG,EAAE;QACrB;MACF,KAAK,OAAO;QACV6F,WAAW,CAAC7F,IAAI,GAAG,EAAE;QACrB;IACJ;IACA,MAAM8F,cAAc,GAAGhB,MAAM,CAACI,KAAK,gBACjCjJ,KAAA,CAAA+I,aAAA,CAAAe,aAAA,EAAAC,QAAA;MAKEC,GAAG,EAAEnB,MAAM,CAACI;IAAM,GACdW,WAAW;MAAAK,KAAA,EAJT;QAAA;QAAA;MAAU,CAAC;MAAAC,MAAA,EACX;QAAA;MAAU;IAAC,EAIlB,CAAC,GACAC,SAAS;IAEb,MAAMjF,OAAO,GAAIkC,CAAC,IAAK;MACrBA,CAAC,CAACkC,cAAc,CAAC,CAAC;MAClBlC,CAAC,CAACmB,eAAe,CAAC,CAAC;MACnB,IAAI6B,KAAK,CAACC,OAAO,CAACnH,QAAQ,CAAC,IAAIA,QAAQ,CAACoH,QAAQ,CAACzB,MAAM,CAACjC,EAAE,CAAC,EAAE;QAC3D,IAAI,OAAOpD,QAAQ,KAAK,UAAU,EAAE;UAClC,MAAM+G,WAAW,GAAGrH,QAAQ,CAACsH,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAK5B,MAAM,CAACjC,EAAE,CAAC;UACjEpD,QAAQ,CAAC+G,WAAW,CAAC;QACvB;MACF;IACF,CAAC;IAED,IAAIG,WAAW,GAAG,IAAI;IACtB,IAAI7G,QAAQ,EAAE;MACZ6G,WAAW,GAAG,KAAK;IACrB;IACA,IAAI7B,MAAM,CAACK,KAAK,EAAE;MAChBwB,WAAW,GAAG,KAAK;IACrB;IAEA,oBACE1K,KAAA,CAAA+I,aAAA,CAACrH,IAAI;MACHiJ,SAAS,EAAC,kBAAkB;MAC5Bd,cAAc,EAAEA,cAAe;MAC/Be,KAAK,EAAE/B,MAAM,CAAChC,IAAK;MACnByB,GAAG,EAAEqB,KAAM;MACXkB,eAAe,EAAEhC,MAAM,CAACK,KAAM;MAC9BA,KAAK,EAAEL,MAAM,CAACiC,SAAU;MACxB5F,OAAO,EAAEwF,WAAW,GAAGxF,OAAO,GAAGiF,SAAU;MAC3CpG,IAAI,EAAEA;IAAK,CACZ,CAAC;EAEN,CAAC,EACD,CAACF,QAAQ,EAAEL,QAAQ,EAAEY,UAAU,EAAElB,QAAQ,EAAEa,IAAI,CACjD,CAAC;EAED,MAAMgH,QAAQ,GAAG1K,OAAO,CAAC,MAAM;IAC7B,IACE8D,IAAI,KAAK,UAAU,IACnBoB,IAAI,IACJ6E,KAAK,CAACC,OAAO,CAACnH,QAAQ,CAAC,IACvBA,QAAQ,CAAC8H,MAAM,GAAG,CAAC,EACnB;MACA,OAAO,MAAM;IACf;IACA,OAAOjH,IAAI;EACb,CAAC,EAAE,CAACwB,IAAI,EAAErC,QAAQ,EAAEa,IAAI,EAAEI,IAAI,CAAC,CAAC;EAEhC,MAAM0F,cAAc,GAAGxJ,OAAO,CAAC,MAAM;IACnC,IAAI8D,IAAI,KAAK,UAAU,IAAIiG,KAAK,CAACC,OAAO,CAACnH,QAAQ,CAAC,IAAIA,QAAQ,CAAC8H,MAAM,GAAG,CAAC,EAAE;MACzE,MAAMC,QAAuB,GAAG,EAAE;MAClC,IAAIC,KAAK,GAAG,CAAC;MACbjI,OAAO,CAACkI,OAAO,CAAC,CAACtC,MAAM,EAAEc,KAAK,KAAK;QACjC,MAAMyB,SAAS,GAAG7J,aAAa,CAACsH,MAAM,CAAC;QACvC,IAAI3F,QAAQ,CAACoH,QAAQ,CAACzB,MAAM,CAACjC,EAAE,CAAC,IAAI,CAACwE,SAAS,EAAE;UAC9CF,KAAK,GAAGA,KAAK,GAAG,CAAC;UACjBD,QAAQ,CAACI,IAAI,CAAC3B,mBAAmB,CAACb,MAAM,EAAEc,KAAK,CAAC,CAAC;QACnD,CAAC,MAAM,IAAIyB,SAAS,EAAE;UACpB,MAAME,cAAc,GAAGzC,MAAM,CAAC5F,OAAO,CAACuH,MAAM,CAAEe,CAAC,IAC7CrI,QAAQ,CAACoH,QAAQ,CAACiB,CAAC,CAAC3E,EAAE,CACxB,CAAC;UACDsE,KAAK,GAAGA,KAAK,GAAGI,cAAc,CAACN,MAAM;UACrC,IAAIM,cAAc,CAACN,MAAM,GAAG,CAAC,EAAE;YAC7BM,cAAc,CAACH,OAAO,CAAC,CAACI,CAAC,EAAEC,MAAM,KAAK;cACpCP,QAAQ,CAACI,IAAI,CAAC3B,mBAAmB,CAAC6B,CAAC,EAAK5B,KAAK,SAAI6B,MAAQ,CAAC,CAAC;YAC7D,CAAC,CAAC;UACJ;QACF;MACF,CAAC,CAAC;MACF,IAAIC,MAAM,GAAG,CAAC;MACd,IAAI,CAAClG,IAAI,IAAId,UAAU,GAAG,CAAC,IAAIwG,QAAQ,CAACD,MAAM,GAAGvG,UAAU,EAAE;QAC3DgH,MAAM,GAAGR,QAAQ,CAACS,MAAM,CACtBjH,UAAU,EACVwG,QAAQ,CAACD,MAAM,GAAGvG,UACpB,CAAC,CAACuG,MAAM;MACV;MAEA,oBACEhL,KAAA,CAAA+I,aAAA,CAACzI,QAAQ,QACN2K,QAAQ,EACRQ,MAAM,GAAG,CAAC,iBACTzL,KAAA,CAAA+I,aAAA,CAAA4C,iBAAA;QACEC,OAAO,EACL7H,IAAI,KAAK,OAAO,GACZ,WAAW,GACXA,IAAI,KAAK,SAAS,GAClB,QAAQ,GACR;MACL,GAOA,OAAOW,gBAAgB,KAAK,UAAU,GACnCA,gBAAgB,CAAC+G,MAAM,CAAC,SACpBA,MACE,CAEN,CAAC;IAEf;IACA,IAAItH,IAAI,KAAK,QAAQ,IAAIjB,QAAQ,EAAE;MACjC,IAAI2I,UAAU;MACd5I,OAAO,CAACkI,OAAO,CAAEtC,MAAM,IAAK;QAC1B,IAAItH,aAAa,CAACsH,MAAM,CAAC,EAAE;UACzBgD,UAAU,GAAGhD,MAAM,CAAC5F,OAAO,CAACyD,IAAI,CAAEoF,KAAK,IAAKA,KAAK,CAAClF,EAAE,KAAK1D,QAAQ,CAAC;QACpE,CAAC,MAAM,IAAI,CAAC2I,UAAU,IAAIhD,MAAM,CAACjC,EAAE,KAAK1D,QAAQ,EAAE;UAChD2I,UAAU,GAAGhD,MAAM;QACrB;MACF,CAAC,CAAC;MACF,IAAIgD,UAAU,IAAIA,UAAU,CAAC5C,KAAK,EAAE;QAClC,MAAM8C,UAAU,GAAGhI,IAAI,KAAK,KAAK,GAAG,EAAE,GAAGA,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE;QACrE,IAAIqG,KAAK,CAACC,OAAO,CAACwB,UAAU,CAAC5C,KAAK,CAAC,EAAE;UACnC,oBAAOjJ,KAAA,CAAA+I,aAAA,CAAC/G,WAAW;YAACgI,GAAG,EAAE6B,UAAU,CAAC5C,KAAM;YAAClF,IAAI,EAAEgI;UAAW,CAAE,CAAC;QACjE;QACA,oBAAO/L,KAAA,CAAA+I,aAAA,CAACvH,MAAM;UAACwI,GAAG,EAAE6B,UAAU,CAAC5C,KAAM;UAAClF,IAAI,EAAEgI;QAAW,CAAE,CAAC;MAC5D;IACF;IAEA,OAAO5B,SAAS;EAClB,CAAC,EAAE,CACDhG,IAAI,EACJjB,QAAQ,EACRD,OAAO,EACPsC,IAAI,EACJd,UAAU,EACVC,gBAAgB,EAChBgF,mBAAmB,EACnB3F,IAAI,CACL,CAAC;EAEF,MAAMiI,SAAS,GACb5B,KAAK,CAACC,OAAO,CAACnH,QAAQ,CAAC,IACvBiB,IAAI,KAAK,UAAU,IACnBjB,QAAQ,CAAC8H,MAAM,GAAG,CAAC,IACnB,CAACjF,eAAe;EAElB,MAAMkG,WAAW,GACf9H,IAAI,KAAK,UAAU,IAAIiG,KAAK,CAACC,OAAO,CAACnH,QAAQ,CAAC,IAAIA,QAAQ,CAAC8H,MAAM,GAAG,CAAC;EAEvE,MAAMkB,QAAQ,GAAG7L,OAAO,CAAC,MAAM;IAC7B,MAAM8L,UAAU,GAAG,CAAAlJ,OAAO,oBAAPA,OAAO,CAAE+H,MAAM,IAAG,CAAC;IAEtC,MAAMoB,WAAW,GAAIvD,MAAwB,IAC3C,CAACA,MAAM,CAACjC,EAAE,CAACyF,QAAQ,CAAC,CAAC,CAAC/B,QAAQ,CAAC/D,KAAK,CAAC,IAAIsC,MAAM,CAAChC,IAAI,CAACyD,QAAQ,CAAC/D,KAAK,CAAC,KACpE,EAACsC,MAAM,YAANA,MAAM,CAAE4C,MAAM;IAEjB,MAAMa,gBAAgB,GAAGrJ,OAAO,oBAAPA,OAAO,CAAEsJ,IAAI,CAAE1D,MAAM,IAC5CtH,aAAa,CAACsH,MAAM,CAAC,GACjBA,MAAM,CAAC5F,OAAO,CAACsJ,IAAI,CAACH,WAAW,CAAC,GAChCA,WAAW,CAACvD,MAAM,CACxB,CAAC;IACD,OACGsD,UAAU,KAAK,CAAC,CAAC9G,YAAY,IAAI,CAACkB,KAAK,CAAC,IACxCA,KAAK,KACH+F,gBAAgB,IACd1G,UAAU,IAAI,CAAC,CAACjC,iBAAkB,IACnCgC,YAAY,CAAE;EAEtB,CAAC,EAAE,CACDN,YAAY,EACZO,UAAU,EACVjC,iBAAiB,EACjBgC,YAAY,EACZ1C,OAAO,EACPsD,KAAK,CACN,CAAC;EAEF,oBACEvG,KAAA,CAAA+I,aAAA;IAAK4B,SAAS,EAAC;EAAa,GACzBxG,IAAI,KAAK,UAAU,gBAClBnE,KAAA,CAAA+I,aAAA,CAAA/I,KAAA,CAAAM,QAAA,qBACEN,KAAA,CAAA+I,aAAA,CAAAyD,yBAAA;IACEC,SAAS,EAAE5I,QAAS;IACpB6I,KAAK,EAAE3I,IAAK;IACZ4I,QAAQ,EAAE1I,OAAQ;IAClB2I,GAAG,EAAEjF,WAAY;IACjBkF,KAAK,EAAEnH,WAAY;IAUnBiF,SAAS,EAAEnK,UAAU,CACnB,2BAA2B,EAC3BqE,qBACF,CAAE;IACFiI,OAAO,EAAEA,CAAA,KAAM;MAAA,IAAAC,mBAAA;MACb,CAAAA,mBAAA,GAAAxF,UAAU,CAACY,OAAO,aAAlB4E,mBAAA,CAAoBC,KAAK,CAAC,CAAC;IAC7B,CAAE;IAAAC,MAAA,EAXUlC,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAGZ,SAAS;IAAA+C,MAAA,EACpCnC,QAAQ,KAAK,MAAM,IAAI9F,aAAa,GAC9C,QAAQ,GACRkF;EAAS,gBAUfnK,KAAA,CAAA+I,aAAA,CAAAoE,wBAAA;IACEC,SAAS,EAAErC,QAAS;IACpBsC,KAAK,EAAE9H,IAAK;IACZqH,GAAG,EAAElF,WAAY;IAAA4F,MAAA,EAEDvC,QAAQ,KAAK,MAAM,IAAI9F,aAAa,GAC9C1C,OAAO,CAACwB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAC5BoG;EAAS,GAGdN,cAAc,eACf7J,KAAA,CAAA+I,aAAA,CAAClH,WAAW;IACV8I,SAAS,EAAC,mBAAmB;IAC7B4C,MAAM,EAAEhE,UAAW;IACnBiE,OAAO,EAAGpG,CAAC,IAAK;MACd,IAAI;QACF,IAAIA,CAAC,CAACC,MAAM,CAACoG,OAAO,CAAC,gBAAgB,CAAC,EAAE;UACtCzF,OAAO,CAAC,IAAI,CAAC;UACbvC,MAAM,YAANA,MAAM,CAAG,CAAC;QACZ;QACA;MACF,CAAC,CAAC,OAAOiI,MAAM,EAAE,CAAC;MAClBxG,UAAU,CAAC,IAAI,CAAC;IAClB,CAAE;IACF4F,OAAO,EAAEnE,UAAW;IACpBiE,GAAG,EAAEpF,SAAU;IACfjB,KAAK,EAAEjD,OAAO,IAAIC,WAAW,GAAGA,WAAW,GAAGgD,KAAM;IACpDoH,SAAS,EAAEtF,eAAgB;IAC3B7E,QAAQ,EAAE2D,cAAe;IACzBzD,WAAW,EAAE,CAACuI,WAAW,GAAGvI,WAAW,GAAGyG,SAAU;IACpD0C,KAAK,EAAEnH,WAAY;IACnB7B,QAAQ,EAAEA,QAAS;IACnB6I,KAAK,EAAE3I,IAAK;IACZ6J,QAAQ,EAAEtK,OAAQ;IAClBuK,KAAK,EAAE;MACLC,OAAO,EAAE,MAAM;MACfC,IAAI,EAAE,CAAC;MACPC,SAAS,EAAE,QAAQ;MACnBC,KAAK,EAAElD,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG;IACxC;EAAE,CACH,CACgB,CAAC,EACnB,CAAClH,QAAQ,iBACR7D,KAAA,CAAA+I,aAAA,CAAA/I,KAAA,CAAAM,QAAA,QACGgD,OAAO,gBACNtD,KAAA,CAAA+I,aAAA,CAAChH,aAAa,MAAE,CAAC,gBAEjB/B,KAAA,CAAA+I,aAAA,CAAA/I,KAAA,CAAAM,QAAA,QACG0L,SAAS,iBACRhM,KAAA,CAAA+I,aAAA,CAAAmF,cAAA;IACEC,WAAW,EAAE9E,eAAgB;IAC7ByD,OAAO,EAAE1D,cAAe;IACxB,eAAY,cAAc;IAC1B,cAAYpD,gBAAiB;IAC7BoI,QAAQ,EAAE,CAAC;EAAE,gBAMbpO,KAAA,CAAA+I,aAAA,CAACtI,4BAA4B,MAAE,CACxB,CACV,EACAwD,OAAO,IAAIgC,YAAY,iBACtBjG,KAAA,CAAA+I,aAAA,CAAC3G,OAAO;IAACiM,KAAK,EAAEpI;EAAa,GAC1BlC,IAAI,KAAK,SAAS,gBACjB/D,KAAA,CAAA+I,aAAA,CAAChI,mBAAmB,MAAE,CAAC,gBAEvBf,KAAA,CAAA+I,aAAA,CAACjI,cAAc,MAAE,CAEZ,CACV,EACAoL,QAAQ,iBACPlM,KAAA,CAAA+I,aAAA,CAACrI,sCAAsC;IAAC2M,KAAK,EAAE9H;EAAK,CAAE,CAExD,CAEJ,CAEc,CACpB,CAAC,gBAEHvF,KAAA,CAAA+I,aAAA,CAACpI,mBAAmB;IAClBgK,SAAS,EAAEnK,UAAU,CAAC,mBAAmB,EAAEqE,qBAAqB,CAAE;IAClE0I,MAAM,EAAEhE,UAAW;IACnB+E,YAAY,EAAE3F,UAAW;IACzB6E,OAAO,EAAGpG,CAAC,IAAK;MACd,IAAIA,CAAC,CAACC,MAAM,CAACoG,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACtCzF,OAAO,CAAC,IAAI,CAAC;QACbvC,MAAM,YAANA,MAAM,CAAG,CAAC;MACZ;MACAyB,UAAU,CAAC,IAAI,CAAC;IAClB,CAAE;IACF4F,OAAO,EAAEnE,UAAW;IACpB4F,IAAI,EAAE7I,WAAY;IAClB8I,OAAO,EAAE7G,WAAY;IACrBiF,GAAG,EAAEpF,SAAU;IACfjB,KAAK,EAAEjD,OAAO,IAAIC,WAAW,GAAGA,WAAW,GAAGgD,KAAM;IACpDoH,SAAS,EAAEtF,eAAgB;IAC3B7E,QAAQ,EAAE2D,cAAe;IACzBzD,WAAW,EAAEA,WAAY;IACzBG,QAAQ,EAAEA,QAAS;IACnBE,IAAI,EAAEA,IAAK;IACXE,OAAO,EAAEA,OAAQ;IACjB2J,QAAQ,EAAEtK,OAAQ;IAClBuG,cAAc,EAAEA,cAAe;IAC/B4E,YAAY,EACV,CAAC5K,QAAQ,gBACP7D,KAAA,CAAA+I,aAAA,CAACnH,cAAc;MAAC8M,oBAAoB,EAAE7K;IAAS,GAC5CP,OAAO,iBAAItD,KAAA,CAAA+I,aAAA,CAAChH,aAAa,MAAE,CAAC,EAC5B,CAACuB,OAAO,IAAIJ,QAAQ,IAAI,CAAC6C,eAAe,gBACvC/F,KAAA,CAAA+I,aAAA,CAACpH,UAAU;MACTwM,WAAW,EAAE9E,eAAgB;MAC7ByD,OAAO,EAAE1D,cAAe;MACxBwC,OAAO,EAAC,WAAW;MACnB7H,IAAI,EAAC,OAAO;MACZqK,QAAQ,EAAE,CAAC,CAAE;MACb,cAAYpI;IAAiB,gBAE7BhG,KAAA,CAAA+I,aAAA,CAACtI,4BAA4B,MAAE,CACrB,CAAC,GACX,IAAI,EACPwD,OAAO,IAAIgC,YAAY,iBACtBjG,KAAA,CAAA+I,aAAA,CAAC3G,OAAO;MAACiM,KAAK,EAAEpI;IAAa,GAC1BlC,IAAI,KAAK,SAAS,gBACjB/D,KAAA,CAAA+I,aAAA,CAAChI,mBAAmB,MAAE,CAAC,gBAEvBf,KAAA,CAAA+I,aAAA,CAACjI,cAAc,MAAE,CAEZ,CACV,EACAoL,QAAQ,iBACPlM,KAAA,CAAA+I,aAAA,CAACrI,sCAAsC;MAAC2M,KAAK,EAAE9H;IAAK,CAAE,CAE1C,CAAC,GACf;EACL,CACF,CACF,EACA,CAAC1B,QAAQ,gBACR7D,KAAA,CAAA+I,aAAA,CAAC7H,kBAAkB;IACjByN,SAAS,EAAE/J,QAAS;IACpBgK,IAAI,EAAGC,QAAQ,iBAAK7O,KAAA,CAAA+I,aAAA,CAAC/H,MAAM,QAAE6N,QAAiB;EAAE,gBAEhD7O,KAAA,CAAA+I,aAAA,CAAC9G,MAAM;IACL6M,QAAQ,EAAEnH,WAAW,CAACQ,OAAQ;IAC9B5C,IAAI,EAAEA,IAAK;IACXwJ,SAAS,EAAE/J,aAAc;IACzB6I,KAAK,EAAE;MACL/F,MAAM;MACNmG,KAAK,EAAEnJ,SAAS,WAATA,SAAS,IAAAhC,qBAAA,GAAI6E,WAAW,CAACQ,OAAO,qBAAnBrF,qBAAA,CAAqBkM;IAC3C,CAAE;IACFpC,GAAG,EAAEnF,UAAW;IAChBwH,QAAQ,EAAC;EAAO,gBAEhBjP,KAAA,CAAA+I,aAAA,CAACxI,YAAY;IAAC2O,WAAW;IAACC,cAAc;EAAA,gBACtCnP,KAAA,CAAA+I,aAAA,CAACnI,kBAAkB;IACjB+J,SAAS,EAAC,mBAAmB;IAC7ByE,MAAM,GAAArM,qBAAA,GAAE4E,WAAW,CAACQ,OAAO,qBAAnBpF,qBAAA,CAAqBiM,WAAY;IACzCK,KAAK,EAAE,CAACnD;EAAS,gBAEjBlM,KAAA,CAAA+I,aAAA,CAACzH,YAAY,EAAAyI,QAAA,KACP5D,IAAI;IACRP,UAAU,EAAEA,UAAW;IACvBD,YAAY,EAAEA,YAAa;IAC3B2J,OAAO,EAAEhI,SAAU;IACnBpE,QAAQ,EAAEA,QAAS;IACnBuF,YAAY,EAAEA,YAAa;IAC3BlE,YAAY,EAAEqE,kBAAmB;IACjC3F,OAAO,EAAEA,OAAQ;IACjBkB,IAAI,EAAEA,IAAK;IACXkB,YAAY,EAAEA,YAAa;IAC3B1B,iBAAiB,EAAE6E,WAAY;IAC/B3C,qBAAqB,EAAEA;EAAsB,EAC9C,CACiB,CACR,CACR,CACU,CAAC,GACnB,IACD,CAAC;AAEV,CAAC;AAEDjD,QAAQ,CAAC2M,WAAW,GAAG,UAAU;AAAC,IAAAzF,aAAA,GAAA0F,OAAA,CAAAhO,MAAA,EAAAiO,eAAA,KAAAA,eAAA,GAAAC,2BAAA,yDAAAC,CAAA,IAAAA,CAAA,CAAA1F,KAAA,EAAA0F,CAAA,IAAAA,CAAA,CAAAzF,MAAA;AAAA,IAAAyB,iBAAA,GAAAiE,QAAA,CAAAtN,UAAA,EAAAuN,gBAAA,KAAAA,gBAAA,GAAAH,2BAAA;AAAA,IAAAlD,yBAAA,GAAAsD,QAAA,CAAAhO,kBAAA,EAAAiO,gBAAA,KAAAA,gBAAA,GAAAL,2BAAA,0LAAAC,CAAA,IAAAA,CAAA,CAAA1C,MAAA,EAAA0C,CAAA,IAAAA,CAAA,CAAAzC,MAAA;AAAA,IAAAC,wBAAA,GAAA6C,QAAA,CAAAnP,iBAAA,EAAAoP,gBAAA,KAAAA,gBAAA,GAAAP,2BAAA,4DAAAC,CAAA,IAAAA,CAAA,CAAArC,MAAA;AAAA,IAAAY,cAAA,GAAAgC,QAAA,CAAA7N,OAAA,EAAA8N,UAAA;EAAAZ,WAAA;EAAAa,WAAA;AAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FC, MouseEvent, ButtonHTMLAttributes } from "react";
1
+ import React, { FC, MouseEvent, ButtonHTMLAttributes, SVGAttributes } from "react";
2
2
  export interface ICompleteCheckboxProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  /** Change completed state of checkbox */
4
4
  completed?: boolean;
@@ -16,4 +16,12 @@ export interface ICompleteCheckboxProps extends ButtonHTMLAttributes<HTMLButtonE
16
16
  checkMarkClassName?: string;
17
17
  }
18
18
  export declare const CompleteCheckbox: FC<ICompleteCheckboxProps>;
19
+ export interface ICompleteCheckboxRingProps extends SVGAttributes<SVGSVGElement> {
20
+ /** Closes the ring into a full circle and fades it out, when the wait ends. */
21
+ closing?: boolean;
22
+ /** The width and the height in pixels. */
23
+ size?: number;
24
+ }
25
+ /** Stands in the place of a checkbox while its object waits for the server. */
26
+ export declare const CompleteCheckboxRing: ({ closing, size, className, ...rest }: ICompleteCheckboxRingProps) => React.JSX.Element;
19
27
  //# sourceMappingURL=CompleteCheckbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompleteCheckbox.d.ts","sourceRoot":"","sources":["../../../../src/components/CompleteCheckbox/CompleteCheckbox.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAMpE,MAAM,WAAW,sBACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC/C,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,sBAAsB,CA2BvD,CAAC"}
1
+ {"version":3,"file":"CompleteCheckbox.d.ts","sourceRoot":"","sources":["../../../../src/components/CompleteCheckbox/CompleteCheckbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,EAAE,EACF,UAAU,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,OAAO,CAAC;AAMf,MAAM,WAAW,sBACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC/C,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,sBAAsB,CA2BvD,CAAC;AAIF,MAAM,WAAW,0BACf,SAAQ,aAAa,CAAC,aAAa,CAAC;IACpC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,GAAI,uCAKlC,0BAA0B,sBAW5B,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["completed", "disabled", "animate", "onClick", "className", "primary", "checkMarkClassName"];
3
+ const _excluded = ["completed", "disabled", "animate", "onClick", "className", "primary", "checkMarkClassName"],
4
+ _excluded2 = ["closing", "size", "className"];
4
5
  import React from "react";
5
6
  import classnames from "classnames";
6
- import { StyledCompleteCheckbox } from "./Styles";
7
+ import { StyledCompleteCheckbox, StyledCompleteCheckboxRing } from "./Styles";
7
8
  export const CompleteCheckbox = _ref => {
8
9
  let _ref$completed = _ref.completed,
9
10
  completed = _ref$completed === void 0 ? false : _ref$completed,
@@ -35,4 +36,25 @@ export const CompleteCheckbox = _ref => {
35
36
  })));
36
37
  };
37
38
  CompleteCheckbox.displayName = "CompleteCheckbox";
39
+ /** Stands in the place of a checkbox while its object waits for the server. */
40
+ export const CompleteCheckboxRing = _ref2 => {
41
+ let _ref2$closing = _ref2.closing,
42
+ closing = _ref2$closing === void 0 ? false : _ref2$closing,
43
+ _ref2$size = _ref2.size,
44
+ size = _ref2$size === void 0 ? 20 : _ref2$size,
45
+ className = _ref2.className,
46
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
47
+ return /*#__PURE__*/React.createElement(StyledCompleteCheckboxRing, _extends({
48
+ viewBox: "0 0 20 20",
49
+ "aria-hidden": "true"
50
+ }, rest, {
51
+ $closing: closing,
52
+ $size: size,
53
+ className: classnames("c-complete-checkbox-ring", className)
54
+ }), /*#__PURE__*/React.createElement("circle", {
55
+ cx: "10",
56
+ cy: "10",
57
+ r: "9"
58
+ }));
59
+ };
38
60
  //# sourceMappingURL=CompleteCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompleteCheckbox.js","names":["React","classnames","StyledCompleteCheckbox","CompleteCheckbox","_ref","_ref$completed","completed","_ref$disabled","disabled","_ref$animate","animate","onClick","className","_ref$primary","primary","checkMarkClassName","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","$primary","$completed","$disabled","$animation","$checkMarkClassName","viewBox","d","points","displayName"],"sources":["../../../../src/components/CompleteCheckbox/CompleteCheckbox.tsx"],"sourcesContent":["import React, { FC, MouseEvent, ButtonHTMLAttributes } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledCompleteCheckbox } from \"./Styles\";\n\nexport interface ICompleteCheckboxProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Change completed state of checkbox */\n completed?: boolean;\n /** Callback */\n onClick?: (event: MouseEvent) => void;\n /** Make component disabled for interaction */\n disabled?: boolean;\n /** Animation (works only when is completed and not disabled) */\n animate?: boolean;\n /** Class names */\n className?: string | undefined;\n /** Set green color for checkbox */\n primary?: boolean;\n /** Set checkmark height and width */\n checkMarkClassName?: string;\n}\n\nexport const CompleteCheckbox: FC<ICompleteCheckboxProps> = ({\n completed = false,\n disabled = false,\n animate = false,\n onClick,\n className,\n primary = false,\n checkMarkClassName,\n ...rest\n}) => {\n return (\n <StyledCompleteCheckbox\n onClick={onClick}\n className={classnames(\"c-complete-checkbox\", className)}\n $primary={primary}\n $completed={completed}\n $disabled={disabled}\n $animation={!disabled && completed && animate}\n $checkMarkClassName={!!checkMarkClassName}\n {...rest}\n >\n <svg viewBox=\"0 0 48 48\" className={checkMarkClassName}>\n <path d=\"M7,7l5.7,5.7 M0,24h8 M7,41l5.7-5.7 M24,48v-8 M41,41l-5.7-5.7 M48,24h-8 M41,7l-5.7,5.7 M24,0v8\" />\n <polyline points=\"19.5,24 22.5,27 28.5,21\" />\n </svg>\n </StyledCompleteCheckbox>\n );\n};\n\nCompleteCheckbox.displayName = \"CompleteCheckbox\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAgD,OAAO;AAEnE,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,sBAAsB,QAAQ,UAAU;AAoBjD,OAAO,MAAMC,gBAA4C,GAAGC,IAAA,IAStD;EAAA,IAAAC,cAAA,GAAAD,IAAA,CARJE,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAH,IAAA,CACjBI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,YAAA,GAAAL,IAAA,CAChBM,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IAAAC,YAAA,GAAAT,IAAA,CACTU,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,kBAAkB,GAAAX,IAAA,CAAlBW,kBAAkB;IACfC,IAAI,GAAAC,6BAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,oBACElB,KAAA,CAAAmB,aAAA,CAACjB,sBAAsB,EAAAkB,QAAA;IACrBT,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEX,UAAU,CAAC,qBAAqB,EAAEW,SAAS,CAAE;IACxDS,QAAQ,EAAEP,OAAQ;IAClBQ,UAAU,EAAEhB,SAAU;IACtBiB,SAAS,EAAEf,QAAS;IACpBgB,UAAU,EAAE,CAAChB,QAAQ,IAAIF,SAAS,IAAII,OAAQ;IAC9Ce,mBAAmB,EAAE,CAAC,CAACV;EAAmB,GACtCC,IAAI,gBAERhB,KAAA,CAAAmB,aAAA;IAAKO,OAAO,EAAC,WAAW;IAACd,SAAS,EAAEG;EAAmB,gBACrDf,KAAA,CAAAmB,aAAA;IAAMQ,CAAC,EAAC;EAA+F,CAAE,CAAC,eAC1G3B,KAAA,CAAAmB,aAAA;IAAUS,MAAM,EAAC;EAAyB,CAAE,CACzC,CACiB,CAAC;AAE7B,CAAC;AAEDzB,gBAAgB,CAAC0B,WAAW,GAAG,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"CompleteCheckbox.js","names":["React","classnames","StyledCompleteCheckbox","StyledCompleteCheckboxRing","CompleteCheckbox","_ref","_ref$completed","completed","_ref$disabled","disabled","_ref$animate","animate","onClick","className","_ref$primary","primary","checkMarkClassName","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","$primary","$completed","$disabled","$animation","$checkMarkClassName","viewBox","d","points","displayName","CompleteCheckboxRing","_ref2","_ref2$closing","closing","_ref2$size","size","_excluded2","$closing","$size","cx","cy","r"],"sources":["../../../../src/components/CompleteCheckbox/CompleteCheckbox.tsx"],"sourcesContent":["import React, {\n FC,\n MouseEvent,\n ButtonHTMLAttributes,\n SVGAttributes,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledCompleteCheckbox, StyledCompleteCheckboxRing } from \"./Styles\";\n\nexport interface ICompleteCheckboxProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Change completed state of checkbox */\n completed?: boolean;\n /** Callback */\n onClick?: (event: MouseEvent) => void;\n /** Make component disabled for interaction */\n disabled?: boolean;\n /** Animation (works only when is completed and not disabled) */\n animate?: boolean;\n /** Class names */\n className?: string | undefined;\n /** Set green color for checkbox */\n primary?: boolean;\n /** Set checkmark height and width */\n checkMarkClassName?: string;\n}\n\nexport const CompleteCheckbox: FC<ICompleteCheckboxProps> = ({\n completed = false,\n disabled = false,\n animate = false,\n onClick,\n className,\n primary = false,\n checkMarkClassName,\n ...rest\n}) => {\n return (\n <StyledCompleteCheckbox\n onClick={onClick}\n className={classnames(\"c-complete-checkbox\", className)}\n $primary={primary}\n $completed={completed}\n $disabled={disabled}\n $animation={!disabled && completed && animate}\n $checkMarkClassName={!!checkMarkClassName}\n {...rest}\n >\n <svg viewBox=\"0 0 48 48\" className={checkMarkClassName}>\n <path d=\"M7,7l5.7,5.7 M0,24h8 M7,41l5.7-5.7 M24,48v-8 M41,41l-5.7-5.7 M48,24h-8 M41,7l-5.7,5.7 M24,0v8\" />\n <polyline points=\"19.5,24 22.5,27 28.5,21\" />\n </svg>\n </StyledCompleteCheckbox>\n );\n};\n\nCompleteCheckbox.displayName = \"CompleteCheckbox\";\n\nexport interface ICompleteCheckboxRingProps\n extends SVGAttributes<SVGSVGElement> {\n /** Closes the ring into a full circle and fades it out, when the wait ends. */\n closing?: boolean;\n /** The width and the height in pixels. */\n size?: number;\n}\n\n/** Stands in the place of a checkbox while its object waits for the server. */\nexport const CompleteCheckboxRing = ({\n closing = false,\n size = 20,\n className,\n ...rest\n}: ICompleteCheckboxRingProps) => (\n <StyledCompleteCheckboxRing\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n {...rest}\n $closing={closing}\n $size={size}\n className={classnames(\"c-complete-checkbox-ring\", className)}\n >\n <circle cx=\"10\" cy=\"10\" r=\"9\" />\n </StyledCompleteCheckboxRing>\n);\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAKL,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,sBAAsB,EAAEC,0BAA0B,QAAQ,UAAU;AAoB7E,OAAO,MAAMC,gBAA4C,GAAGC,IAAA,IAStD;EAAA,IAAAC,cAAA,GAAAD,IAAA,CARJE,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAH,IAAA,CACjBI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,YAAA,GAAAL,IAAA,CAChBM,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IAAAC,YAAA,GAAAT,IAAA,CACTU,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,kBAAkB,GAAAX,IAAA,CAAlBW,kBAAkB;IACfC,IAAI,GAAAC,6BAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,oBACEnB,KAAA,CAAAoB,aAAA,CAAClB,sBAAsB,EAAAmB,QAAA;IACrBT,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEZ,UAAU,CAAC,qBAAqB,EAAEY,SAAS,CAAE;IACxDS,QAAQ,EAAEP,OAAQ;IAClBQ,UAAU,EAAEhB,SAAU;IACtBiB,SAAS,EAAEf,QAAS;IACpBgB,UAAU,EAAE,CAAChB,QAAQ,IAAIF,SAAS,IAAII,OAAQ;IAC9Ce,mBAAmB,EAAE,CAAC,CAACV;EAAmB,GACtCC,IAAI,gBAERjB,KAAA,CAAAoB,aAAA;IAAKO,OAAO,EAAC,WAAW;IAACd,SAAS,EAAEG;EAAmB,gBACrDhB,KAAA,CAAAoB,aAAA;IAAMQ,CAAC,EAAC;EAA+F,CAAE,CAAC,eAC1G5B,KAAA,CAAAoB,aAAA;IAAUS,MAAM,EAAC;EAAyB,CAAE,CACzC,CACiB,CAAC;AAE7B,CAAC;AAEDzB,gBAAgB,CAAC0B,WAAW,GAAG,kBAAkB;AAUjD;AACA,OAAO,MAAMC,oBAAoB,GAAGC,KAAA;EAAA,IAAAC,aAAA,GAAAD,KAAA,CAClCE,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,UAAA,GAAAH,KAAA,CACfI,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,EAAE,GAAAA,UAAA;IACTtB,SAAS,GAAAmB,KAAA,CAATnB,SAAS;IACNI,IAAI,GAAAC,6BAAA,CAAAc,KAAA,EAAAK,UAAA;EAAA,oBAEPrC,KAAA,CAAAoB,aAAA,CAACjB,0BAA0B,EAAAkB,QAAA;IACzBM,OAAO,EAAC,WAAW;IACnB,eAAY;EAAM,GACdV,IAAI;IACRqB,QAAQ,EAAEJ,OAAQ;IAClBK,KAAK,EAAEH,IAAK;IACZvB,SAAS,EAAEZ,UAAU,CAAC,0BAA0B,EAAEY,SAAS;EAAE,iBAE7Db,KAAA,CAAAoB,aAAA;IAAQoB,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;EAAG,CAAE,CACL,CAAC;AAAA,CAC9B","ignoreList":[]}
@@ -6,5 +6,9 @@ interface StyledCompleteCheckboxProps {
6
6
  $checkMarkClassName?: boolean;
7
7
  }
8
8
  export declare const StyledCompleteCheckbox: import("styled-components").StyledComponent<"button", any, StyledCompleteCheckboxProps, never>;
9
+ export declare const StyledCompleteCheckboxRing: import("styled-components").StyledComponent<"svg", any, {
10
+ $closing: boolean;
11
+ $size: number;
12
+ }, never>;
9
13
  export {};
10
14
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CompleteCheckbox/Styles.ts"],"names":[],"mappings":"AAGA,UAAU,2BAA2B;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAoBD,eAAO,MAAM,sBAAsB,gGAgIlC,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CompleteCheckbox/Styles.ts"],"names":[],"mappings":"AAGA,UAAU,2BAA2B;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAoBD,eAAO,MAAM,sBAAsB,gGAgIlC,CAAC;AAsBF,eAAO,MAAM,0BAA0B;cAC3B,OAAO;WACV,MAAM;SA4Bd,CAAC"}
@@ -25,4 +25,20 @@ export const StyledCompleteCheckbox = styled.button.withConfig({
25
25
  "width": "3rem"
26
26
  }));
27
27
  StyledCompleteCheckbox.displayName = "StyledCompleteCheckbox";
28
+ const ringSpin = keyframes(["to{transform:rotate(360deg);}"]);
29
+ const ringClose = keyframes(["to{stroke-dasharray:57 0;}"]);
30
+ const ringOut = keyframes(["to{opacity:0;}"]);
31
+ export const StyledCompleteCheckboxRing = styled.svg.withConfig({
32
+ displayName: "Styles__StyledCompleteCheckboxRing",
33
+ componentId: "sc-1801dzg-1"
34
+ })(["width:", "px;height:", "px;animation:", " 800ms linear infinite;circle{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-dasharray:14 43;}", " @media (prefers-reduced-motion:reduce){animation:none;}"], _ref => {
35
+ let $size = _ref.$size;
36
+ return $size;
37
+ }, _ref2 => {
38
+ let $size = _ref2.$size;
39
+ return $size;
40
+ }, ringSpin, _ref3 => {
41
+ let $closing = _ref3.$closing;
42
+ return $closing && css(["animation:", " 800ms linear infinite,", " 100ms 450ms forwards;circle{animation:", " 450ms ease-out forwards;}"], ringSpin, ringOut, ringClose);
43
+ });
28
44
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","keyframes","burstScale","burstAnimation","StyledCompleteCheckbox","button","withConfig","displayName","componentId","props","$primary","$completed","$disabled","$animation","$checkMarkClassName"],"sources":["../../../../src/components/CompleteCheckbox/Styles.ts"],"sourcesContent":["import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface StyledCompleteCheckboxProps {\n $primary?: boolean;\n $completed?: boolean;\n $disabled?: boolean;\n $animation?: boolean;\n $checkMarkClassName?: boolean;\n}\n\nconst burstScale = keyframes`\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n`;\n\nconst burstAnimation = keyframes`\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: 8;\n }\n`;\n\nexport const StyledCompleteCheckbox = styled.button<StyledCompleteCheckboxProps>`\n ${tw`tw-w-6 tw-h-6 tw-rounded-full tw-border tw-border-solid tw-relative tw-cursor-pointer`}\n border-color: var(--color-theme-600);\n transition: ease 0.3s all;\n background-color: transparent;\n padding: 0;\n\n svg {\n ${tw`tw-absolute tw-pointer-events-none`}\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n svg path {\n fill: none;\n stroke: #32b370;\n stroke-width: 3;\n transform: scale(0);\n }\n\n ${(props) =>\n props.$primary &&\n css`\n svg path {\n stroke: var(--color-primary);\n }\n `}\n\n svg polyline {\n fill: none;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: 0.3s;\n stroke-dasharray: 13;\n stroke-dashoffset: 13;\n stroke: #d2d2d2;\n ${(props) =>\n props.$primary &&\n css`\n stroke: var(--color-theme-500);\n `}\n }\n\n ${(props) =>\n props.$completed &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n border-color: var(--color-primary);\n border-width: 0px;\n\n ${!props.$primary &&\n css`\n ${tw`tw-border tw-border-solid`}\n box-shadow: inset 0 0 0 12px #84cc7c;\n border-color: #84cc7c;\n `}\n\n &:hover {\n box-shadow: inset 0 0 0 12px #84cc7c;\n ${props.$primary &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n `}\n }\n\n svg polyline {\n stroke-dashoffset: 0;\n stroke: #fff;\n ${props.$primary &&\n css`\n stroke: var(--color-theme-100);\n `}\n }\n\n svg path {\n stroke-dasharray: 8;\n stroke-dashoffset: 0;\n transform-origin: 24px 24px;\n }\n `}\n\n ${(props) =>\n !props.$completed &&\n !props.$disabled &&\n css`\n &:hover,\n &:focus-visible {\n border: 1px solid var(--color-primary);\n box-shadow: inset 0 0 0 2px var(--color-primary);\n border-width: 0px;\n outline: none;\n ${!props.$primary &&\n css`\n border: 1px solid #84cc7c;\n box-shadow: inset 0 0 0 2px #84cc7c;\n `}\n svg polyline {\n stroke-dashoffset: 0;\n }\n }\n `}\n\n ${(props) =>\n props.$animation &&\n css`\n /* Delay of 0.01s is for safari transform bug. */\n svg path {\n animation: ${burstScale} 0.6s ease 0s 1 normal,\n ${burstAnimation} 0.4s ease 0.2s 1 normal;\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-cursor-default`}\n opacity: 0.5;\n `}\n\n ${(props) =>\n !props.$checkMarkClassName &&\n css`\n svg {\n ${tw`tw-w-12 tw-h-12`}\n }\n `}\n`;\n\nStyledCompleteCheckbox.displayName = \"StyledCompleteCheckbox\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,EAAEC,SAAS,QAAQ,mBAAmB;AAW1D,MAAMC,UAAU,GAAGD,SAAS,sDAO3B;AAED,MAAME,cAAc,GAAGF,SAAS,wDAO/B;AAED,OAAO,MAAMG,sBAAsB,GAAGL,MAAM,CAACM,MAAM,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4aAC7C;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAsF,CAAC,EAOrF;EAAA;EAAA;AAAmC,CAAC,EAavCC,KAAK,IACNA,KAAK,CAACC,QAAQ,IACdV,GAAG,4CAIF,EAWES,KAAK,IACNA,KAAK,CAACC,QAAQ,IACdV,GAAG,oCAEF,EAGFS,KAAK,IACNA,KAAK,CAACE,UAAU,IAChBX,GAAG,+RAKC,CAACS,KAAK,CAACC,QAAQ,IACjBV,GAAG,qEACG;EAAA;EAAA;AAA0B,CAAC,CAGhC,EAIGS,KAAK,CAACC,QAAQ,IAChBV,GAAG,uDAEF,EAMCS,KAAK,CAACC,QAAQ,IAChBV,GAAG,oCAEF,CAQJ,EAEAS,KAAK,IACN,CAACA,KAAK,CAACE,UAAU,IACjB,CAACF,KAAK,CAACG,SAAS,IAChBZ,GAAG,2LAOG,CAACS,KAAK,CAACC,QAAQ,IACjBV,GAAG,kEAGF,CAKJ,EAEAS,KAAK,IACNA,KAAK,CAACI,UAAU,IAChBb,GAAG,mFAGcE,UAAU,EACnBC,cAAc,CAErB,EAEAM,KAAK,IACNA,KAAK,CAACG,SAAS,IACfZ,GAAG,wBACG;EAAA;AAAkB,CAAC,CAExB,EAEAS,KAAK,IACN,CAACA,KAAK,CAACK,mBAAmB,IAC1Bd,GAAG,gBAEK;EAAA;EAAA;AAAgB,CAAC,CAExB,CACJ;AAEDI,sBAAsB,CAACG,WAAW,GAAG,wBAAwB","ignoreList":[]}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","keyframes","burstScale","burstAnimation","StyledCompleteCheckbox","button","withConfig","displayName","componentId","props","$primary","$completed","$disabled","$animation","$checkMarkClassName","ringSpin","ringClose","ringOut","StyledCompleteCheckboxRing","svg","_ref","$size","_ref2","_ref3","$closing"],"sources":["../../../../src/components/CompleteCheckbox/Styles.ts"],"sourcesContent":["import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface StyledCompleteCheckboxProps {\n $primary?: boolean;\n $completed?: boolean;\n $disabled?: boolean;\n $animation?: boolean;\n $checkMarkClassName?: boolean;\n}\n\nconst burstScale = keyframes`\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n`;\n\nconst burstAnimation = keyframes`\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: 8;\n }\n`;\n\nexport const StyledCompleteCheckbox = styled.button<StyledCompleteCheckboxProps>`\n ${tw`tw-w-6 tw-h-6 tw-rounded-full tw-border tw-border-solid tw-relative tw-cursor-pointer`}\n border-color: var(--color-theme-600);\n transition: ease 0.3s all;\n background-color: transparent;\n padding: 0;\n\n svg {\n ${tw`tw-absolute tw-pointer-events-none`}\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n svg path {\n fill: none;\n stroke: #32b370;\n stroke-width: 3;\n transform: scale(0);\n }\n\n ${(props) =>\n props.$primary &&\n css`\n svg path {\n stroke: var(--color-primary);\n }\n `}\n\n svg polyline {\n fill: none;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: 0.3s;\n stroke-dasharray: 13;\n stroke-dashoffset: 13;\n stroke: #d2d2d2;\n ${(props) =>\n props.$primary &&\n css`\n stroke: var(--color-theme-500);\n `}\n }\n\n ${(props) =>\n props.$completed &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n border-color: var(--color-primary);\n border-width: 0px;\n\n ${!props.$primary &&\n css`\n ${tw`tw-border tw-border-solid`}\n box-shadow: inset 0 0 0 12px #84cc7c;\n border-color: #84cc7c;\n `}\n\n &:hover {\n box-shadow: inset 0 0 0 12px #84cc7c;\n ${props.$primary &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n `}\n }\n\n svg polyline {\n stroke-dashoffset: 0;\n stroke: #fff;\n ${props.$primary &&\n css`\n stroke: var(--color-theme-100);\n `}\n }\n\n svg path {\n stroke-dasharray: 8;\n stroke-dashoffset: 0;\n transform-origin: 24px 24px;\n }\n `}\n\n ${(props) =>\n !props.$completed &&\n !props.$disabled &&\n css`\n &:hover,\n &:focus-visible {\n border: 1px solid var(--color-primary);\n box-shadow: inset 0 0 0 2px var(--color-primary);\n border-width: 0px;\n outline: none;\n ${!props.$primary &&\n css`\n border: 1px solid #84cc7c;\n box-shadow: inset 0 0 0 2px #84cc7c;\n `}\n svg polyline {\n stroke-dashoffset: 0;\n }\n }\n `}\n\n ${(props) =>\n props.$animation &&\n css`\n /* Delay of 0.01s is for safari transform bug. */\n svg path {\n animation: ${burstScale} 0.6s ease 0s 1 normal,\n ${burstAnimation} 0.4s ease 0.2s 1 normal;\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-cursor-default`}\n opacity: 0.5;\n `}\n\n ${(props) =>\n !props.$checkMarkClassName &&\n css`\n svg {\n ${tw`tw-w-12 tw-h-12`}\n }\n `}\n`;\n\nStyledCompleteCheckbox.displayName = \"StyledCompleteCheckbox\";\n\nconst ringSpin = keyframes`\n to {\n transform: rotate(360deg);\n }\n`;\n\nconst ringClose = keyframes`\n to {\n stroke-dasharray: 57 0;\n }\n`;\n\nconst ringOut = keyframes`\n to {\n opacity: 0;\n }\n`;\n\nexport const StyledCompleteCheckboxRing = styled.svg<{\n $closing: boolean;\n $size: number;\n}>`\n width: ${({ $size }) => $size}px;\n height: ${({ $size }) => $size}px;\n animation: ${ringSpin} 800ms linear infinite;\n\n circle {\n fill: none;\n stroke: var(--color-primary);\n stroke-width: 2;\n stroke-linecap: round;\n stroke-dasharray: 14 43;\n }\n\n ${({ $closing }) =>\n $closing &&\n css`\n animation: ${ringSpin} 800ms linear infinite,\n ${ringOut} 100ms 450ms forwards;\n\n circle {\n animation: ${ringClose} 450ms ease-out forwards;\n }\n `}\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,EAAEC,SAAS,QAAQ,mBAAmB;AAW1D,MAAMC,UAAU,GAAGD,SAAS,sDAO3B;AAED,MAAME,cAAc,GAAGF,SAAS,wDAO/B;AAED,OAAO,MAAMG,sBAAsB,GAAGL,MAAM,CAACM,MAAM,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4aAC7C;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAsF,CAAC,EAOrF;EAAA;EAAA;AAAmC,CAAC,EAavCC,KAAK,IACNA,KAAK,CAACC,QAAQ,IACdV,GAAG,4CAIF,EAWES,KAAK,IACNA,KAAK,CAACC,QAAQ,IACdV,GAAG,oCAEF,EAGFS,KAAK,IACNA,KAAK,CAACE,UAAU,IAChBX,GAAG,+RAKC,CAACS,KAAK,CAACC,QAAQ,IACjBV,GAAG,qEACG;EAAA;EAAA;AAA0B,CAAC,CAGhC,EAIGS,KAAK,CAACC,QAAQ,IAChBV,GAAG,uDAEF,EAMCS,KAAK,CAACC,QAAQ,IAChBV,GAAG,oCAEF,CAQJ,EAEAS,KAAK,IACN,CAACA,KAAK,CAACE,UAAU,IACjB,CAACF,KAAK,CAACG,SAAS,IAChBZ,GAAG,2LAOG,CAACS,KAAK,CAACC,QAAQ,IACjBV,GAAG,kEAGF,CAKJ,EAEAS,KAAK,IACNA,KAAK,CAACI,UAAU,IAChBb,GAAG,mFAGcE,UAAU,EACnBC,cAAc,CAErB,EAEAM,KAAK,IACNA,KAAK,CAACG,SAAS,IACfZ,GAAG,wBACG;EAAA;AAAkB,CAAC,CAExB,EAEAS,KAAK,IACN,CAACA,KAAK,CAACK,mBAAmB,IAC1Bd,GAAG,gBAEK;EAAA;EAAA;AAAgB,CAAC,CAExB,CACJ;AAEDI,sBAAsB,CAACG,WAAW,GAAG,wBAAwB;AAE7D,MAAMQ,QAAQ,GAAGd,SAAS,mCAIzB;AAED,MAAMe,SAAS,GAAGf,SAAS,gCAI1B;AAED,MAAMgB,OAAO,GAAGhB,SAAS,oBAIxB;AAED,OAAO,MAAMiB,0BAA0B,GAAGnB,MAAM,CAACoB,GAAG,CAAAb,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8OAIzCY,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK;AAAA,GACnBC,KAAA;EAAA,IAAGD,KAAK,GAAAC,KAAA,CAALD,KAAK;EAAA,OAAOA,KAAK;AAAA,GACjBN,QAAQ,EAUnBQ,KAAA;EAAA,IAAGC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;EAAA,OACXA,QAAQ,IACRxB,GAAG,qHACYe,QAAQ,EACjBE,OAAO,EAGID,SAAS,CAEzB;AAAA,EAKJ","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import React, { HTMLAttributes, Ref } from "react";
2
+ export interface IDockedCardProps extends HTMLAttributes<HTMLElement> {
3
+ /** Set to false where the same card stands in the flow, for example in a side panel. It then has no look of its own. */
4
+ docked?: boolean;
5
+ /** An open card shows its content. A closed card is one click target with a hover look. */
6
+ open?: boolean;
7
+ /** Puts the card above its dim and above the sticky parts of the page. */
8
+ lifted?: boolean;
9
+ /** Moves the card to its new offset with a transition. */
10
+ moving?: boolean;
11
+ /** How far the bottom edge of the card stands under the edge it sticks to, in pixels. */
12
+ offset?: number;
13
+ }
14
+ /** A card in the flow of the page that sticks to the bottom edge of its scroll container. */
15
+ export declare const DockedCard: React.ForwardRefExoticComponent<IDockedCardProps & React.RefAttributes<HTMLElement>>;
16
+ export interface IDockedCardDimProps extends HTMLAttributes<HTMLDivElement> {
17
+ /** The ref of the dark layer. */
18
+ layerRef?: Ref<HTMLDivElement>;
19
+ /** Extra attributes for the dark layer. */
20
+ layerProps?: HTMLAttributes<HTMLDivElement> & {
21
+ "data-testid"?: string;
22
+ };
23
+ }
24
+ /** The dark layer behind an open docked card. It goes after the card, in the same column. */
25
+ export declare const DockedCardDim: ({ layerRef, layerProps, onClick, className, ...rest }: IDockedCardDimProps) => React.JSX.Element;
26
+ //# sourceMappingURL=DockedCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockedCard.d.ts","sourceRoot":"","sources":["../../../../src/components/DockedCard/DockedCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,GAAG,EAAc,MAAM,OAAO,CAAC;AAU/D,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACnE,wHAAwH;IACxH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,6FAA6F;AAC7F,eAAO,MAAM,UAAU,sFA6BtB,CAAC;AAIF,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACzE,iCAAiC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1E;AAED,6FAA6F;AAC7F,eAAO,MAAM,aAAa,GAAI,uDAM3B,mBAAmB,sBAYrB,CAAC"}
@@ -0,0 +1,54 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["docked", "open", "lifted", "moving", "offset", "className", "style", "children"],
4
+ _excluded2 = ["layerRef", "layerProps", "onClick", "className"];
5
+ import React, { forwardRef } from "react";
6
+ import classnames from "classnames";
7
+ import { StyledDockedCard, StyledDockedCardDim, StyledDockedCardDimLayer } from "./Styles";
8
+ /** A card in the flow of the page that sticks to the bottom edge of its scroll container. */
9
+ export const DockedCard = /*#__PURE__*/forwardRef((_ref, ref) => {
10
+ let _ref$docked = _ref.docked,
11
+ docked = _ref$docked === void 0 ? true : _ref$docked,
12
+ _ref$open = _ref.open,
13
+ open = _ref$open === void 0 ? false : _ref$open,
14
+ _ref$lifted = _ref.lifted,
15
+ lifted = _ref$lifted === void 0 ? false : _ref$lifted,
16
+ _ref$moving = _ref.moving,
17
+ moving = _ref$moving === void 0 ? false : _ref$moving,
18
+ _ref$offset = _ref.offset,
19
+ offset = _ref$offset === void 0 ? 0 : _ref$offset,
20
+ className = _ref.className,
21
+ style = _ref.style,
22
+ children = _ref.children,
23
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
24
+ return /*#__PURE__*/React.createElement(StyledDockedCard, _extends({}, rest, {
25
+ ref: ref,
26
+ $docked: docked,
27
+ $open: open,
28
+ $lifted: lifted,
29
+ $moving: moving,
30
+ "data-open": open,
31
+ style: docked ? _extends({
32
+ bottom: -offset
33
+ }, style) : style,
34
+ className: classnames("c-docked-card", className)
35
+ }), children);
36
+ });
37
+ DockedCard.displayName = "DockedCard";
38
+ /** The dark layer behind an open docked card. It goes after the card, in the same column. */
39
+ export const DockedCardDim = _ref2 => {
40
+ let layerRef = _ref2.layerRef,
41
+ layerProps = _ref2.layerProps,
42
+ onClick = _ref2.onClick,
43
+ className = _ref2.className,
44
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
45
+ return /*#__PURE__*/React.createElement(StyledDockedCardDim, _extends({
46
+ "aria-hidden": "true"
47
+ }, rest, {
48
+ className: classnames("c-docked-card-dim", className)
49
+ }), /*#__PURE__*/React.createElement(StyledDockedCardDimLayer, _extends({}, layerProps, {
50
+ ref: layerRef,
51
+ onClick: onClick
52
+ })));
53
+ };
54
+ //# sourceMappingURL=DockedCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockedCard.js","names":["React","forwardRef","classnames","StyledDockedCard","StyledDockedCardDim","StyledDockedCardDimLayer","DockedCard","_ref","ref","_ref$docked","docked","_ref$open","open","_ref$lifted","lifted","_ref$moving","moving","_ref$offset","offset","className","style","children","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","$docked","$open","$lifted","$moving","bottom","displayName","DockedCardDim","_ref2","layerRef","layerProps","onClick","_excluded2"],"sources":["../../../../src/components/DockedCard/DockedCard.tsx"],"sourcesContent":["import React, { HTMLAttributes, Ref, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport {\n StyledDockedCard,\n StyledDockedCardDim,\n StyledDockedCardDimLayer,\n} from \"./Styles\";\n\nexport interface IDockedCardProps extends HTMLAttributes<HTMLElement> {\n /** Set to false where the same card stands in the flow, for example in a side panel. It then has no look of its own. */\n docked?: boolean;\n /** An open card shows its content. A closed card is one click target with a hover look. */\n open?: boolean;\n /** Puts the card above its dim and above the sticky parts of the page. */\n lifted?: boolean;\n /** Moves the card to its new offset with a transition. */\n moving?: boolean;\n /** How far the bottom edge of the card stands under the edge it sticks to, in pixels. */\n offset?: number;\n}\n\n/** A card in the flow of the page that sticks to the bottom edge of its scroll container. */\nexport const DockedCard = forwardRef<HTMLElement, IDockedCardProps>(\n (\n {\n docked = true,\n open = false,\n lifted = false,\n moving = false,\n offset = 0,\n className,\n style,\n children,\n ...rest\n },\n ref\n ) => (\n <StyledDockedCard\n {...rest}\n ref={ref}\n $docked={docked}\n $open={open}\n $lifted={lifted}\n $moving={moving}\n data-open={open}\n style={docked ? { bottom: -offset, ...style } : style}\n className={classnames(\"c-docked-card\", className)}\n >\n {children}\n </StyledDockedCard>\n )\n);\n\nDockedCard.displayName = \"DockedCard\";\n\nexport interface IDockedCardDimProps extends HTMLAttributes<HTMLDivElement> {\n /** The ref of the dark layer. */\n layerRef?: Ref<HTMLDivElement>;\n /** Extra attributes for the dark layer. */\n layerProps?: HTMLAttributes<HTMLDivElement> & { \"data-testid\"?: string };\n}\n\n/** The dark layer behind an open docked card. It goes after the card, in the same column. */\nexport const DockedCardDim = ({\n layerRef,\n layerProps,\n onClick,\n className,\n ...rest\n}: IDockedCardDimProps) => (\n <StyledDockedCardDim\n aria-hidden=\"true\"\n {...rest}\n className={classnames(\"c-docked-card-dim\", className)}\n >\n <StyledDockedCardDimLayer\n {...layerProps}\n ref={layerRef}\n onClick={onClick}\n />\n </StyledDockedCardDim>\n);\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAyBC,UAAU,QAAQ,OAAO;AAE9D,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,wBAAwB,QACnB,UAAU;AAejB;AACA,OAAO,MAAMC,UAAU,gBAAGL,UAAU,CAClC,CAAAM,IAAA,EAYEC,GAAG;EAAA,IAAAC,WAAA,GAAAF,IAAA,CAVDG,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IAAAE,SAAA,GAAAJ,IAAA,CACbK,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;IAAAE,WAAA,GAAAN,IAAA,CACZO,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,WAAA,GAAAR,IAAA,CACdS,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,WAAA,GAAAV,IAAA,CACdW,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,CAAC,GAAAA,WAAA;IACVE,SAAS,GAAAZ,IAAA,CAATY,SAAS;IACTC,KAAK,GAAAb,IAAA,CAALa,KAAK;IACLC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACLC,IAAI,GAAAC,6BAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAAA,oBAITxB,KAAA,CAAAyB,aAAA,CAACtB,gBAAgB,EAAAuB,QAAA,KACXJ,IAAI;IACRd,GAAG,EAAEA,GAAI;IACTmB,OAAO,EAAEjB,MAAO;IAChBkB,KAAK,EAAEhB,IAAK;IACZiB,OAAO,EAAEf,MAAO;IAChBgB,OAAO,EAAEd,MAAO;IAChB,aAAWJ,IAAK;IAChBQ,KAAK,EAAEV,MAAM,GAAAgB,QAAA;MAAKK,MAAM,EAAE,CAACb;IAAM,GAAKE,KAAK,IAAKA,KAAM;IACtDD,SAAS,EAAEjB,UAAU,CAAC,eAAe,EAAEiB,SAAS;EAAE,IAEjDE,QACe,CAAC;AAAA,CAEvB,CAAC;AAEDf,UAAU,CAAC0B,WAAW,GAAG,YAAY;AASrC;AACA,OAAO,MAAMC,aAAa,GAAGC,KAAA;EAAA,IAC3BC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,UAAU,GAAAF,KAAA,CAAVE,UAAU;IACVC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IACPlB,SAAS,GAAAe,KAAA,CAATf,SAAS;IACNG,IAAI,GAAAC,6BAAA,CAAAW,KAAA,EAAAI,UAAA;EAAA,oBAEPtC,KAAA,CAAAyB,aAAA,CAACrB,mBAAmB,EAAAsB,QAAA;IAClB,eAAY;EAAM,GACdJ,IAAI;IACRH,SAAS,EAAEjB,UAAU,CAAC,mBAAmB,EAAEiB,SAAS;EAAE,iBAEtDnB,KAAA,CAAAyB,aAAA,CAACpB,wBAAwB,EAAAqB,QAAA,KACnBU,UAAU;IACd5B,GAAG,EAAE2B,QAAS;IACdE,OAAO,EAAEA;EAAQ,EAClB,CACkB,CAAC;AAAA,CACvB","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ export declare const StyledDockedCard: import("styled-components").StyledComponent<"section", any, {
2
+ $docked: boolean;
3
+ $open: boolean;
4
+ $lifted: boolean;
5
+ $moving: boolean;
6
+ }, never>;
7
+ export declare const StyledDockedCardDim: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export declare const StyledDockedCardDimLayer: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ //# sourceMappingURL=Styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/DockedCard/Styles.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,gBAAgB;aAClB,OAAO;WACT,OAAO;aACL,OAAO;aACP,OAAO;SAGjB,CAAC;AAEF,eAAO,MAAM,mBAAmB,oEAS/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,oEAOpC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import styled, { css } from "styled-components";
2
+ const HOVER_SHADOW = "0 1px 3px 0 light-dark(rgba(0, 0, 0, 0.058), transparent), 0 6px 16px 0 light-dark(rgba(0, 0, 0, 0.048), transparent), 0 4px 14px 0 light-dark(transparent, rgba(0, 0, 0, 0.288))";
3
+ const docked = css(["--comments-surface:var(--surface-raised);position:sticky;z-index:", ";display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-raised);border-bottom:0;border-radius:24px 24px 0 0;background-color:var(--comments-surface);box-shadow:var(--shadow-float);", " ", " @media print{position:static;}"], _ref => {
4
+ let $lifted = _ref.$lifted;
5
+ return $lifted ? 8 : 5;
6
+ }, _ref2 => {
7
+ let $moving = _ref2.$moving;
8
+ return $moving && css(["transition:bottom 200ms cubic-bezier(0,0,0.2,1);will-change:transform;@media (prefers-reduced-motion:reduce){transition:none;}"]);
9
+ }, _ref3 => {
10
+ let $open = _ref3.$open,
11
+ $moving = _ref3.$moving;
12
+ return !$open && css(["cursor:pointer;", " & *{cursor:pointer;}&:hover{border-color:color-mix(in srgb,var(--border-primary),black 40%);}@supports (color:light-dark(red,red)){&:hover{box-shadow:", ";}}"], !$moving && "transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);", HOVER_SHADOW);
13
+ });
14
+ export const StyledDockedCard = styled.section.withConfig({
15
+ displayName: "Styles__StyledDockedCard",
16
+ componentId: "sc-1qu0xie-0"
17
+ })(["", ""], _ref4 => {
18
+ let $docked = _ref4.$docked;
19
+ return $docked && docked;
20
+ });
21
+ export const StyledDockedCardDim = styled.div.withConfig({
22
+ displayName: "Styles__StyledDockedCardDim",
23
+ componentId: "sc-1qu0xie-1"
24
+ })(["position:sticky;bottom:0;z-index:7;height:0;@media print{display:none;}"]);
25
+ export const StyledDockedCardDimLayer = styled.div.withConfig({
26
+ displayName: "Styles__StyledDockedCardDimLayer",
27
+ componentId: "sc-1qu0xie-2"
28
+ })(["position:absolute;right:-100vw;bottom:0;left:-100vw;height:100vh;background-color:rgba(0,0,0,0.5);"]);
29
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["styled","css","HOVER_SHADOW","docked","_ref","$lifted","_ref2","$moving","_ref3","$open","StyledDockedCard","section","withConfig","displayName","componentId","_ref4","$docked","StyledDockedCardDim","div","StyledDockedCardDimLayer"],"sources":["../../../../src/components/DockedCard/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nconst HOVER_SHADOW =\n \"0 1px 3px 0 light-dark(rgba(0, 0, 0, 0.058), transparent), 0 6px 16px 0 light-dark(rgba(0, 0, 0, 0.048), transparent), 0 4px 14px 0 light-dark(transparent, rgba(0, 0, 0, 0.288))\";\n\nconst docked = css<{ $open: boolean; $lifted: boolean; $moving: boolean }>`\n --comments-surface: var(--surface-raised);\n\n position: sticky;\n z-index: ${({ $lifted }) => ($lifted ? 8 : 5)};\n display: flex;\n flex-direction: column;\n min-width: 0;\n border: 1px solid var(--border-raised);\n border-bottom: 0;\n border-radius: 24px 24px 0 0;\n background-color: var(--comments-surface);\n box-shadow: var(--shadow-float);\n\n ${({ $moving }) =>\n $moving &&\n css`\n transition: bottom 200ms cubic-bezier(0, 0, 0.2, 1);\n will-change: transform;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n `}\n\n ${({ $open, $moving }) =>\n !$open &&\n css`\n cursor: pointer;\n ${!$moving &&\n \"transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);\"}\n\n & * {\n cursor: pointer;\n }\n\n &:hover {\n border-color: color-mix(in srgb, var(--border-primary), black 40%);\n }\n\n @supports (color: light-dark(red, red)) {\n &:hover {\n box-shadow: ${HOVER_SHADOW};\n }\n }\n `}\n\n @media print {\n position: static;\n }\n`;\n\nexport const StyledDockedCard = styled.section<{\n $docked: boolean;\n $open: boolean;\n $lifted: boolean;\n $moving: boolean;\n}>`\n ${({ $docked }) => $docked && docked}\n`;\n\nexport const StyledDockedCardDim = styled.div`\n position: sticky;\n bottom: 0;\n z-index: 7;\n height: 0;\n\n @media print {\n display: none;\n }\n`;\n\nexport const StyledDockedCardDimLayer = styled.div`\n position: absolute;\n right: -100vw;\n bottom: 0;\n left: -100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,MAAMC,YAAY,GAChB,mLAAmL;AAErL,MAAMC,MAAM,GAAGF,GAAG,8TAILG,IAAA;EAAA,IAAGC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAAA,OAAQA,OAAO,GAAG,CAAC,GAAG,CAAC;AAAA,CAAC,EAU3CC,KAAA;EAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;EAAA,OACVA,OAAO,IACPN,GAAG,oIAOF;AAAA,GAEDO,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEF,OAAO,GAAAC,KAAA,CAAPD,OAAO;EAAA,OACjB,CAACE,KAAK,IACNR,GAAG,wLAEC,CAACM,OAAO,IACV,6GAA6G,EAY3FL,YAAY,CAG/B;AAAA,EAKJ;AAED,OAAO,MAAMQ,gBAAgB,GAAGV,MAAM,CAACW,OAAO,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAM1CC,KAAA;EAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;EAAA,OAAOA,OAAO,IAAIb,MAAM;AAAA,EACrC;AAED,OAAO,MAAMc,mBAAmB,GAAGjB,MAAM,CAACkB,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+EAS5C;AAED,OAAO,MAAMK,wBAAwB,GAAGnB,MAAM,CAACkB,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0GAOjD","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./DockedCard";
2
+ export * from "./useDockedCard";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DockedCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}