@plesk/ui-library 3.27.1 → 3.27.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/README.md +35 -35
  2. package/cjs/components/Action/Action.js +3 -3
  3. package/cjs/components/Alert/Alert.js +5 -5
  4. package/cjs/components/AutoClosable/AutoClosable.js +3 -3
  5. package/cjs/components/AuxiliaryActions/AuxiliaryActions.js +3 -3
  6. package/cjs/components/Badge/Badge.js +3 -3
  7. package/cjs/components/Breadcrumbs/Breadcrumbs.js +4 -4
  8. package/cjs/components/Button/Button.js +50 -50
  9. package/cjs/components/ButtonGroup/ButtonGroup.js +3 -3
  10. package/cjs/components/Card/Card.js +52 -52
  11. package/cjs/components/Card/CardButton.js +2 -2
  12. package/cjs/components/Card/PreviewPanel.js +3 -3
  13. package/cjs/components/Card/images/no-image.svg +6 -6
  14. package/cjs/components/CardList/CardList.js +55 -55
  15. package/cjs/components/Carousel/Carousel.js +11 -11
  16. package/cjs/components/Checkbox/Checkbox.js +3 -3
  17. package/cjs/components/CodeEditor/CodeEditor.js +40 -40
  18. package/cjs/components/Columns/Column.js +3 -3
  19. package/cjs/components/Columns/Columns.js +3 -3
  20. package/cjs/components/ComboBox/ComboBox.js +4 -4
  21. package/cjs/components/ComboBox/ComboBoxOption.js +3 -3
  22. package/cjs/components/ConsoleOutput/ConsoleOutput.js +3 -3
  23. package/cjs/components/ContentLoader/ContentLoader.js +3 -3
  24. package/cjs/components/Cuttable/Cuttable.js +3 -3
  25. package/cjs/components/Dialog/Dialog.js +74 -65
  26. package/cjs/components/Drawer/Drawer.js +71 -71
  27. package/cjs/components/Dropdown/Dropdown.js +24 -24
  28. package/cjs/components/ExtendedStatusMessage/ExtendedStatusMessage.js +4 -4
  29. package/cjs/components/ExtendedStatusMessage/ExtendedStatusMessageActions.js +3 -3
  30. package/cjs/components/ExtendedStatusMessage/ExtendedStatusMessageDescription.js +3 -3
  31. package/cjs/components/ExtendedStatusMessage/ExtendedStatusMessageSeparator.js +3 -3
  32. package/cjs/components/ExtendedStatusMessage/ExtendedStatusMessageTitle.js +3 -3
  33. package/cjs/components/Figure/Figure.js +14 -14
  34. package/cjs/components/Form/Form.js +4 -4
  35. package/cjs/components/Form/utils.js +22 -22
  36. package/cjs/components/FormField/FormField.js +78 -78
  37. package/cjs/components/FormFieldCheckbox/FormFieldCheckbox.js +26 -26
  38. package/cjs/components/FormFieldPassword/FormFieldPassword.js +28 -252
  39. package/cjs/components/FormFieldPassword/PasswordMeter.js +81 -0
  40. package/cjs/components/FormFieldPassword/estimatePassword.js +203 -0
  41. package/cjs/components/FormFieldPassword/generatePassword.js +21 -0
  42. package/cjs/components/FormFieldPassword/index.js +5 -5
  43. package/cjs/components/FormFieldRadioButtons/FormFieldRadioButtons.js +32 -32
  44. package/cjs/components/FormFieldSelect/FormFieldSelect.js +4 -4
  45. package/cjs/components/FormFieldText/FormFieldText.js +36 -36
  46. package/cjs/components/Grid/Grid.js +37 -37
  47. package/cjs/components/GridCol/GridCol.js +25 -25
  48. package/cjs/components/Heading/Heading.js +3 -3
  49. package/cjs/components/Hint/Hint.js +3 -3
  50. package/cjs/components/Icon/Icon.js +6 -6
  51. package/cjs/components/Icon/constants.js +2 -2
  52. package/cjs/components/Icon/images/symbols.svg +1661 -1653
  53. package/cjs/components/InPlaceEdit/InPlaceEdit.js +15 -15
  54. package/cjs/components/Input/Input.js +3 -3
  55. package/cjs/components/InputFile/InputFile.js +3 -3
  56. package/cjs/components/InputNumber/InputNumber.js +3 -3
  57. package/cjs/components/Item/Item.js +41 -41
  58. package/cjs/components/ItemLink/ItemLink.js +4 -4
  59. package/cjs/components/ItemList/ItemList.js +6 -6
  60. package/cjs/components/Label/Label.js +3 -3
  61. package/cjs/components/Layer/Layer.js +2 -2
  62. package/cjs/components/Layout/Layout.js +55 -55
  63. package/cjs/components/Link/Link.js +6 -6
  64. package/cjs/components/List/List.js +134 -134
  65. package/cjs/components/List/ListAction.js +4 -4
  66. package/cjs/components/List/ListActions.js +3 -3
  67. package/cjs/components/List/ListActionsDivider.js +4 -4
  68. package/cjs/components/List/ListEmptyView.js +4 -4
  69. package/cjs/components/List/ListOperation.js +4 -4
  70. package/cjs/components/LocaleProvider/LocaleProvider.js +3 -3
  71. package/cjs/components/Markdown/Markdown.js +13 -13
  72. package/cjs/components/Media/Media.js +37 -37
  73. package/cjs/components/Media/MediaSection.js +10 -10
  74. package/cjs/components/Menu/Menu.js +28 -28
  75. package/cjs/components/Menu/MenuBaseItem.js +19 -19
  76. package/cjs/components/Menu/MenuDivider.js +7 -7
  77. package/cjs/components/Menu/MenuHeader.js +10 -10
  78. package/cjs/components/Menu/MenuItem.js +27 -27
  79. package/cjs/components/Menu/MenuSelectableItem.js +13 -13
  80. package/cjs/components/Overlay/Backdrop.js +6 -6
  81. package/cjs/components/Overlay/Overlay.js +34 -34
  82. package/cjs/components/PageHeader/PageHeader.js +3 -3
  83. package/cjs/components/Pagination/Pagination.js +3 -3
  84. package/cjs/components/Panel/Panel.js +3 -3
  85. package/cjs/components/Paragraph/Paragraph.js +3 -3
  86. package/cjs/components/Plaintext/Plaintext.js +10 -10
  87. package/cjs/components/Popover/Popover.js +59 -59
  88. package/cjs/components/Popper/Popper.js +30 -30
  89. package/cjs/components/Progress/Progress.js +13 -13
  90. package/cjs/components/ProgressDialog/ProgressDialog.js +49 -48
  91. package/cjs/components/ProgressDialogStep/ProgressDialogStep.js +3 -3
  92. package/cjs/components/ProgressStep/ProgressStep.js +25 -25
  93. package/cjs/components/Radio/Radio.js +3 -3
  94. package/cjs/components/Rating/Rating.js +13 -13
  95. package/cjs/components/Rating/images/rating.svg +6 -6
  96. package/cjs/components/Section/Section.js +41 -41
  97. package/cjs/components/Section/SectionItem.js +18 -18
  98. package/cjs/components/SegmentedControl/SegmentedControl.js +37 -37
  99. package/cjs/components/Select/MultiValue.js +1 -1
  100. package/cjs/components/Select/Select.js +3 -3
  101. package/cjs/components/Select/SelectControl.js +1 -1
  102. package/cjs/components/Select/SelectOption.js +3 -3
  103. package/cjs/components/Select/SelectOptionGroup.js +3 -3
  104. package/cjs/components/Spinner/Spinner.js +2 -2
  105. package/cjs/components/SplitButton/SplitButton.js +20 -20
  106. package/cjs/components/Spot/Spot.js +3 -3
  107. package/cjs/components/Status/Status.js +3 -3
  108. package/cjs/components/StatusMessage/StatusMessage.js +4 -4
  109. package/cjs/components/Subnav/Subnav.js +22 -22
  110. package/cjs/components/Switch/Switch.js +31 -31
  111. package/cjs/components/SwitchesPanel/SwitchesPanel.js +10 -10
  112. package/cjs/components/SwitchesPanelItem/SwitchesPanelItem.js +33 -33
  113. package/cjs/components/Tabs/SearchBar.js +57 -57
  114. package/cjs/components/Tabs/Tab.js +28 -28
  115. package/cjs/components/Tabs/Tabs.js +33 -33
  116. package/cjs/components/Text/Text.js +3 -3
  117. package/cjs/components/TextArea/TextArea.js +3 -3
  118. package/cjs/components/Toaster/Toaster.js +32 -32
  119. package/cjs/components/Toolbar/Toolbar.js +13 -13
  120. package/cjs/components/Toolbar/ToolbarExpander.js +5 -5
  121. package/cjs/components/Toolbar/ToolbarGroup.js +17 -17
  122. package/cjs/components/Tooltip/Tooltip.js +19 -19
  123. package/cjs/components/Tour/Tour.js +5 -5
  124. package/cjs/components/Translate/Translate.js +25 -25
  125. package/cjs/index.js +1 -1
  126. package/dist/images/no-image.svg +6 -6
  127. package/dist/images/rating.svg +6 -6
  128. package/dist/images/symbols.svg +1661 -1653
  129. package/dist/plesk-ui-library-rtl.css +1 -1
  130. package/dist/plesk-ui-library-rtl.css.map +1 -1
  131. package/dist/plesk-ui-library.css +1 -1
  132. package/dist/plesk-ui-library.css.map +1 -1
  133. package/dist/plesk-ui-library.js +6277 -6300
  134. package/dist/plesk-ui-library.js.map +1 -1
  135. package/dist/plesk-ui-library.min.js +5 -5
  136. package/dist/plesk-ui-library.min.js.map +1 -1
  137. package/esm/components/Action/Action.js +3 -3
  138. package/esm/components/Alert/Alert.js +5 -5
  139. package/esm/components/AutoClosable/AutoClosable.js +3 -3
  140. package/esm/components/AuxiliaryActions/AuxiliaryActions.js +3 -3
  141. package/esm/components/Badge/Badge.js +3 -3
  142. package/esm/components/Breadcrumbs/Breadcrumbs.js +4 -4
  143. package/esm/components/Button/Button.js +50 -50
  144. package/esm/components/ButtonGroup/ButtonGroup.js +3 -3
  145. package/esm/components/Card/Card.js +52 -52
  146. package/esm/components/Card/CardButton.js +2 -2
  147. package/esm/components/Card/PreviewPanel.js +3 -3
  148. package/esm/components/Card/images/no-image.svg +6 -6
  149. package/esm/components/CardList/CardList.js +55 -55
  150. package/esm/components/Carousel/Carousel.js +11 -11
  151. package/esm/components/Checkbox/Checkbox.js +3 -3
  152. package/esm/components/CodeEditor/CodeEditor.js +40 -40
  153. package/esm/components/Columns/Column.js +3 -3
  154. package/esm/components/Columns/Columns.js +3 -3
  155. package/esm/components/ComboBox/ComboBox.js +4 -4
  156. package/esm/components/ComboBox/ComboBoxOption.js +3 -3
  157. package/esm/components/ConsoleOutput/ConsoleOutput.js +3 -3
  158. package/esm/components/ContentLoader/ContentLoader.js +3 -3
  159. package/esm/components/Cuttable/Cuttable.js +3 -3
  160. package/esm/components/Dialog/Dialog.js +74 -65
  161. package/esm/components/Drawer/Drawer.js +71 -71
  162. package/esm/components/Dropdown/Dropdown.js +24 -24
  163. package/esm/components/ExtendedStatusMessage/ExtendedStatusMessage.js +4 -4
  164. package/esm/components/ExtendedStatusMessage/ExtendedStatusMessageActions.js +3 -3
  165. package/esm/components/ExtendedStatusMessage/ExtendedStatusMessageDescription.js +3 -3
  166. package/esm/components/ExtendedStatusMessage/ExtendedStatusMessageSeparator.js +3 -3
  167. package/esm/components/ExtendedStatusMessage/ExtendedStatusMessageTitle.js +3 -3
  168. package/esm/components/Figure/Figure.js +14 -14
  169. package/esm/components/Form/Form.js +4 -4
  170. package/esm/components/Form/utils.js +22 -22
  171. package/esm/components/FormField/FormField.js +78 -78
  172. package/esm/components/FormFieldCheckbox/FormFieldCheckbox.js +26 -26
  173. package/esm/components/FormFieldPassword/FormFieldPassword.js +26 -245
  174. package/esm/components/FormFieldPassword/PasswordMeter.js +61 -0
  175. package/esm/components/FormFieldPassword/estimatePassword.js +187 -0
  176. package/esm/components/FormFieldPassword/generatePassword.js +14 -0
  177. package/esm/components/FormFieldPassword/index.js +3 -2
  178. package/esm/components/FormFieldRadioButtons/FormFieldRadioButtons.js +32 -32
  179. package/esm/components/FormFieldSelect/FormFieldSelect.js +4 -4
  180. package/esm/components/FormFieldText/FormFieldText.js +36 -36
  181. package/esm/components/Grid/Grid.js +37 -37
  182. package/esm/components/GridCol/GridCol.js +25 -25
  183. package/esm/components/Heading/Heading.js +3 -3
  184. package/esm/components/Hint/Hint.js +3 -3
  185. package/esm/components/Icon/Icon.js +6 -6
  186. package/esm/components/Icon/constants.js +2 -2
  187. package/esm/components/Icon/images/symbols.svg +1661 -1653
  188. package/esm/components/InPlaceEdit/InPlaceEdit.js +15 -15
  189. package/esm/components/Input/Input.js +3 -3
  190. package/esm/components/InputFile/InputFile.js +3 -3
  191. package/esm/components/InputNumber/InputNumber.js +3 -3
  192. package/esm/components/Item/Item.js +41 -41
  193. package/esm/components/ItemLink/ItemLink.js +4 -4
  194. package/esm/components/ItemList/ItemList.js +6 -6
  195. package/esm/components/Label/Label.js +3 -3
  196. package/esm/components/Layer/Layer.js +2 -2
  197. package/esm/components/Layout/Layout.js +55 -55
  198. package/esm/components/Link/Link.js +6 -6
  199. package/esm/components/List/List.js +134 -134
  200. package/esm/components/List/ListAction.js +4 -4
  201. package/esm/components/List/ListActions.js +3 -3
  202. package/esm/components/List/ListActionsDivider.js +4 -4
  203. package/esm/components/List/ListEmptyView.js +4 -4
  204. package/esm/components/List/ListOperation.js +4 -4
  205. package/esm/components/LocaleProvider/LocaleProvider.js +3 -3
  206. package/esm/components/Markdown/Markdown.js +13 -13
  207. package/esm/components/Media/Media.js +37 -37
  208. package/esm/components/Media/MediaSection.js +10 -10
  209. package/esm/components/Menu/Menu.js +28 -28
  210. package/esm/components/Menu/MenuBaseItem.js +19 -19
  211. package/esm/components/Menu/MenuDivider.js +7 -7
  212. package/esm/components/Menu/MenuHeader.js +10 -10
  213. package/esm/components/Menu/MenuItem.js +27 -27
  214. package/esm/components/Menu/MenuSelectableItem.js +13 -13
  215. package/esm/components/Overlay/Backdrop.js +6 -6
  216. package/esm/components/Overlay/Overlay.js +34 -34
  217. package/esm/components/PageHeader/PageHeader.js +3 -3
  218. package/esm/components/Pagination/Pagination.js +3 -3
  219. package/esm/components/Panel/Panel.js +3 -3
  220. package/esm/components/Paragraph/Paragraph.js +3 -3
  221. package/esm/components/Plaintext/Plaintext.js +10 -10
  222. package/esm/components/Popover/Popover.js +59 -59
  223. package/esm/components/Popper/Popper.js +30 -30
  224. package/esm/components/Progress/Progress.js +13 -13
  225. package/esm/components/ProgressDialog/ProgressDialog.js +49 -48
  226. package/esm/components/ProgressDialogStep/ProgressDialogStep.js +3 -3
  227. package/esm/components/ProgressStep/ProgressStep.js +25 -25
  228. package/esm/components/Radio/Radio.js +3 -3
  229. package/esm/components/Rating/Rating.js +13 -13
  230. package/esm/components/Rating/images/rating.svg +6 -6
  231. package/esm/components/Section/Section.js +41 -41
  232. package/esm/components/Section/SectionItem.js +18 -18
  233. package/esm/components/SegmentedControl/SegmentedControl.js +37 -37
  234. package/esm/components/Select/MultiValue.js +1 -1
  235. package/esm/components/Select/Select.js +3 -3
  236. package/esm/components/Select/SelectControl.js +1 -1
  237. package/esm/components/Select/SelectOption.js +3 -3
  238. package/esm/components/Select/SelectOptionGroup.js +3 -3
  239. package/esm/components/Spinner/Spinner.js +2 -2
  240. package/esm/components/SplitButton/SplitButton.js +20 -20
  241. package/esm/components/Spot/Spot.js +3 -3
  242. package/esm/components/Status/Status.js +3 -3
  243. package/esm/components/StatusMessage/StatusMessage.js +4 -4
  244. package/esm/components/Subnav/Subnav.js +22 -22
  245. package/esm/components/Switch/Switch.js +31 -31
  246. package/esm/components/SwitchesPanel/SwitchesPanel.js +10 -10
  247. package/esm/components/SwitchesPanelItem/SwitchesPanelItem.js +33 -33
  248. package/esm/components/Tabs/SearchBar.js +57 -57
  249. package/esm/components/Tabs/Tab.js +28 -28
  250. package/esm/components/Tabs/Tabs.js +33 -33
  251. package/esm/components/Text/Text.js +3 -3
  252. package/esm/components/TextArea/TextArea.js +3 -3
  253. package/esm/components/Toaster/Toaster.js +32 -32
  254. package/esm/components/Toolbar/Toolbar.js +13 -13
  255. package/esm/components/Toolbar/ToolbarExpander.js +5 -5
  256. package/esm/components/Toolbar/ToolbarGroup.js +17 -17
  257. package/esm/components/Tooltip/Tooltip.js +19 -19
  258. package/esm/components/Tour/Tour.js +5 -5
  259. package/esm/components/Translate/Translate.js +25 -25
  260. package/esm/index.js +1 -1
  261. package/index.js +5 -5
  262. package/package.json +151 -146
  263. package/scripts/postinstall.js +9 -9
  264. package/styleguide/browserconfig.xml +9 -9
  265. package/styleguide/build/bundle.5df0ee96.js +2 -0
  266. package/styleguide/build/{bundle.aabb094f.js.LICENSE.txt → bundle.5df0ee96.js.LICENSE.txt} +0 -0
  267. package/styleguide/images/no-image.svg +6 -6
  268. package/styleguide/images/rating.svg +6 -6
  269. package/styleguide/images/symbols.svg +1661 -1653
  270. package/styleguide/index.html +2 -2
  271. package/styleguide/placeholders/placeholder_400x200.svg +5 -5
  272. package/styleguide/placeholders/placeholder_400x400.svg +5 -5
  273. package/styleguide/placeholders/placeholder_600x400.svg +5 -5
  274. package/styleguide/safari-pinned-tab.svg +28 -28
  275. package/styleguide/site.webmanifest +19 -19
  276. package/types/package.d.ts +133 -128
  277. package/types/src/components/Action/Action.d.ts +61 -61
  278. package/types/src/components/Action/index.d.ts +1 -1
  279. package/types/src/components/Alert/Alert.d.ts +36 -36
  280. package/types/src/components/Alert/Alert.stories.d.ts +14 -14
  281. package/types/src/components/Alert/index.d.ts +1 -1
  282. package/types/src/components/AutoClosable/AutoClosable.d.ts +59 -59
  283. package/types/src/components/AutoClosable/index.d.ts +1 -1
  284. package/types/src/components/AuxiliaryActions/AuxiliaryActions.d.ts +28 -28
  285. package/types/src/components/AuxiliaryActions/index.d.ts +1 -1
  286. package/types/src/components/Badge/Badge.d.ts +39 -39
  287. package/types/src/components/Badge/index.d.ts +1 -1
  288. package/types/src/components/Breadcrumbs/Breadcrumbs.d.ts +25 -25
  289. package/types/src/components/Breadcrumbs/index.d.ts +1 -1
  290. package/types/src/components/Button/Button.stories.d.ts +16 -16
  291. package/types/src/components/ButtonGroup/ButtonGroup.d.ts +27 -27
  292. package/types/src/components/ButtonGroup/index.d.ts +1 -1
  293. package/types/src/components/Card/PreviewPanel.d.ts +53 -53
  294. package/types/src/components/Card/helpers.d.ts +5 -5
  295. package/types/src/components/Checkbox/Checkbox.d.ts +67 -67
  296. package/types/src/components/Checkbox/index.d.ts +1 -1
  297. package/types/src/components/ClosingConfirmation/index.d.ts +1 -1
  298. package/types/src/components/ClosingConfirmation/useClosingConfirmation.d.ts +10 -10
  299. package/types/src/components/Columns/Column.d.ts +52 -52
  300. package/types/src/components/Columns/Columns.d.ts +34 -34
  301. package/types/src/components/Columns/index.d.ts +2 -2
  302. package/types/src/components/ComboBox/ComboBox.d.ts +58 -58
  303. package/types/src/components/ComboBox/ComboBoxOption.d.ts +19 -19
  304. package/types/src/components/ComboBox/index.d.ts +2 -2
  305. package/types/src/components/ComboBoxDropdown/ComboBoxDropdown.d.ts +40 -40
  306. package/types/src/components/ComboBoxDropdown/index.d.ts +1 -1
  307. package/types/src/components/ConsoleOutput/ConsoleOutput.d.ts +52 -52
  308. package/types/src/components/ConsoleOutput/index.d.ts +1 -1
  309. package/types/src/components/ContentLoader/ContentLoader.d.ts +60 -60
  310. package/types/src/components/ContentLoader/IconsLoader.d.ts +10 -10
  311. package/types/src/components/ContentLoader/index.d.ts +1 -1
  312. package/types/src/components/Cuttable/Cuttable.d.ts +63 -63
  313. package/types/src/components/Cuttable/Cuttable.stories.d.ts +34 -34
  314. package/types/src/components/Cuttable/index.d.ts +1 -1
  315. package/types/src/components/Dialog/Dialog.stories.d.ts +22 -22
  316. package/types/src/components/DistractionFreeModeContext/DistractionFreeModeContext.d.ts +7 -7
  317. package/types/src/components/DistractionFreeModeContext/index.d.ts +1 -1
  318. package/types/src/components/Drawer/Drawer.stories.d.ts +40 -40
  319. package/types/src/components/Drawer/DrawerProgress.d.ts +45 -45
  320. package/types/src/components/ExtendedStatusMessage/ExtendedStatusMessage.d.ts +38 -38
  321. package/types/src/components/ExtendedStatusMessage/ExtendedStatusMessageActions.d.ts +22 -22
  322. package/types/src/components/ExtendedStatusMessage/ExtendedStatusMessageDescription.d.ts +22 -22
  323. package/types/src/components/ExtendedStatusMessage/ExtendedStatusMessageSeparator.d.ts +13 -13
  324. package/types/src/components/ExtendedStatusMessage/ExtendedStatusMessageTitle.d.ts +22 -22
  325. package/types/src/components/ExtendedStatusMessage/index.d.ts +5 -5
  326. package/types/src/components/FocusTrap/FocusTrap.d.ts +7 -7
  327. package/types/src/components/FocusTrap/index.d.ts +1 -1
  328. package/types/src/components/Form/DisabledContext.d.ts +3 -3
  329. package/types/src/components/Form/Form.d.ts +163 -163
  330. package/types/src/components/Form/Form.stories.d.ts +12 -12
  331. package/types/src/components/Form/FormContext.d.ts +16 -16
  332. package/types/src/components/Form/index.d.ts +2 -2
  333. package/types/src/components/Form/utils.d.ts +32 -32
  334. package/types/src/components/FormFieldCheckbox/FormFieldCheckbox.stories.d.ts +17 -17
  335. package/types/src/components/FormFieldPassword/FormFieldPassword.d.ts +91 -0
  336. package/types/src/components/FormFieldPassword/PasswordMeter.d.ts +9 -0
  337. package/types/src/components/FormFieldPassword/estimatePassword.d.ts +13 -0
  338. package/types/src/components/FormFieldPassword/index.d.ts +2 -0
  339. package/types/src/components/FormFieldSelect/FormFieldSelect.d.ts +13 -13
  340. package/types/src/components/FormFieldSelect/index.d.ts +1 -1
  341. package/types/src/components/Heading/Heading.d.ts +39 -39
  342. package/types/src/components/Heading/index.d.ts +1 -1
  343. package/types/src/components/Hint/Hint.d.ts +24 -24
  344. package/types/src/components/Hint/index.d.ts +1 -1
  345. package/types/src/components/Icon/Icon.d.ts +88 -88
  346. package/types/src/components/Icon/Icon.stories.d.ts +6 -6
  347. package/types/src/components/Icon/constants.d.ts +3 -3
  348. package/types/src/components/Icon/index.d.ts +2 -2
  349. package/types/src/components/Icon/oldIconNames.d.ts +5 -5
  350. package/types/src/components/Input/Input.d.ts +57 -57
  351. package/types/src/components/Input/index.d.ts +1 -1
  352. package/types/src/components/InputFile/InputFile.d.ts +49 -49
  353. package/types/src/components/InputFile/index.d.ts +1 -1
  354. package/types/src/components/InputNumber/InputNumber.d.ts +64 -64
  355. package/types/src/components/InputNumber/index.d.ts +1 -1
  356. package/types/src/components/ItemLink/ItemLink.d.ts +28 -28
  357. package/types/src/components/ItemLink/ItemLink.stories.d.ts +14 -14
  358. package/types/src/components/ItemLink/index.d.ts +1 -1
  359. package/types/src/components/ItemList/ItemList.d.ts +113 -113
  360. package/types/src/components/ItemList/ItemList.stories.d.ts +289 -289
  361. package/types/src/components/Label/Label.d.ts +28 -28
  362. package/types/src/components/Label/index.d.ts +1 -1
  363. package/types/src/components/Layer/Layer.d.ts +29 -29
  364. package/types/src/components/Layer/index.d.ts +2 -2
  365. package/types/src/components/Link/Link.d.ts +47 -47
  366. package/types/src/components/Link/index.d.ts +1 -1
  367. package/types/src/components/List/List.stories.d.ts +29 -29
  368. package/types/src/components/List/ListAction.d.ts +39 -39
  369. package/types/src/components/List/ListActions.d.ts +30 -30
  370. package/types/src/components/List/ListActionsDivider.d.ts +10 -10
  371. package/types/src/components/List/ListEmptyView.d.ts +44 -44
  372. package/types/src/components/List/ListOperation.d.ts +42 -42
  373. package/types/src/components/List/ListOperationContext.d.ts +7 -7
  374. package/types/src/components/LocaleProvider/LocaleProvider.d.ts +37 -37
  375. package/types/src/components/LocaleProvider/index.d.ts +2 -2
  376. package/types/src/components/Menu/Menu.stories.d.ts +19 -19
  377. package/types/src/components/OnDarkContext/OnDarkContext.d.ts +3 -3
  378. package/types/src/components/OnDarkContext/index.d.ts +1 -1
  379. package/types/src/components/PageHeader/PageHeader.d.ts +53 -53
  380. package/types/src/components/PageHeader/index.d.ts +1 -1
  381. package/types/src/components/Pagination/Pagination.d.ts +77 -77
  382. package/types/src/components/Panel/Panel.d.ts +65 -65
  383. package/types/src/components/Paragraph/Paragraph.d.ts +29 -29
  384. package/types/src/components/Paragraph/index.d.ts +1 -1
  385. package/types/src/components/Popover/Popover.stories.d.ts +22 -22
  386. package/types/src/components/ProgressBar/ProgressBar.d.ts +23 -23
  387. package/types/src/components/ProgressBar/ProgressIndicator.d.ts +21 -21
  388. package/types/src/components/ProgressBar/index.d.ts +1 -1
  389. package/types/src/components/Radio/Radio.d.ts +52 -52
  390. package/types/src/components/Radio/index.d.ts +1 -1
  391. package/types/src/components/ResponsiveContext/ResponsiveContext.d.ts +3 -3
  392. package/types/src/components/ResponsiveContext/index.d.ts +1 -1
  393. package/types/src/components/Select/MultiValue.d.ts +9 -9
  394. package/types/src/components/Select/Select.d.ts +74 -74
  395. package/types/src/components/Select/Select.stories.d.ts +23 -23
  396. package/types/src/components/Select/SelectControl.d.ts +26 -26
  397. package/types/src/components/Select/SelectOption.d.ts +29 -29
  398. package/types/src/components/Select/SelectOptionGroup.d.ts +20 -20
  399. package/types/src/components/Select/index.d.ts +3 -3
  400. package/types/src/components/Select/structures.d.ts +19 -19
  401. package/types/src/components/Spinner/Spinner.d.ts +18 -18
  402. package/types/src/components/Spinner/index.d.ts +1 -1
  403. package/types/src/components/Spot/Spot.d.ts +70 -70
  404. package/types/src/components/Spot/SpotPopup.d.ts +25 -25
  405. package/types/src/components/Spot/SpotPulsar.d.ts +10 -10
  406. package/types/src/components/Spot/index.d.ts +1 -1
  407. package/types/src/components/Squeezer/Squeezer.d.ts +22 -22
  408. package/types/src/components/Squeezer/index.d.ts +1 -1
  409. package/types/src/components/Status/Status.d.ts +69 -69
  410. package/types/src/components/Status/Status.stories.d.ts +22 -22
  411. package/types/src/components/Status/index.d.ts +1 -1
  412. package/types/src/components/StatusMessage/StatusMessage.d.ts +29 -29
  413. package/types/src/components/StatusMessage/index.d.ts +1 -1
  414. package/types/src/components/Tabs/Tabs.stories.d.ts +7 -7
  415. package/types/src/components/Text/Text.d.ts +64 -64
  416. package/types/src/components/Text/index.d.ts +1 -1
  417. package/types/src/components/TextArea/TextArea.d.ts +69 -69
  418. package/types/src/components/TextArea/calculateNodeHeight.d.ts +6 -6
  419. package/types/src/components/Toast/Toast.d.ts +40 -40
  420. package/types/src/components/Toast/index.d.ts +2 -2
  421. package/types/src/components/Toaster/Toaster.d.ts +93 -93
  422. package/types/src/components/Toaster/index.d.ts +1 -1
  423. package/types/src/components/Toolbar/RegistryContext.d.ts +16 -16
  424. package/types/src/components/Toolbar/ToolbarExpander.d.ts +24 -24
  425. package/types/src/components/Toolbar/ToolbarItem.d.ts +2 -2
  426. package/types/src/components/Toolbar/ToolbarMenu.d.ts +7 -7
  427. package/types/src/components/Tour/Tour.d.ts +27 -27
  428. package/types/src/components/Tour/index.d.ts +1 -1
  429. package/types/src/components/VerticalContext/VerticalContext.d.ts +4 -4
  430. package/types/src/components/VerticalContext/index.d.ts +1 -1
  431. package/types/src/components/index.d.ts +98 -98
  432. package/types/src/components/intentIconMap.d.ts +4 -4
  433. package/types/src/components/utils.d.ts +28 -28
  434. package/types/src/index.d.ts +5 -5
  435. package/types/src/utils.d.ts +5 -5
  436. package/cjs/components/FormFieldPassword/passwordScore.js +0 -132
  437. package/esm/components/FormFieldPassword/passwordScore.js +0 -123
  438. package/styleguide/build/bundle.aabb094f.js +0 -2
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.generatePassword = exports.default = void 0;
8
+ exports.default = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -13,8 +13,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
16
  var _classnames = _interopRequireDefault(require("classnames"));
19
17
 
20
18
  var _constants = require("../../constants");
@@ -25,11 +23,11 @@ var _FormField = _interopRequireDefault(require("../FormField"));
25
23
 
26
24
  var _Input = _interopRequireDefault(require("../Input"));
27
25
 
28
- var _Popover = _interopRequireDefault(require("../Popover"));
29
-
30
26
  var _Translate = _interopRequireDefault(require("../Translate"));
31
27
 
32
- var _passwordScore = _interopRequireWildcard(require("./passwordScore"));
28
+ var _PasswordMeter = _interopRequireDefault(require("./PasswordMeter"));
29
+
30
+ var _generatePassword = _interopRequireDefault(require("./generatePassword"));
33
31
 
34
32
  var _enUS = _interopRequireDefault(require("./locale/en-US"));
35
33
 
@@ -37,40 +35,19 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
35
 
38
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
37
 
40
- // Copyright 1999-2021. Plesk International GmbH. All rights reserved.
41
- const symbolClasses = {
42
- upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
43
- lower: 'abcdefghijklmnopqrstuvwxyz',
44
- number: '0123456789',
45
- special: '!@#$%^&*?_~'
46
- };
38
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
47
39
 
48
- const generatePassword = () => {
49
- const password = ['upper', 'lower', 'lower', 'lower', 'number', 'number', 'special', 'number', 'upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower'];
50
- return password.sort((a, b) => Math.floor(b.length * Math.random()) - Math.floor(a.length * Math.random())).map(symbolClass => symbolClasses[symbolClass][Math.floor(symbolClasses[symbolClass].length * Math.random())]).join('');
51
- };
52
- /**
53
- * `FormFieldPassword` component provides secure way to enter a password.
54
- * @since 0.0.58
40
+ /**
41
+ * `FormFieldPassword` component provides secure way to enter a password.
42
+ * @since 0.0.58
55
43
  */
56
-
57
-
58
- exports.generatePassword = generatePassword;
59
-
60
44
  class FormFieldPassword extends _react.Component {
61
45
  constructor(...args) {
62
46
  super(...args);
63
47
  (0, _defineProperty2.default)(this, "state", {
64
48
  visible: false,
65
- passwordMeterVisible: false,
66
- scoreResult: {
67
- password: null,
68
- intent: null,
69
- strength: null,
70
- unusedRules: []
71
- }
49
+ passwordMeterVisible: false
72
50
  });
73
- (0, _defineProperty2.default)(this, "passwordOnScoring", null);
74
51
  (0, _defineProperty2.default)(this, "targetRef", /*#__PURE__*/(0, _react.createRef)());
75
52
  (0, _defineProperty2.default)(this, "handleToggleClick", () => {
76
53
  this.setState(({
@@ -87,137 +64,6 @@ class FormFieldPassword extends _react.Component {
87
64
  (0, _defineProperty2.default)(this, "handleBlur", this.handleClosePasswordMeter);
88
65
  }
89
66
 
90
- async passwordScore(value) {
91
- if (!value) {
92
- return {
93
- password: null,
94
- intent: null,
95
- strength: null,
96
- unusedRules: []
97
- };
98
- }
99
-
100
- const {
101
- passwordScoreRules,
102
- customPasswordScore
103
- } = this.props;
104
- const passwordScoreFunc = customPasswordScore || _passwordScore.default;
105
- const {
106
- password,
107
- score,
108
- unusedRules
109
- } = await passwordScoreFunc(value, passwordScoreRules);
110
- let intent = 'success';
111
-
112
- let strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
113
- content: "FormFieldPassword.strengthVeryStrong",
114
- fallback: _enUS.default.strengthVeryStrong
115
- });
116
-
117
- if (score < 16) {
118
- intent = 'danger';
119
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
120
- content: "FormFieldPassword.strengthVeryWeak",
121
- fallback: _enUS.default.strengthVeryWeak
122
- });
123
- } else if (score < 25) {
124
- intent = 'danger';
125
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
126
- content: "FormFieldPassword.strengthWeak",
127
- fallback: _enUS.default.strengthWeak
128
- });
129
- } else if (score < 35) {
130
- intent = 'warning';
131
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
132
- content: "FormFieldPassword.strengthMedium",
133
- fallback: _enUS.default.strengthMedium
134
- });
135
- } else if (score < 45) {
136
- intent = 'success';
137
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
138
- content: "FormFieldPassword.strengthStrong",
139
- fallback: _enUS.default.strengthStrong
140
- });
141
- }
142
-
143
- return {
144
- password,
145
- intent,
146
- strength,
147
- unusedRules
148
- };
149
- }
150
-
151
- renderPasswordMeter(value, target) {
152
- const {
153
- passwordMeterVisible
154
- } = this.state;
155
- const {
156
- passwordMeterProps
157
- } = this.props;
158
- const {
159
- password,
160
- intent,
161
- strength,
162
- unusedRules
163
- } = this.state.scoreResult;
164
-
165
- if (!!value && value !== password && value !== this.passwordOnScoring) {
166
- this.passwordOnScoring = value;
167
- this.passwordScore(value).then(scoreResult => {
168
- if (this.passwordOnScoring === scoreResult.password) {
169
- this.passwordOnScoring = null;
170
- this.setState({
171
- scoreResult
172
- });
173
- }
174
- });
175
- }
176
-
177
- return /*#__PURE__*/_react.default.createElement(_Popover.default, (0, _extends2.default)({
178
- visible: passwordMeterVisible && !!value,
179
- target: target,
180
- targetRef: this.targetRef,
181
- placement: "bottom-right",
182
- intent: intent,
183
- canCloseOnOutsideClick: false,
184
- canCloseOnEscapePress: false,
185
- onClose: this.handleClosePasswordMeter
186
- }, passwordMeterProps), /*#__PURE__*/_react.default.createElement(_Translate.default, {
187
- content: "FormFieldPassword.passwordStrength",
188
- fallback: _enUS.default.passwordStrength,
189
- params: {
190
- strength: /*#__PURE__*/_react.default.createElement("b", null, strength)
191
- }
192
- }), /*#__PURE__*/_react.default.createElement("br", null), unusedRules.length ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
193
- content: "FormFieldPassword.improvePassword",
194
- fallback: _enUS.default.improvePassword
195
- }), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("ul", null, unusedRules.slice(0, 3).map(({
196
- rule
197
- }, index) => {
198
- const {
199
- name
200
- } = rule;
201
- let {
202
- message
203
- } = rule;
204
-
205
- if (name && !message) {
206
- message = /*#__PURE__*/_react.default.createElement(_Translate.default, {
207
- content: `FormFieldPassword.${name}`,
208
- fallback: _enUS.default[name]
209
- });
210
- }
211
-
212
- return /*#__PURE__*/_react.default.createElement("li", {
213
- key: name || index.toString()
214
- }, message);
215
- }))) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
216
- content: "FormFieldPassword.yourPasswordIsStrong",
217
- fallback: _enUS.default.yourPasswordIsStrong
218
- }));
219
- }
220
-
221
67
  renderGenerateButton({
222
68
  setValue,
223
69
  isDisabled
@@ -228,7 +74,7 @@ class FormFieldPassword extends _react.Component {
228
74
  } = this.props;
229
75
  const generateButtonProps = {
230
76
  className: `${baseClassName}__button--generate`,
231
- onClick: () => setValue(generatePassword()),
77
+ onClick: () => setValue((0, _generatePassword.default)()),
232
78
  tooltip: /*#__PURE__*/_react.default.createElement(_Translate.default, {
233
79
  content: "FormFieldPassword.generateButtonHint",
234
80
  fallback: _enUS.default.generateButtonHint
@@ -259,13 +105,15 @@ class FormFieldPassword extends _react.Component {
259
105
  hideGenerateButton,
260
106
  hidePasswordMeter,
261
107
  passwordMeterProps,
262
- passwordScoreRules,
263
- customPasswordScore,
264
108
  size,
265
109
  autoFocus,
266
110
  autoComplete,
267
111
  ...props
268
112
  } = this.props;
113
+ const {
114
+ visible,
115
+ passwordMeterVisible
116
+ } = this.state;
269
117
  return /*#__PURE__*/_react.default.createElement(_FormField.default, (0, _extends2.default)({
270
118
  className: (0, _classnames.default)(baseClassName, className)
271
119
  }, props), ({
@@ -275,18 +123,19 @@ class FormFieldPassword extends _react.Component {
275
123
  setValue,
276
124
  isDisabled
277
125
  }) => {
126
+ const value = getValue('');
127
+
278
128
  const input = /*#__PURE__*/_react.default.createElement(_Input.default, {
279
129
  id: getId(),
280
130
  name: getName(),
281
- type: this.state.visible ? 'text' : 'password',
282
- value: getValue(''),
131
+ type: visible ? 'text' : 'password',
132
+ value: value,
283
133
  onChange: e => {
284
134
  setValue(e.target.value);
285
135
  this.setState({
286
136
  passwordMeterVisible: true
287
137
  });
288
138
  },
289
- onFocus: this.handleFocus,
290
139
  onBlur: this.handleBlur,
291
140
  autoFocus: autoFocus,
292
141
  autoComplete: autoComplete,
@@ -295,8 +144,8 @@ class FormFieldPassword extends _react.Component {
295
144
  suffix: hideShowButton ? null : /*#__PURE__*/_react.default.createElement(_Button.default, {
296
145
  className: `${baseClassName}__button--show`,
297
146
  onClick: this.handleToggleClick,
298
- icon: this.state.visible ? 'visible' : 'invisible',
299
- tooltip: this.state.visible ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
147
+ icon: visible ? 'visible' : 'invisible',
148
+ tooltip: visible ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
300
149
  content: "FormFieldPassword.hidePassword",
301
150
  fallback: _enUS.default.hidePassword
302
151
  }) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
@@ -316,7 +165,12 @@ class FormFieldPassword extends _react.Component {
316
165
  className: (0, _classnames.default)(`${baseClassName}__control`, `${baseClassName}__control--${size}`)
317
166
  }, /*#__PURE__*/_react.default.createElement("div", {
318
167
  className: (0, _classnames.default)(`${baseClassName}__field`, `${baseClassName}__field--${size}`)
319
- }, hidePasswordMeter ? input : this.renderPasswordMeter(getValue(), input)), hideGenerateButton ? null : this.renderGenerateButton({
168
+ }, hidePasswordMeter ? input : /*#__PURE__*/_react.default.createElement(_PasswordMeter.default, (0, _extends2.default)({
169
+ value: value,
170
+ targetRef: this.targetRef,
171
+ visible: passwordMeterVisible && value !== '',
172
+ onClose: this.handleClosePasswordMeter
173
+ }, passwordMeterProps), input)), hideGenerateButton ? null : this.renderGenerateButton({
320
174
  setValue,
321
175
  isDisabled
322
176
  }));
@@ -325,95 +179,17 @@ class FormFieldPassword extends _react.Component {
325
179
 
326
180
  }
327
181
 
328
- FormFieldPassword.propTypes = {
329
- /**
330
- * Is show button hidden?
331
- * @since 0.0.59
332
- */
333
- hideShowButton: _propTypes.default.bool,
334
-
335
- /**
336
- * Is generate button hidden?
337
- * @since 0.0.59
338
- */
339
- hideGenerateButton: _propTypes.default.bool,
340
-
341
- /**
342
- * Is password meter hidden?
343
- * @since 0.0.59
344
- */
345
- hidePasswordMeter: _propTypes.default.bool,
346
-
347
- /**
348
- * Additional props for password meter. . See [Popover](#!/Popover) for more information.
349
- * @since 1.5.6
350
- */
351
- passwordMeterProps: _propTypes.default.object,
352
-
353
- /**
354
- * A set of custom password score rules.
355
- * @since 3.21.0
356
- */
357
- passwordScoreRules: _propTypes.default.arrayOf(_propTypes.default.shape({
358
- name: _propTypes.default.string,
359
- message: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]),
360
- score: _propTypes.default.func.isRequired
361
- })),
362
-
363
- /**
364
- * Custom password score estimator
365
- * @since 3.27.1
366
- */
367
- customPasswordScore: _propTypes.default.func,
368
-
369
- /**
370
- * Size of the control
371
- * @since 1.5.6
372
- */
373
- size: _propTypes.default.oneOf(['md', 'lg', 'xl', 'fill']),
374
-
375
- /**
376
- * The browser will automatically focus on the component upon rendering the screen
377
- * @since 1.9.0
378
- */
379
- autoFocus: _propTypes.default.bool,
380
-
381
- /**
382
- * Prevent password autocompletion.
383
- * @since 2.5.1
384
- */
385
- autoComplete: _propTypes.default.oneOf(['new-password']),
386
-
387
- /**
388
- * A render function for customizing the password generation button.
389
- * @since 3.13.0
390
- */
391
- generateButton: _propTypes.default.func,
392
-
393
- /**
394
- * @ignore
395
- */
396
- className: _propTypes.default.string,
397
-
398
- /**
399
- * @ignore
400
- */
401
- baseClassName: _propTypes.default.string
402
- };
403
- FormFieldPassword.defaultProps = {
182
+ (0, _defineProperty2.default)(FormFieldPassword, "defaultProps", {
404
183
  hideShowButton: false,
405
184
  generateButton: undefined,
406
185
  hideGenerateButton: false,
407
186
  hidePasswordMeter: false,
408
187
  passwordMeterProps: {},
409
- passwordScoreRules: undefined,
410
- customPasswordScore: undefined,
411
188
  size: 'md',
412
189
  autoFocus: undefined,
413
190
  autoComplete: undefined,
414
191
  className: undefined,
415
192
  baseClassName: `${_constants.CLS_PREFIX}form-field-password`
416
- };
417
- FormFieldPassword.PASSWORD_SCORE_RULES = _passwordScore.PASSWORD_SCORE_RULES;
193
+ });
418
194
  var _default = FormFieldPassword;
419
195
  exports.default = _default;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _Popover = _interopRequireDefault(require("../Popover"));
15
+
16
+ var _Translate = _interopRequireDefault(require("../Translate"));
17
+
18
+ var _estimatePassword = _interopRequireWildcard(require("./estimatePassword"));
19
+
20
+ var _enUS = _interopRequireDefault(require("./locale/en-US"));
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
27
+ const strengthIntents = {
28
+ VeryWeak: 'danger',
29
+ Weak: 'danger',
30
+ Medium: 'warning',
31
+ Strong: 'success',
32
+ VeryStrong: 'success'
33
+ };
34
+
35
+ const PasswordMeter = ({
36
+ value,
37
+ visible,
38
+ onEstimate,
39
+ children,
40
+ ...props
41
+ }) => {
42
+ const [result, setResult] = (0, _react.useState)(null);
43
+ (0, _react.useEffect)(() => {
44
+ if (!visible) {
45
+ return;
46
+ }
47
+
48
+ Promise.resolve(onEstimate ? onEstimate(value, _estimatePassword.default, _estimatePassword.DEFAULT_RULES) : (0, _estimatePassword.default)(value)).then(result => {
49
+ setResult(result);
50
+ });
51
+ }, [visible, value, onEstimate]);
52
+ return /*#__PURE__*/_react.default.createElement(_Popover.default, (0, _extends2.default)({
53
+ visible: visible && result !== null,
54
+ target: children,
55
+ placement: "bottom-right",
56
+ intent: result ? strengthIntents[result.strength] : undefined,
57
+ canCloseOnOutsideClick: false,
58
+ canCloseOnEscapePress: false
59
+ }, props), result !== null && result !== void 0 && result.strength ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
60
+ component: "div",
61
+ content: "FormFieldPassword.passwordStrength",
62
+ fallback: _enUS.default.passwordStrength,
63
+ params: {
64
+ strength: /*#__PURE__*/_react.default.createElement("b", null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
65
+ content: `FormFieldPassword.strength${result === null || result === void 0 ? void 0 : result.strength}`,
66
+ fallback: _enUS.default[`strength${result === null || result === void 0 ? void 0 : result.strength}`]
67
+ }))
68
+ }
69
+ }) : null, result !== null && result !== void 0 && result.suggestions.length ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
70
+ content: "FormFieldPassword.improvePassword",
71
+ fallback: _enUS.default.improvePassword
72
+ }), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("ul", null, result.suggestions.slice(0, 3).map((suggestion, index) => /*#__PURE__*/_react.default.createElement("li", {
73
+ key: index.toString()
74
+ }, suggestion)))) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
75
+ content: "FormFieldPassword.yourPasswordIsStrong",
76
+ fallback: _enUS.default.yourPasswordIsStrong
77
+ }));
78
+ };
79
+
80
+ var _default = PasswordMeter;
81
+ exports.default = _default;
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.DEFAULT_RULES = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Translate = _interopRequireDefault(require("../Translate"));
13
+
14
+ var _enUS = _interopRequireDefault(require("./locale/en-US"));
15
+
16
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
17
+ const DEFAULT_RULES = [{
18
+ name: 'passwordTooShort',
19
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
20
+ content: `FormFieldPassword.passwordTooShort`,
21
+ fallback: _enUS.default.passwordTooShort
22
+ }),
23
+
24
+ score(passwd) {
25
+ return passwd.length < 5 ? -1 : 0;
26
+ }
27
+
28
+ }, {
29
+ name: 'passwordLength',
30
+
31
+ score(passwd) {
32
+ if (passwd.length < 5) {
33
+ return 3;
34
+ }
35
+
36
+ if (passwd.length > 4 && passwd.length < 8) {
37
+ return 6;
38
+ }
39
+
40
+ if (passwd.length > 7 && passwd.length < 16) {
41
+ return 12;
42
+ }
43
+
44
+ return 18;
45
+ }
46
+
47
+ }, {
48
+ name: 'lettersLowerCase',
49
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
50
+ content: `FormFieldPassword.lettersLowerCase`,
51
+ fallback: _enUS.default.lettersLowerCase
52
+ }),
53
+
54
+ score(passwd) {
55
+ // [verified] at least one lower case letter
56
+ return passwd.match(/[a-z]/) ? 1 : -1;
57
+ }
58
+
59
+ }, {
60
+ name: 'lettersUpperCase',
61
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
62
+ content: `FormFieldPassword.lettersUpperCase`,
63
+ fallback: _enUS.default.lettersUpperCase
64
+ }),
65
+
66
+ score(passwd) {
67
+ // [verified] at least one upper case letter
68
+ return passwd.match(/[A-Z]/) ? 5 : -1;
69
+ }
70
+
71
+ }, {
72
+ name: 'numbers1',
73
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
74
+ content: `FormFieldPassword.numbers1`,
75
+ fallback: _enUS.default.numbers1
76
+ }),
77
+
78
+ score(passwd) {
79
+ // [verified] at least one number
80
+ return passwd.match(/\d+/) ? 5 : -1;
81
+ }
82
+
83
+ }, {
84
+ name: 'numbers3',
85
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
86
+ content: `FormFieldPassword.numbers3`,
87
+ fallback: _enUS.default.numbers3
88
+ }),
89
+
90
+ score(passwd) {
91
+ // [verified] at least three numbers
92
+ return passwd.match(/(.*[0-9].*[0-9].*[0-9])/) ? 5 : -1;
93
+ }
94
+
95
+ }, {
96
+ name: 'specialChar1',
97
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
98
+ content: `FormFieldPassword.specialChar1`,
99
+ fallback: _enUS.default.specialChar1
100
+ }),
101
+
102
+ score(passwd) {
103
+ // [verified] at least one special character
104
+ return passwd.match(/[!@#$%^&*?_~]/) ? 5 : -1;
105
+ }
106
+
107
+ }, {
108
+ name: 'specialChar2',
109
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
110
+ content: `FormFieldPassword.specialChar2`,
111
+ fallback: _enUS.default.specialChar2
112
+ }),
113
+
114
+ score(passwd) {
115
+ // [verified] at least two special characters
116
+ return passwd.match(/(.*[!@#$%^&*?_~].*[!@#$%^&*?_~])/) ? 5 : -1;
117
+ }
118
+
119
+ }, {
120
+ name: 'comboUpperAndLower',
121
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
122
+ content: `FormFieldPassword.comboUpperAndLower`,
123
+ fallback: _enUS.default.comboUpperAndLower
124
+ }),
125
+
126
+ score(passwd) {
127
+ // [verified] both upper and lower case
128
+ return passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/) ? 2 : -1;
129
+ }
130
+
131
+ }, {
132
+ name: 'comboLettersAndNumbers',
133
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
134
+ content: `FormFieldPassword.comboLettersAndNumbers`,
135
+ fallback: _enUS.default.comboLettersAndNumbers
136
+ }),
137
+
138
+ score(passwd) {
139
+ // [verified] both letters and numbers
140
+ return passwd.match(/([a-zA-Z])/) && passwd.match(/([0-9])/) ? 2 : -1;
141
+ }
142
+
143
+ }, {
144
+ name: 'comboLettersNumbersSpecial',
145
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
146
+ content: `FormFieldPassword.comboLettersNumbersSpecial`,
147
+ fallback: _enUS.default.comboLettersNumbersSpecial
148
+ }),
149
+
150
+ score(passwd) {
151
+ // [verified] letters, numbers, and special characters
152
+ return passwd.match(/([a-zA-Z0-9].*[!@#$%^&*?_~])|([!@#$%^&*?_~].*[a-zA-Z0-9])/) ? 2 : -1;
153
+ }
154
+
155
+ }];
156
+ exports.DEFAULT_RULES = DEFAULT_RULES;
157
+
158
+ var _default = (password, rules = DEFAULT_RULES) => {
159
+ const suggestions = [];
160
+ let passwordScore = 0;
161
+ rules.forEach(({
162
+ suggestion,
163
+ score
164
+ }) => {
165
+ const ruleScore = score(password);
166
+
167
+ if (ruleScore < 0 && suggestion) {
168
+ suggestions.push(suggestion);
169
+ } else {
170
+ passwordScore += ruleScore;
171
+ }
172
+ });
173
+ let strength;
174
+
175
+ switch (true) {
176
+ case passwordScore < 16:
177
+ strength = 'VeryWeak';
178
+ break;
179
+
180
+ case passwordScore < 25:
181
+ strength = 'Weak';
182
+ break;
183
+
184
+ case passwordScore < 35:
185
+ strength = 'Medium';
186
+ break;
187
+
188
+ case passwordScore < 45:
189
+ strength = 'Strong';
190
+ break;
191
+
192
+ default:
193
+ strength = 'VeryStrong';
194
+ break;
195
+ }
196
+
197
+ return {
198
+ strength,
199
+ suggestions
200
+ };
201
+ };
202
+
203
+ exports.default = _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
8
+ const symbolClasses = {
9
+ upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
10
+ lower: 'abcdefghijklmnopqrstuvwxyz',
11
+ number: '0123456789',
12
+ special: '!@#$%^&*?_~'
13
+ };
14
+
15
+ const generatePassword = () => {
16
+ const password = ['upper', 'upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'number', 'number', 'number', 'special', 'special'];
17
+ return password.sort((a, b) => Math.floor(b.length * Math.random()) - Math.floor(a.length * Math.random())).map(symbolClass => symbolClasses[symbolClass][Math.floor(symbolClasses[symbolClass].length * Math.random())]).join('');
18
+ };
19
+
20
+ var _default = generatePassword;
21
+ exports.default = _default;