@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,104 @@
1
+ import '../../../assets/Accordion.css';
2
+ import { jsxs as n, jsx as i } from "react/jsx-runtime";
3
+ import w from "../../tags/chip/Chip.js";
4
+ import N from "../../assets/section-title/SectionTitle.js";
5
+ import { t as g } from "../../../do-classnames-DSDFCvzy.js";
6
+ import l from "../button/Button.js";
7
+ const E = (s) => {
8
+ const {
9
+ label: a,
10
+ indicator: p,
11
+ icon: m = "plus",
12
+ helper: _,
13
+ helpers: r,
14
+ isExpanded: c,
15
+ isBlocked: e = !1,
16
+ isNew: d = !1,
17
+ children: h,
18
+ onAdd: t,
19
+ onEmpty: f
20
+ } = s, u = (o) => {
21
+ o.stopPropagation(), t(o);
22
+ }, v = (o) => {
23
+ o.stopPropagation(), f(o);
24
+ };
25
+ return /* @__PURE__ */ n(
26
+ "div",
27
+ {
28
+ className: g([
29
+ "accordion",
30
+ c && "accordion--expanded",
31
+ e && "accordion--blocked"
32
+ ]),
33
+ onMouseDown: (o) => {
34
+ o.target.dataset.feature === void 0 && !c && !e && t(o);
35
+ },
36
+ children: [
37
+ /* @__PURE__ */ n("div", { className: "accordion__row", children: [
38
+ /* @__PURE__ */ i(
39
+ "div",
40
+ {
41
+ className: "accordion__row__left",
42
+ role: "presentation",
43
+ children: /* @__PURE__ */ i(
44
+ N,
45
+ {
46
+ label: a,
47
+ indicator: p,
48
+ helper: _
49
+ }
50
+ )
51
+ }
52
+ ),
53
+ /* @__PURE__ */ n(
54
+ "div",
55
+ {
56
+ className: "accordion__row__right",
57
+ role: "group",
58
+ children: [
59
+ c ? /* @__PURE__ */ i(
60
+ l,
61
+ {
62
+ type: "icon",
63
+ icon: "minus",
64
+ iconClassName: "accordion__row__icon",
65
+ helper: r?.empty !== void 0 ? {
66
+ label: r.empty
67
+ } : void 0,
68
+ action: (o) => v(o)
69
+ }
70
+ ) : /* @__PURE__ */ i(
71
+ l,
72
+ {
73
+ type: "icon",
74
+ icon: m,
75
+ iconClassName: "accordion__row__icon",
76
+ helper: r?.add !== void 0 ? {
77
+ label: r.add
78
+ } : void 0,
79
+ isDisabled: e,
80
+ isBlocked: e,
81
+ action: (o) => u(o)
82
+ }
83
+ ),
84
+ (e || d) && /* @__PURE__ */ i(w, { children: d ? "New" : "Pro" })
85
+ ]
86
+ }
87
+ )
88
+ ] }),
89
+ c && /* @__PURE__ */ i(
90
+ "div",
91
+ {
92
+ id: `accordion-content-${a}`,
93
+ role: "region",
94
+ children: h
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ );
100
+ };
101
+ export {
102
+ E as default
103
+ };
104
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/actions/accordion/Accordion.tsx"],"sourcesContent":["import { IconList } from '@tps/icon.types'\nimport Chip from '@components/tags/chip/Chip'\nimport SectionTitle from '@components/assets/section-title/SectionTitle'\nimport { doClassnames } from '@a_ng_d/figmug-utils'\nimport Button from '../button/Button'\nimport './accordion.scss'\n\nexport interface AccordionProps {\n /**\n * Title label of the accordion\n */\n label: string\n /**\n * Optional indicator (number or text) displayed next to the label\n */\n indicator?: string | number\n /**\n * Icon to display in the add button\n * @default 'plus'\n */\n icon?: IconList\n /**\n * Helper text displayed near the title\n */\n helper?: string\n /**\n * Helper texts for the action buttons\n */\n helpers?: {\n /** Helper text for the add button */\n add?: string\n /** Helper text for the empty button */\n empty?: string\n }\n /**\n * Whether the accordion is expanded\n */\n isExpanded: boolean\n /**\n * Whether the accordion is blocked (disabled)\n * @default false\n */\n isBlocked?: boolean\n /**\n * Whether to show a \"New\" badge\n * @default false\n */\n isNew?: boolean\n /**\n * Content to display when accordion is expanded\n */\n children?: React.ReactNode\n /**\n * Callback fired when the add button is clicked\n */\n onAdd: (\n event: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => void\n /**\n * Callback fired when the empty button is clicked\n */\n onEmpty: (\n event: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => void\n}\n\nconst Accordion = (props: AccordionProps) => {\n const {\n label,\n indicator,\n icon = 'plus',\n helper,\n helpers,\n isExpanded,\n isBlocked = false,\n isNew = false,\n children,\n onAdd,\n onEmpty,\n } = props\n\n const handleAdd = (\n event: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => {\n event.stopPropagation()\n onAdd(event)\n }\n\n const handleEmpty = (\n event: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => {\n event.stopPropagation()\n onEmpty(event)\n }\n\n return (\n <div\n className={doClassnames([\n 'accordion',\n isExpanded && 'accordion--expanded',\n isBlocked && 'accordion--blocked',\n ])}\n onMouseDown={(e) => {\n if (\n (e.target as HTMLElement).dataset.feature === undefined &&\n !isExpanded &&\n !isBlocked\n )\n onAdd(e as React.MouseEvent<HTMLDivElement, MouseEvent>)\n }}\n >\n <div className=\"accordion__row\">\n <div\n className=\"accordion__row__left\"\n role=\"presentation\"\n >\n <SectionTitle\n label={label}\n indicator={indicator}\n helper={helper}\n />\n </div>\n <div\n className=\"accordion__row__right\"\n role=\"group\"\n >\n {isExpanded ? (\n <Button\n type=\"icon\"\n icon=\"minus\"\n iconClassName=\"accordion__row__icon\"\n helper={\n helpers?.empty !== undefined\n ? {\n label: helpers.empty,\n }\n : undefined\n }\n action={(e) => handleEmpty(e)}\n />\n ) : (\n <Button\n type=\"icon\"\n icon={icon}\n iconClassName=\"accordion__row__icon\"\n helper={\n helpers?.add !== undefined\n ? {\n label: helpers.add,\n }\n : undefined\n }\n isDisabled={isBlocked}\n isBlocked={isBlocked}\n action={(e) => handleAdd(e)}\n />\n )}\n {(isBlocked || isNew) && <Chip>{isNew ? 'New' : 'Pro'}</Chip>}\n </div>\n </div>\n {isExpanded && (\n <div\n id={`accordion-content-${label}`}\n role=\"region\"\n >\n {children}\n </div>\n )}\n </div>\n )\n}\n\nexport default Accordion\n"],"names":["Accordion","props","label","indicator","icon","helper","helpers","isExpanded","isBlocked","isNew","children","onAdd","onEmpty","handleAdd","event","handleEmpty","jsxs","doClassnames","e","jsx","SectionTitle","Button","Chip"],"mappings":";;;;;AAkEA,MAAMA,IAAY,CAACC,MAA0B;AAC3C,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEX,GAEEY,IAAY,CAChBC,MACG;AACH,IAAAA,EAAM,gBAAA,GACNH,EAAMG,CAAK;AAAA,EACb,GAEMC,IAAc,CAClBD,MACG;AACH,IAAAA,EAAM,gBAAA,GACNF,EAAQE,CAAK;AAAA,EACf;AAEA,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAa;AAAA,QACtB;AAAA,QACAV,KAAc;AAAA,QACdC,KAAa;AAAA,MAAA,CACd;AAAA,MACD,aAAa,CAACU,MAAM;AAClB,QACGA,EAAE,OAAuB,QAAQ,YAAY,UAC9C,CAACX,KACD,CAACC,KAEDG,EAAMO,CAAiD;AAAA,MAC3D;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAK;AAAA,cAEL,UAAA,gBAAAA;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,OAAAlB;AAAA,kBACA,WAAAC;AAAA,kBACA,QAAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,UAEF,gBAAAW;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAK;AAAA,cAEJ,UAAA;AAAA,gBAAAT,IACC,gBAAAY;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,MAAK;AAAA,oBACL,eAAc;AAAA,oBACd,QACEf,GAAS,UAAU,SACf;AAAA,sBACE,OAAOA,EAAQ;AAAA,oBAAA,IAEjB;AAAA,oBAEN,QAAQ,CAACY,MAAMH,EAAYG,CAAC;AAAA,kBAAA;AAAA,gBAAA,IAG9B,gBAAAC;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,MAAAjB;AAAA,oBACA,eAAc;AAAA,oBACd,QACEE,GAAS,QAAQ,SACb;AAAA,sBACE,OAAOA,EAAQ;AAAA,oBAAA,IAEjB;AAAA,oBAEN,YAAYE;AAAA,oBACZ,WAAAA;AAAA,oBACA,QAAQ,CAACU,MAAML,EAAUK,CAAC;AAAA,kBAAA;AAAA,gBAAA;AAAA,iBAG5BV,KAAaC,MAAU,gBAAAU,EAACG,GAAA,EAAM,UAAAb,IAAQ,QAAQ,MAAA,CAAM;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACxD,GACF;AAAA,QACCF,KACC,gBAAAY;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI,qBAAqBjB,CAAK;AAAA,YAC9B,MAAK;AAAA,YAEJ,UAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1,148 @@
1
+ import { default as React } from 'react';
2
+ import { IconList } from '../../../types/icon.types';
3
+
4
+ export interface ButtonProps {
5
+ /**
6
+ * Visual style of the button
7
+ */
8
+ type: 'primary' | 'secondary' | 'tertiary' | 'destructive' | 'alternative' | 'icon';
9
+ /**
10
+ * Size of the button
11
+ * @default 'default'
12
+ */
13
+ size?: 'small' | 'default' | 'large';
14
+ /**
15
+ * Icon name to display in the button
16
+ */
17
+ icon?: IconList;
18
+ /**
19
+ * Custom CSS class for the icon
20
+ */
21
+ iconClassName?: string;
22
+ /**
23
+ * Custom icon element to replace the default icon
24
+ */
25
+ customIcon?: React.ReactElement;
26
+ /**
27
+ * Text label of the button
28
+ */
29
+ label?: string;
30
+ /**
31
+ * Visual state of the button
32
+ * @default 'default'
33
+ */
34
+ state?: 'default' | 'selected';
35
+ /**
36
+ * URL for link buttons
37
+ */
38
+ url?: string;
39
+ /**
40
+ * Helper tooltip configuration
41
+ */
42
+ helper?: {
43
+ /** Tooltip content */
44
+ label: string | React.ReactNode;
45
+ /** Tooltip position */
46
+ pin?: 'TOP' | 'BOTTOM';
47
+ /** Tooltip display type */
48
+ type?: 'MULTI_LINE' | 'SINGLE_LINE';
49
+ };
50
+ /**
51
+ * Preview tooltip configuration with image
52
+ */
53
+ preview?: {
54
+ /** Preview image URL */
55
+ image: string;
56
+ /** Preview text */
57
+ text: string | React.ReactNode;
58
+ /** Preview position */
59
+ pin?: 'TOP' | 'BOTTOM';
60
+ };
61
+ /**
62
+ * Warning tooltip configuration
63
+ */
64
+ warning?: {
65
+ /** Warning message */
66
+ label: string | React.ReactNode;
67
+ /** Warning position */
68
+ pin?: 'TOP' | 'BOTTOM';
69
+ /** Warning display type */
70
+ type?: 'MULTI_LINE' | 'SINGLE_LINE';
71
+ };
72
+ /**
73
+ * Feature identifier for tracking
74
+ */
75
+ feature?: string;
76
+ /**
77
+ * Whether the button has multiple actions
78
+ * @default false
79
+ */
80
+ hasMultipleActions?: boolean;
81
+ /**
82
+ * Whether the button should render as a link
83
+ * @default false
84
+ */
85
+ isLink?: boolean;
86
+ /**
87
+ * Whether the button should auto-focus on mount
88
+ * @default false
89
+ */
90
+ isAutofocus?: boolean;
91
+ /**
92
+ * Reflow configuration for responsive behavior
93
+ * @default { isEnabled: false, icon: 'adjust' }
94
+ */
95
+ shouldReflow?: {
96
+ /** Whether reflow is enabled */
97
+ isEnabled: boolean;
98
+ /** Icon to show when reflowed */
99
+ icon: IconList;
100
+ };
101
+ /**
102
+ * Whether the button is in loading state
103
+ * @default false
104
+ */
105
+ isLoading?: boolean;
106
+ /**
107
+ * Whether the button is blocked (shows unblock action)
108
+ * @default false
109
+ */
110
+ isBlocked?: boolean;
111
+ /**
112
+ * Whether the button is disabled
113
+ * @default false
114
+ */
115
+ isDisabled?: boolean;
116
+ /**
117
+ * Whether to show a "New" badge
118
+ * @default false
119
+ */
120
+ isNew?: boolean;
121
+ /**
122
+ * Click handler for the button
123
+ */
124
+ action?: React.MouseEventHandler & React.KeyboardEventHandler;
125
+ /**
126
+ * Handler called when unblock is clicked
127
+ */
128
+ onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler;
129
+ }
130
+ interface ButtonStates {
131
+ isTooltipVisible: boolean;
132
+ documentWidth: number;
133
+ }
134
+ export default class Button extends React.Component<ButtonProps, ButtonStates> {
135
+ buttonRef: React.RefObject<HTMLButtonElement>;
136
+ static defaultProps: Partial<ButtonProps>;
137
+ constructor(props: ButtonProps);
138
+ componentDidMount: () => void;
139
+ componentWillUnmount: () => void;
140
+ handleResize: () => void;
141
+ Status: () => import("react/jsx-runtime").JSX.Element | undefined;
142
+ Button: () => import("react/jsx-runtime").JSX.Element;
143
+ LinkButton: () => import("react/jsx-runtime").JSX.Element;
144
+ Icon: () => import("react/jsx-runtime").JSX.Element;
145
+ render(): import("react/jsx-runtime").JSX.Element;
146
+ }
147
+ export {};
148
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Button.figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.figma.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/Button.figma.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { i as e } from "../../../index_react-CmuCVQet.js";
3
+ import i from "./Button.js";
4
+ e.figma.connect(
5
+ i,
6
+ "https://www.figma.com/design/QlBdsfEcaUsGBzqA20xbNi/Unoff?node-id=1:4605",
7
+ {
8
+ props: {
9
+ type: e.figma.enum("type", {
10
+ PRIMARY: "primary",
11
+ SECONDARY: "secondary",
12
+ TERTIARY: "tertiary",
13
+ DESTRUCTIVE: "destructive",
14
+ ALTERNATIVE: "alternative",
15
+ INACTIVE: "alternative",
16
+ ICON: "icon"
17
+ }),
18
+ state: e.figma.boolean("isSelected", {
19
+ true: "selected",
20
+ false: "default"
21
+ }),
22
+ isBlocked: e.figma.boolean("isDisabled"),
23
+ label: e.figma.string("label"),
24
+ icon: e.figma.boolean("hasIcon", {
25
+ true: "adjust",
26
+ false: void 0
27
+ }),
28
+ hasMultipleActions: e.figma.boolean("hasMultipleActions")
29
+ },
30
+ example: (t) => /* @__PURE__ */ a(
31
+ i,
32
+ {
33
+ type: t.type,
34
+ state: t.state,
35
+ isBlocked: t.isBlocked,
36
+ label: t.label,
37
+ icon: t.icon,
38
+ hasMultipleActions: t.hasMultipleActions
39
+ }
40
+ )
41
+ }
42
+ );
43
+ //# sourceMappingURL=Button.figma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.figma.js","sources":["../../../../src/components/actions/button/Button.figma.tsx"],"sourcesContent":["import { figma } from '@figma/code-connect'\nimport Button from './Button'\n\nfigma.connect(\n Button,\n 'https://www.figma.com/design/QlBdsfEcaUsGBzqA20xbNi/Unoff?node-id=1:4605',\n {\n props: {\n type: figma.enum('type', {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n TERTIARY: 'tertiary',\n DESTRUCTIVE: 'destructive',\n ALTERNATIVE: 'alternative',\n INACTIVE: 'alternative',\n ICON: 'icon',\n }),\n state: figma.boolean('isSelected', {\n true: 'selected',\n false: 'default',\n }),\n isBlocked: figma.boolean('isDisabled'),\n label: figma.string('label'),\n icon: figma.boolean('hasIcon', {\n true: 'adjust',\n false: undefined,\n }),\n hasMultipleActions: figma.boolean('hasMultipleActions'),\n },\n example: (props) => (\n <Button\n type={props.type}\n state={props.state}\n isBlocked={props.isBlocked}\n label={props.label}\n icon={props.icon}\n hasMultipleActions={props.hasMultipleActions}\n />\n ),\n }\n)\n"],"names":["figma","Button","props","jsx"],"mappings":";;;AAGAA,EAAAA,MAAM;AAAA,EACJC;AAAA,EACA;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,MAAMD,EAAAA,MAAM,KAAK,QAAQ;AAAA,QACvB,SAAS;AAAA,QACT,WAAW;AAAA,QACX,UAAU;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA,QACb,UAAU;AAAA,QACV,MAAM;AAAA,MAAA,CACP;AAAA,MACD,OAAOA,EAAAA,MAAM,QAAQ,cAAc;AAAA,QACjC,MAAM;AAAA,QACN,OAAO;AAAA,MAAA,CACR;AAAA,MACD,WAAWA,EAAAA,MAAM,QAAQ,YAAY;AAAA,MACrC,OAAOA,EAAAA,MAAM,OAAO,OAAO;AAAA,MAC3B,MAAMA,EAAAA,MAAM,QAAQ,WAAW;AAAA,QAC7B,MAAM;AAAA,QACN,OAAO;AAAA,MAAA,CACR;AAAA,MACD,oBAAoBA,EAAAA,MAAM,QAAQ,oBAAoB;AAAA,IAAA;AAAA,IAExD,SAAS,CAACE,MACR,gBAAAC;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,MAAMC,EAAM;AAAA,QACZ,OAAOA,EAAM;AAAA,QACb,WAAWA,EAAM;AAAA,QACjB,OAAOA,EAAM;AAAA,QACb,MAAMA,EAAM;AAAA,QACZ,oBAAoBA,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5B;AAGN;"}
@@ -0,0 +1,306 @@
1
+ import '../../../assets/Button.css';
2
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
3
+ import I from "react";
4
+ import g from "../../../styles/layouts.module.js";
5
+ import E from "../../tags/tooltip/Tooltip.js";
6
+ import _ from "../../tags/icon-chip/IconChip.js";
7
+ import S from "../../tags/chip/Chip.js";
8
+ import { Icon as N } from "../../assets/icon/Icon.js";
9
+ import { t as w } from "../../../do-classnames-DSDFCvzy.js";
10
+ class P extends I.Component {
11
+ buttonRef = I.createRef();
12
+ static defaultProps = {
13
+ size: "default",
14
+ state: "default",
15
+ hasMultipleActions: !1,
16
+ isLink: !1,
17
+ shouldReflow: { isEnabled: !1, icon: "adjust" },
18
+ isAutofocus: !1,
19
+ isLoading: !1,
20
+ isBlocked: !1,
21
+ isDisabled: !1,
22
+ isNew: !1
23
+ };
24
+ constructor(s) {
25
+ super(s), this.state = {
26
+ isTooltipVisible: !1,
27
+ documentWidth: document.documentElement.clientWidth
28
+ };
29
+ }
30
+ // Lifecycle
31
+ componentDidMount = () => {
32
+ const { isAutofocus: s } = this.props;
33
+ s && setTimeout(() => {
34
+ this.buttonRef.current && this.buttonRef.current.focus();
35
+ }, 1), window.addEventListener("resize", this.handleResize);
36
+ };
37
+ componentWillUnmount = () => {
38
+ window.removeEventListener("resize", this.handleResize);
39
+ };
40
+ // Handlers
41
+ handleResize = () => {
42
+ this.setState({ documentWidth: document.documentElement.clientWidth });
43
+ };
44
+ // Templates
45
+ Status = () => {
46
+ const { type: s, warning: i, preview: c, isBlocked: t, isNew: a, onUnblock: u } = this.props;
47
+ if (i || t || a)
48
+ return /* @__PURE__ */ m("div", { className: "button__status", children: [
49
+ i !== void 0 && /* @__PURE__ */ e(
50
+ _,
51
+ {
52
+ iconType: "PICTO",
53
+ iconName: "warning",
54
+ text: i.label,
55
+ pin: i.pin,
56
+ type: i.type
57
+ }
58
+ ),
59
+ (t || a) && s !== "icon" && /* @__PURE__ */ e(
60
+ S,
61
+ {
62
+ preview: c,
63
+ isSolo: !0,
64
+ action: t ? u : void 0,
65
+ children: a ? "New" : "Pro"
66
+ }
67
+ )
68
+ ] });
69
+ };
70
+ Button = () => {
71
+ const {
72
+ type: s,
73
+ icon: i,
74
+ size: c,
75
+ helper: t,
76
+ feature: a,
77
+ hasMultipleActions: u,
78
+ isLoading: o,
79
+ isDisabled: p,
80
+ isBlocked: l,
81
+ action: d,
82
+ label: r,
83
+ shouldReflow: b
84
+ } = this.props, { isTooltipVisible: v, documentWidth: T } = this.state, n = b?.isEnabled && T <= 460, y = () => n ? void 0 : r, L = () => n ? r : t?.label, h = () => n ? r !== void 0 : t !== void 0, k = () => n && b?.icon !== void 0 ? b.icon : i;
85
+ return /* @__PURE__ */ m("div", { className: g["snackbar--medium"], children: [
86
+ /* @__PURE__ */ m(
87
+ "button",
88
+ {
89
+ role: "button",
90
+ className: w([
91
+ "button",
92
+ `button--${s}`,
93
+ `button--${c}`,
94
+ o && "button--loading",
95
+ l && "button--blocked"
96
+ ]),
97
+ "data-feature": a,
98
+ disabled: p || l,
99
+ "aria-label": typeof (y() || t?.label) == "string" ? y() || t?.label : void 0,
100
+ "aria-disabled": p || l,
101
+ "aria-busy": o,
102
+ onKeyDown: (f) => {
103
+ (f.key === " " || f.key === "Enter") && (!p || !l) && d?.(f), f.key === "Escape" && f.target.blur();
104
+ },
105
+ onMouseDown: p || l ? void 0 : d,
106
+ onMouseEnter: () => {
107
+ h() && this.setState({ isTooltipVisible: !0 });
108
+ },
109
+ onMouseLeave: () => {
110
+ h() && this.setState({ isTooltipVisible: !1 });
111
+ },
112
+ onFocus: () => {
113
+ h() && this.setState({ isTooltipVisible: !0 });
114
+ },
115
+ onBlur: () => {
116
+ h() && this.setState({ isTooltipVisible: !1 });
117
+ },
118
+ tabIndex: 0,
119
+ ref: this.buttonRef,
120
+ children: [
121
+ k() !== void 0 && /* @__PURE__ */ e(
122
+ "span",
123
+ {
124
+ className: "button__icon",
125
+ "aria-hidden": "true",
126
+ children: /* @__PURE__ */ e(
127
+ N,
128
+ {
129
+ type: "PICTO",
130
+ iconName: k()
131
+ }
132
+ )
133
+ }
134
+ ),
135
+ y() !== void 0 && /* @__PURE__ */ e("span", { className: "button__label", children: y() }),
136
+ o && /* @__PURE__ */ e(
137
+ "div",
138
+ {
139
+ className: "button__loader",
140
+ "aria-hidden": "true",
141
+ children: /* @__PURE__ */ e(
142
+ N,
143
+ {
144
+ type: "PICTO",
145
+ iconName: "spinner",
146
+ customClassName: "button__spinner"
147
+ }
148
+ )
149
+ }
150
+ ),
151
+ u && /* @__PURE__ */ e(
152
+ "span",
153
+ {
154
+ className: "button__caret",
155
+ "aria-hidden": "true",
156
+ children: /* @__PURE__ */ e(
157
+ N,
158
+ {
159
+ type: "PICTO",
160
+ iconName: "chevron-down"
161
+ }
162
+ )
163
+ }
164
+ ),
165
+ v && h() && /* @__PURE__ */ e(
166
+ E,
167
+ {
168
+ pin: t?.pin || "BOTTOM",
169
+ type: t?.type || "SINGLE_LINE",
170
+ children: L()
171
+ }
172
+ )
173
+ ]
174
+ }
175
+ ),
176
+ this.Status()
177
+ ] });
178
+ };
179
+ LinkButton = () => {
180
+ const { type: s, size: i, feature: c, label: t, url: a } = this.props;
181
+ return /* @__PURE__ */ e(
182
+ "button",
183
+ {
184
+ role: "link",
185
+ className: w([
186
+ "button",
187
+ `button--${s}`,
188
+ `button--${i}`
189
+ ]),
190
+ "data-feature": c,
191
+ ref: this.buttonRef,
192
+ "aria-label": t,
193
+ tabIndex: 0,
194
+ children: /* @__PURE__ */ e(
195
+ "a",
196
+ {
197
+ href: a,
198
+ target: "_blank",
199
+ rel: "noreferrer",
200
+ className: "button__label",
201
+ "aria-label": t,
202
+ children: t
203
+ }
204
+ )
205
+ }
206
+ );
207
+ };
208
+ Icon = () => {
209
+ const {
210
+ size: s,
211
+ icon: i,
212
+ iconClassName: c,
213
+ customIcon: t,
214
+ feature: a,
215
+ state: u,
216
+ helper: o,
217
+ warning: p,
218
+ isLoading: l,
219
+ isDisabled: d,
220
+ isBlocked: r,
221
+ isNew: b,
222
+ action: v
223
+ } = this.props, { isTooltipVisible: T } = this.state;
224
+ return /* @__PURE__ */ m("div", { className: g["snackbar--medium"], children: [
225
+ /* @__PURE__ */ m(
226
+ "button",
227
+ {
228
+ role: "button",
229
+ "data-feature": a,
230
+ className: w([
231
+ "icon-button",
232
+ `icon-button--${s}`,
233
+ u === "selected" && "icon-button--selected",
234
+ b && "icon-button--new",
235
+ l && "button--loading"
236
+ ]),
237
+ disabled: d || r,
238
+ "aria-label": typeof o?.label == "string" ? o.label : i,
239
+ "aria-disabled": d || r,
240
+ "aria-pressed": u === "selected",
241
+ "aria-busy": l,
242
+ onKeyDown: (n) => {
243
+ (n.key === " " || n.key === "Enter") && !(d || r) && v?.(n), n.key === "Escape" && n.target.blur();
244
+ },
245
+ onMouseDown: d || r ? void 0 : v,
246
+ onMouseEnter: () => {
247
+ o !== void 0 && this.setState({ isTooltipVisible: !0 });
248
+ },
249
+ onMouseLeave: () => {
250
+ o !== void 0 && this.setState({ isTooltipVisible: !1 });
251
+ },
252
+ onFocus: () => {
253
+ o !== void 0 && this.setState({ isTooltipVisible: !0 });
254
+ },
255
+ onBlur: () => {
256
+ o !== void 0 && this.setState({ isTooltipVisible: !1 });
257
+ },
258
+ tabIndex: 0,
259
+ ref: this.buttonRef,
260
+ children: [
261
+ t === void 0 ? /* @__PURE__ */ e(
262
+ N,
263
+ {
264
+ type: "PICTO",
265
+ iconName: l ? "spinner" : i,
266
+ customClassName: c !== void 0 ? c : void 0
267
+ }
268
+ ) : /* @__PURE__ */ e(
269
+ "div",
270
+ {
271
+ style: {
272
+ opacity: d || r ? 0.5 : 1,
273
+ pointerEvents: "none",
274
+ width: "100%",
275
+ height: "100%",
276
+ display: "flex",
277
+ alignItems: "center",
278
+ justifyContent: "center"
279
+ },
280
+ children: t
281
+ }
282
+ ),
283
+ T && o !== void 0 && u !== "selected" && /* @__PURE__ */ e(
284
+ E,
285
+ {
286
+ pin: o?.pin || "BOTTOM",
287
+ type: o?.type || "SINGLE_LINE",
288
+ children: o?.label
289
+ }
290
+ )
291
+ ]
292
+ }
293
+ ),
294
+ p !== void 0 && this.Status()
295
+ ] });
296
+ };
297
+ // Render
298
+ render() {
299
+ const { type: s, isLink: i } = this.props;
300
+ return s !== "icon" ? i ? this.LinkButton() : this.Button() : this.Icon();
301
+ }
302
+ }
303
+ export {
304
+ P as default
305
+ };
306
+ //# sourceMappingURL=Button.js.map