@plesk/ui-library 3.27.2 → 3.27.3

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