@x15ventures/x15-ui-library 3.16.1 → 3.18.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 (270) hide show
  1. package/dist/cjs/autoGenerated/libraryThemes.js +12 -12
  2. package/dist/cjs/autoGenerated/libraryThemes.js.map +1 -1
  3. package/dist/cjs/autoGenerated/libraryThemes.json +12 -12
  4. package/dist/cjs/components/design/accordion/Accordion.js +7 -23
  5. package/dist/cjs/components/design/accordion/Accordion.js.map +1 -1
  6. package/dist/cjs/components/design/banners/pageBanner/PageBanner.js +2 -4
  7. package/dist/cjs/components/design/banners/pageBanner/PageBanner.js.map +1 -1
  8. package/dist/cjs/components/design/card/cardContent/CardContentLine.js +2 -2
  9. package/dist/cjs/components/design/card/cardContent/CardContentLine.js.map +1 -1
  10. package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js +2 -2
  11. package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
  12. package/dist/cjs/components/design/dialog/Dialog.js +3 -1
  13. package/dist/cjs/components/design/dialog/Dialog.js.map +1 -1
  14. package/dist/cjs/components/design/dialog/dialog.css +5 -0
  15. package/dist/cjs/components/design/headerBar/HeaderBar.js +3 -3
  16. package/dist/cjs/components/design/headerBar/HeaderBar.js.map +1 -1
  17. package/dist/cjs/components/design/icons/notificationIcon/NotificationIcon.js +4 -5
  18. package/dist/cjs/components/design/icons/notificationIcon/NotificationIcon.js.map +1 -1
  19. package/dist/cjs/components/design/paginators/Paginator.js +4 -12
  20. package/dist/cjs/components/design/paginators/Paginator.js.map +1 -1
  21. package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js +89 -0
  22. package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js.map +1 -0
  23. package/dist/cjs/components/design/progressIndicators/circularProgressIndicator/circularProgressIndicator.css +301 -0
  24. package/dist/cjs/components/design/revealMore/RevealMoreBelow.js +1 -3
  25. package/dist/cjs/components/design/revealMore/RevealMoreBelow.js.map +1 -1
  26. package/dist/cjs/components/design/revealMore/RevealMoreInline.js +3 -5
  27. package/dist/cjs/components/design/revealMore/RevealMoreInline.js.map +1 -1
  28. package/dist/cjs/components/design/revealMore/types/revealMoreTypes.js.map +1 -1
  29. package/dist/cjs/components/design/sidePanel/SidePanel.js +3 -5
  30. package/dist/cjs/components/design/sidePanel/SidePanel.js.map +1 -1
  31. package/dist/cjs/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js +6 -11
  32. package/dist/cjs/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js.map +1 -1
  33. package/dist/cjs/components/design/tabs/Tabs.js +2 -2
  34. package/dist/cjs/components/design/tabs/Tabs.js.map +1 -1
  35. package/dist/cjs/components/design/themeLoader/ThemeLoader.js +2 -2
  36. package/dist/cjs/components/design/themeLoader/ThemeLoader.js.map +1 -1
  37. package/dist/cjs/components/design/tooltip/Tooltip.js +43 -13
  38. package/dist/cjs/components/design/tooltip/Tooltip.js.map +1 -1
  39. package/dist/cjs/components/design/tooltip/index.js +6 -0
  40. package/dist/cjs/components/design/tooltip/index.js.map +1 -1
  41. package/dist/cjs/components/design/tooltip/tooltip.css +18 -7
  42. package/dist/cjs/components/form/buttons/SimpleButton.js +3 -3
  43. package/dist/cjs/components/form/buttons/SimpleButton.js.map +1 -1
  44. package/dist/cjs/components/form/buttons/button.interface.js.map +1 -1
  45. package/dist/cjs/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
  46. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +5 -5
  47. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
  48. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js +176 -0
  49. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js.map +1 -0
  50. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/_checkboxSwitchVariables.css +0 -0
  51. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitch.css +306 -0
  52. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js +6 -0
  53. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js.map +1 -0
  54. package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
  55. package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +3 -5
  56. package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
  57. package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js +12 -22
  58. package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js.map +1 -1
  59. package/dist/cjs/components/form/formFields/subComponents/inputs/file/fileInputProps.js.map +1 -1
  60. package/dist/cjs/components/index.js +14 -0
  61. package/dist/cjs/components/index.js.map +1 -1
  62. package/dist/cjs/components/navigation/menu/Menu.interfaces.js.map +1 -1
  63. package/dist/cjs/components/navigation/menu/menuItemContent/MenuItemIcon.js +19 -31
  64. package/dist/cjs/components/navigation/menu/menuItemContent/MenuItemIcon.js.map +1 -1
  65. package/dist/cjs/helpers/iconHelpers.js +83 -0
  66. package/dist/cjs/helpers/iconHelpers.js.map +1 -0
  67. package/dist/cjs/helpers/index.js +43 -0
  68. package/dist/cjs/helpers/index.js.map +1 -1
  69. package/dist/cjs/helpers/objectHelpers.js +9 -2
  70. package/dist/cjs/helpers/objectHelpers.js.map +1 -1
  71. package/dist/cjs/hooks/InteractiveHostFocus.js +62 -0
  72. package/dist/cjs/hooks/InteractiveHostFocus.js.map +1 -0
  73. package/dist/cjs/hooks/index.js +7 -0
  74. package/dist/cjs/hooks/index.js.map +1 -1
  75. package/dist/cjs/index.js +79 -0
  76. package/dist/cjs/index.js.map +1 -1
  77. package/dist/cjs/interfaces/headerText.interface.js.map +1 -1
  78. package/dist/cjs/package.json +16 -28
  79. package/dist/cjs/styles/index.css +61 -0
  80. package/dist/cjs/styles/storybook/storybook.css +7 -0
  81. package/dist/cjs/styles/variables/cssVars/_darkModeVariables.css +21 -0
  82. package/dist/cjs/styles/variables/cssVars/_formVariables.css +40 -0
  83. package/dist/cjs/widgets/index.js +14 -0
  84. package/dist/cjs/widgets/index.js.map +1 -0
  85. package/dist/cjs/widgets/processLauncher/ProcessLauncher.js +272 -0
  86. package/dist/cjs/widgets/processLauncher/ProcessLauncher.js.map +1 -0
  87. package/dist/cjs/widgets/processLauncher/index.js +13 -0
  88. package/dist/cjs/widgets/processLauncher/index.js.map +1 -0
  89. package/dist/cjs/widgets/processLauncher/processLauncher.interfaces.js +6 -0
  90. package/dist/cjs/widgets/processLauncher/processLauncher.interfaces.js.map +1 -0
  91. package/dist/components/design/accordion/Accordion.d.ts +3 -2
  92. package/dist/components/design/accordion/Accordion.d.ts.map +1 -1
  93. package/dist/components/design/banners/pageBanner/PageBanner.d.ts +2 -1
  94. package/dist/components/design/banners/pageBanner/PageBanner.d.ts.map +1 -1
  95. package/dist/components/design/card/cardContent/CardContentLine.d.ts +2 -2
  96. package/dist/components/design/card/cardContent/CardContentLine.d.ts.map +1 -1
  97. package/dist/components/design/card/cardHeader/CardHeaderItem.d.ts +2 -2
  98. package/dist/components/design/card/cardHeader/CardHeaderItem.d.ts.map +1 -1
  99. package/dist/components/design/dialog/Dialog.d.ts.map +1 -1
  100. package/dist/components/design/headerBar/HeaderBar.d.ts.map +1 -1
  101. package/dist/components/design/icons/notificationIcon/NotificationIcon.d.ts +2 -2
  102. package/dist/components/design/icons/notificationIcon/NotificationIcon.d.ts.map +1 -1
  103. package/dist/components/design/paginators/Paginator.d.ts +3 -2
  104. package/dist/components/design/paginators/Paginator.d.ts.map +1 -1
  105. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.d.ts +18 -0
  106. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.d.ts.map +1 -0
  107. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts +5 -0
  108. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts.map +1 -0
  109. package/dist/components/design/revealMore/RevealMoreBelow.d.ts.map +1 -1
  110. package/dist/components/design/revealMore/RevealMoreInline.d.ts.map +1 -1
  111. package/dist/components/design/revealMore/types/revealMoreTypes.d.ts +3 -2
  112. package/dist/components/design/revealMore/types/revealMoreTypes.d.ts.map +1 -1
  113. package/dist/components/design/sidePanel/SidePanel.d.ts +3 -2
  114. package/dist/components/design/sidePanel/SidePanel.d.ts.map +1 -1
  115. package/dist/components/design/statusIndicators/statusIconLabel/StatusIconLabel.d.ts +2 -2
  116. package/dist/components/design/statusIndicators/statusIconLabel/StatusIconLabel.d.ts.map +1 -1
  117. package/dist/components/design/tabs/Tabs.d.ts +3 -3
  118. package/dist/components/design/tabs/Tabs.d.ts.map +1 -1
  119. package/dist/components/design/tooltip/Tooltip.d.ts +17 -3
  120. package/dist/components/design/tooltip/Tooltip.d.ts.map +1 -1
  121. package/dist/components/design/tooltip/Tooltip.test.d.ts +1 -1
  122. package/dist/components/design/tooltip/Tooltip.test.d.ts.map +1 -1
  123. package/dist/components/design/tooltip/index.d.ts +1 -1
  124. package/dist/components/design/tooltip/index.d.ts.map +1 -1
  125. package/dist/components/form/buttons/SimpleButton.test.d.ts +5 -0
  126. package/dist/components/form/buttons/SimpleButton.test.d.ts.map +1 -0
  127. package/dist/components/form/buttons/button.interface.d.ts +3 -3
  128. package/dist/components/form/buttons/button.interface.d.ts.map +1 -1
  129. package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts +2 -1
  130. package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts.map +1 -1
  131. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.d.ts +29 -0
  132. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.d.ts.map +1 -0
  133. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts +5 -0
  134. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts.map +1 -0
  135. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.d.ts +52 -0
  136. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.d.ts.map +1 -0
  137. package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts +3 -3
  138. package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts.map +1 -1
  139. package/dist/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.d.ts.map +1 -1
  140. package/dist/components/form/formFields/subComponents/inputs/file/fileInputProps.d.ts +4 -3
  141. package/dist/components/form/formFields/subComponents/inputs/file/fileInputProps.d.ts.map +1 -1
  142. package/dist/components/index.d.ts +4 -0
  143. package/dist/components/index.d.ts.map +1 -1
  144. package/dist/components/navigation/menu/Menu.interfaces.d.ts +4 -3
  145. package/dist/components/navigation/menu/Menu.interfaces.d.ts.map +1 -1
  146. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.d.ts +2 -1
  147. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.d.ts.map +1 -1
  148. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts +5 -0
  149. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts.map +1 -0
  150. package/dist/esm/autoGenerated/libraryThemes.js +12 -12
  151. package/dist/esm/autoGenerated/libraryThemes.js.map +1 -1
  152. package/dist/esm/autoGenerated/libraryThemes.json +12 -12
  153. package/dist/esm/components/design/accordion/Accordion.js +7 -23
  154. package/dist/esm/components/design/accordion/Accordion.js.map +1 -1
  155. package/dist/esm/components/design/banners/pageBanner/PageBanner.js +2 -4
  156. package/dist/esm/components/design/banners/pageBanner/PageBanner.js.map +1 -1
  157. package/dist/esm/components/design/card/cardContent/CardContentLine.js +2 -2
  158. package/dist/esm/components/design/card/cardContent/CardContentLine.js.map +1 -1
  159. package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js +2 -2
  160. package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
  161. package/dist/esm/components/design/dialog/Dialog.js +3 -1
  162. package/dist/esm/components/design/dialog/Dialog.js.map +1 -1
  163. package/dist/esm/components/design/dialog/dialog.css +5 -0
  164. package/dist/esm/components/design/headerBar/HeaderBar.js +3 -3
  165. package/dist/esm/components/design/headerBar/HeaderBar.js.map +1 -1
  166. package/dist/esm/components/design/icons/notificationIcon/NotificationIcon.js +4 -5
  167. package/dist/esm/components/design/icons/notificationIcon/NotificationIcon.js.map +1 -1
  168. package/dist/esm/components/design/paginators/Paginator.js +4 -12
  169. package/dist/esm/components/design/paginators/Paginator.js.map +1 -1
  170. package/dist/esm/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js +82 -0
  171. package/dist/esm/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.js.map +1 -0
  172. package/dist/esm/components/design/progressIndicators/circularProgressIndicator/circularProgressIndicator.css +301 -0
  173. package/dist/esm/components/design/revealMore/RevealMoreBelow.js +1 -3
  174. package/dist/esm/components/design/revealMore/RevealMoreBelow.js.map +1 -1
  175. package/dist/esm/components/design/revealMore/RevealMoreInline.js +2 -4
  176. package/dist/esm/components/design/revealMore/RevealMoreInline.js.map +1 -1
  177. package/dist/esm/components/design/revealMore/types/revealMoreTypes.js.map +1 -1
  178. package/dist/esm/components/design/sidePanel/SidePanel.js +3 -5
  179. package/dist/esm/components/design/sidePanel/SidePanel.js.map +1 -1
  180. package/dist/esm/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js +6 -11
  181. package/dist/esm/components/design/statusIndicators/statusIconLabel/StatusIconLabel.js.map +1 -1
  182. package/dist/esm/components/design/tabs/Tabs.js +2 -2
  183. package/dist/esm/components/design/tabs/Tabs.js.map +1 -1
  184. package/dist/esm/components/design/themeLoader/ThemeLoader.js +1 -1
  185. package/dist/esm/components/design/themeLoader/ThemeLoader.js.map +1 -1
  186. package/dist/esm/components/design/tooltip/Tooltip.js +41 -12
  187. package/dist/esm/components/design/tooltip/Tooltip.js.map +1 -1
  188. package/dist/esm/components/design/tooltip/index.js +1 -1
  189. package/dist/esm/components/design/tooltip/index.js.map +1 -1
  190. package/dist/esm/components/design/tooltip/tooltip.css +18 -7
  191. package/dist/esm/components/form/buttons/SimpleButton.js +3 -3
  192. package/dist/esm/components/form/buttons/SimpleButton.js.map +1 -1
  193. package/dist/esm/components/form/buttons/button.interface.js.map +1 -1
  194. package/dist/esm/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
  195. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +5 -5
  196. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
  197. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js +167 -0
  198. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.js.map +1 -0
  199. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/_checkboxSwitchVariables.css +0 -0
  200. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitch.css +306 -0
  201. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js +2 -0
  202. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/checkboxSwitchProps.js.map +1 -0
  203. package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
  204. package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +3 -5
  205. package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
  206. package/dist/esm/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js +12 -22
  207. package/dist/esm/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.js.map +1 -1
  208. package/dist/esm/components/form/formFields/subComponents/inputs/file/fileInputProps.js.map +1 -1
  209. package/dist/esm/components/index.js +2 -0
  210. package/dist/esm/components/index.js.map +1 -1
  211. package/dist/esm/components/navigation/menu/Menu.interfaces.js.map +1 -1
  212. package/dist/esm/components/navigation/menu/menuItemContent/MenuItemIcon.js +17 -30
  213. package/dist/esm/components/navigation/menu/menuItemContent/MenuItemIcon.js.map +1 -1
  214. package/dist/esm/helpers/iconHelpers.js +73 -0
  215. package/dist/esm/helpers/iconHelpers.js.map +1 -0
  216. package/dist/esm/helpers/index.js +2 -1
  217. package/dist/esm/helpers/index.js.map +1 -1
  218. package/dist/esm/helpers/objectHelpers.js +7 -3
  219. package/dist/esm/helpers/objectHelpers.js.map +1 -1
  220. package/dist/esm/hooks/InteractiveHostFocus.js +56 -0
  221. package/dist/esm/hooks/InteractiveHostFocus.js.map +1 -0
  222. package/dist/esm/hooks/index.js +1 -0
  223. package/dist/esm/hooks/index.js.map +1 -1
  224. package/dist/esm/index.js +5 -4
  225. package/dist/esm/index.js.map +1 -1
  226. package/dist/esm/interfaces/headerText.interface.js.map +1 -1
  227. package/dist/esm/package.json +16 -28
  228. package/dist/esm/styles/index.css +61 -0
  229. package/dist/esm/styles/storybook/storybook.css +7 -0
  230. package/dist/esm/styles/variables/cssVars/_darkModeVariables.css +21 -0
  231. package/dist/esm/styles/variables/cssVars/_formVariables.css +40 -0
  232. package/dist/esm/widgets/index.js +4 -0
  233. package/dist/esm/widgets/index.js.map +1 -0
  234. package/dist/esm/widgets/processLauncher/ProcessLauncher.js +263 -0
  235. package/dist/esm/widgets/processLauncher/ProcessLauncher.js.map +1 -0
  236. package/dist/esm/widgets/processLauncher/index.js +2 -0
  237. package/dist/esm/widgets/processLauncher/index.js.map +1 -0
  238. package/dist/esm/widgets/processLauncher/processLauncher.interfaces.js +2 -0
  239. package/dist/esm/widgets/processLauncher/processLauncher.interfaces.js.map +1 -0
  240. package/dist/helpers/iconHelpers.d.ts +30 -0
  241. package/dist/helpers/iconHelpers.d.ts.map +1 -0
  242. package/dist/helpers/iconHelpers.test.d.ts +5 -0
  243. package/dist/helpers/iconHelpers.test.d.ts.map +1 -0
  244. package/dist/helpers/index.d.ts +4 -1
  245. package/dist/helpers/index.d.ts.map +1 -1
  246. package/dist/helpers/objectHelpers.d.ts +10 -3
  247. package/dist/helpers/objectHelpers.d.ts.map +1 -1
  248. package/dist/hooks/InteractiveHostFocus.d.ts +12 -0
  249. package/dist/hooks/InteractiveHostFocus.d.ts.map +1 -0
  250. package/dist/hooks/InteractiveHostFocus.test.d.ts +5 -0
  251. package/dist/hooks/InteractiveHostFocus.test.d.ts.map +1 -0
  252. package/dist/hooks/index.d.ts +1 -0
  253. package/dist/hooks/index.d.ts.map +1 -1
  254. package/dist/index.d.ts +9 -4
  255. package/dist/index.d.ts.map +1 -1
  256. package/dist/interfaces/headerText.interface.d.ts +3 -3
  257. package/dist/interfaces/headerText.interface.d.ts.map +1 -1
  258. package/dist/package.json +16 -28
  259. package/dist/widgets/index.d.ts +3 -0
  260. package/dist/widgets/index.d.ts.map +1 -0
  261. package/dist/widgets/processLauncher/ProcessLauncher.d.ts +21 -0
  262. package/dist/widgets/processLauncher/ProcessLauncher.d.ts.map +1 -0
  263. package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts +5 -0
  264. package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts.map +1 -0
  265. package/dist/widgets/processLauncher/index.d.ts +4 -0
  266. package/dist/widgets/processLauncher/index.d.ts.map +1 -0
  267. package/dist/widgets/processLauncher/processLauncher.interfaces.d.ts +45 -0
  268. package/dist/widgets/processLauncher/processLauncher.interfaces.d.ts.map +1 -0
  269. package/package.json +16 -28
  270. package/readme.md +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"RevealMoreInline.js","names":["Object","defineProperty","exports","value","RevealMoreInline","_react","_interopRequireWildcard","require","_","_useRevealMoreLogic","_useCustomButton","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","props","children","characterClamp","customCssClass","isExpanded","isOverflowing","setIsOverflowing","toggleExpand","useRevealMoreLogic","renderCustomButton","useCustomButton","truncatedText","setTruncatedText","useState","isCustomButton","useEffect","text","limit","length","substring","displayText","createElement","className","revealLessButton","revealMoreButton","SimpleButton","onClickHandler","revealLessLabelOnClickHandler","revealMoreLabelOnClickHandler","id","cssClass","label","revealLessLabel","revealMoreLabel","leftIcon","icon","onRevealLess","onRevealMore","undefined"],"sources":["../../../../../src/components/design/revealMore/RevealMoreInline.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useEffect } from 'react';\nimport { SimpleButton } from '../../..';\nimport { RevealMoreInlineProps, ManagedButtonProps } from './types/revealMoreTypes';\nimport { useRevealMoreLogic } from './hooks/useRevealMoreLogic';\nimport { useCustomButton } from './hooks/useCustomButton';\n\nexport const RevealMoreInline: React.FC<RevealMoreInlineProps> = (props) => {\n const {\n children,\n characterClamp = 100,\n customCssClass\n } = props;\n\n const { isExpanded, isOverflowing, setIsOverflowing, toggleExpand } = useRevealMoreLogic();\n const { renderCustomButton } = useCustomButton(toggleExpand);\n const [truncatedText, setTruncatedText] = useState('');\n\n const isCustomButton = 'revealMoreButton' in props && 'revealLessButton' in props;\n\n useEffect(() => {\n const text = children as string;\n const limit = characterClamp;\n \n if (text.length > limit) {\n setTruncatedText(text.substring(0, limit));\n setIsOverflowing(true);\n } else {\n setTruncatedText(text);\n setIsOverflowing(false);\n }\n }, [children, characterClamp]);\n\n const displayText = isExpanded ? (children as string) : truncatedText;\n\n return (\n <div className={ `revealMore revealMore_inline ${ customCssClass || '' }` }>\n <span className=\"revealMore_content\">\n { displayText }\n { isOverflowing && (\n isCustomButton ? (\n renderCustomButton(\n isExpanded ? props.revealLessButton : props.revealMoreButton\n )\n ) : (\n <SimpleButton\n onClickHandler={ () => {\n toggleExpand();\n if (isExpanded) {\n (props as ManagedButtonProps).revealLessLabelOnClickHandler?.();\n } else {\n (props as ManagedButtonProps).revealMoreLabelOnClickHandler?.();\n }\n } }\n id='revealMore_button-inline'\n cssClass=\"button compact text_only\"\n label={\n isExpanded \n ? (props as ManagedButtonProps).revealLessLabel || 'Reveal Less' \n : (props as ManagedButtonProps).revealMoreLabel || 'Reveal More'\n }\n leftIcon={\n (props as ManagedButtonProps).icon ? { \n icon: isExpanded \n ? (props as ManagedButtonProps).icon!.onRevealLess \n : (props as ManagedButtonProps).icon!.onRevealMore \n } : undefined\n }\n />\n )\n ) }\n </span>\n </div>\n );\n};"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RevealMoreInline.js","names":["Object","defineProperty","exports","value","RevealMoreInline","_react","_interopRequireWildcard","require","_SimpleButton","_useRevealMoreLogic","_useCustomButton","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","props","children","characterClamp","customCssClass","isExpanded","isOverflowing","setIsOverflowing","toggleExpand","useRevealMoreLogic","renderCustomButton","useCustomButton","truncatedText","setTruncatedText","useState","isCustomButton","useEffect","text","limit","length","substring","displayText","createElement","className","revealLessButton","revealMoreButton","SimpleButton","onClickHandler","revealLessLabelOnClickHandler","revealMoreLabelOnClickHandler","id","cssClass","label","revealLessLabel","revealMoreLabel","leftIcon","icon","onRevealLess","onRevealMore"],"sources":["../../../../../src/components/design/revealMore/RevealMoreInline.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useEffect } from 'react';\nimport { SimpleButton } from '../../form/buttons/SimpleButton';\nimport { RevealMoreInlineProps, ManagedButtonProps } from './types/revealMoreTypes';\nimport { useRevealMoreLogic } from './hooks/useRevealMoreLogic';\nimport { useCustomButton } from './hooks/useCustomButton';\n\nexport const RevealMoreInline: React.FC<RevealMoreInlineProps> = (props) => {\n const {\n children,\n characterClamp = 100,\n customCssClass\n } = props;\n\n const { isExpanded, isOverflowing, setIsOverflowing, toggleExpand } = useRevealMoreLogic();\n const { renderCustomButton } = useCustomButton(toggleExpand);\n const [truncatedText, setTruncatedText] = useState('');\n\n const isCustomButton = 'revealMoreButton' in props && 'revealLessButton' in props;\n\n useEffect(() => {\n const text = children as string;\n const limit = characterClamp;\n \n if (text.length > limit) {\n setTruncatedText(text.substring(0, limit));\n setIsOverflowing(true);\n } else {\n setTruncatedText(text);\n setIsOverflowing(false);\n }\n }, [children, characterClamp]);\n\n const displayText = isExpanded ? (children as string) : truncatedText;\n\n return (\n <div className={ `revealMore revealMore_inline ${ customCssClass || '' }` }>\n <span className=\"revealMore_content\">\n { displayText }\n { isOverflowing && (\n isCustomButton ? (\n renderCustomButton(\n isExpanded ? props.revealLessButton : props.revealMoreButton\n )\n ) : (\n <SimpleButton\n onClickHandler={ () => {\n toggleExpand();\n if (isExpanded) {\n (props as ManagedButtonProps).revealLessLabelOnClickHandler?.();\n } else {\n (props as ManagedButtonProps).revealMoreLabelOnClickHandler?.();\n }\n } }\n id='revealMore_button-inline'\n cssClass=\"button compact text_only\"\n label={\n isExpanded \n ? (props as ManagedButtonProps).revealLessLabel || 'Reveal Less' \n : (props as ManagedButtonProps).revealMoreLabel || 'Reveal More'\n }\n leftIcon={\n isExpanded\n ? (props as ManagedButtonProps).icon?.onRevealLess\n : (props as ManagedButtonProps).icon?.onRevealMore\n }\n />\n )\n ) }\n </span>\n </div>\n );\n};"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"revealMoreTypes.js","names":[],"sources":["../../../../../../src/components/design/revealMore/types/revealMoreTypes.ts"],"sourcesContent":["import React from 'react';\n\n// Props shared by both components\nexport type BaseRevealMoreProps = {\n children: React.ReactNode | string;\n customCssClass?: string;\n}\n\n// Button configuration types\nexport type CustomButtonProps = {\n revealMoreButton: React.ReactElement;\n revealLessButton: React.ReactElement;\n}\n\nexport type ManagedButtonProps = {\n revealMoreLabel?: string;\n revealLessLabel?: string;\n revealMoreLabelOnClickHandler?: () => void;\n revealLessLabelOnClickHandler?: () => void;\n icon?: {\n onRevealMore: string;\n onRevealLess: string;\n };\n}\n\n// Component-specific props\nexport type RevealMoreInlineProps = BaseRevealMoreProps & (CustomButtonProps | ManagedButtonProps) & {\n characterClamp?: number;\n children: string; \n}\n\nexport type RevealMoreBelowProps = BaseRevealMoreProps & (CustomButtonProps | ManagedButtonProps) & {\n lineClamp?: number;\n children: React.ReactNode | string;\n}\n\n// Main component props \nexport type RevealMoreProps = \n | ({ labelStyle: 'inline' } & RevealMoreInlineProps)\n | ({ labelStyle: 'below' } & RevealMoreBelowProps);"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"revealMoreTypes.js","names":[],"sources":["../../../../../../src/components/design/revealMore/types/revealMoreTypes.ts"],"sourcesContent":["import React from 'react';\nimport { IconSource } from '../../../../helpers/iconHelpers';\n\n// Props shared by both components\nexport type BaseRevealMoreProps = {\n children: React.ReactNode | string;\n customCssClass?: string;\n}\n\n// Button configuration types\nexport type CustomButtonProps = {\n revealMoreButton: React.ReactElement;\n revealLessButton: React.ReactElement;\n}\n\nexport type ManagedButtonProps = {\n revealMoreLabel?: string;\n revealLessLabel?: string;\n revealMoreLabelOnClickHandler?: () => void;\n revealLessLabelOnClickHandler?: () => void;\n icon?: {\n onRevealMore: IconSource;\n onRevealLess: IconSource;\n };\n}\n\n// Component-specific props\nexport type RevealMoreInlineProps = BaseRevealMoreProps & (CustomButtonProps | ManagedButtonProps) & {\n characterClamp?: number;\n children: string; \n}\n\nexport type RevealMoreBelowProps = BaseRevealMoreProps & (CustomButtonProps | ManagedButtonProps) & {\n lineClamp?: number;\n children: React.ReactNode | string;\n}\n\n// Main component props \nexport type RevealMoreProps = \n | ({ labelStyle: 'inline' } & RevealMoreInlineProps)\n | ({ labelStyle: 'below' } & RevealMoreBelowProps);"],"mappings":"","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.SidePanel = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _Icon = require("../icons/basicIcon/Icon");
9
+ var _iconHelpers = require("../../../helpers/iconHelpers");
10
10
  require("./sidePanel.css");
11
11
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
12
  const SidePanel = ({
@@ -39,7 +39,7 @@ const SidePanel = ({
39
39
  onClose();
40
40
  }
41
41
  }, [isOpenState, onClose, onOpen]);
42
- const getIconCssClass = () => {
42
+ const getToggleIcon = () => {
43
43
  if (icons) {
44
44
  return isOpenState ? icons.closed : icons.open;
45
45
  }
@@ -63,9 +63,7 @@ const SidePanel = ({
63
63
  title: TOGGLE_TEXT,
64
64
  type: "button",
65
65
  onClick: () => TogglePanelOpenState()
66
- }, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
67
- icon: getIconCssClass()
68
- }), /*#__PURE__*/_react.default.createElement("span", {
66
+ }, (0, _iconHelpers.renderIcon)(getToggleIcon()), /*#__PURE__*/_react.default.createElement("span", {
69
67
  className: "sr-only"
70
68
  }, "Open and close panel"));
71
69
  const panelCssClass = (0, _react.useCallback)(() => `sidePanel
@@ -1 +1 @@
1
- {"version":3,"file":"SidePanel.js","names":["Object","defineProperty","exports","value","SidePanel","_react","_interopRequireWildcard","require","_Icon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","id","panelLabel","size","position","positionRefNode","animation","icons","onClose","onOpen","isOpen","allowOverflow","isFloating","customCssClass","customControlButtonCssClass","children","isOpenState","setIsOpenState","useState","panelElement","useRef","TOGGLE_TEXT","panelCloseButton","TogglePanelOpenState","useCallback","newStateIsOpen","getIconCssClass","closed","open","PanelCloseButton","createElement","ref","className","title","type","onClick","Icon","icon","panelCssClass","useEffect","getParentNode","current","document","body","parentNode","classList","add","remove","tabIndex"],"sources":["../../../../../src/components/design/sidePanel/SidePanel.tsx"],"sourcesContent":["'use client';\n\nimport React, {\n ReactNode, useCallback, useEffect, useRef, useState\n} from 'react';\nimport { GenericFunction } from '../../../interfaces';\nimport { Icon } from '../icons/basicIcon/Icon';\n\nimport './sidePanel.scss';\n\nexport interface SidePanelInterface {\n id: string;\n panelLabel?: string;\n size?: 's' | 'm' | 'l';\n position?: 'left' | 'right' | 'top' | 'bottom';\n positionRefNode?: HTMLElement | React.RefObject<HTMLElement>;\n animation?: 'none' | 'slide';\n icons?: {\n open: string;\n closed: string;\n }\n onClose?: GenericFunction;\n onOpen?: GenericFunction;\n isOpen?: boolean;\n allowOverflow?: boolean;\n isFloating?: boolean;\n customCssClass?: string;\n customControlButtonCssClass?: string;\n children: ReactNode;\n}\n\nexport const SidePanel: React.FC<SidePanelInterface> = (\n {\n id,\n panelLabel = 'side panel',\n size = 'm',\n position = 'right',\n positionRefNode,\n animation = 'slide',\n icons,\n onClose = () => {},\n onOpen = () => {},\n isOpen = false,\n allowOverflow = false,\n isFloating = true,\n customCssClass,\n customControlButtonCssClass = '',\n children\n }\n) => {\n const [isOpenState, setIsOpenState] = useState(isOpen);\n const panelElement = useRef<HTMLDivElement>(null);\n\n const TOGGLE_TEXT = `Open and close ${ panelLabel }`;\n const panelCloseButton = useRef(null);\n\n const TogglePanelOpenState = useCallback(() => {\n const newStateIsOpen = !isOpenState;\n setIsOpenState(newStateIsOpen);\n if (newStateIsOpen) {\n onOpen();\n } else {\n onClose();\n }\n }, [isOpenState, onClose, onOpen]);\n\n const getIconCssClass = () => {\n if (icons) {\n return isOpenState ? icons.closed : icons.open;\n }\n\n if (isOpenState) {\n return 'close';\n }\n\n switch (position) {\n case 'left':\n return 'chevronRightSelect';\n case 'top':\n return 'chevronDownSelect';\n case 'bottom':\n return 'chevronUpSelect';\n default:\n return 'chevronLeftSelect';\n }\n };\n\n const PanelCloseButton: React.FC = () => (\n <button\n ref={ panelCloseButton }\n className={ `sidePanelClose ${ customControlButtonCssClass }` }\n title={ TOGGLE_TEXT }\n type=\"button\"\n onClick={ () => TogglePanelOpenState() }\n >\n <Icon icon={ getIconCssClass() } />\n <span className=\"sr-only\">Open and close panel</span>\n </button>\n );\n\n const panelCssClass = useCallback(() =>\n `sidePanel \n ${ isOpenState ? 'isOpen' : '' }\n ${ allowOverflow ? 'allowOverflow' : '' }\n ${ isFloating ? 'isFloating' : '' }\n sidePanelSize_${ size }\n sidePanelPosition_${ position }\n sidePanelAnimation_${ animation }\n ${ customCssClass || '' }`,\n [isOpenState, isFloating, size, position, animation, customCssClass]);\n\n useEffect(() => {\n setIsOpenState(isOpen);\n }, [isOpen]);\n\n const getParentNode = () => {\n if (positionRefNode) {\n if ('current' in positionRefNode) {\n return positionRefNode.current ? positionRefNode.current : document.body;\n }\n return positionRefNode;\n }\n return document.body;\n };\n\n useEffect(() => {\n const parentNode = getParentNode();\n\n parentNode.classList.add('withSidePanels');\n if (isOpenState) {\n parentNode.classList.add(`sidePanel_${ size }_${ position }`);\n } else {\n parentNode.classList.remove(`sidePanel_${ size }_${ position }`);\n }\n return () =>{\n parentNode.classList.remove(`sidePanel_${ size }_${ position }`);\n };\n }, [animation, isOpenState, position, size]);\n\n return (\n <div ref={ panelElement } title={ panelLabel } id={ id } className={ panelCssClass() }>\n { animation === 'slide' && <PanelCloseButton /> }\n { /* eslint-disable-next-line jsxA11y/no-noninteractive-tabindex */ }\n <div className=\"sidePanelContent\" tabIndex={ 0 }>\n { children }\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SidePanel.js","names":["Object","defineProperty","exports","value","SidePanel","_react","_interopRequireWildcard","require","_iconHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","id","panelLabel","size","position","positionRefNode","animation","icons","onClose","onOpen","isOpen","allowOverflow","isFloating","customCssClass","customControlButtonCssClass","children","isOpenState","setIsOpenState","useState","panelElement","useRef","TOGGLE_TEXT","panelCloseButton","TogglePanelOpenState","useCallback","newStateIsOpen","getToggleIcon","closed","open","PanelCloseButton","createElement","ref","className","title","type","onClick","renderIcon","panelCssClass","useEffect","getParentNode","current","document","body","parentNode","classList","add","remove","tabIndex"],"sources":["../../../../../src/components/design/sidePanel/SidePanel.tsx"],"sourcesContent":["'use client';\n\nimport React, {\n ReactNode, useCallback, useEffect, useRef, useState\n} from 'react';\nimport { GenericFunction } from '../../../interfaces';\nimport { IconSource, renderIcon } from '../../../helpers/iconHelpers';\n\nimport './sidePanel.scss';\n\nexport interface SidePanelInterface {\n id: string;\n panelLabel?: string;\n size?: 's' | 'm' | 'l';\n position?: 'left' | 'right' | 'top' | 'bottom';\n positionRefNode?: HTMLElement | React.RefObject<HTMLElement>;\n animation?: 'none' | 'slide';\n icons?: {\n open: IconSource;\n closed: IconSource;\n }\n onClose?: GenericFunction;\n onOpen?: GenericFunction;\n isOpen?: boolean;\n allowOverflow?: boolean;\n isFloating?: boolean;\n customCssClass?: string;\n customControlButtonCssClass?: string;\n children: ReactNode;\n}\n\nexport const SidePanel: React.FC<SidePanelInterface> = (\n {\n id,\n panelLabel = 'side panel',\n size = 'm',\n position = 'right',\n positionRefNode,\n animation = 'slide',\n icons,\n onClose = () => {},\n onOpen = () => {},\n isOpen = false,\n allowOverflow = false,\n isFloating = true,\n customCssClass,\n customControlButtonCssClass = '',\n children\n }\n) => {\n const [isOpenState, setIsOpenState] = useState(isOpen);\n const panelElement = useRef<HTMLDivElement>(null);\n\n const TOGGLE_TEXT = `Open and close ${ panelLabel }`;\n const panelCloseButton = useRef(null);\n\n const TogglePanelOpenState = useCallback(() => {\n const newStateIsOpen = !isOpenState;\n setIsOpenState(newStateIsOpen);\n if (newStateIsOpen) {\n onOpen();\n } else {\n onClose();\n }\n }, [isOpenState, onClose, onOpen]);\n\n const getToggleIcon = (): IconSource => {\n if (icons) {\n return isOpenState ? icons.closed : icons.open;\n }\n\n if (isOpenState) {\n return 'close';\n }\n\n switch (position) {\n case 'left':\n return 'chevronRightSelect';\n case 'top':\n return 'chevronDownSelect';\n case 'bottom':\n return 'chevronUpSelect';\n default:\n return 'chevronLeftSelect';\n }\n };\n\n const PanelCloseButton: React.FC = () => (\n <button\n ref={ panelCloseButton }\n className={ `sidePanelClose ${ customControlButtonCssClass }` }\n title={ TOGGLE_TEXT }\n type=\"button\"\n onClick={ () => TogglePanelOpenState() }\n >\n { renderIcon(getToggleIcon()) }\n <span className=\"sr-only\">Open and close panel</span>\n </button>\n );\n\n const panelCssClass = useCallback(() =>\n `sidePanel \n ${ isOpenState ? 'isOpen' : '' }\n ${ allowOverflow ? 'allowOverflow' : '' }\n ${ isFloating ? 'isFloating' : '' }\n sidePanelSize_${ size }\n sidePanelPosition_${ position }\n sidePanelAnimation_${ animation }\n ${ customCssClass || '' }`,\n [isOpenState, isFloating, size, position, animation, customCssClass]);\n\n useEffect(() => {\n setIsOpenState(isOpen);\n }, [isOpen]);\n\n const getParentNode = () => {\n if (positionRefNode) {\n if ('current' in positionRefNode) {\n return positionRefNode.current ? positionRefNode.current : document.body;\n }\n return positionRefNode;\n }\n return document.body;\n };\n\n useEffect(() => {\n const parentNode = getParentNode();\n\n parentNode.classList.add('withSidePanels');\n if (isOpenState) {\n parentNode.classList.add(`sidePanel_${ size }_${ position }`);\n } else {\n parentNode.classList.remove(`sidePanel_${ size }_${ position }`);\n }\n return () =>{\n parentNode.classList.remove(`sidePanel_${ size }_${ position }`);\n };\n }, [animation, isOpenState, position, size]);\n\n return (\n <div ref={ panelElement } title={ panelLabel } id={ id } className={ panelCssClass() }>\n { animation === 'slide' && <PanelCloseButton /> }\n { /* eslint-disable-next-line jsxA11y/no-noninteractive-tabindex */ }\n <div className=\"sidePanelContent\" tabIndex={ 0 }>\n { children }\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = exports.StatusIconLabel = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _dateHelpers = require("../../../../helpers/dateHelpers");
11
- var _Icon = require("../../icons/basicIcon/Icon");
11
+ var _iconHelpers = require("../../../../helpers/iconHelpers");
12
12
  require("./statusIconLabel.css");
13
13
  const StatusIconLabel = ({
14
14
  description,
@@ -29,20 +29,15 @@ const StatusIconLabel = ({
29
29
  defCon3: 'fire',
30
30
  success: 'info'
31
31
  };
32
- const StatusIcon = () => {
33
- if (customIcon) {
34
- return /*#__PURE__*/_react.default.createElement(_Icon.Icon, customIcon);
35
- }
36
- return /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
37
- icon: iconMap[indicator]
38
- });
39
- };
32
+ const statusIcon = (0, _iconHelpers.renderIcon)(customIcon, {
33
+ fallback: iconMap[indicator]
34
+ });
40
35
  return /*#__PURE__*/_react.default.createElement("span", {
41
36
  className: `statusIconLabel ${indicator} ${customCssClass}`,
42
37
  title: `${status} ${description ? ': ' + description : ''}${dueAt ? '. Due at ' + formattedDueDateTime : ''}`
43
- }, iconPosition === 'left' && /*#__PURE__*/_react.default.createElement(StatusIcon, null), /*#__PURE__*/_react.default.createElement("span", {
38
+ }, iconPosition === 'left' && statusIcon, /*#__PURE__*/_react.default.createElement("span", {
44
39
  className: hideLabel ? 'sr-only' : ''
45
- }, label), iconPosition !== 'left' && /*#__PURE__*/_react.default.createElement(StatusIcon, null));
40
+ }, label), iconPosition !== 'left' && statusIcon);
46
41
  };
47
42
  exports.StatusIconLabel = StatusIconLabel;
48
43
  var _default = exports.default = StatusIconLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIconLabel.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","default","StatusIconLabel","_react","_dateHelpers","_Icon","description","status","label","hideLabel","indicator","dueAt","customIcon","customCssClass","iconPosition","formattedDueDateTime","dateToShortReadableDateTime","iconMap","info","alert","warn","defCon3","success","StatusIcon","createElement","Icon","icon","className","title","_default"],"sources":["../../../../../../src/components/design/statusIndicators/statusIconLabel/StatusIconLabel.tsx"],"sourcesContent":["'use client';\n\nimport React, { ReactNode } from 'react';\nimport { StatusInterface } from '../statusIndicators.interface';\nimport { dateToShortReadableDateTime } from '../../../../helpers/dateHelpers';\nimport { Icon, IconProps } from '../../icons/basicIcon/Icon';\n\nimport './statusIconLabel.scss';\n\nexport interface StatusIconLabelInterface extends Omit<StatusInterface, 'onClick'> {\n customIcon?: IconProps;\n iconPosition?: 'left' | 'right';\n label: string | ReactNode;\n hideLabel?: boolean;\n customCssClass?: string;\n}\n\nexport const StatusIconLabel: React.FC<StatusIconLabelInterface> = (\n {\n description,\n status,\n label,\n hideLabel = false,\n indicator = 'info',\n dueAt,\n customIcon,\n customCssClass = '',\n iconPosition = 'left'\n }\n) => {\n const formattedDueDateTime = dueAt ? dateToShortReadableDateTime(dueAt) : 'TBD';\n\n const iconMap: { [index: string]: string } = {\n info: 'info',\n alert: 'notification',\n warn: 'warning',\n defCon3: 'fire',\n success: 'info'\n };\n\n const StatusIcon = () => {\n if (customIcon) {\n return <Icon { ...customIcon } />;\n }\n return <Icon icon={ iconMap[indicator] } />;\n };\n\n return (\n <span\n className={ `statusIconLabel ${ indicator } ${ customCssClass }` }\n title={ `${ status } ${ description ? ': ' + description : '' }${ dueAt ? '. Due at ' + formattedDueDateTime : '' }` }\n >\n {\n iconPosition === 'left' &&\n <StatusIcon />\n }\n <span className={ hideLabel ? 'sr-only' : '' }>{ label }</span>\n {\n iconPosition !== 'left' &&\n <StatusIcon />\n }\n </span>\n );\n};\n\nexport default StatusIconLabel;\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,OAAA,GAAAF,OAAA,CAAAG,eAAA;AAEb,IAAAC,MAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AAEAA,OAAA;AAUO,MAAMM,eAAmD,GAAGA,CACjE;EACEI,WAAW;EACXC,MAAM;EACNC,KAAK;EACLC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,MAAM;EAClBC,KAAK;EACLC,UAAU;EACVC,cAAc,GAAG,EAAE;EACnBC,YAAY,GAAG;AACjB,CAAC,KACE;EACH,MAAMC,oBAAoB,GAAGJ,KAAK,GAAG,IAAAK,wCAA2B,EAACL,KAAK,CAAC,GAAG,KAAK;EAE/E,MAAMM,OAAoC,GAAG;IAC3CC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,cAAc;IACrBC,IAAI,EAAE,SAAS;IACfC,OAAO,EAAE,MAAM;IACfC,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAIX,UAAU,EAAE;MACd,oBAAOT,MAAA,CAAAF,OAAA,CAAAuB,aAAA,CAACnB,KAAA,CAAAoB,IAAI,EAAMb,UAAc,CAAC;IACnC;IACA,oBAAOT,MAAA,CAAAF,OAAA,CAAAuB,aAAA,CAACnB,KAAA,CAAAoB,IAAI;MAACC,IAAI,EAAGT,OAAO,CAACP,SAAS;IAAG,CAAE,CAAC;EAC7C,CAAC;EAED,oBACEP,MAAA,CAAAF,OAAA,CAAAuB,aAAA;IACEG,SAAS,EAAG,mBAAoBjB,SAAS,IAAMG,cAAc,EAAK;IAClEe,KAAK,EAAG,GAAIrB,MAAM,IAAMD,WAAW,GAAG,IAAI,GAAGA,WAAW,GAAG,EAAE,GAAKK,KAAK,GAAG,WAAW,GAAGI,oBAAoB,GAAG,EAAE;EAAK,GAGpHD,YAAY,KAAK,MAAM,iBACvBX,MAAA,CAAAF,OAAA,CAAAuB,aAAA,CAACD,UAAU,MAAE,CAAC,eAEhBpB,MAAA,CAAAF,OAAA,CAAAuB,aAAA;IAAMG,SAAS,EAAGlB,SAAS,GAAG,SAAS,GAAG;EAAI,GAAGD,KAAa,CAAC,EAE7DM,YAAY,KAAK,MAAM,iBACvBX,MAAA,CAAAF,OAAA,CAAAuB,aAAA,CAACD,UAAU,MAAE,CAEX,CAAC;AAEX,CAAC;AAACxB,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAAA,IAAA2B,QAAA,GAAA9B,OAAA,CAAAE,OAAA,GAEaC,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"StatusIconLabel.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","default","StatusIconLabel","_react","_dateHelpers","_iconHelpers","description","status","label","hideLabel","indicator","dueAt","customIcon","customCssClass","iconPosition","formattedDueDateTime","dateToShortReadableDateTime","iconMap","info","alert","warn","defCon3","success","statusIcon","renderIcon","fallback","createElement","className","title","_default"],"sources":["../../../../../../src/components/design/statusIndicators/statusIconLabel/StatusIconLabel.tsx"],"sourcesContent":["'use client';\n\nimport React, { ReactNode } from 'react';\nimport { StatusInterface } from '../statusIndicators.interface';\nimport { dateToShortReadableDateTime } from '../../../../helpers/dateHelpers';\nimport { IconSource, renderIcon } from '../../../../helpers/iconHelpers';\n\nimport './statusIconLabel.scss';\n\nexport interface StatusIconLabelInterface extends Omit<StatusInterface, 'onClick'> {\n customIcon?: IconSource;\n iconPosition?: 'left' | 'right';\n label: string | ReactNode;\n hideLabel?: boolean;\n customCssClass?: string;\n}\n\nexport const StatusIconLabel: React.FC<StatusIconLabelInterface> = (\n {\n description,\n status,\n label,\n hideLabel = false,\n indicator = 'info',\n dueAt,\n customIcon,\n customCssClass = '',\n iconPosition = 'left'\n }\n) => {\n const formattedDueDateTime = dueAt ? dateToShortReadableDateTime(dueAt) : 'TBD';\n\n const iconMap: { [index: string]: string } = {\n info: 'info',\n alert: 'notification',\n warn: 'warning',\n defCon3: 'fire',\n success: 'info'\n };\n\n const statusIcon = renderIcon(customIcon, { fallback: iconMap[indicator] });\n\n return (\n <span\n className={ `statusIconLabel ${ indicator } ${ customCssClass }` }\n title={ `${ status } ${ description ? ': ' + description : '' }${ dueAt ? '. Due at ' + formattedDueDateTime : '' }` }\n >\n { iconPosition === 'left' && statusIcon }\n <span className={ hideLabel ? 'sr-only' : '' }>{ label }</span>\n { iconPosition !== 'left' && statusIcon }\n </span>\n );\n};\n\nexport default StatusIconLabel;\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,OAAA,GAAAF,OAAA,CAAAG,eAAA;AAEb,IAAAC,MAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAEAA,OAAA;AAUO,MAAMM,eAAmD,GAAGA,CACjE;EACEI,WAAW;EACXC,MAAM;EACNC,KAAK;EACLC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,MAAM;EAClBC,KAAK;EACLC,UAAU;EACVC,cAAc,GAAG,EAAE;EACnBC,YAAY,GAAG;AACjB,CAAC,KACE;EACH,MAAMC,oBAAoB,GAAGJ,KAAK,GAAG,IAAAK,wCAA2B,EAACL,KAAK,CAAC,GAAG,KAAK;EAE/E,MAAMM,OAAoC,GAAG;IAC3CC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,cAAc;IACrBC,IAAI,EAAE,SAAS;IACfC,OAAO,EAAE,MAAM;IACfC,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,UAAU,GAAG,IAAAC,uBAAU,EAACZ,UAAU,EAAE;IAAEa,QAAQ,EAAER,OAAO,CAACP,SAAS;EAAE,CAAC,CAAC;EAE3E,oBACEP,MAAA,CAAAF,OAAA,CAAAyB,aAAA;IACEC,SAAS,EAAG,mBAAoBjB,SAAS,IAAMG,cAAc,EAAK;IAClEe,KAAK,EAAG,GAAIrB,MAAM,IAAMD,WAAW,GAAG,IAAI,GAAGA,WAAW,GAAG,EAAE,GAAKK,KAAK,GAAG,WAAW,GAAGI,oBAAoB,GAAG,EAAE;EAAK,GAEpHD,YAAY,KAAK,MAAM,IAAIS,UAAU,eACvCpB,MAAA,CAAAF,OAAA,CAAAyB,aAAA;IAAMC,SAAS,EAAGlB,SAAS,GAAG,SAAS,GAAG;EAAI,GAAGD,KAAa,CAAC,EAC7DM,YAAY,KAAK,MAAM,IAAIS,UACzB,CAAC;AAEX,CAAC;AAACxB,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAAA,IAAA2B,QAAA,GAAA9B,OAAA,CAAAE,OAAA,GAEaC,eAAe","ignoreList":[]}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Tabs = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _Icon = _interopRequireDefault(require("../icons/basicIcon/Icon"));
10
+ var _iconHelpers = require("../../../helpers/iconHelpers");
11
11
  var _NotificationIcon = _interopRequireDefault(require("../icons/notificationIcon/NotificationIcon"));
12
12
  require("./tabs.css");
13
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -50,7 +50,7 @@ const Tabs = ({
50
50
  type: "button",
51
51
  onClick: () => setActiveTab(index),
52
52
  className: `button tabControl ${notificationIcon ? 'withNotification' : ''} ${index === activeTab ? 'active' : ''}`
53
- }, leftIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, leftIcon), text, rightIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, rightIcon), notificationIcon && /*#__PURE__*/_react.default.createElement(_NotificationIcon.default, notificationIcon));
53
+ }, (0, _iconHelpers.renderIcon)(leftIcon), text, (0, _iconHelpers.renderIcon)(rightIcon), notificationIcon && /*#__PURE__*/_react.default.createElement(_NotificationIcon.default, notificationIcon));
54
54
  })), /*#__PURE__*/_react.default.createElement("div", {
55
55
  className: "tabPanels"
56
56
  }, tabs.map((tab, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","Tabs","_react","_interopRequireWildcard","_Icon","_NotificationIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","tabs","activeTabIndex","activeTab","setActiveTab","useState","getIds","id","controlId","panelId","createElement","className","role","map","tab","index","control","text","leftIcon","rightIcon","notificationIcon","key","tabIndex","type","onClick","content"],"sources":["../../../../../src/components/design/tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport Icon, { IconProps } from '../icons/basicIcon/Icon';\nimport NotificationIcon, { NotificationIconProps } from '../icons/notificationIcon/NotificationIcon';\n\nimport './tabs.scss';\n\ninterface TabProps {\n id: string;\n control: {\n text: string;\n leftIcon?: IconProps;\n rightIcon?: IconProps;\n notificationIcon?: NotificationIconProps;\n },\n content: React.ReactNode | React.ReactElement\n}\n\ninterface TabsProps {\n tabs: TabProps[];\n activeTabIndex?: number;\n}\n\nexport const Tabs: React.FC<TabsProps> = (\n {\n tabs,\n activeTabIndex = 0\n }\n) => {\n const [activeTab, setActiveTab] = useState(activeTabIndex);\n\n const getIds = (id: string) => ({\n controlId: `tabControl_${ id }`,\n panelId: `tabPanel_${ id }`\n });\n\n return (\n <div className=\"tabGroup\">\n <div className=\"tabControls\" role=\"tablist\">\n {\n tabs.map((tab, index) => {\n const { id, control } = tab;\n const {\n text, leftIcon, rightIcon, notificationIcon\n } = control;\n\n const { controlId, panelId } = getIds(id);\n\n return (\n <button key={ controlId }\n role=\"tab\"\n id={ controlId }\n aria-controls={ panelId }\n aria-selected={ index === activeTab }\n tabIndex={ index === activeTab ? 0 : -1 }\n type=\"button\"\n onClick={ () => setActiveTab(index) }\n className={ `button tabControl ${ notificationIcon ? 'withNotification' : '' } ${ index === activeTab ? 'active' : '' }` }\n >\n {\n leftIcon && <Icon { ...leftIcon } />\n }\n\n { text }\n\n {\n rightIcon && <Icon { ...rightIcon } />\n }\n\n {\n notificationIcon && <NotificationIcon { ...notificationIcon } />\n }\n </button>\n );\n })\n }\n </div>\n\n <div className=\"tabPanels\">\n {\n tabs.map((tab, index) => {\n const { id, content } = tab;\n\n const { controlId, panelId } = getIds(id);\n\n return (\n <div key={ panelId }\n aria-labelledby={ controlId }\n role=\"tabpanel\"\n tabIndex={ index === activeTab ? 0 : -1 }\n id={ panelId }\n className={ `tabPanel ${ index === activeTab ? 'active' : '' }` }\n >\n { content }\n </div>\n );\n })\n }\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tabs.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","Tabs","_react","_interopRequireWildcard","_iconHelpers","_NotificationIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","tabs","activeTabIndex","activeTab","setActiveTab","useState","getIds","id","controlId","panelId","createElement","className","role","map","tab","index","control","text","leftIcon","rightIcon","notificationIcon","key","tabIndex","type","onClick","renderIcon","content"],"sources":["../../../../../src/components/design/tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { IconSource, renderIcon } from '../../../helpers/iconHelpers';\nimport NotificationIcon, { NotificationIconProps } from '../icons/notificationIcon/NotificationIcon';\n\nimport './tabs.scss';\n\ninterface TabProps {\n id: string;\n control: {\n text: string;\n leftIcon?: IconSource;\n rightIcon?: IconSource;\n notificationIcon?: NotificationIconProps;\n },\n content: React.ReactNode | React.ReactElement\n}\n\ninterface TabsProps {\n tabs: TabProps[];\n activeTabIndex?: number;\n}\n\nexport const Tabs: React.FC<TabsProps> = (\n {\n tabs,\n activeTabIndex = 0\n }\n) => {\n const [activeTab, setActiveTab] = useState(activeTabIndex);\n\n const getIds = (id: string) => ({\n controlId: `tabControl_${ id }`,\n panelId: `tabPanel_${ id }`\n });\n\n return (\n <div className=\"tabGroup\">\n <div className=\"tabControls\" role=\"tablist\">\n {\n tabs.map((tab, index) => {\n const { id, control } = tab;\n const {\n text, leftIcon, rightIcon, notificationIcon\n } = control;\n\n const { controlId, panelId } = getIds(id);\n\n return (\n <button key={ controlId }\n role=\"tab\"\n id={ controlId }\n aria-controls={ panelId }\n aria-selected={ index === activeTab }\n tabIndex={ index === activeTab ? 0 : -1 }\n type=\"button\"\n onClick={ () => setActiveTab(index) }\n className={ `button tabControl ${ notificationIcon ? 'withNotification' : '' } ${ index === activeTab ? 'active' : '' }` }\n >\n { renderIcon(leftIcon) }\n\n { text }\n\n { renderIcon(rightIcon) }\n\n {\n notificationIcon && <NotificationIcon { ...notificationIcon } />\n }\n </button>\n );\n })\n }\n </div>\n\n <div className=\"tabPanels\">\n {\n tabs.map((tab, index) => {\n const { id, content } = tab;\n\n const { controlId, panelId } = getIds(id);\n\n return (\n <div key={ panelId }\n aria-labelledby={ controlId }\n role=\"tabpanel\"\n tabIndex={ index === activeTab ? 0 : -1 }\n id={ panelId }\n className={ `tabPanel ${ index === activeTab ? 'active' : '' }` }\n >\n { content }\n </div>\n );\n })\n }\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _libraryThemes = _interopRequireDefault(require("../../../autoGenerated/libraryThemes"));
11
11
  var _AppContextProvider = require("../../../contextProviders/appContext/AppContextProvider");
12
12
  var _appEnvironment = require("../../../constants/appEnvironment");
13
- var _constants = require("../../../constants");
13
+ var _libraryCDN = require("../../../constants/libraryCDN");
14
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
15
  const themes = _libraryThemes.default || {};
16
16
  const ThemeLoader = ({
@@ -29,7 +29,7 @@ const ThemeLoader = ({
29
29
  const env = process.env.NODE_ENV;
30
30
  const isProduction = env === 'production' || env === 'prod';
31
31
  const isDevelopment = env === 'development' || env === 'dev';
32
- const cdnBaseUrl = `${isProduction ? _constants.LIBRARY_CDN_PROD_BASE_URL : _constants.LIBRARY_CDN_DEV_BASE_URL}/${useLatest ? 'latest' : _constants.LIBRARY_VERSION}`;
32
+ const cdnBaseUrl = `${isProduction ? _libraryCDN.LIBRARY_CDN_PROD_BASE_URL : _libraryCDN.LIBRARY_CDN_DEV_BASE_URL}/${useLatest ? 'latest' : _libraryCDN.LIBRARY_VERSION}`;
33
33
  const getThemeCss = theme => {
34
34
  if (!theme || !themes[theme]) {
35
35
  console.warn(`Theme "${theme}" not found. Using default variables instead.`);
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeLoader.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","ThemeLoader","_react","_interopRequireWildcard","_libraryThemes","_AppContextProvider","_appEnvironment","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","themes","libraryThemes","useMin","forceProd","forceCacheBusting","userTheme","useLatest","baseCssLink","useRef","themeCssLink","appContextProvider","useContext","AppContext","appTheme","appContext","theme","activeTheme","publicLibraryDomain","env","process","NODE_ENV","isProduction","isDevelopment","cdnBaseUrl","LIBRARY_CDN_PROD_BASE_URL","LIBRARY_CDN_DEV_BASE_URL","LIBRARY_VERSION","getThemeCss","console","warn","buildPath","dev","min","versioned","cssFile","css","cacheBuster","CURRENT_DOMAIN","Date","getTime","libraryDomain","baseCss","useMemo","themeCss","useEffect","current","href","createElement","Fragment","ref","rel","as"],"sources":["../../../../../src/components/design/themeLoader/ThemeLoader.tsx"],"sourcesContent":["'use client';\n\nimport React, { useContext, useEffect, useRef, useMemo } from 'react';\n\nimport libraryThemes from '../../../autoGenerated/libraryThemes';\nimport { AppContext } from '../../../contextProviders/appContext/AppContextProvider';\nimport { CURRENT_DOMAIN } from '../../../constants/appEnvironment';\nimport { LIBRARY_CDN_DEV_BASE_URL, LIBRARY_CDN_PROD_BASE_URL, LIBRARY_VERSION } from '../../../constants';\n\nexport type ThemeStructure = {\n buildPath: string;\n dev: {\n css: string;\n map: string;\n };\n min: {\n css: string;\n map: string;\n };\n versioned: {\n css: string;\n map: string;\n };\n};\n\ntype AvailableThemes = {\n [themeName: string]: ThemeStructure;\n};\n\ntype themeLoaderProps = {\n useMin?: boolean,\n forceProd?: boolean,\n forceCacheBusting?: boolean,\n userTheme?: string;\n useLatest?: boolean;\n};\n\nconst themes: AvailableThemes = libraryThemes || {};\n\nexport const ThemeLoader: React.FC<themeLoaderProps> = (\n {\n useMin = false,\n forceProd = false,\n forceCacheBusting = false,\n userTheme,\n useLatest = true,\n }\n) => {\n const baseCssLink = useRef<HTMLLinkElement>(null);\n const themeCssLink = useRef<HTMLLinkElement>(null);\n\n const appContextProvider = useContext(AppContext);\n const appTheme = appContextProvider?.appContext?.theme;\n\n const activeTheme = userTheme || appTheme;\n const publicLibraryDomain = appContextProvider?.appContext?.publicLibraryDomain || '';\n\n const env = process.env.NODE_ENV;\n const isProduction = env === 'production' || env === 'prod';\n const isDevelopment = env === 'development' || env === 'dev';\n\n const cdnBaseUrl = `${ isProduction ? LIBRARY_CDN_PROD_BASE_URL : LIBRARY_CDN_DEV_BASE_URL }/${ useLatest ? 'latest' : LIBRARY_VERSION }`;\n\n const getThemeCss = (theme: string | undefined) => {\n if (!theme || !themes[theme]) {\n console.warn(`Theme \"${ theme }\" not found. Using default variables instead.`);\n return null;\n }\n\n const {\n buildPath, dev, min, versioned\n } = themes[theme];\n\n const cssFile = () => {\n if (forceProd) {\n return versioned.css;\n }\n\n if (isProduction) {\n return useMin ? versioned.css : min.css;\n }\n\n if (isDevelopment) {\n return useMin ? min.css : dev.css;\n }\n\n return dev.css;\n };\n\n const cacheBuster = CURRENT_DOMAIN === 'localhost' || forceCacheBusting ? `?v=${ new Date().getTime() }` : '';\n const libraryDomain = publicLibraryDomain !== '' ? `${ publicLibraryDomain }` : cdnBaseUrl;\n\n return `${ libraryDomain }/${ buildPath }/${ cssFile() }${ cacheBuster }`;\n };\n\n const baseCss = useMemo(() => getThemeCss('base'), [activeTheme, useMin, forceProd, forceCacheBusting]);\n const themeCss = useMemo(() => getThemeCss(activeTheme), [activeTheme, useMin, forceProd, forceCacheBusting]);\n\n useEffect(() => {\n if (baseCss && baseCssLink.current) {\n baseCssLink.current.href = baseCss;\n }\n if (themeCss && themeCssLink.current) {\n themeCssLink.current.href = themeCss;\n }\n }, [activeTheme]);\n\n return (\n <>\n <link ref={ baseCssLink } rel=\"stylesheet\" as=\"style\" />\n <link ref={ themeCssLink } rel=\"stylesheet\" as=\"style\" />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ThemeLoader.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","ThemeLoader","_react","_interopRequireWildcard","_libraryThemes","_AppContextProvider","_appEnvironment","_libraryCDN","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","themes","libraryThemes","useMin","forceProd","forceCacheBusting","userTheme","useLatest","baseCssLink","useRef","themeCssLink","appContextProvider","useContext","AppContext","appTheme","appContext","theme","activeTheme","publicLibraryDomain","env","process","NODE_ENV","isProduction","isDevelopment","cdnBaseUrl","LIBRARY_CDN_PROD_BASE_URL","LIBRARY_CDN_DEV_BASE_URL","LIBRARY_VERSION","getThemeCss","console","warn","buildPath","dev","min","versioned","cssFile","css","cacheBuster","CURRENT_DOMAIN","Date","getTime","libraryDomain","baseCss","useMemo","themeCss","useEffect","current","href","createElement","Fragment","ref","rel","as"],"sources":["../../../../../src/components/design/themeLoader/ThemeLoader.tsx"],"sourcesContent":["'use client';\n\nimport React, { useContext, useEffect, useRef, useMemo } from 'react';\n\nimport libraryThemes from '../../../autoGenerated/libraryThemes';\nimport { AppContext } from '../../../contextProviders/appContext/AppContextProvider';\nimport { CURRENT_DOMAIN } from '../../../constants/appEnvironment';\nimport { LIBRARY_CDN_DEV_BASE_URL, LIBRARY_CDN_PROD_BASE_URL, LIBRARY_VERSION } from '../../../constants/libraryCDN';\n\nexport type ThemeStructure = {\n buildPath: string;\n dev: {\n css: string;\n map: string;\n };\n min: {\n css: string;\n map: string;\n };\n versioned: {\n css: string;\n map: string;\n };\n};\n\ntype AvailableThemes = {\n [themeName: string]: ThemeStructure;\n};\n\ntype themeLoaderProps = {\n useMin?: boolean,\n forceProd?: boolean,\n forceCacheBusting?: boolean,\n userTheme?: string;\n useLatest?: boolean;\n};\n\nconst themes: AvailableThemes = libraryThemes || {};\n\nexport const ThemeLoader: React.FC<themeLoaderProps> = (\n {\n useMin = false,\n forceProd = false,\n forceCacheBusting = false,\n userTheme,\n useLatest = true,\n }\n) => {\n const baseCssLink = useRef<HTMLLinkElement>(null);\n const themeCssLink = useRef<HTMLLinkElement>(null);\n\n const appContextProvider = useContext(AppContext);\n const appTheme = appContextProvider?.appContext?.theme;\n\n const activeTheme = userTheme || appTheme;\n const publicLibraryDomain = appContextProvider?.appContext?.publicLibraryDomain || '';\n\n const env = process.env.NODE_ENV;\n const isProduction = env === 'production' || env === 'prod';\n const isDevelopment = env === 'development' || env === 'dev';\n\n const cdnBaseUrl = `${ isProduction ? LIBRARY_CDN_PROD_BASE_URL : LIBRARY_CDN_DEV_BASE_URL }/${ useLatest ? 'latest' : LIBRARY_VERSION }`;\n\n const getThemeCss = (theme: string | undefined) => {\n if (!theme || !themes[theme]) {\n console.warn(`Theme \"${ theme }\" not found. Using default variables instead.`);\n return null;\n }\n\n const {\n buildPath, dev, min, versioned\n } = themes[theme];\n\n const cssFile = () => {\n if (forceProd) {\n return versioned.css;\n }\n\n if (isProduction) {\n return useMin ? versioned.css : min.css;\n }\n\n if (isDevelopment) {\n return useMin ? min.css : dev.css;\n }\n\n return dev.css;\n };\n\n const cacheBuster = CURRENT_DOMAIN === 'localhost' || forceCacheBusting ? `?v=${ new Date().getTime() }` : '';\n const libraryDomain = publicLibraryDomain !== '' ? `${ publicLibraryDomain }` : cdnBaseUrl;\n\n return `${ libraryDomain }/${ buildPath }/${ cssFile() }${ cacheBuster }`;\n };\n\n const baseCss = useMemo(() => getThemeCss('base'), [activeTheme, useMin, forceProd, forceCacheBusting]);\n const themeCss = useMemo(() => getThemeCss(activeTheme), [activeTheme, useMin, forceProd, forceCacheBusting]);\n\n useEffect(() => {\n if (baseCss && baseCssLink.current) {\n baseCssLink.current.href = baseCss;\n }\n if (themeCss && themeCssLink.current) {\n themeCssLink.current.href = themeCss;\n }\n }, [activeTheme]);\n\n return (\n <>\n <link ref={ baseCssLink } rel=\"stylesheet\" as=\"style\" />\n <link ref={ themeCssLink } rel=\"stylesheet\" as=\"style\" />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,16 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.Tooltip = void 0;
8
+ exports.getTooltipContentId = exports.default = exports.Tooltip = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _ClickOutside = require("../../../hooks/ClickOutside");
12
- var _Icon = require("../icons/basicIcon/Icon");
12
+ var _iconHelpers = require("../../../helpers/iconHelpers");
13
13
  var _EdgeProximityDetect = require("../../../hooks/EdgeProximityDetect");
14
+ var _InteractiveHostFocus = require("../../../hooks/InteractiveHostFocus");
14
15
  require("./tooltip.css");
15
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
17
  // Define the props for Tooltip
17
18
 
19
+ const getTooltipContentId = triggerId => `${triggerId}_content`;
20
+ exports.getTooltipContentId = getTooltipContentId;
18
21
  const Tooltip = props => {
19
22
  const {
20
23
  triggerId,
@@ -25,7 +28,8 @@ const Tooltip = props => {
25
28
  children,
26
29
  label = 'Toggle tooltip open state',
27
30
  showPointer = true,
28
- hoverDelay
31
+ hoverDelay,
32
+ passiveTrigger = false
29
33
  // visualIndicators will be handled below
30
34
  } = props;
31
35
 
@@ -40,7 +44,6 @@ const Tooltip = props => {
40
44
  const triggerElement = (0, _react.useRef)(null);
41
45
  const contentElement = (0, _react.useRef)(null);
42
46
  const hoverTimer = (0, _react.useRef)(null);
43
- const iconIsElement = /*#__PURE__*/_react.default.isValidElement(icon);
44
47
 
45
48
  // Hover is handled in css by default. It is only taken over by js when a delay is requested.
46
49
  const hasHoverDelay = typeof hoverDelay === 'number' && hoverDelay > 0;
@@ -87,7 +90,13 @@ const Tooltip = props => {
87
90
  onMouseEnter: handleMouseEnter,
88
91
  onMouseLeave: handleMouseLeave
89
92
  } : {};
90
- (0, _ClickOutside.useOnClickOutside)(tooltipElement, dismiss);
93
+
94
+ // Passive mode closes on host blur; focusin on the host would otherwise count as "outside".
95
+ (0, _ClickOutside.useOnClickOutside)(tooltipElement, () => {
96
+ if (!passiveTrigger) {
97
+ dismiss();
98
+ }
99
+ });
91
100
  (0, _EdgeProximityDetect.useOnEdgeProximityDetect)({
92
101
  triggerRef: triggerElement,
93
102
  wrapperRef: tooltipElement,
@@ -103,12 +112,37 @@ const Tooltip = props => {
103
112
  }, [dismiss]);
104
113
  (0, _react.useEffect)(() => {
105
114
  const wrapper = tooltipElement.current;
106
- if (!wrapper) {
115
+ if (!wrapper || passiveTrigger) {
107
116
  return undefined;
108
117
  }
109
118
  wrapper.addEventListener('keydown', handleSpecialKeyPresses);
110
119
  return () => wrapper.removeEventListener('keydown', handleSpecialKeyPresses);
111
- }, [handleSpecialKeyPresses]);
120
+ }, [handleSpecialKeyPresses, passiveTrigger]);
121
+
122
+ // Passive triggers can't take focus, so open/close follows focus of the interactive host instead.
123
+ const {
124
+ isDismissed
125
+ } = (0, _InteractiveHostFocus.useOnInteractiveHostFocus)({
126
+ wrapperRef: tooltipElement,
127
+ setIsOpen,
128
+ enabled: passiveTrigger
129
+ });
130
+ const triggerIcon = (0, _iconHelpers.renderIcon)(icon);
131
+ if (passiveTrigger) {
132
+ return /*#__PURE__*/_react.default.createElement("span", {
133
+ ref: tooltipElement,
134
+ className: `tooltip passive ${isOpen ? 'isOpen' : ''} ${isDismissed ? 'isDismissed' : ''} ${customCssClass || ''}`
135
+ }, /*#__PURE__*/_react.default.createElement("span", {
136
+ ref: triggerElement,
137
+ className: "icon_only",
138
+ "aria-hidden": "true"
139
+ }, triggerIcon), /*#__PURE__*/_react.default.createElement("span", {
140
+ role: "tooltip",
141
+ ref: contentElement,
142
+ className: `content ${showPointer ? 'showPointer' : ''}`,
143
+ id: getTooltipContentId(triggerId)
144
+ }, children));
145
+ }
112
146
  if (containsBlockElements) {
113
147
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
114
148
  role: "tooltip",
@@ -124,9 +158,7 @@ const Tooltip = props => {
124
158
  'aria-describedby': `${triggerId}_content`
125
159
  } : {}, triggerStyle === 'icon' ? {
126
160
  'aria-label': typeof label === 'string' ? label : undefined
127
- } : {}), triggerStyle === 'icon' && (iconIsElement ? icon : /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
128
- icon: icon.toString()
129
- })), triggerStyle === 'text' && /*#__PURE__*/_react.default.createElement("span", {
161
+ } : {}), triggerStyle === 'icon' && triggerIcon, triggerStyle === 'text' && /*#__PURE__*/_react.default.createElement("span", {
130
162
  className: "labelText"
131
163
  }, label)), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
132
164
  ref: contentElement,
@@ -147,9 +179,7 @@ const Tooltip = props => {
147
179
  id: triggerId
148
180
  } : {}, triggerStyle === 'icon' ? {
149
181
  'aria-label': typeof label === 'string' ? label : undefined
150
- } : {}), triggerStyle === 'icon' && (iconIsElement ? icon : /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
151
- icon: icon.toString()
152
- })), triggerStyle === 'text' && /*#__PURE__*/_react.default.createElement("span", {
182
+ } : {}), triggerStyle === 'icon' && triggerIcon, triggerStyle === 'text' && /*#__PURE__*/_react.default.createElement("span", {
153
183
  className: "labelText"
154
184
  }, label)), /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({
155
185
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","default","Tooltip","_extends2","_react","_interopRequireWildcard","_ClickOutside","_Icon","_EdgeProximityDetect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","props","triggerId","triggerStyle","icon","customCssClass","containsBlockElements","children","label","showPointer","hoverDelay","visualIndicators","underline","colouredText","undefined","isOpen","setIsOpen","useState","isHovered","setIsHovered","tooltipElement","useRef","triggerElement","contentElement","hoverTimer","iconIsElement","React","isValidElement","hasHoverDelay","isVisible","clearHoverTimer","useCallback","current","clearTimeout","handleMouseEnter","setTimeout","handleMouseLeave","dismiss","handleTriggerClick","useEffect","hoverHandlers","onMouseEnter","onMouseLeave","useOnClickOutside","useOnEdgeProximityDetect","triggerRef","wrapperRef","contentRef","requiresRecalc","handleSpecialKeyPresses","event","key","keyCode","wrapper","addEventListener","removeEventListener","createElement","role","ref","className","type","onClick","Icon","toString","id","_default"],"sources":["../../../../../src/components/design/tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useRef, useEffect, useCallback, ReactNode, ReactElement } from 'react';\nimport { useOnClickOutside } from '../../../hooks/ClickOutside';\nimport { Icon } from '../icons/basicIcon/Icon';\nimport { useOnEdgeProximityDetect } from '../../../hooks/EdgeProximityDetect';\nimport './tooltip.scss';\n\n// Define the props for Tooltip\nexport type TooltipProps =\n {\n triggerId?: string;\n icon?: ReactElement | string;\n customCssClass?: string;\n children: ReactNode;\n containsBlockElements?: boolean;\n triggerStyle?: 'icon';\n label?: string | ReactNode;\n showPointer?: boolean;\n hoverDelay?: number;\n }\n | {\n triggerId?: string;\n icon?: ReactElement | string;\n customCssClass?: string;\n children: ReactNode;\n containsBlockElements?: boolean;\n triggerStyle: 'text';\n label?: string | ReactNode;\n showPointer?: boolean;\n hoverDelay?: number;\n visualIndicators?: { underline?: boolean; colouredText?: boolean };\n };\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n const {\n triggerId,\n triggerStyle = 'icon',\n icon = 'info',\n customCssClass,\n containsBlockElements = false,\n children,\n label = 'Toggle tooltip open state',\n showPointer = true,\n hoverDelay,\n // visualIndicators will be handled below\n } = props as any;\n\n // Only use visualIndicators if triggerStyle is 'text'\n const visualIndicators =\n triggerStyle === 'text'\n ? (props as { visualIndicators?: { underline?: boolean; colouredText?: boolean } }).visualIndicators ?? { underline: true, colouredText: true }\n : undefined;\n const [isOpen, setIsOpen] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const tooltipElement = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const triggerElement = useRef<HTMLButtonElement>(null);\n const contentElement = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const hoverTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const iconIsElement = React.isValidElement(icon);\n\n // Hover is handled in css by default. It is only taken over by js when a delay is requested.\n const hasHoverDelay = typeof hoverDelay === 'number' && hoverDelay > 0;\n const isVisible = isOpen || isHovered;\n\n const clearHoverTimer = useCallback(() => {\n if (hoverTimer.current) {\n clearTimeout(hoverTimer.current);\n hoverTimer.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n clearHoverTimer();\n hoverTimer.current = setTimeout(() => setIsHovered(true), hoverDelay);\n }, [clearHoverTimer, hoverDelay]);\n\n const handleMouseLeave = useCallback(() => {\n clearHoverTimer();\n setIsHovered(false);\n }, [clearHoverTimer]);\n\n // Single dismissal path, so every close route clears both the click and hover state\n const dismiss = useCallback(() => {\n clearHoverTimer();\n setIsHovered(false);\n setIsOpen(false);\n }, [clearHoverTimer]);\n\n const handleTriggerClick = useCallback(() => {\n if (isVisible) {\n dismiss();\n return;\n }\n clearHoverTimer();\n setIsOpen(true);\n }, [isVisible, dismiss, clearHoverTimer]);\n\n // Releasing the delay detaches the mouse handlers, so reset any hover state they left behind\n useEffect(() => {\n if (!hasHoverDelay) {\n clearHoverTimer();\n setIsHovered(false);\n }\n }, [hasHoverDelay, clearHoverTimer]);\n\n useEffect(() => clearHoverTimer, [clearHoverTimer]);\n\n const hoverHandlers = hasHoverDelay\n ? { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave }\n : {};\n\n useOnClickOutside(tooltipElement, dismiss);\n\n useOnEdgeProximityDetect({\n triggerRef: triggerElement,\n wrapperRef: tooltipElement,\n contentRef: contentElement,\n requiresRecalc: isVisible,\n });\n\n // Handle special key presses\n const handleSpecialKeyPresses = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' || event.keyCode === 27) {\n dismiss();\n }\n },\n [dismiss],\n );\n\n useEffect(() => {\n const wrapper = tooltipElement.current;\n if (!wrapper) {\n return undefined;\n }\n wrapper.addEventListener('keydown', handleSpecialKeyPresses as EventListener);\n return () => wrapper.removeEventListener('keydown', handleSpecialKeyPresses as EventListener);\n }, [handleSpecialKeyPresses]);\n\n if (containsBlockElements) {\n return (\n <div\n role=\"tooltip\"\n ref={ tooltipElement as React.RefObject<HTMLDivElement> }\n className={ `tooltip tooltip_block ${ isVisible ? 'isOpen' : '' } ${ hasHoverDelay ? 'hoverDelayed' : '' } ${ triggerStyle === 'text' ? 'textDisplay' : '' } ${ customCssClass || '' }` }\n { ...hoverHandlers }\n >\n <button\n ref={ triggerElement }\n type=\"button\"\n onClick={ handleTriggerClick }\n className={ `button ${ triggerStyle === 'text' ? 'text_only' : 'icon_only' } ${ triggerStyle === 'text' && !visualIndicators?.underline ? 'underline_off' : '' } ${ triggerStyle === 'text' && !visualIndicators?.colouredText ? 'colouredText_off' : '' }` }\n { ...(triggerId ? { 'id': triggerId, 'aria-describedby': `${ triggerId }_content` } : {}) }\n { ...(triggerStyle === 'icon' ? { 'aria-label': typeof label === 'string' ? label : undefined } : {}) }\n >\n { triggerStyle === 'icon' && (iconIsElement ? icon : <Icon icon={ icon.toString() } />) }\n { triggerStyle === 'text' && <span className=\"labelText\">{ label }</span> }\n </button>\n <div\n ref={ contentElement as React.RefObject<HTMLDivElement> }\n className={ `content ${ showPointer ? 'showPointer' : '' }` }\n { ...(triggerId ? { id: `${ triggerId }_content` } : {}) }\n >\n { children }\n </div>\n </div>\n );\n }\n\n return (\n <span\n ref={ tooltipElement as React.RefObject<HTMLSpanElement> }\n className={ `tooltip ${ isVisible ? 'isOpen' : '' } ${ hasHoverDelay ? 'hoverDelayed' : '' } ${ triggerStyle === 'text' ? 'textDisplay' : '' } ${ customCssClass || '' }` }\n { ...hoverHandlers }\n >\n <button\n ref={ triggerElement }\n type=\"button\"\n onClick={ handleTriggerClick }\n className={ `button ${ triggerStyle === 'text' ? 'text_only' : 'icon_only' } ${ triggerStyle === 'text' && !visualIndicators?.underline ? 'underline_off' : '' } ${ triggerStyle === 'text' && !visualIndicators?.colouredText ? 'colouredText_off' : '' }` }\n { ...(triggerId ? { id: triggerId } : {}) }\n { ...(triggerStyle === 'icon' ? { 'aria-label': typeof label === 'string' ? label : undefined } : {}) }\n >\n { triggerStyle === 'icon' && (iconIsElement ? icon : <Icon icon={ icon.toString() } />) }\n { triggerStyle === 'text' && <span className=\"labelText\">{ label }</span> }\n </button>\n <span\n aria-hidden\n role=\"presentation\"\n ref={ contentElement as React.RefObject<HTMLSpanElement> }\n className={ `content ${ showPointer ? 'showPointer' : '' }` }\n { ...(triggerId ? { id: `${ triggerId }_content` } : {}) }\n >\n { children }\n </span>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tooltip.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","getTooltipContentId","default","Tooltip","_extends2","_react","_interopRequireWildcard","_ClickOutside","_iconHelpers","_EdgeProximityDetect","_InteractiveHostFocus","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","triggerId","props","triggerStyle","icon","customCssClass","containsBlockElements","children","label","showPointer","hoverDelay","passiveTrigger","visualIndicators","underline","colouredText","undefined","isOpen","setIsOpen","useState","isHovered","setIsHovered","tooltipElement","useRef","triggerElement","contentElement","hoverTimer","hasHoverDelay","isVisible","clearHoverTimer","useCallback","current","clearTimeout","handleMouseEnter","setTimeout","handleMouseLeave","dismiss","handleTriggerClick","useEffect","hoverHandlers","onMouseEnter","onMouseLeave","useOnClickOutside","useOnEdgeProximityDetect","triggerRef","wrapperRef","contentRef","requiresRecalc","handleSpecialKeyPresses","event","key","keyCode","wrapper","addEventListener","removeEventListener","isDismissed","useOnInteractiveHostFocus","enabled","triggerIcon","renderIcon","createElement","ref","className","role","id","type","onClick","_default"],"sources":["../../../../../src/components/design/tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useRef, useEffect, useCallback, ReactNode } from 'react';\nimport { useOnClickOutside } from '../../../hooks/ClickOutside';\nimport { IconSource, renderIcon } from '../../../helpers/iconHelpers';\nimport { useOnEdgeProximityDetect } from '../../../hooks/EdgeProximityDetect';\nimport { useOnInteractiveHostFocus } from '../../../hooks/InteractiveHostFocus';\nimport './tooltip.scss';\n\n// Define the props for Tooltip\nexport type TooltipProps =\n {\n triggerId?: string;\n icon?: IconSource;\n customCssClass?: string;\n children: ReactNode;\n containsBlockElements?: boolean;\n triggerStyle?: 'icon';\n label?: string | ReactNode;\n showPointer?: boolean;\n hoverDelay?: number;\n passiveTrigger?: false;\n }\n | {\n /**\n * Renders a non-focusable trigger for use inside another interactive element (e.g. a button).\n */\n passiveTrigger: true;\n triggerId: string;\n icon?: IconSource;\n customCssClass?: string;\n children: ReactNode;\n showPointer?: boolean;\n }\n | {\n triggerId?: string;\n icon?: IconSource;\n customCssClass?: string;\n children: ReactNode;\n containsBlockElements?: boolean;\n triggerStyle: 'text';\n label?: string | ReactNode;\n showPointer?: boolean;\n hoverDelay?: number;\n visualIndicators?: { underline?: boolean; colouredText?: boolean };\n passiveTrigger?: false;\n };\n\nexport const getTooltipContentId = (triggerId: string) => `${ triggerId }_content`;\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n const {\n triggerId,\n triggerStyle = 'icon',\n icon = 'info',\n customCssClass,\n containsBlockElements = false,\n children,\n label = 'Toggle tooltip open state',\n showPointer = true,\n hoverDelay,\n passiveTrigger = false,\n // visualIndicators will be handled below\n } = props as any;\n\n // Only use visualIndicators if triggerStyle is 'text'\n const visualIndicators =\n triggerStyle === 'text'\n ? (props as { visualIndicators?: { underline?: boolean; colouredText?: boolean } }).visualIndicators ?? { underline: true, colouredText: true }\n : undefined;\n const [isOpen, setIsOpen] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const tooltipElement = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const triggerElement = useRef<HTMLButtonElement | HTMLSpanElement>(null);\n const contentElement = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const hoverTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Hover is handled in css by default. It is only taken over by js when a delay is requested.\n const hasHoverDelay = typeof hoverDelay === 'number' && hoverDelay > 0;\n const isVisible = isOpen || isHovered;\n\n const clearHoverTimer = useCallback(() => {\n if (hoverTimer.current) {\n clearTimeout(hoverTimer.current);\n hoverTimer.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n clearHoverTimer();\n hoverTimer.current = setTimeout(() => setIsHovered(true), hoverDelay);\n }, [clearHoverTimer, hoverDelay]);\n\n const handleMouseLeave = useCallback(() => {\n clearHoverTimer();\n setIsHovered(false);\n }, [clearHoverTimer]);\n\n // Single dismissal path, so every close route clears both the click and hover state\n const dismiss = useCallback(() => {\n clearHoverTimer();\n setIsHovered(false);\n setIsOpen(false);\n }, [clearHoverTimer]);\n\n const handleTriggerClick = useCallback(() => {\n if (isVisible) {\n dismiss();\n return;\n }\n clearHoverTimer();\n setIsOpen(true);\n }, [isVisible, dismiss, clearHoverTimer]);\n\n // Releasing the delay detaches the mouse handlers, so reset any hover state they left behind\n useEffect(() => {\n if (!hasHoverDelay) {\n clearHoverTimer();\n setIsHovered(false);\n }\n }, [hasHoverDelay, clearHoverTimer]);\n\n useEffect(() => clearHoverTimer, [clearHoverTimer]);\n\n const hoverHandlers = hasHoverDelay\n ? { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave }\n : {};\n\n // Passive mode closes on host blur; focusin on the host would otherwise count as \"outside\".\n useOnClickOutside(tooltipElement, () => {\n if (!passiveTrigger) {\n dismiss();\n }\n });\n\n useOnEdgeProximityDetect({\n triggerRef: triggerElement,\n wrapperRef: tooltipElement,\n contentRef: contentElement,\n requiresRecalc: isVisible,\n });\n\n // Handle special key presses\n const handleSpecialKeyPresses = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' || event.keyCode === 27) {\n dismiss();\n }\n },\n [dismiss],\n );\n\n useEffect(() => {\n const wrapper = tooltipElement.current;\n if (!wrapper || passiveTrigger) {\n return undefined;\n }\n wrapper.addEventListener('keydown', handleSpecialKeyPresses as EventListener);\n return () => wrapper.removeEventListener('keydown', handleSpecialKeyPresses as EventListener);\n }, [handleSpecialKeyPresses, passiveTrigger]);\n\n // Passive triggers can't take focus, so open/close follows focus of the interactive host instead.\n const { isDismissed } = useOnInteractiveHostFocus({\n wrapperRef: tooltipElement,\n setIsOpen,\n enabled: passiveTrigger,\n });\n\n const triggerIcon = renderIcon(icon);\n\n if (passiveTrigger) {\n return (\n <span\n ref={ tooltipElement as React.RefObject<HTMLSpanElement> }\n className={ `tooltip passive ${ isOpen ? 'isOpen' : '' } ${ isDismissed ? 'isDismissed' : '' } ${ customCssClass || '' }` }\n >\n <span\n ref={ triggerElement as React.RefObject<HTMLSpanElement> }\n className=\"icon_only\"\n aria-hidden=\"true\"\n >\n { triggerIcon }\n </span>\n <span\n role=\"tooltip\"\n ref={ contentElement as React.RefObject<HTMLSpanElement> }\n className={ `content ${ showPointer ? 'showPointer' : '' }` }\n id={ getTooltipContentId(triggerId) }\n >\n { children }\n </span>\n </span>\n );\n }\n\n if (containsBlockElements) {\n return (\n <div\n role=\"tooltip\"\n ref={ tooltipElement as React.RefObject<HTMLDivElement> }\n className={ `tooltip tooltip_block ${ isVisible ? 'isOpen' : '' } ${ hasHoverDelay ? 'hoverDelayed' : '' } ${ triggerStyle === 'text' ? 'textDisplay' : '' } ${ customCssClass || '' }` }\n { ...hoverHandlers }\n >\n <button\n ref={ triggerElement as React.RefObject<HTMLButtonElement> }\n type=\"button\"\n onClick={ handleTriggerClick }\n className={ `button ${ triggerStyle === 'text' ? 'text_only' : 'icon_only' } ${ triggerStyle === 'text' && !visualIndicators?.underline ? 'underline_off' : '' } ${ triggerStyle === 'text' && !visualIndicators?.colouredText ? 'colouredText_off' : '' }` }\n { ...(triggerId ? { 'id': triggerId, 'aria-describedby': `${ triggerId }_content` } : {}) }\n { ...(triggerStyle === 'icon' ? { 'aria-label': typeof label === 'string' ? label : undefined } : {}) }\n >\n { triggerStyle === 'icon' && triggerIcon }\n { triggerStyle === 'text' && <span className=\"labelText\">{ label }</span> }\n </button>\n <div\n ref={ contentElement as React.RefObject<HTMLDivElement> }\n className={ `content ${ showPointer ? 'showPointer' : '' }` }\n { ...(triggerId ? { id: `${ triggerId }_content` } : {}) }\n >\n { children }\n </div>\n </div>\n );\n }\n\n return (\n <span\n ref={ tooltipElement as React.RefObject<HTMLSpanElement> }\n className={ `tooltip ${ isVisible ? 'isOpen' : '' } ${ hasHoverDelay ? 'hoverDelayed' : '' } ${ triggerStyle === 'text' ? 'textDisplay' : '' } ${ customCssClass || '' }` }\n { ...hoverHandlers }\n >\n <button\n ref={ triggerElement as React.RefObject<HTMLButtonElement> }\n type=\"button\"\n onClick={ handleTriggerClick }\n className={ `button ${ triggerStyle === 'text' ? 'text_only' : 'icon_only' } ${ triggerStyle === 'text' && !visualIndicators?.underline ? 'underline_off' : '' } ${ triggerStyle === 'text' && !visualIndicators?.colouredText ? 'colouredText_off' : '' }` }\n { ...(triggerId ? { id: triggerId } : {}) }\n { ...(triggerStyle === 'icon' ? { 'aria-label': typeof label === 'string' ? label : undefined } : {}) }\n >\n { triggerStyle === 'icon' && triggerIcon }\n { triggerStyle === 'text' && <span className=\"labelText\">{ label }</span> }\n </button>\n <span\n aria-hidden\n role=\"presentation\"\n ref={ contentElement as React.RefObject<HTMLSpanElement> }\n className={ `content ${ showPointer ? 'showPointer' : '' }` }\n { ...(triggerId ? { id: `${ triggerId }_content` } : {}) }\n >\n { children }\n </span>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "Tooltip", {
15
15
  return _Tooltip.Tooltip;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "getTooltipContentId", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _Tooltip.getTooltipContentId;
22
+ }
23
+ });
18
24
  var _Tooltip = require("./Tooltip");
19
25
  var _EllipsisTooltip = require("./ellipsisTooltip/EllipsisTooltip");
20
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Tooltip","require","_EllipsisTooltip"],"sources":["../../../../../src/components/design/tooltip/index.ts"],"sourcesContent":["export { Tooltip } from './Tooltip';\nexport type { TooltipProps } from './Tooltip';\n\nexport { EllipsisTooltip } from './ellipsisTooltip/EllipsisTooltip';\nexport type { EllipsisTooltipProps } from './ellipsisTooltip/EllipsisTooltip';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Tooltip","require","_EllipsisTooltip"],"sources":["../../../../../src/components/design/tooltip/index.ts"],"sourcesContent":["export { Tooltip, getTooltipContentId } from './Tooltip';\nexport type { TooltipProps } from './Tooltip';\n\nexport { EllipsisTooltip } from './ellipsisTooltip/EllipsisTooltip';\nexport type { EllipsisTooltipProps } from './ellipsisTooltip/EllipsisTooltip';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}