@unoff/ui 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +880 -0
  3. package/dist/assets/Accordion.css +1 -0
  4. package/dist/assets/ActionsItem.css +1 -0
  5. package/dist/assets/ActionsList.css +1 -0
  6. package/dist/assets/Avatar.css +1 -0
  7. package/dist/assets/Bar.css +1 -0
  8. package/dist/assets/Button.css +1 -0
  9. package/dist/assets/Card.css +1 -0
  10. package/dist/assets/Chip.css +1 -0
  11. package/dist/assets/ColorChip.css +1 -0
  12. package/dist/assets/ColorItem.css +1 -0
  13. package/dist/assets/Consent.css +1 -0
  14. package/dist/assets/Dialog.css +1 -0
  15. package/dist/assets/DraggableItem.css +1 -0
  16. package/dist/assets/DraggableWindow.css +1 -0
  17. package/dist/assets/Drawer.css +1 -0
  18. package/dist/assets/Dropdown.css +1 -0
  19. package/dist/assets/Dropzone.css +1 -0
  20. package/dist/assets/FormItem.css +1 -0
  21. package/dist/assets/Icon.css +1 -0
  22. package/dist/assets/IconChip.css +1 -0
  23. package/dist/assets/Input.css +1 -0
  24. package/dist/assets/InputsBar.css +1 -0
  25. package/dist/assets/KeyboardShortcutItem.css +1 -0
  26. package/dist/assets/Knob.css +1 -0
  27. package/dist/assets/Layout.css +1 -0
  28. package/dist/assets/List.css +1 -0
  29. package/dist/assets/MembersList.css +1 -0
  30. package/dist/assets/Menu.css +1 -0
  31. package/dist/assets/Message.css +1 -0
  32. package/dist/assets/MultipleSlider.css +1 -0
  33. package/dist/assets/Notification.css +1 -0
  34. package/dist/assets/Popin.css +1 -0
  35. package/dist/assets/Section.css +1 -0
  36. package/dist/assets/SectionTitle.css +1 -0
  37. package/dist/assets/Select.css +1 -0
  38. package/dist/assets/SemanticMessage.css +1 -0
  39. package/dist/assets/SimpleItem.css +1 -0
  40. package/dist/assets/SimpleSlider.css +1 -0
  41. package/dist/assets/SortableList.css +1 -0
  42. package/dist/assets/Tabs.css +1 -0
  43. package/dist/assets/Text.css +1 -0
  44. package/dist/assets/Thumbnail.css +1 -0
  45. package/dist/assets/Tooltip.css +1 -0
  46. package/dist/assets/styles/icons/icons.css +1 -0
  47. package/dist/assets/styles/icons/styles/figma.css +1 -0
  48. package/dist/assets/styles/icons/styles/framer.css +1 -0
  49. package/dist/assets/styles/icons/styles/penpot.css +1 -0
  50. package/dist/assets/styles/icons/styles/sketch.css +1 -0
  51. package/dist/assets/styles/layouts.css +1 -0
  52. package/dist/assets/styles/texts/styles/figma.css +1 -0
  53. package/dist/assets/styles/texts/styles/framer.css +1 -0
  54. package/dist/assets/styles/texts/styles/penpot.css +1 -0
  55. package/dist/assets/styles/texts/styles/sketch.css +1 -0
  56. package/dist/assets/styles/texts/texts.css +1 -0
  57. package/dist/assets/styles/tokens/figma-types.css +1 -0
  58. package/dist/assets/styles/tokens/framer-types.css +1 -0
  59. package/dist/assets/styles/tokens/modules/figma-colors.css +1 -0
  60. package/dist/assets/styles/tokens/modules/figma-types.css +1 -0
  61. package/dist/assets/styles/tokens/modules/framer-colors.css +1 -0
  62. package/dist/assets/styles/tokens/modules/framer-types.css +1 -0
  63. package/dist/assets/styles/tokens/modules/globals.css +1 -0
  64. package/dist/assets/styles/tokens/modules/penpot-colors.css +1 -0
  65. package/dist/assets/styles/tokens/modules/penpot-types.css +1 -0
  66. package/dist/assets/styles/tokens/modules/sketch-colors.css +1 -0
  67. package/dist/assets/styles/tokens/modules/sketch-types.css +1 -0
  68. package/dist/assets/styles/tokens/penpot-types.css +1 -0
  69. package/dist/assets/styles/tokens/sketch-types.css +1 -0
  70. package/dist/components/actions/accordion/Accordion.d.ts +59 -0
  71. package/dist/components/actions/accordion/Accordion.d.ts.map +1 -0
  72. package/dist/components/actions/accordion/Accordion.js +104 -0
  73. package/dist/components/actions/accordion/Accordion.js.map +1 -0
  74. package/dist/components/actions/button/Button.d.ts +148 -0
  75. package/dist/components/actions/button/Button.d.ts.map +1 -0
  76. package/dist/components/actions/button/Button.figma.d.ts +2 -0
  77. package/dist/components/actions/button/Button.figma.d.ts.map +1 -0
  78. package/dist/components/actions/button/Button.figma.js +43 -0
  79. package/dist/components/actions/button/Button.figma.js.map +1 -0
  80. package/dist/components/actions/button/Button.js +306 -0
  81. package/dist/components/actions/button/Button.js.map +1 -0
  82. package/dist/components/actions/card/Card.d.ts +39 -0
  83. package/dist/components/actions/card/Card.d.ts.map +1 -0
  84. package/dist/components/actions/card/Card.js +99 -0
  85. package/dist/components/actions/card/Card.js.map +1 -0
  86. package/dist/components/actions/knob/Knob.d.ts +93 -0
  87. package/dist/components/actions/knob/Knob.d.ts.map +1 -0
  88. package/dist/components/actions/knob/Knob.js +179 -0
  89. package/dist/components/actions/knob/Knob.js.map +1 -0
  90. package/dist/components/actions/menu/Menu.d.ts +104 -0
  91. package/dist/components/actions/menu/Menu.d.ts.map +1 -0
  92. package/dist/components/actions/menu/Menu.js +200 -0
  93. package/dist/components/actions/menu/Menu.js.map +1 -0
  94. package/dist/components/assets/avatar/Avatar.d.ts +30 -0
  95. package/dist/components/assets/avatar/Avatar.d.ts.map +1 -0
  96. package/dist/components/assets/avatar/Avatar.js +54 -0
  97. package/dist/components/assets/avatar/Avatar.js.map +1 -0
  98. package/dist/components/assets/icon/Icon.d.ts +28 -0
  99. package/dist/components/assets/icon/Icon.d.ts.map +1 -0
  100. package/dist/components/assets/icon/Icon.figma.d.ts +2 -0
  101. package/dist/components/assets/icon/Icon.figma.d.ts.map +1 -0
  102. package/dist/components/assets/icon/Icon.figma.js +27 -0
  103. package/dist/components/assets/icon/Icon.figma.js.map +1 -0
  104. package/dist/components/assets/icon/Icon.js +35 -0
  105. package/dist/components/assets/icon/Icon.js.map +1 -0
  106. package/dist/components/assets/section-title/SectionTitle.d.ts +22 -0
  107. package/dist/components/assets/section-title/SectionTitle.d.ts.map +1 -0
  108. package/dist/components/assets/section-title/SectionTitle.js +42 -0
  109. package/dist/components/assets/section-title/SectionTitle.js.map +1 -0
  110. package/dist/components/assets/text/Text.d.ts +34 -0
  111. package/dist/components/assets/text/Text.d.ts.map +1 -0
  112. package/dist/components/assets/text/Text.js +35 -0
  113. package/dist/components/assets/text/Text.js.map +1 -0
  114. package/dist/components/assets/thumbnail/Thumbnail.d.ts +25 -0
  115. package/dist/components/assets/thumbnail/Thumbnail.d.ts.map +1 -0
  116. package/dist/components/assets/thumbnail/Thumbnail.js +67 -0
  117. package/dist/components/assets/thumbnail/Thumbnail.js.map +1 -0
  118. package/dist/components/dialogs/consent/Consent.d.ts +85 -0
  119. package/dist/components/dialogs/consent/Consent.d.ts.map +1 -0
  120. package/dist/components/dialogs/consent/Consent.js +402 -0
  121. package/dist/components/dialogs/consent/Consent.js.map +1 -0
  122. package/dist/components/dialogs/dialog/Dialog.d.ts +81 -0
  123. package/dist/components/dialogs/dialog/Dialog.d.ts.map +1 -0
  124. package/dist/components/dialogs/dialog/Dialog.js +58 -0
  125. package/dist/components/dialogs/dialog/Dialog.js.map +1 -0
  126. package/dist/components/dialogs/message/Message.d.ts +25 -0
  127. package/dist/components/dialogs/message/Message.d.ts.map +1 -0
  128. package/dist/components/dialogs/message/Message.js +141 -0
  129. package/dist/components/dialogs/message/Message.js.map +1 -0
  130. package/dist/components/dialogs/notification/Notification.d.ts +22 -0
  131. package/dist/components/dialogs/notification/Notification.d.ts.map +1 -0
  132. package/dist/components/dialogs/notification/Notification.js +38 -0
  133. package/dist/components/dialogs/notification/Notification.js.map +1 -0
  134. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts +40 -0
  135. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts.map +1 -0
  136. package/dist/components/dialogs/semantic-message/SemanticMessage.js +71 -0
  137. package/dist/components/dialogs/semantic-message/SemanticMessage.js.map +1 -0
  138. package/dist/components/inputs/dropdown/Dropdown.d.ts +123 -0
  139. package/dist/components/inputs/dropdown/Dropdown.d.ts.map +1 -0
  140. package/dist/components/inputs/dropdown/Dropdown.figma.d.ts +2 -0
  141. package/dist/components/inputs/dropdown/Dropdown.figma.d.ts.map +1 -0
  142. package/dist/components/inputs/dropdown/Dropdown.figma.js +28 -0
  143. package/dist/components/inputs/dropdown/Dropdown.figma.js.map +1 -0
  144. package/dist/components/inputs/dropdown/Dropdown.js +307 -0
  145. package/dist/components/inputs/dropdown/Dropdown.js.map +1 -0
  146. package/dist/components/inputs/dropzone/Dropzone.d.ts +78 -0
  147. package/dist/components/inputs/dropzone/Dropzone.d.ts.map +1 -0
  148. package/dist/components/inputs/dropzone/Dropzone.js +222 -0
  149. package/dist/components/inputs/dropzone/Dropzone.js.map +1 -0
  150. package/dist/components/inputs/input/Input.d.ts +203 -0
  151. package/dist/components/inputs/input/Input.d.ts.map +1 -0
  152. package/dist/components/inputs/input/Input.figma.d.ts +2 -0
  153. package/dist/components/inputs/input/Input.figma.d.ts.map +1 -0
  154. package/dist/components/inputs/input/Input.figma.js +35 -0
  155. package/dist/components/inputs/input/Input.figma.js.map +1 -0
  156. package/dist/components/inputs/input/Input.js +713 -0
  157. package/dist/components/inputs/input/Input.js.map +1 -0
  158. package/dist/components/inputs/inputs-bar/InputsBar.d.ts +18 -0
  159. package/dist/components/inputs/inputs-bar/InputsBar.d.ts.map +1 -0
  160. package/dist/components/inputs/inputs-bar/InputsBar.js +15 -0
  161. package/dist/components/inputs/inputs-bar/InputsBar.js.map +1 -0
  162. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts +125 -0
  163. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts.map +1 -0
  164. package/dist/components/inputs/multiple-slider/MultipleSlider.js +417 -0
  165. package/dist/components/inputs/multiple-slider/MultipleSlider.js.map +1 -0
  166. package/dist/components/inputs/multiple-slider/actions/addStop.d.ts +8 -0
  167. package/dist/components/inputs/multiple-slider/actions/addStop.d.ts.map +1 -0
  168. package/dist/components/inputs/multiple-slider/actions/deleteStop.d.ts +8 -0
  169. package/dist/components/inputs/multiple-slider/actions/deleteStop.d.ts.map +1 -0
  170. package/dist/components/inputs/multiple-slider/actions/shiftLeftStop.d.ts +5 -0
  171. package/dist/components/inputs/multiple-slider/actions/shiftLeftStop.d.ts.map +1 -0
  172. package/dist/components/inputs/multiple-slider/actions/shiftRightStop.d.ts +5 -0
  173. package/dist/components/inputs/multiple-slider/actions/shiftRightStop.d.ts.map +1 -0
  174. package/dist/components/inputs/select/Select.d.ts +112 -0
  175. package/dist/components/inputs/select/Select.d.ts.map +1 -0
  176. package/dist/components/inputs/select/Select.js +313 -0
  177. package/dist/components/inputs/select/Select.js.map +1 -0
  178. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts +93 -0
  179. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts.map +1 -0
  180. package/dist/components/inputs/simple-slider/SimpleSlider.js +166 -0
  181. package/dist/components/inputs/simple-slider/SimpleSlider.js.map +1 -0
  182. package/dist/components/lists/actions-item/ActionsItem.d.ts +64 -0
  183. package/dist/components/lists/actions-item/ActionsItem.d.ts.map +1 -0
  184. package/dist/components/lists/actions-item/ActionsItem.js +115 -0
  185. package/dist/components/lists/actions-item/ActionsItem.js.map +1 -0
  186. package/dist/components/lists/actions-list/ActionsList.d.ts +79 -0
  187. package/dist/components/lists/actions-list/ActionsList.d.ts.map +1 -0
  188. package/dist/components/lists/actions-list/ActionsList.js +384 -0
  189. package/dist/components/lists/actions-list/ActionsList.js.map +1 -0
  190. package/dist/components/lists/color-item/ColorItem.d.ts +27 -0
  191. package/dist/components/lists/color-item/ColorItem.d.ts.map +1 -0
  192. package/dist/components/lists/color-item/ColorItem.js +70 -0
  193. package/dist/components/lists/color-item/ColorItem.js.map +1 -0
  194. package/dist/components/lists/draggable-item/DraggableItem.d.ts +110 -0
  195. package/dist/components/lists/draggable-item/DraggableItem.d.ts.map +1 -0
  196. package/dist/components/lists/draggable-item/DraggableItem.js +176 -0
  197. package/dist/components/lists/draggable-item/DraggableItem.js.map +1 -0
  198. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts +19 -0
  199. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts.map +1 -0
  200. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.js +75 -0
  201. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.js.map +1 -0
  202. package/dist/components/lists/members-list/MembersList.d.ts +32 -0
  203. package/dist/components/lists/members-list/MembersList.d.ts.map +1 -0
  204. package/dist/components/lists/members-list/MembersList.js +117 -0
  205. package/dist/components/lists/members-list/MembersList.js.map +1 -0
  206. package/dist/components/lists/sortable-list/SortableList.d.ts +103 -0
  207. package/dist/components/lists/sortable-list/SortableList.d.ts.map +1 -0
  208. package/dist/components/lists/sortable-list/SortableList.js +148 -0
  209. package/dist/components/lists/sortable-list/SortableList.js.map +1 -0
  210. package/dist/components/lists/tabs/Tabs.d.ts +48 -0
  211. package/dist/components/lists/tabs/Tabs.d.ts.map +1 -0
  212. package/dist/components/lists/tabs/Tabs.figma.d.ts +2 -0
  213. package/dist/components/lists/tabs/Tabs.figma.d.ts.map +1 -0
  214. package/dist/components/lists/tabs/Tabs.figma.js +31 -0
  215. package/dist/components/lists/tabs/Tabs.figma.js.map +1 -0
  216. package/dist/components/lists/tabs/Tabs.js +165 -0
  217. package/dist/components/lists/tabs/Tabs.js.map +1 -0
  218. package/dist/components/slots/bar/Bar.d.ts +65 -0
  219. package/dist/components/slots/bar/Bar.d.ts.map +1 -0
  220. package/dist/components/slots/bar/Bar.js +100 -0
  221. package/dist/components/slots/bar/Bar.js.map +1 -0
  222. package/dist/components/slots/draggable-window/DraggableWindow.d.ts +25 -0
  223. package/dist/components/slots/draggable-window/DraggableWindow.d.ts.map +1 -0
  224. package/dist/components/slots/draggable-window/DraggableWindow.js +100 -0
  225. package/dist/components/slots/draggable-window/DraggableWindow.js.map +1 -0
  226. package/dist/components/slots/drawer/Drawer.d.ts +78 -0
  227. package/dist/components/slots/drawer/Drawer.d.ts.map +1 -0
  228. package/dist/components/slots/drawer/Drawer.js +148 -0
  229. package/dist/components/slots/drawer/Drawer.js.map +1 -0
  230. package/dist/components/slots/form-item/FormItem.d.ts +52 -0
  231. package/dist/components/slots/form-item/FormItem.d.ts.map +1 -0
  232. package/dist/components/slots/form-item/FormItem.js +89 -0
  233. package/dist/components/slots/form-item/FormItem.js.map +1 -0
  234. package/dist/components/slots/layout/Layout.d.ts +34 -0
  235. package/dist/components/slots/layout/Layout.d.ts.map +1 -0
  236. package/dist/components/slots/layout/Layout.js +45 -0
  237. package/dist/components/slots/layout/Layout.js.map +1 -0
  238. package/dist/components/slots/list/List.d.ts +49 -0
  239. package/dist/components/slots/list/List.d.ts.map +1 -0
  240. package/dist/components/slots/list/List.js +55 -0
  241. package/dist/components/slots/list/List.js.map +1 -0
  242. package/dist/components/slots/popin/Popin.d.ts +85 -0
  243. package/dist/components/slots/popin/Popin.d.ts.map +1 -0
  244. package/dist/components/slots/popin/Popin.js +182 -0
  245. package/dist/components/slots/popin/Popin.js.map +1 -0
  246. package/dist/components/slots/section/Section.d.ts +32 -0
  247. package/dist/components/slots/section/Section.d.ts.map +1 -0
  248. package/dist/components/slots/section/Section.js +49 -0
  249. package/dist/components/slots/section/Section.js.map +1 -0
  250. package/dist/components/slots/simple-item/SimpleItem.d.ts +45 -0
  251. package/dist/components/slots/simple-item/SimpleItem.d.ts.map +1 -0
  252. package/dist/components/slots/simple-item/SimpleItem.js +100 -0
  253. package/dist/components/slots/simple-item/SimpleItem.js.map +1 -0
  254. package/dist/components/tags/chip/Chip.d.ts +43 -0
  255. package/dist/components/tags/chip/Chip.d.ts.map +1 -0
  256. package/dist/components/tags/chip/Chip.figma.d.ts +2 -0
  257. package/dist/components/tags/chip/Chip.figma.d.ts.map +1 -0
  258. package/dist/components/tags/chip/Chip.figma.js +18 -0
  259. package/dist/components/tags/chip/Chip.figma.js.map +1 -0
  260. package/dist/components/tags/chip/Chip.js +88 -0
  261. package/dist/components/tags/chip/Chip.js.map +1 -0
  262. package/dist/components/tags/color-chip/ColorChip.d.ts +36 -0
  263. package/dist/components/tags/color-chip/ColorChip.d.ts.map +1 -0
  264. package/dist/components/tags/color-chip/ColorChip.js +39 -0
  265. package/dist/components/tags/color-chip/ColorChip.js.map +1 -0
  266. package/dist/components/tags/icon-chip/IconChip.d.ts +42 -0
  267. package/dist/components/tags/icon-chip/IconChip.d.ts.map +1 -0
  268. package/dist/components/tags/icon-chip/IconChip.js +54 -0
  269. package/dist/components/tags/icon-chip/IconChip.js.map +1 -0
  270. package/dist/components/tags/tooltip/Tooltip.d.ts +25 -0
  271. package/dist/components/tags/tooltip/Tooltip.d.ts.map +1 -0
  272. package/dist/components/tags/tooltip/Tooltip.js +72 -0
  273. package/dist/components/tags/tooltip/Tooltip.js.map +1 -0
  274. package/dist/do-classnames-DSDFCvzy.js +5 -0
  275. package/dist/do-classnames-DSDFCvzy.js.map +1 -0
  276. package/dist/do-map-2nhWP1KI.js +8 -0
  277. package/dist/do-map-2nhWP1KI.js.map +1 -0
  278. package/dist/index.d.ts +61 -0
  279. package/dist/index.d.ts.map +1 -0
  280. package/dist/index.js +113 -0
  281. package/dist/index.js.map +1 -0
  282. package/dist/index_react-CmuCVQet.js +13799 -0
  283. package/dist/index_react-CmuCVQet.js.map +1 -0
  284. package/dist/styles/icons/icons.module.js +115 -0
  285. package/dist/styles/icons/icons.module.js.map +1 -0
  286. package/dist/styles/layouts.module.js +37 -0
  287. package/dist/styles/layouts.module.js.map +1 -0
  288. package/dist/styles/texts/texts.module.js +23 -0
  289. package/dist/styles/texts/texts.module.js.map +1 -0
  290. package/dist/styles/tokens/modules/figma-colors.module.js +9 -0
  291. package/dist/styles/tokens/modules/figma-colors.module.js.map +1 -0
  292. package/dist/styles/tokens/modules/figma-types.module.js +9 -0
  293. package/dist/styles/tokens/modules/figma-types.module.js.map +1 -0
  294. package/dist/styles/tokens/modules/framer-colors.module.js +9 -0
  295. package/dist/styles/tokens/modules/framer-colors.module.js.map +1 -0
  296. package/dist/styles/tokens/modules/framer-types.module.js +9 -0
  297. package/dist/styles/tokens/modules/framer-types.module.js.map +1 -0
  298. package/dist/styles/tokens/modules/globals.module.js +9 -0
  299. package/dist/styles/tokens/modules/globals.module.js.map +1 -0
  300. package/dist/styles/tokens/modules/penpot-colors.module.js +9 -0
  301. package/dist/styles/tokens/modules/penpot-colors.module.js.map +1 -0
  302. package/dist/styles/tokens/modules/penpot-types.module.js +9 -0
  303. package/dist/styles/tokens/modules/penpot-types.module.js.map +1 -0
  304. package/dist/styles/tokens/modules/sketch-colors.module.js +9 -0
  305. package/dist/styles/tokens/modules/sketch-colors.module.js.map +1 -0
  306. package/dist/styles/tokens/modules/sketch-types.module.js +9 -0
  307. package/dist/styles/tokens/modules/sketch-types.module.js.map +1 -0
  308. package/dist/tests/setup.d.ts +2 -0
  309. package/dist/tests/setup.d.ts.map +1 -0
  310. package/dist/types/consent.types.d.ts +10 -0
  311. package/dist/types/consent.types.d.ts.map +1 -0
  312. package/dist/types/consent.types.js +2 -0
  313. package/dist/types/consent.types.js.map +1 -0
  314. package/dist/types/icon.types.d.ts +2 -0
  315. package/dist/types/icon.types.d.ts.map +1 -0
  316. package/dist/types/icon.types.js +2 -0
  317. package/dist/types/icon.types.js.map +1 -0
  318. package/dist/types/list.types.d.ts +14 -0
  319. package/dist/types/list.types.d.ts.map +1 -0
  320. package/dist/types/list.types.js +2 -0
  321. package/dist/types/list.types.js.map +1 -0
  322. package/package.json +108 -0
@@ -0,0 +1,117 @@
1
+ import '../../../assets/MembersList.css';
2
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
3
+ import d from "react";
4
+ import p from "../../../styles/texts/texts.module.js";
5
+ import o from "../../tags/tooltip/Tooltip.js";
6
+ import u from "../../slots/simple-item/SimpleItem.js";
7
+ import f from "../../assets/avatar/Avatar.js";
8
+ class x extends d.Component {
9
+ static defaultProps = {
10
+ isInverted: !1
11
+ };
12
+ constructor(s) {
13
+ super(s), this.state = {
14
+ activeTooltipIndex: null,
15
+ isMembersListVisible: !1
16
+ };
17
+ }
18
+ render() {
19
+ const { members: s, numberOfAvatarsDisplayed: i, isInverted: r } = this.props, { activeTooltipIndex: m, isMembersListVisible: n } = this.state;
20
+ return /* @__PURE__ */ a(
21
+ "div",
22
+ {
23
+ className: `members-list ${r ? "members-list--inverted" : ""}`,
24
+ role: "list",
25
+ children: [
26
+ s.slice(0, i).map((e, l) => {
27
+ const c = r ? l + 1 : i - l;
28
+ return /* @__PURE__ */ a(
29
+ "div",
30
+ {
31
+ className: "members-list__member",
32
+ role: "listitem",
33
+ style: { zIndex: c },
34
+ onMouseEnter: () => this.setState({
35
+ activeTooltipIndex: l
36
+ }),
37
+ onMouseLeave: () => this.setState({
38
+ activeTooltipIndex: null
39
+ }),
40
+ children: [
41
+ /* @__PURE__ */ t(
42
+ "div",
43
+ {
44
+ className: "members-list__avatar",
45
+ role: "presentation",
46
+ children: /* @__PURE__ */ t(
47
+ "img",
48
+ {
49
+ src: e.avatar,
50
+ alt: e.fullName,
51
+ role: "img",
52
+ "aria-hidden": "true"
53
+ }
54
+ )
55
+ }
56
+ ),
57
+ m === l && /* @__PURE__ */ t(o, { children: e.fullName })
58
+ ]
59
+ },
60
+ e.fullName
61
+ );
62
+ }),
63
+ s.slice(i).length > 0 && /* @__PURE__ */ a(
64
+ "div",
65
+ {
66
+ className: "members-list__remaining",
67
+ role: "listitem",
68
+ onMouseEnter: () => this.setState({ isMembersListVisible: !0 }),
69
+ onMouseLeave: () => this.setState({ isMembersListVisible: !1 }),
70
+ children: [
71
+ /* @__PURE__ */ a(
72
+ "span",
73
+ {
74
+ className: p.type,
75
+ "aria-hidden": "true",
76
+ children: [
77
+ "+",
78
+ s.slice(i).length
79
+ ]
80
+ }
81
+ ),
82
+ n && /* @__PURE__ */ t(o, { children: /* @__PURE__ */ t(
83
+ "div",
84
+ {
85
+ className: "members-list__list",
86
+ role: "list",
87
+ children: s.slice(i).map((e) => /* @__PURE__ */ t(
88
+ u,
89
+ {
90
+ leftPartSlot: /* @__PURE__ */ t(
91
+ f,
92
+ {
93
+ avatar: e.avatar,
94
+ fullName: e.fullName,
95
+ isAccented: !0
96
+ },
97
+ e.fullName
98
+ ),
99
+ isTransparent: !0,
100
+ alignment: "CENTER"
101
+ },
102
+ e.fullName
103
+ ))
104
+ }
105
+ ) })
106
+ ]
107
+ }
108
+ )
109
+ ]
110
+ }
111
+ );
112
+ }
113
+ }
114
+ export {
115
+ x as default
116
+ };
117
+ //# sourceMappingURL=MembersList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MembersList.js","sources":["../../../../src/components/lists/members-list/MembersList.tsx"],"sourcesContent":["import React from 'react'\nimport texts from '@styles/texts/texts.module.scss'\nimport Tooltip from '@components/tags/tooltip/Tooltip'\nimport SimpleItem from '@components/slots/simple-item/SimpleItem'\nimport Avatar from '@components/assets/avatar/Avatar'\nimport './members-list.scss'\n\nexport interface MembersListProps {\n /**\n * Array of member information\n */\n members: Array<{\n /** Avatar image URL */\n avatar: string\n /** Full name of the member */\n fullName: string\n }>\n /**\n * Maximum number of avatars to display\n */\n numberOfAvatarsDisplayed: number\n /**\n * Whether to use inverted color scheme\n * @default false\n */\n isInverted?: boolean\n}\n\nexport interface MembersListState {\n activeTooltipIndex: number | null\n isMembersListVisible: boolean\n}\n\nexport default class MembersList extends React.Component<\n MembersListProps,\n MembersListState\n> {\n static defaultProps: Partial<MembersListProps> = {\n isInverted: false,\n }\n\n constructor(props: MembersListProps) {\n super(props)\n this.state = {\n activeTooltipIndex: null,\n isMembersListVisible: false,\n }\n }\n\n render() {\n const { members, numberOfAvatarsDisplayed, isInverted } = this.props\n const { activeTooltipIndex, isMembersListVisible } = this.state\n\n return (\n <div\n className={`members-list ${isInverted ? 'members-list--inverted' : ''}`}\n role=\"list\"\n >\n {members.slice(0, numberOfAvatarsDisplayed).map((member, index) => {\n const zIndex = isInverted\n ? index + 1\n : numberOfAvatarsDisplayed - index\n\n return (\n <div\n key={member.fullName}\n className=\"members-list__member\"\n role=\"listitem\"\n style={{ zIndex }}\n onMouseEnter={() =>\n this.setState({\n activeTooltipIndex: index,\n })\n }\n onMouseLeave={() =>\n this.setState({\n activeTooltipIndex: null,\n })\n }\n >\n <div\n className=\"members-list__avatar\"\n role=\"presentation\"\n >\n <img\n src={member.avatar}\n alt={member.fullName}\n role=\"img\"\n aria-hidden=\"true\"\n />\n </div>\n {activeTooltipIndex === index && (\n <Tooltip>{member.fullName}</Tooltip>\n )}\n </div>\n )\n })}\n {members.slice(numberOfAvatarsDisplayed).length > 0 && (\n <div\n className=\"members-list__remaining\"\n role=\"listitem\"\n onMouseEnter={() => this.setState({ isMembersListVisible: true })}\n onMouseLeave={() => this.setState({ isMembersListVisible: false })}\n >\n <span\n className={texts.type}\n aria-hidden=\"true\"\n >\n +{members.slice(numberOfAvatarsDisplayed).length}\n </span>\n {isMembersListVisible && (\n <Tooltip>\n <div\n className=\"members-list__list\"\n role=\"list\"\n >\n {members.slice(numberOfAvatarsDisplayed).map((member) => (\n <SimpleItem\n key={member.fullName}\n leftPartSlot={\n <Avatar\n key={member.fullName}\n avatar={member.avatar}\n fullName={member.fullName}\n isAccented\n />\n }\n isTransparent\n alignment=\"CENTER\"\n />\n ))}\n </div>\n </Tooltip>\n )}\n </div>\n )}\n </div>\n )\n }\n}\n"],"names":["MembersList","React","props","members","numberOfAvatarsDisplayed","isInverted","activeTooltipIndex","isMembersListVisible","jsxs","member","index","zIndex","jsx","Tooltip","texts","SimpleItem","Avatar"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { default as React } from 'react';
2
+
3
+ interface SelectedColor {
4
+ id: string | undefined;
5
+ position: number;
6
+ }
7
+ interface DefaultData {
8
+ id: string;
9
+ }
10
+ interface HoveredColor extends SelectedColor {
11
+ hasGuideAbove: boolean;
12
+ hasGuideBelow: boolean;
13
+ }
14
+ export interface SortableListProps<T = DefaultData> {
15
+ /**
16
+ * Array of data items
17
+ */
18
+ data: Array<T>;
19
+ /**
20
+ * Array of primary content nodes
21
+ */
22
+ primarySlot: Array<React.ReactNode>;
23
+ /**
24
+ * Array of secondary content configurations
25
+ */
26
+ secondarySlot?: Array<{
27
+ /** Title for the secondary content */
28
+ title: string;
29
+ /** Content node */
30
+ node: React.ReactNode;
31
+ }>;
32
+ /**
33
+ * Array of action button nodes
34
+ */
35
+ actionsSlot?: Array<React.ReactNode>;
36
+ /**
37
+ * Content to display when list is empty
38
+ */
39
+ emptySlot?: React.ReactNode;
40
+ /**
41
+ * Helper texts for buttons
42
+ */
43
+ helpers?: {
44
+ /** Helper for remove button */
45
+ remove?: string;
46
+ /** Helper for more options button */
47
+ more?: string;
48
+ };
49
+ /**
50
+ * Whether the list is scrollable
51
+ * @default false
52
+ */
53
+ isScrollable?: boolean;
54
+ /**
55
+ * Whether to show a top border on scroll
56
+ * @default false
57
+ */
58
+ isTopBorderEnabled?: boolean;
59
+ /**
60
+ * Whether the list can be empty
61
+ * @default true
62
+ */
63
+ canBeEmpty?: boolean;
64
+ /**
65
+ * Whether the list is blocked
66
+ * @default false
67
+ */
68
+ isBlocked?: boolean;
69
+ /**
70
+ * Change handler when list is reordered
71
+ */
72
+ onChangeSortableList: (data: Array<T>) => void;
73
+ /**
74
+ * Remove item handler
75
+ */
76
+ onRemoveItem: React.MouseEventHandler<Element> & React.KeyboardEventHandler<Element>;
77
+ /**
78
+ * Refold options handler
79
+ */
80
+ onRefoldOptions: () => void;
81
+ }
82
+ export interface SortableListStates {
83
+ selectedElement: SelectedColor;
84
+ hoveredElement: HoveredColor;
85
+ hasTopBorder: boolean;
86
+ }
87
+ export default class SortableList<T extends DefaultData> extends React.Component<SortableListProps<T>, SortableListStates> {
88
+ private listRef;
89
+ static defaultProps: Partial<SortableListProps>;
90
+ constructor(props: SortableListProps<T>);
91
+ componentDidMount: () => void;
92
+ componentWillUnmount: () => void;
93
+ handleClickOutside: (e: Event) => void;
94
+ orderHandler: () => void;
95
+ selectionHandler: React.MouseEventHandler<HTMLLIElement> & React.MouseEventHandler<Element> & React.FocusEventHandler<HTMLInputElement>;
96
+ dragHandler: (id: string | undefined, hasGuideAbove: boolean, hasGuideBelow: boolean, position: number) => void;
97
+ dropOutsideHandler: (e: React.DragEvent<HTMLLIElement>) => void;
98
+ removeHandler: (e: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;
99
+ onScroll: (e: React.UIEvent<HTMLUListElement>) => void;
100
+ render(): import("react/jsx-runtime").JSX.Element;
101
+ }
102
+ export {};
103
+ //# sourceMappingURL=SortableList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableList.d.ts","sourceRoot":"","sources":["../../../../src/components/lists/sortable-list/SortableList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import '../../../assets/SortableList.css';
2
+ import { jsx as u } from "react/jsx-runtime";
3
+ import g from "react";
4
+ import { t as S } from "../../../do-classnames-DSDFCvzy.js";
5
+ import b from "../draggable-item/DraggableItem.js";
6
+ class C extends g.Component {
7
+ listRef;
8
+ static defaultProps = {
9
+ isScrollable: !1,
10
+ isTopBorderEnabled: !1,
11
+ canBeEmpty: !0,
12
+ isBlocked: !1
13
+ };
14
+ constructor(e) {
15
+ super(e), this.state = {
16
+ selectedElement: {
17
+ id: void 0,
18
+ position: 0
19
+ },
20
+ hoveredElement: {
21
+ id: void 0,
22
+ hasGuideAbove: !1,
23
+ hasGuideBelow: !1,
24
+ position: 0
25
+ },
26
+ hasTopBorder: !1
27
+ }, this.listRef = g.createRef(), this.handleClickOutside = this.handleClickOutside.bind(this);
28
+ }
29
+ // Lifecycle
30
+ componentDidMount = () => document.addEventListener("mousedown", this.handleClickOutside);
31
+ componentWillUnmount = () => document.removeEventListener("mousedown", this.handleClickOutside);
32
+ handleClickOutside = (e) => {
33
+ this.listRef.current !== null && (!this.listRef.current.contains(e.target) || e.target === this.listRef.current) && this.setState({
34
+ selectedElement: {
35
+ id: void 0,
36
+ position: 0
37
+ }
38
+ });
39
+ };
40
+ // Handlers
41
+ orderHandler = () => {
42
+ const { onChangeSortableList: e, data: s } = this.props, { selectedElement: o, hoveredElement: l } = this.state, i = o, t = l, r = s.map((d) => d);
43
+ let n;
44
+ const h = r.findIndex(
45
+ (d) => d.id === i.id
46
+ ), [m] = r.splice(h, 1);
47
+ t.hasGuideAbove && t.position > i.position ? n = t.position - 1 : t.hasGuideBelow && t.position > i.position || t.hasGuideAbove && t.position < i.position ? n = t.position : t.hasGuideBelow && t.position < i.position ? n = t.position + 1 : n = t.position, r.splice(n, 0, m), e(r);
48
+ };
49
+ selectionHandler = (e) => {
50
+ const s = e.currentTarget, o = e.target;
51
+ return o.tagName === "INPUT" || o.tagName === "BUTTON" || o.tagName === "TEXTAREA" ? this.setState({
52
+ selectedElement: {
53
+ id: void 0,
54
+ position: 0
55
+ }
56
+ }) : this.setState({
57
+ selectedElement: {
58
+ id: s.dataset.id,
59
+ position: parseFloat(s.dataset.position ?? "0")
60
+ }
61
+ });
62
+ };
63
+ dragHandler = (e, s, o, l) => {
64
+ this.setState({
65
+ hoveredElement: {
66
+ id: e,
67
+ hasGuideAbove: s,
68
+ hasGuideBelow: o,
69
+ position: l
70
+ }
71
+ });
72
+ };
73
+ dropOutsideHandler = (e) => {
74
+ const s = e.target, o = s.parentNode ?? s, l = (o.parentNode?.parentNode).scrollTop, i = o.offsetTop, t = i + o.clientHeight;
75
+ e.pageY + l < i ? this.orderHandler() : e.pageY + l > t && this.orderHandler();
76
+ };
77
+ removeHandler = (e) => {
78
+ const { onChangeSortableList: s, data: o } = this.props, l = o.map((r) => r);
79
+ let i;
80
+ const t = e.currentTarget.closest(".draggable-item");
81
+ t !== null ? i = t.getAttribute("data-id") : i = null, s(l.filter((r) => r.id !== i));
82
+ };
83
+ // Direct Actions
84
+ onScroll = (e) => {
85
+ const { isTopBorderEnabled: s } = this.props;
86
+ e.preventDefault(), e.currentTarget.scrollTop > 0 && s ? this.setState({ hasTopBorder: !0 }) : this.setState({ hasTopBorder: !1 });
87
+ };
88
+ // Render
89
+ render() {
90
+ const {
91
+ data: e,
92
+ canBeEmpty: s,
93
+ isBlocked: o,
94
+ primarySlot: l,
95
+ secondarySlot: i,
96
+ actionsSlot: t,
97
+ emptySlot: r,
98
+ helpers: n,
99
+ isScrollable: h,
100
+ onRemoveItem: m,
101
+ onRefoldOptions: d
102
+ } = this.props, { selectedElement: f, hoveredElement: c, hasTopBorder: v } = this.state;
103
+ return e.length === 0 && s ? /* @__PURE__ */ u("div", { className: "sortable-list", children: r }) : /* @__PURE__ */ u(
104
+ "ul",
105
+ {
106
+ className: S([
107
+ "sortable-list",
108
+ h && "sortable-list--scrollable",
109
+ v && "sortable-list--top-border"
110
+ ]),
111
+ onScroll: this.onScroll,
112
+ ref: this.listRef,
113
+ children: e.map((a, p) => /* @__PURE__ */ u(
114
+ b,
115
+ {
116
+ id: a.id,
117
+ index: p,
118
+ canBeRemoved: e.length > 1 && !o || s && !o,
119
+ primarySlot: l[p],
120
+ secondarySlot: i ? i[p] : void 0,
121
+ actionsSlot: t ? t[p] : void 0,
122
+ selected: f.id === a.id,
123
+ helpers: {
124
+ remove: n?.remove,
125
+ more: n?.more
126
+ },
127
+ guideAbove: c.id === a.id ? c.hasGuideAbove : !1,
128
+ guideBelow: c.id === a.id ? c.hasGuideBelow : !1,
129
+ isBlocked: o,
130
+ onCancelSelection: this.selectionHandler,
131
+ onRefoldOptions: d,
132
+ onChangeOrder: this.orderHandler,
133
+ onRemove: m,
134
+ onChangeSelection: this.selectionHandler,
135
+ onDragChange: this.dragHandler,
136
+ onDropOutside: this.orderHandler,
137
+ "aria-selected": f.id === a.id
138
+ },
139
+ a.id
140
+ ))
141
+ }
142
+ );
143
+ }
144
+ }
145
+ export {
146
+ C as default
147
+ };
148
+ //# sourceMappingURL=SortableList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableList.js","sources":["../../../../src/components/lists/sortable-list/SortableList.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@a_ng_d/figmug-utils'\nimport DraggableItem from '../draggable-item/DraggableItem'\nimport './sortable-list.scss'\n\ninterface SelectedColor {\n id: string | undefined\n position: number\n}\n\ninterface DefaultData {\n id: string\n}\n\ninterface HoveredColor extends SelectedColor {\n hasGuideAbove: boolean\n hasGuideBelow: boolean\n}\n\nexport interface SortableListProps<T = DefaultData> {\n /**\n * Array of data items\n */\n data: Array<T>\n /**\n * Array of primary content nodes\n */\n primarySlot: Array<React.ReactNode>\n /**\n * Array of secondary content configurations\n */\n secondarySlot?: Array<{\n /** Title for the secondary content */\n title: string\n /** Content node */\n node: React.ReactNode\n }>\n /**\n * Array of action button nodes\n */\n actionsSlot?: Array<React.ReactNode>\n /**\n * Content to display when list is empty\n */\n emptySlot?: React.ReactNode\n /**\n * Helper texts for buttons\n */\n helpers?: {\n /** Helper for remove button */\n remove?: string\n /** Helper for more options button */\n more?: string\n }\n /**\n * Whether the list is scrollable\n * @default false\n */\n isScrollable?: boolean\n /**\n * Whether to show a top border on scroll\n * @default false\n */\n isTopBorderEnabled?: boolean\n /**\n * Whether the list can be empty\n * @default true\n */\n canBeEmpty?: boolean\n /**\n * Whether the list is blocked\n * @default false\n */\n isBlocked?: boolean\n /**\n * Change handler when list is reordered\n */\n onChangeSortableList: (data: Array<T>) => void\n /**\n * Remove item handler\n */\n onRemoveItem: React.MouseEventHandler<Element> &\n React.KeyboardEventHandler<Element>\n /**\n * Refold options handler\n */\n onRefoldOptions: () => void\n}\n\nexport interface SortableListStates {\n selectedElement: SelectedColor\n hoveredElement: HoveredColor\n hasTopBorder: boolean\n}\n\nexport default class SortableList<\n T extends DefaultData,\n> extends React.Component<SortableListProps<T>, SortableListStates> {\n private listRef: React.RefObject<HTMLUListElement>\n\n static defaultProps: Partial<SortableListProps> = {\n isScrollable: false,\n isTopBorderEnabled: false,\n canBeEmpty: true,\n isBlocked: false,\n }\n\n constructor(props: SortableListProps<T>) {\n super(props)\n this.state = {\n selectedElement: {\n id: undefined,\n position: 0,\n },\n hoveredElement: {\n id: undefined,\n hasGuideAbove: false,\n hasGuideBelow: false,\n position: 0,\n },\n hasTopBorder: false,\n }\n this.listRef = React.createRef()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n // Lifecycle\n componentDidMount = () =>\n document.addEventListener('mousedown', this.handleClickOutside)\n\n componentWillUnmount = () =>\n document.removeEventListener('mousedown', this.handleClickOutside)\n\n handleClickOutside = (e: Event) => {\n if (this.listRef.current !== null)\n if (\n !this.listRef.current.contains(e.target as HTMLElement) ||\n e.target === this.listRef.current\n )\n this.setState({\n selectedElement: {\n id: undefined,\n position: 0,\n },\n })\n }\n\n // Handlers\n orderHandler = () => {\n const { onChangeSortableList, data } = this.props\n const { selectedElement, hoveredElement } = this.state\n\n const source: SelectedColor = selectedElement,\n target: HoveredColor = hoveredElement,\n duplicatedData = data.map((el) => el)\n\n let position: number\n const sourceIndex = duplicatedData.findIndex(\n (item) => item.id === source.id\n )\n\n const [removedElement] = duplicatedData.splice(sourceIndex, 1)\n\n if (target.hasGuideAbove && target.position > source.position)\n position = target.position - 1\n else if (target.hasGuideBelow && target.position > source.position)\n position = target.position\n else if (target.hasGuideAbove && target.position < source.position)\n position = target.position\n else if (target.hasGuideBelow && target.position < source.position)\n position = target.position + 1\n else position = target.position\n\n duplicatedData.splice(position, 0, removedElement)\n\n onChangeSortableList(duplicatedData)\n }\n\n selectionHandler: React.MouseEventHandler<HTMLLIElement> &\n React.MouseEventHandler<Element> &\n React.FocusEventHandler<HTMLInputElement> = (e) => {\n const item = e.currentTarget as HTMLElement\n const target = e.target as HTMLElement\n\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'BUTTON' ||\n target.tagName === 'TEXTAREA'\n )\n return this.setState({\n selectedElement: {\n id: undefined,\n position: 0,\n },\n })\n\n return this.setState({\n selectedElement: {\n id: item.dataset.id,\n position: parseFloat(item.dataset.position ?? '0'),\n },\n })\n }\n\n dragHandler = (\n id: string | undefined,\n hasGuideAbove: boolean,\n hasGuideBelow: boolean,\n position: number\n ) => {\n this.setState({\n hoveredElement: {\n id: id,\n hasGuideAbove: hasGuideAbove,\n hasGuideBelow: hasGuideBelow,\n position: position,\n },\n })\n }\n\n dropOutsideHandler = (e: React.DragEvent<HTMLLIElement>) => {\n const target = e.target,\n parent: ParentNode =\n (target as HTMLElement).parentNode ?? (target as HTMLElement),\n scrollY: number = (parent.parentNode?.parentNode as HTMLElement)\n .scrollTop,\n parentRefTop: number = (parent as HTMLElement).offsetTop,\n parentRefBottom: number =\n parentRefTop + (parent as HTMLElement).clientHeight\n\n if (e.pageY + scrollY < parentRefTop) this.orderHandler()\n else if (e.pageY + scrollY > parentRefBottom) this.orderHandler()\n }\n\n removeHandler = (\n e: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>\n ) => {\n const { onChangeSortableList, data } = this.props\n const duplicatedData = data.map((el) => el)\n let id: string | null\n const element: HTMLElement | null = (\n e.currentTarget as HTMLElement\n ).closest('.draggable-item')\n\n element !== null ? (id = element.getAttribute('data-id')) : (id = null)\n\n onChangeSortableList(duplicatedData.filter((item) => item.id !== id))\n }\n\n // Direct Actions\n onScroll = (e: React.UIEvent<HTMLUListElement>) => {\n const { isTopBorderEnabled } = this.props\n\n e.preventDefault()\n if (e.currentTarget.scrollTop > 0 && isTopBorderEnabled)\n this.setState({ hasTopBorder: true })\n else this.setState({ hasTopBorder: false })\n }\n\n // Render\n render() {\n const {\n data,\n canBeEmpty,\n isBlocked,\n primarySlot,\n secondarySlot,\n actionsSlot,\n emptySlot,\n helpers,\n isScrollable,\n onRemoveItem,\n onRefoldOptions,\n } = this.props\n const { selectedElement, hoveredElement, hasTopBorder } = this.state\n\n if (data.length === 0 && canBeEmpty)\n return <div className=\"sortable-list\">{emptySlot}</div>\n return (\n <ul\n className={doClassnames([\n 'sortable-list',\n isScrollable && 'sortable-list--scrollable',\n hasTopBorder && 'sortable-list--top-border',\n ])}\n onScroll={this.onScroll}\n ref={this.listRef}\n >\n {data.map((item, index) => (\n <DraggableItem\n key={item.id}\n id={item.id}\n index={index}\n canBeRemoved={\n (data.length > 1 && !isBlocked) || (canBeEmpty && !isBlocked)\n }\n primarySlot={primarySlot[index]}\n secondarySlot={secondarySlot ? secondarySlot[index] : undefined}\n actionsSlot={actionsSlot ? actionsSlot[index] : undefined}\n selected={selectedElement.id === item.id}\n helpers={{\n remove: helpers?.remove,\n more: helpers?.more,\n }}\n guideAbove={\n hoveredElement.id === item.id\n ? hoveredElement.hasGuideAbove\n : false\n }\n guideBelow={\n hoveredElement.id === item.id\n ? hoveredElement.hasGuideBelow\n : false\n }\n isBlocked={isBlocked}\n onCancelSelection={this.selectionHandler}\n onRefoldOptions={onRefoldOptions}\n onChangeOrder={this.orderHandler}\n onRemove={onRemoveItem}\n onChangeSelection={this.selectionHandler}\n onDragChange={this.dragHandler}\n onDropOutside={this.orderHandler}\n aria-selected={selectedElement.id === item.id}\n />\n ))}\n </ul>\n )\n }\n}\n"],"names":["SortableList","React","props","onChangeSortableList","data","selectedElement","hoveredElement","source","target","duplicatedData","el","position","sourceIndex","item","removedElement","id","hasGuideAbove","hasGuideBelow","parent","scrollY","parentRefTop","parentRefBottom","element","isTopBorderEnabled","canBeEmpty","isBlocked","primarySlot","secondarySlot","actionsSlot","emptySlot","helpers","isScrollable","onRemoveItem","onRefoldOptions","hasTopBorder","jsx","doClassnames","index","DraggableItem"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { IconList } from '../../../types/icon.types';
2
+
3
+ export interface TabsProps {
4
+ /**
5
+ * Array of tab configurations
6
+ */
7
+ tabs: Array<{
8
+ /** Tab label */
9
+ label: string;
10
+ /** Unique tab ID */
11
+ id: string;
12
+ /** Optional icon */
13
+ icon?: {
14
+ type: 'PICTO' | 'LETTER';
15
+ name: IconList;
16
+ };
17
+ /** Whether tab has been updated */
18
+ isUpdated: boolean;
19
+ /** Whether to show a "New" badge */
20
+ isNew?: boolean;
21
+ }>;
22
+ /**
23
+ * ID of the active tab
24
+ */
25
+ active: string;
26
+ /**
27
+ * Layout direction
28
+ * @default 'HORIZONTAL'
29
+ */
30
+ direction?: 'HORIZONTAL' | 'VERTICAL';
31
+ /**
32
+ * Whether tabs should use flex layout
33
+ * @default false
34
+ */
35
+ isFlex?: boolean;
36
+ /**
37
+ * Maximum number of tabs to display before collapsing into menu
38
+ * @default 3
39
+ */
40
+ maxVisibleTabs?: number;
41
+ /**
42
+ * Click handler
43
+ */
44
+ action: React.MouseEventHandler & React.KeyboardEventHandler;
45
+ }
46
+ declare const Tabs: (props: TabsProps) => import("react/jsx-runtime").JSX.Element | null;
47
+ export default Tabs;
48
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/lists/tabs/Tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAO1C,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;QACV,gBAAgB;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,oBAAoB;QACpB,EAAE,EAAE,MAAM,CAAA;QACV,oBAAoB;QACpB,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;YACxB,IAAI,EAAE,QAAQ,CAAA;SACf,CAAA;QACD,mCAAmC;QACnC,SAAS,EAAE,OAAO,CAAA;QAClB,oCAAoC;QACpC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAC,CAAA;IACF;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;CAC7D;AAED,QAAA,MAAM,IAAI,UAAW,SAAS,mDA2K7B,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Tabs.figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.figma.d.ts","sourceRoot":"","sources":["../../../../src/components/lists/tabs/Tabs.figma.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { i } from "../../../index_react-CmuCVQet.js";
3
+ import e from "./Tabs.js";
4
+ i.figma.connect(
5
+ e,
6
+ "https://www.figma.com/design/QlBdsfEcaUsGBzqA20xbNi/Unoff?node-id=651:383",
7
+ {
8
+ props: {
9
+ direction: i.figma.enum("direction", {
10
+ HORIZONTAL: "HORIZONTAL",
11
+ VERTICAL: "VERTICAL"
12
+ }),
13
+ isFlex: i.figma.boolean("isFlex")
14
+ },
15
+ example: (a) => /* @__PURE__ */ t(
16
+ e,
17
+ {
18
+ tabs: [
19
+ { label: "Tab 1", id: "tab1", isUpdated: !1 },
20
+ { label: "Tab 2", id: "tab2", isUpdated: !1 }
21
+ ],
22
+ active: "tab1",
23
+ direction: a.direction,
24
+ isFlex: a.isFlex,
25
+ action: () => {
26
+ }
27
+ }
28
+ )
29
+ }
30
+ );
31
+ //# sourceMappingURL=Tabs.figma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.figma.js","sources":["../../../../src/components/lists/tabs/Tabs.figma.tsx"],"sourcesContent":["import { figma } from '@figma/code-connect'\nimport Tabs from './Tabs'\n\nfigma.connect(\n Tabs,\n 'https://www.figma.com/design/QlBdsfEcaUsGBzqA20xbNi/Unoff?node-id=651:383',\n {\n props: {\n direction: figma.enum('direction', {\n HORIZONTAL: 'HORIZONTAL',\n VERTICAL: 'VERTICAL',\n }),\n isFlex: figma.boolean('isFlex'),\n },\n example: (props) => (\n <Tabs\n tabs={[\n { label: 'Tab 1', id: 'tab1', isUpdated: false },\n { label: 'Tab 2', id: 'tab2', isUpdated: false },\n ]}\n active=\"tab1\"\n direction={props.direction}\n isFlex={props.isFlex}\n action={() => {}}\n />\n ),\n }\n)\n"],"names":["figma","Tabs","props","jsx"],"mappings":";;;AAGAA,EAAAA,MAAM;AAAA,EACJC;AAAA,EACA;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,WAAWD,EAAAA,MAAM,KAAK,aAAa;AAAA,QACjC,YAAY;AAAA,QACZ,UAAU;AAAA,MAAA,CACX;AAAA,MACD,QAAQA,EAAAA,MAAM,QAAQ,QAAQ;AAAA,IAAA;AAAA,IAEhC,SAAS,CAACE,MACR,gBAAAC;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,UACJ,EAAE,OAAO,SAAS,IAAI,QAAQ,WAAW,GAAA;AAAA,UACzC,EAAE,OAAO,SAAS,IAAI,QAAQ,WAAW,GAAA;AAAA,QAAM;AAAA,QAEjD,QAAO;AAAA,QACP,WAAWC,EAAM;AAAA,QACjB,QAAQA,EAAM;AAAA,QACd,QAAQ,MAAM;AAAA,QAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB;AAGN;"}