nurseitaly-components 0.0.1

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 (332) hide show
  1. package/README.md +93 -0
  2. package/dist/basic/Avatar/Avatar.d.ts +12 -0
  3. package/dist/basic/Avatar/Avatar.js +24 -0
  4. package/dist/basic/Avatar/avatar.png +0 -0
  5. package/dist/basic/Avatar/index.d.ts +2 -0
  6. package/dist/basic/Avatar/index.js +2 -0
  7. package/dist/basic/Avatar/styles.scss +80 -0
  8. package/dist/basic/Badge/Badge.d.ts +13 -0
  9. package/dist/basic/Badge/Badge.js +17 -0
  10. package/dist/basic/Badge/index.d.ts +2 -0
  11. package/dist/basic/Badge/index.js +2 -0
  12. package/dist/basic/Badge/styles.scss +68 -0
  13. package/dist/basic/Button/Button.d.ts +25 -0
  14. package/dist/basic/Button/Button.js +42 -0
  15. package/dist/basic/Button/index.d.ts +2 -0
  16. package/dist/basic/Button/index.js +2 -0
  17. package/dist/basic/Button/logo-ud.png +0 -0
  18. package/dist/basic/Button/styles.scss +248 -0
  19. package/dist/basic/CheckboxField/CheckboxField.d.ts +10 -0
  20. package/dist/basic/CheckboxField/CheckboxField.js +9 -0
  21. package/dist/basic/CheckboxField/index.d.ts +2 -0
  22. package/dist/basic/CheckboxField/index.js +2 -0
  23. package/dist/basic/CheckboxField/style.scss +4 -0
  24. package/dist/basic/DatePickerField/DatePickerField.d.ts +26 -0
  25. package/dist/basic/DatePickerField/DatePickerField.js +90 -0
  26. package/dist/basic/DatePickerField/DatePickerTheme.d.ts +2 -0
  27. package/dist/basic/DatePickerField/DatePickerTheme.js +59 -0
  28. package/dist/basic/DatePickerField/index.d.ts +1 -0
  29. package/dist/basic/DatePickerField/index.js +1 -0
  30. package/dist/basic/DatePickerField/styles.scss +26 -0
  31. package/dist/basic/DropdownButton/DropdownButton.d.ts +18 -0
  32. package/dist/basic/DropdownButton/DropdownButton.js +44 -0
  33. package/dist/basic/DropdownButton/index.d.ts +2 -0
  34. package/dist/basic/DropdownButton/index.js +2 -0
  35. package/dist/basic/DropdownButton/styles.scss +172 -0
  36. package/dist/basic/DropdownList/DropdownItemList.d.ts +16 -0
  37. package/dist/basic/DropdownList/DropdownItemList.js +17 -0
  38. package/dist/basic/DropdownList/DropdownList.d.ts +9 -0
  39. package/dist/basic/DropdownList/DropdownList.js +10 -0
  40. package/dist/basic/DropdownList/index.d.ts +2 -0
  41. package/dist/basic/DropdownList/index.js +2 -0
  42. package/dist/basic/DropdownList/styles.scss +56 -0
  43. package/dist/basic/DropdownMenu/DropdownMenu.d.ts +13 -0
  44. package/dist/basic/DropdownMenu/DropdownMenu.js +12 -0
  45. package/dist/basic/DropdownMenu/index.d.ts +2 -0
  46. package/dist/basic/DropdownMenu/index.js +2 -0
  47. package/dist/basic/DropdownMenu/styles.scss +54 -0
  48. package/dist/basic/Dummy/Dummy.d.ts +9 -0
  49. package/dist/basic/Dummy/Dummy.js +8 -0
  50. package/dist/basic/Dummy/index.d.ts +2 -0
  51. package/dist/basic/Dummy/index.js +2 -0
  52. package/dist/basic/Dummy/styles.scss +4 -0
  53. package/dist/basic/FilterDropdown/FilterDropdown.d.ts +16 -0
  54. package/dist/basic/FilterDropdown/FilterDropdown.js +56 -0
  55. package/dist/basic/FilterDropdown/index.d.ts +2 -0
  56. package/dist/basic/FilterDropdown/index.js +2 -0
  57. package/dist/basic/FilterDropdown/styles.scss +97 -0
  58. package/dist/basic/Icon/Icon.d.ts +15 -0
  59. package/dist/basic/Icon/Icon.js +20 -0
  60. package/dist/basic/Icon/IconSizes.d.ts +10 -0
  61. package/dist/basic/Icon/IconSizes.js +11 -0
  62. package/dist/basic/Icon/index.d.ts +2 -0
  63. package/dist/basic/Icon/index.js +2 -0
  64. package/dist/basic/Icon/styles.scss +249 -0
  65. package/dist/basic/IconButton/IconButton.d.ts +24 -0
  66. package/dist/basic/IconButton/IconButton.js +42 -0
  67. package/dist/basic/IconButton/index.d.ts +2 -0
  68. package/dist/basic/IconButton/index.js +2 -0
  69. package/dist/basic/IconButton/styles.scss +192 -0
  70. package/dist/basic/Pill/Pill.d.ts +17 -0
  71. package/dist/basic/Pill/Pill.js +22 -0
  72. package/dist/basic/Pill/index.d.ts +2 -0
  73. package/dist/basic/Pill/index.js +2 -0
  74. package/dist/basic/Pill/styles.scss +70 -0
  75. package/dist/basic/SelectField/AsyncSelectField.d.ts +21 -0
  76. package/dist/basic/SelectField/AsyncSelectField.js +131 -0
  77. package/dist/basic/SelectField/SelectAutocompleteTheme.d.ts +2 -0
  78. package/dist/basic/SelectField/SelectAutocompleteTheme.js +78 -0
  79. package/dist/basic/SelectField/SelectField.d.ts +27 -0
  80. package/dist/basic/SelectField/SelectField.js +81 -0
  81. package/dist/basic/SelectField/SelectFieldTheme.d.ts +7 -0
  82. package/dist/basic/SelectField/SelectFieldTheme.js +57 -0
  83. package/dist/basic/SelectField/SelectMultipleField.d.ts +28 -0
  84. package/dist/basic/SelectField/SelectMultipleField.js +98 -0
  85. package/dist/basic/SelectField/index.d.ts +2 -0
  86. package/dist/basic/SelectField/index.js +2 -0
  87. package/dist/basic/SelectField/styles.scss +38 -0
  88. package/dist/basic/Spinner/Spinner.d.ts +14 -0
  89. package/dist/basic/Spinner/Spinner.js +37 -0
  90. package/dist/basic/Spinner/index.d.ts +2 -0
  91. package/dist/basic/Spinner/index.js +2 -0
  92. package/dist/basic/Spinner/styles.scss +37 -0
  93. package/dist/basic/SwitchField/SwitchField.d.ts +11 -0
  94. package/dist/basic/SwitchField/SwitchField.js +13 -0
  95. package/dist/basic/SwitchField/index.d.ts +2 -0
  96. package/dist/basic/SwitchField/index.js +2 -0
  97. package/dist/basic/SwitchField/style.scss +4 -0
  98. package/dist/basic/Tabs/Tabs.d.ts +17 -0
  99. package/dist/basic/Tabs/Tabs.js +9 -0
  100. package/dist/basic/Tabs/index.d.ts +2 -0
  101. package/dist/basic/Tabs/index.js +2 -0
  102. package/dist/basic/Tabs/styles.scss +51 -0
  103. package/dist/basic/Tag/Tag.d.ts +18 -0
  104. package/dist/basic/Tag/Tag.js +30 -0
  105. package/dist/basic/Tag/index.d.ts +2 -0
  106. package/dist/basic/Tag/index.js +2 -0
  107. package/dist/basic/Tag/styles.scss +101 -0
  108. package/dist/basic/TextField/TextField.d.ts +34 -0
  109. package/dist/basic/TextField/TextField.js +164 -0
  110. package/dist/basic/TextField/TextFieldTheme.d.ts +6 -0
  111. package/dist/basic/TextField/TextFieldTheme.js +70 -0
  112. package/dist/basic/TextField/index.d.ts +2 -0
  113. package/dist/basic/TextField/index.js +2 -0
  114. package/dist/basic/TextField/inputRefManager.d.ts +4 -0
  115. package/dist/basic/TextField/inputRefManager.js +18 -0
  116. package/dist/basic/TextField/styles.scss +44 -0
  117. package/dist/basic/Tooltip/Tooltip.d.ts +26 -0
  118. package/dist/basic/Tooltip/Tooltip.js +37 -0
  119. package/dist/basic/Tooltip/index.d.ts +2 -0
  120. package/dist/basic/Tooltip/index.js +2 -0
  121. package/dist/basic/Tooltip/styles.scss +73 -0
  122. package/dist/basic/VerticalButton/VerticalButton.d.ts +6 -0
  123. package/dist/basic/VerticalButton/VerticalButton.js +8 -0
  124. package/dist/basic/VerticalButton/index.d.ts +2 -0
  125. package/dist/basic/VerticalButton/index.js +2 -0
  126. package/dist/basic/VerticalButton/styles.scss +24 -0
  127. package/dist/basic/fonts/material-symbols-outlined.woff2 +0 -0
  128. package/dist/basic/fonts/work-sans-latin-ext.woff2 +0 -0
  129. package/dist/basic/fonts/work-sans-latin.woff2 +0 -0
  130. package/dist/basic/fonts/work-sans-vietnamese.woff2 +0 -0
  131. package/dist/basic/fonts.d.ts +1 -0
  132. package/dist/basic/fonts.js +111 -0
  133. package/dist/basic/index.d.ts +33 -0
  134. package/dist/basic/index.js +29 -0
  135. package/dist/common/AppAnalytics/AppAnalytics.d.ts +1 -0
  136. package/dist/common/AppAnalytics/AppAnalytics.js +25 -0
  137. package/dist/common/AppAnalytics/index.d.ts +2 -0
  138. package/dist/common/AppAnalytics/index.js +2 -0
  139. package/dist/common/AppCard/AppCard.d.ts +13 -0
  140. package/dist/common/AppCard/AppCard.js +7 -0
  141. package/dist/common/AppCard/index.d.ts +2 -0
  142. package/dist/common/AppCard/index.js +2 -0
  143. package/dist/common/AppCard/style.scss +33 -0
  144. package/dist/common/AppClipboard/AppClipboard.d.ts +7 -0
  145. package/dist/common/AppClipboard/AppClipboard.js +23 -0
  146. package/dist/common/AppClipboard/index.d.ts +2 -0
  147. package/dist/common/AppClipboard/index.js +2 -0
  148. package/dist/common/AppColorpicker/AppColorpicker.d.ts +9 -0
  149. package/dist/common/AppColorpicker/AppColorpicker.js +22 -0
  150. package/dist/common/AppColorpicker/index.d.ts +2 -0
  151. package/dist/common/AppColorpicker/index.js +2 -0
  152. package/dist/common/AppColorpicker/style.scss +26 -0
  153. package/dist/common/AppCopyText/AppCopyText.d.ts +11 -0
  154. package/dist/common/AppCopyText/AppCopyText.js +35 -0
  155. package/dist/common/AppCopyText/index.d.ts +2 -0
  156. package/dist/common/AppCopyText/index.js +2 -0
  157. package/dist/common/AppCopyText/styles.scss +55 -0
  158. package/dist/common/AppDropzone/AppDropzone.d.ts +19 -0
  159. package/dist/common/AppDropzone/AppDropzone.js +13 -0
  160. package/dist/common/AppDropzone/AppDropzoneBody.d.ts +22 -0
  161. package/dist/common/AppDropzone/AppDropzoneBody.js +74 -0
  162. package/dist/common/AppDropzone/UploadService.d.ts +6 -0
  163. package/dist/common/AppDropzone/UploadService.js +18 -0
  164. package/dist/common/AppDropzone/UploadedFile.d.ts +14 -0
  165. package/dist/common/AppDropzone/UploadedFile.js +1 -0
  166. package/dist/common/AppDropzone/index.d.ts +4 -0
  167. package/dist/common/AppDropzone/index.js +4 -0
  168. package/dist/common/AppDropzone/style.scss +42 -0
  169. package/dist/common/AppDropzoneLocal/AppDropzoneBodyLocal.d.ts +15 -0
  170. package/dist/common/AppDropzoneLocal/AppDropzoneBodyLocal.js +55 -0
  171. package/dist/common/AppDropzoneLocal/AppDropzoneLocal.d.ts +15 -0
  172. package/dist/common/AppDropzoneLocal/AppDropzoneLocal.js +13 -0
  173. package/dist/common/AppDropzoneLocal/UploadedFileLocal.d.ts +5 -0
  174. package/dist/common/AppDropzoneLocal/UploadedFileLocal.js +1 -0
  175. package/dist/common/AppDropzoneLocal/index.d.ts +5 -0
  176. package/dist/common/AppDropzoneLocal/index.js +4 -0
  177. package/dist/common/AppDropzoneLocal/style.scss +75 -0
  178. package/dist/common/AppForm/AppForm.d.ts +16 -0
  179. package/dist/common/AppForm/AppForm.js +67 -0
  180. package/dist/common/AppForm/AppFormField.d.ts +37 -0
  181. package/dist/common/AppForm/AppFormField.js +10 -0
  182. package/dist/common/AppForm/AppFormInfo.d.ts +9 -0
  183. package/dist/common/AppForm/AppFormInfo.js +45 -0
  184. package/dist/common/AppForm/FormColorField.d.ts +12 -0
  185. package/dist/common/AppForm/FormColorField.js +23 -0
  186. package/dist/common/AppForm/index.d.ts +2 -0
  187. package/dist/common/AppForm/index.js +2 -0
  188. package/dist/common/AppForm/style.scss +60 -0
  189. package/dist/common/AppLoading/AppLoading.d.ts +7 -0
  190. package/dist/common/AppLoading/AppLoading.js +8 -0
  191. package/dist/common/AppLoading/index.d.ts +2 -0
  192. package/dist/common/AppLoading/index.js +2 -0
  193. package/dist/common/AppLoading/style.scss +5 -0
  194. package/dist/common/AppModal/AppModal.d.ts +27 -0
  195. package/dist/common/AppModal/AppModal.js +42 -0
  196. package/dist/common/AppModal/AppModalConfirm.d.ts +15 -0
  197. package/dist/common/AppModal/AppModalConfirm.js +37 -0
  198. package/dist/common/AppModal/AppModalRemove.d.ts +22 -0
  199. package/dist/common/AppModal/AppModalRemove.js +35 -0
  200. package/dist/common/AppModal/AppModalUtils.d.ts +2 -0
  201. package/dist/common/AppModal/AppModalUtils.js +17 -0
  202. package/dist/common/AppModal/index.d.ts +2 -0
  203. package/dist/common/AppModal/index.js +2 -0
  204. package/dist/common/AppModal/style.scss +100 -0
  205. package/dist/common/AppPagination/AppPagination.d.ts +12 -0
  206. package/dist/common/AppPagination/AppPagination.js +212 -0
  207. package/dist/common/AppPagination/index.d.ts +2 -0
  208. package/dist/common/AppPagination/index.js +2 -0
  209. package/dist/common/AppPagination/styles.scss +230 -0
  210. package/dist/common/AppPicture/AppPicture.d.ts +10 -0
  211. package/dist/common/AppPicture/AppPicture.js +18 -0
  212. package/dist/common/AppPicture/index.d.ts +2 -0
  213. package/dist/common/AppPicture/index.js +2 -0
  214. package/dist/common/AppPicture/style.scss +0 -0
  215. package/dist/common/AppPlaceholder/AppPlaceholder.d.ts +12 -0
  216. package/dist/common/AppPlaceholder/AppPlaceholder.js +7 -0
  217. package/dist/common/AppPlaceholder/index.d.ts +2 -0
  218. package/dist/common/AppPlaceholder/index.js +2 -0
  219. package/dist/common/AppPlaceholder/style.scss +25 -0
  220. package/dist/common/AppSwitchGroup/AppSwitchGroup.d.ts +12 -0
  221. package/dist/common/AppSwitchGroup/AppSwitchGroup.js +8 -0
  222. package/dist/common/AppSwitchGroup/index.d.ts +2 -0
  223. package/dist/common/AppSwitchGroup/index.js +2 -0
  224. package/dist/common/AppSwitchGroup/style.scss +18 -0
  225. package/dist/common/AppTable/AppTable.d.ts +19 -0
  226. package/dist/common/AppTable/AppTable.js +62 -0
  227. package/dist/common/AppTable/AppTableList.d.ts +14 -0
  228. package/dist/common/AppTable/AppTableList.js +48 -0
  229. package/dist/common/AppTable/AppTableTheme.d.ts +1 -0
  230. package/dist/common/AppTable/AppTableTheme.js +45 -0
  231. package/dist/common/AppTable/AppTableUtils.d.ts +8 -0
  232. package/dist/common/AppTable/AppTableUtils.js +24 -0
  233. package/dist/common/AppTable/index.d.ts +2 -0
  234. package/dist/common/AppTable/index.js +2 -0
  235. package/dist/common/AppTable/styles.scss +65 -0
  236. package/dist/common/AppTable/types/AppPage.d.ts +29 -0
  237. package/dist/common/AppTable/types/AppPage.js +18 -0
  238. package/dist/common/AppTable/types/AppPageable.d.ts +15 -0
  239. package/dist/common/AppTable/types/AppPageable.js +19 -0
  240. package/dist/common/AppTextArea/AppTextArea.d.ts +11 -0
  241. package/dist/common/AppTextArea/AppTextArea.js +29 -0
  242. package/dist/common/AppTextArea/index.d.ts +1 -0
  243. package/dist/common/AppTextArea/index.js +1 -0
  244. package/dist/common/AppTextArea/style.scss +47 -0
  245. package/dist/common/AppToast/AppToast.d.ts +2 -0
  246. package/dist/common/AppToast/AppToast.js +81 -0
  247. package/dist/common/AppToast/ToastMessage.d.ts +8 -0
  248. package/dist/common/AppToast/ToastMessage.js +4 -0
  249. package/dist/common/AppToast/index.d.ts +2 -0
  250. package/dist/common/AppToast/index.js +2 -0
  251. package/dist/common/AppToast/style.scss +0 -0
  252. package/dist/common/index.d.ts +27 -0
  253. package/dist/common/index.js +23 -0
  254. package/dist/configs/CommonContext.d.ts +10 -0
  255. package/dist/configs/CommonContext.js +9 -0
  256. package/dist/configs/CookieStorage.d.ts +15 -0
  257. package/dist/configs/CookieStorage.js +45 -0
  258. package/dist/configs/Localization.d.ts +28 -0
  259. package/dist/configs/Localization.js +63 -0
  260. package/dist/configs/Storage.d.ts +9 -0
  261. package/dist/configs/Storage.js +16 -0
  262. package/dist/configs/api.d.ts +10 -0
  263. package/dist/configs/api.js +52 -0
  264. package/dist/configs/index.d.ts +8 -0
  265. package/dist/configs/index.js +7 -0
  266. package/dist/configs/localization/BaseTexts.d.ts +44 -0
  267. package/dist/configs/localization/BaseTexts.js +44 -0
  268. package/dist/configs/localization/CommentsTexts.d.ts +95 -0
  269. package/dist/configs/localization/CommentsTexts.js +95 -0
  270. package/dist/configs/localization/CommonTexts.d.ts +239 -0
  271. package/dist/configs/localization/CommonTexts.js +239 -0
  272. package/dist/configs/localization/ConsentTexts.d.ts +116 -0
  273. package/dist/configs/localization/ConsentTexts.js +203 -0
  274. package/dist/configs/localization/HeaderAppTexts.d.ts +106 -0
  275. package/dist/configs/localization/HeaderAppTexts.js +106 -0
  276. package/dist/configs/localization/HeaderTexts.d.ts +68 -0
  277. package/dist/configs/localization/HeaderTexts.js +68 -0
  278. package/dist/configs/localization/HelpTexts.d.ts +38 -0
  279. package/dist/configs/localization/HelpTexts.js +38 -0
  280. package/dist/configs/localization/HistoryTexts.d.ts +428 -0
  281. package/dist/configs/localization/HistoryTexts.js +428 -0
  282. package/dist/configs/localization/ParametersTexts.d.ts +137 -0
  283. package/dist/configs/localization/ParametersTexts.js +137 -0
  284. package/dist/configs/localization/SentenceTexts.d.ts +56 -0
  285. package/dist/configs/localization/SentenceTexts.js +56 -0
  286. package/dist/configs/localization/TreeTexts.d.ts +46 -0
  287. package/dist/configs/localization/TreeTexts.js +46 -0
  288. package/dist/configs/localization/UploadTexts.d.ts +23 -0
  289. package/dist/configs/localization/UploadTexts.js +23 -0
  290. package/dist/configs/services/ProfileService.d.ts +5 -0
  291. package/dist/configs/services/ProfileService.js +8 -0
  292. package/dist/configs/sessionTypes.d.ts +42 -0
  293. package/dist/configs/sessionTypes.js +63 -0
  294. package/dist/configs/useLoggedUtils.d.ts +7 -0
  295. package/dist/configs/useLoggedUtils.js +24 -0
  296. package/dist/configs/useMessageUtils.d.ts +22 -0
  297. package/dist/configs/useMessageUtils.js +71 -0
  298. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  299. package/dist/fonts/work-sans-latin-ext.woff2 +0 -0
  300. package/dist/fonts/work-sans-latin.woff2 +0 -0
  301. package/dist/fonts/work-sans-vietnamese.woff2 +0 -0
  302. package/dist/functions/DateUtils.d.ts +15 -0
  303. package/dist/functions/DateUtils.js +52 -0
  304. package/dist/functions/FilterUtils.d.ts +13 -0
  305. package/dist/functions/FilterUtils.js +56 -0
  306. package/dist/functions/FormUtils.d.ts +13 -0
  307. package/dist/functions/FormUtils.js +58 -0
  308. package/dist/functions/ImageUtils.d.ts +5 -0
  309. package/dist/functions/ImageUtils.js +13 -0
  310. package/dist/functions/SecurityUtils.d.ts +6 -0
  311. package/dist/functions/SecurityUtils.js +28 -0
  312. package/dist/functions/UsabilityUtils.d.ts +10 -0
  313. package/dist/functions/UsabilityUtils.js +47 -0
  314. package/dist/functions/index.d.ts +6 -0
  315. package/dist/functions/index.js +6 -0
  316. package/dist/functions/logo-ud.png +0 -0
  317. package/dist/functions/placeholder-image.png +0 -0
  318. package/dist/functions/placeholder-person.png +0 -0
  319. package/dist/index.d.ts +5 -0
  320. package/dist/index.js +5 -0
  321. package/dist/styles/base/_borders.scss +30 -0
  322. package/dist/styles/base/_colors.scss +100 -0
  323. package/dist/styles/base/_displays.scss +207 -0
  324. package/dist/styles/base/_margins.css +174 -0
  325. package/dist/styles/base/_spacing.scss +26 -0
  326. package/dist/styles/base/_tokens.scss +330 -0
  327. package/dist/styles/base/_typographs.scss +376 -0
  328. package/dist/styles/font-googleapis.scss +222 -0
  329. package/dist/styles/main.scss +112 -0
  330. package/dist/vendor/index.d.ts +5 -0
  331. package/dist/vendor/index.js +4 -0
  332. package/package.json +118 -0
@@ -0,0 +1,192 @@
1
+ .ds-icon-button {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ cursor: pointer;
6
+ border-radius: var(--radius-050);
7
+ border: var(--border-0);
8
+
9
+ .ds-button-icon-image {
10
+ display: block;
11
+ flex-shrink: 0;
12
+ object-fit: contain;
13
+ }
14
+
15
+ &:disabled {
16
+ background: var(--layer-disabled) !important;
17
+ border: var(--border-0) !important;
18
+ }
19
+
20
+ &:disabled.outlined,
21
+ &:disabled.ghost {
22
+ background: var(--button-contrast) !important;
23
+ }
24
+
25
+ &:disabled.white {
26
+ background: transparent !important;
27
+ border: var(--border-0) !important;
28
+ }
29
+
30
+ &.accent {
31
+ &.filled {
32
+ background: var(--button-primary-default);
33
+
34
+ &.active {
35
+ background: var(--button-primary-active);
36
+ }
37
+
38
+ &:hover {
39
+ background: var(--button-primary-hover);
40
+ }
41
+ }
42
+
43
+ &.tonal {
44
+ background: var(--button-secondary-default);
45
+
46
+ &.active {
47
+ background: var(--button-secondary-active);
48
+ }
49
+
50
+ &:hover {
51
+ background: var(--button-secondary-hover);
52
+ }
53
+ }
54
+
55
+ &.outlined {
56
+ background: var(--button-contrast);
57
+ border: 1px solid var(--border-accent-2);
58
+
59
+ &.active {
60
+ border: var(--border-0);
61
+ }
62
+
63
+ &:hover {
64
+ border: 1px solid var(--border-hover);
65
+ }
66
+ }
67
+
68
+ &.ghost {
69
+ background: var(--button-contrast);
70
+
71
+ &.active {
72
+ border: 1px solid var(--border-only-high-contrast);
73
+ background: var(--button-secondary-hover);
74
+ }
75
+
76
+ &:hover {
77
+ background: var(--button-secondary-hover);
78
+ }
79
+ }
80
+ }
81
+
82
+ &.danger {
83
+ &.filled {
84
+ background: var(--button-danger-default);
85
+
86
+ &:hover {
87
+ background: var(--button-danger-hover);
88
+ }
89
+
90
+ &.active {
91
+ background: var(--button-danger-active);
92
+ }
93
+ }
94
+
95
+ &.tonal {
96
+ background: var(--button-secondary-default);
97
+
98
+ &.active {
99
+ background: var(--button-secondary-active);
100
+ }
101
+
102
+ &:hover {
103
+ background: var(--button-secondary-hover);
104
+ }
105
+ }
106
+
107
+ &.outlined {
108
+ background: var(--button-contrast);
109
+ border: 1px solid var(--border-error);
110
+
111
+ &.active {
112
+ border: var(--border-0);
113
+ }
114
+
115
+ &:hover {
116
+ border: 1px solid var(--border-error-hover);
117
+ }
118
+ }
119
+
120
+ &.ghost {
121
+ background: var(--button-contrast);
122
+
123
+ &.active {
124
+ border: 1px solid var(--border-only-high-contrast);
125
+ background: var(--layer-layer-3);
126
+ }
127
+
128
+ &:hover {
129
+ background: var(--button-secondary-default);
130
+ }
131
+ }
132
+ }
133
+
134
+ &.white {
135
+ &.filled {
136
+ background: var(--button-tertiary-default);
137
+
138
+ &:hover {
139
+ background: var(--button-tertiary-hover);
140
+ }
141
+
142
+ &.active {
143
+ background: var(--button-tertiary-active);
144
+ }
145
+ }
146
+
147
+ &.outlined {
148
+ background: var(--button-contrast);
149
+ border: 1px solid var(--border-button-white);
150
+
151
+ &.active {
152
+ border: var(--border-0);
153
+ }
154
+ }
155
+
156
+ &.ghost {
157
+ background: var(--button-contrast);
158
+
159
+ &.active {
160
+ background: var(--button-tertiary-active);
161
+ }
162
+
163
+ &:hover {
164
+ background: var(--button-tertiary-hover);
165
+ }
166
+ }
167
+ }
168
+
169
+ &.large {
170
+ width: 48px;
171
+ height: 48px;
172
+ }
173
+
174
+ &.medium {
175
+ width: 40px;
176
+ height: 40px;
177
+ }
178
+
179
+ &.small {
180
+ width: 32px;
181
+ height: 32px;
182
+ }
183
+
184
+ &.x-small {
185
+ width: 24px;
186
+ height: 24px;
187
+ }
188
+ }
189
+
190
+ .ds-icon-button-tooltip {
191
+ font-size: 16px !important;
192
+ }
@@ -0,0 +1,17 @@
1
+ import './styles.scss';
2
+ export declare const PillSizes: readonly ["large", "medium", "small"];
3
+ type PillDSSizes = (typeof PillSizes)[number];
4
+ export declare const PillTypes: readonly ["outlined", "filled"];
5
+ type PillDSTypes = (typeof PillTypes)[number];
6
+ export type Props = {
7
+ text: string;
8
+ icon?: string;
9
+ className?: string;
10
+ active?: boolean;
11
+ size?: PillDSSizes;
12
+ type?: PillDSTypes;
13
+ onClick?: () => void;
14
+ onIconClick?: () => void;
15
+ };
16
+ export default function Pill({ text, icon, className, active, size, type, onClick, onIconClick, }: Props): import("react").JSX.Element;
17
+ export {};
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from 'classnames';
3
+ import Icon from '../Icon/Icon';
4
+ import './styles.scss';
5
+ export const PillSizes = ['large', 'medium', 'small'];
6
+ export const PillTypes = ['outlined', 'filled'];
7
+ export default function Pill({ text, icon = 'add_circle', className, active, size = 'small', type = 'outlined', onClick, onIconClick, }) {
8
+ const getClassNames = cx('ds-pill', className, type, size, {
9
+ active: active,
10
+ });
11
+ const getIconSize = () => {
12
+ if (size === 'large')
13
+ return 'medium';
14
+ return 'small';
15
+ };
16
+ return (_jsxs("div", { className: getClassNames, onClick: () => onClick && onClick(), children: [_jsx("span", { children: text }), _jsx(Icon, { name: icon, size: getIconSize(), onClick: (e) => {
17
+ if (onIconClick) {
18
+ e.stopPropagation();
19
+ onIconClick();
20
+ }
21
+ } })] }));
22
+ }
@@ -0,0 +1,2 @@
1
+ import Pill from './Pill';
2
+ export default Pill;
@@ -0,0 +1,2 @@
1
+ import Pill from './Pill';
2
+ export default Pill;
@@ -0,0 +1,70 @@
1
+ .ds-pill {
2
+ display: flex;
3
+ align-items: center;
4
+ border-radius: var(--radius-full);
5
+ gap: var(--spacing-050);
6
+ cursor: pointer;
7
+
8
+ &.filled {
9
+ color: var(--text-on-color-light);
10
+ border: 1px solid var(--tag-blue-accent);
11
+ background-color: var(--tag-blue-accent);
12
+
13
+ .ds-icon {
14
+ color: var(--text-on-color-light);
15
+ }
16
+
17
+ &:hover {
18
+ color: var(--text-on-color-accent);
19
+ background-color: var(--tag-blue-low);
20
+ border-color: var(--tag-blue-low);
21
+
22
+ .ds-icon {
23
+ color: var(--text-on-color-accent);
24
+ }
25
+ }
26
+
27
+ &.active {
28
+ background-color: var(--button-primary-active);
29
+ border-color: var(--button-primary-active);
30
+ }
31
+ }
32
+
33
+ &.outlined {
34
+ color: var(--text-accent);
35
+ border: 1px solid var(--tag-blue-accent);
36
+
37
+ .ds-icon {
38
+ color: var(--text-accent);
39
+ }
40
+
41
+ &:hover {
42
+ color: var(--text-accent);
43
+ background-color: var(--layer-field-hover);
44
+ border-color: var(--layer-field-hover);
45
+ }
46
+
47
+ &.active {
48
+ background-color: var(--layer-field-active);
49
+ border-color: var(--layer-field-active);
50
+ }
51
+ }
52
+
53
+ &.small {
54
+ @include tag-small-1;
55
+ padding: var(--spacing-050) var(--spacing-050) var(--spacing-050)
56
+ var(--spacing-100);
57
+ }
58
+
59
+ &.medium {
60
+ @include tag-medium-1;
61
+ padding: var(--spacing-100) var(--spacing-100) var(--spacing-100)
62
+ var(--spacing-150);
63
+ }
64
+
65
+ &.large {
66
+ @include tag-large-1;
67
+ padding: var(--spacing-100) var(--spacing-150) var(--spacing-100)
68
+ var(--spacing-200);
69
+ }
70
+ }
@@ -0,0 +1,21 @@
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ import { SelectItem } from './SelectField';
3
+ import './styles.scss';
4
+ type Props<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> = {
5
+ attr: string;
6
+ label: string;
7
+ createdForm: UseFormReturn<TFieldValues, TContext, TTransformedValues>;
8
+ className?: string;
9
+ disabled?: boolean;
10
+ title?: string;
11
+ placeholder?: string;
12
+ loadOptions: (value: string) => Promise<SelectItem[]>;
13
+ required?: boolean;
14
+ multiple?: boolean;
15
+ freeSolo?: boolean;
16
+ minQueryLength?: number;
17
+ onChange?: (attr: string, value: any) => void;
18
+ noOptionsText?: string;
19
+ };
20
+ export default function AsyncSelectField<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>({ className, attr, label, createdForm, disabled, title, placeholder, loadOptions, required, multiple, freeSolo, minQueryLength, onChange, noOptionsText, }: Props<TFieldValues, TContext, TTransformedValues>): import("react").JSX.Element;
21
+ export {};
@@ -0,0 +1,131 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */
3
+ import { Autocomplete, CircularProgress, FormControl, TextField, } from '@mui/material';
4
+ import cx from 'classnames';
5
+ import { ThemeProvider, useTheme } from '@mui/material/styles';
6
+ import { useEffect, useRef, useState } from 'react';
7
+ import { Controller } from 'react-hook-form';
8
+ import { selectAutocompleteTheme } from './SelectAutocompleteTheme';
9
+ import './styles.scss';
10
+ const MIN_QUERY_LENGTH = 2;
11
+ const LOAD_DEBOUNCE_MS = 300;
12
+ export default function AsyncSelectField({ className, attr, label, createdForm, disabled, title, placeholder, loadOptions, required, multiple = false, freeSolo = false, minQueryLength = MIN_QUERY_LENGTH, onChange, noOptionsText, }) {
13
+ const fieldName = attr;
14
+ const outerTheme = useTheme();
15
+ const [options, setOptions] = useState([]);
16
+ const [active, setActive] = useState(false);
17
+ const [loading, setLoading] = useState(false);
18
+ const [focus, setFocus] = useState(false);
19
+ const [mouseOver, setMouseOver] = useState(false);
20
+ const [inputValue, setInputValue] = useState('');
21
+ const debounceRef = useRef(null);
22
+ const hasError = () => !!createdForm.formState.errors[attr];
23
+ const getClassNames = cx('ds-select-text', className, {
24
+ disabled: disabled,
25
+ });
26
+ useEffect(() => {
27
+ if (debounceRef.current) {
28
+ clearTimeout(debounceRef.current);
29
+ }
30
+ if (inputValue.length < minQueryLength) {
31
+ setOptions([]);
32
+ setLoading(false);
33
+ return;
34
+ }
35
+ debounceRef.current = setTimeout(() => {
36
+ setLoading(true);
37
+ loadOptions(inputValue)
38
+ .then((data) => {
39
+ setOptions(data);
40
+ setLoading(false);
41
+ })
42
+ .catch(() => {
43
+ setLoading(false);
44
+ });
45
+ }, LOAD_DEBOUNCE_MS);
46
+ return () => {
47
+ if (debounceRef.current) {
48
+ clearTimeout(debounceRef.current);
49
+ }
50
+ };
51
+ }, [inputValue, loadOptions, minQueryLength]);
52
+ useEffect(() => {
53
+ if (focus || mouseOver) {
54
+ setActive(true);
55
+ }
56
+ else {
57
+ setActive(false);
58
+ }
59
+ }, [focus, mouseOver]);
60
+ const commitFreeSoloInput = (field, input) => {
61
+ const trimmed = input.trim();
62
+ if (!trimmed)
63
+ return;
64
+ const current = field.value;
65
+ if (typeof current === 'string' && current.trim() === trimmed)
66
+ return;
67
+ if (current != null &&
68
+ typeof current === 'object' &&
69
+ 'value' in current &&
70
+ String(current.value).trim() === trimmed) {
71
+ return;
72
+ }
73
+ field.onChange(trimmed);
74
+ onChange?.(attr, trimmed);
75
+ };
76
+ return (_jsx("div", { className: getClassNames, children: _jsx(Controller, { name: fieldName, control: createdForm.control, render: ({ field }) => (_jsxs(ThemeProvider, { theme: selectAutocompleteTheme(outerTheme), children: [_jsx(FormControl, { fullWidth: true, variant: "filled", disabled: disabled, children: _jsx(Autocomplete, { multiple: multiple, freeSolo: freeSolo, disableCloseOnSelect: multiple, value: field.value ?? (multiple ? [] : null), onChange: (_event, newValue) => {
77
+ field.onChange(newValue);
78
+ onChange?.(attr, newValue);
79
+ }, onInputChange: (_event, newInputValue) => {
80
+ setInputValue(newInputValue);
81
+ }, onFocus: () => setFocus(true), onBlur: (event) => {
82
+ setFocus(false);
83
+ if (freeSolo && !multiple) {
84
+ const target = event.target;
85
+ commitFreeSoloInput(field, target?.value ?? inputValue);
86
+ }
87
+ }, onMouseOver: () => setMouseOver(true), onMouseOut: () => setMouseOver(false), options: options, loading: loading, isOptionEqualToValue: (option, value) => {
88
+ if (typeof option === 'string' && typeof value === 'string') {
89
+ return option === value;
90
+ }
91
+ if (typeof option === 'string' || typeof value === 'string') {
92
+ return false;
93
+ }
94
+ return option.value === value.value;
95
+ }, getOptionLabel: (option) => {
96
+ if (typeof option === 'string')
97
+ return option;
98
+ return option.label || '';
99
+ }, noOptionsText: noOptionsText, renderInput: (params) => (_jsx(TextField, { ...params, label: label, variant: "filled", required: required, disabled: disabled, placeholder: placeholder, InputProps: {
100
+ ...params.InputProps,
101
+ endAdornment: (_jsxs(_Fragment, { children: [loading ? _jsx(CircularProgress, { size: 20 }) : null, params.InputProps.endAdornment] })),
102
+ }, slotProps: {
103
+ inputLabel: {
104
+ shrink: true,
105
+ },
106
+ }, sx: {
107
+ borderColor: disabled
108
+ ? '#BEBFC1'
109
+ : hasError()
110
+ ? '#C6080A'
111
+ : active
112
+ ? '#1C83F4'
113
+ : '#BEBFC1',
114
+ '.MuiInputLabel-root': {
115
+ color: disabled
116
+ ? '#BEBFC1'
117
+ : hasError()
118
+ ? '#C6080A'
119
+ : active
120
+ ? '#1C83F4'
121
+ : '#000000',
122
+ },
123
+ '.MuiInputBase-root': {
124
+ minHeight: '48px',
125
+ height: multiple ? 'auto' : '48px',
126
+ },
127
+ '& .MuiInputBase-input': {
128
+ paddingTop: multiple ? '8px' : '16px',
129
+ },
130
+ } })) }) }), title && !hasError() && (_jsx("div", { className: "validation-message", children: title })), hasError() && (_jsx("div", { className: "validation-message error", children: createdForm.formState.errors[attr]?.label?.message }))] })) }) }));
131
+ }
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ export declare const selectAutocompleteTheme: (outerTheme: Theme) => Theme;
@@ -0,0 +1,78 @@
1
+ import { createTheme } from '@mui/material/styles';
2
+ export const selectAutocompleteTheme = (outerTheme) => createTheme({
3
+ ...outerTheme,
4
+ components: {
5
+ MuiFilledInput: {
6
+ styleOverrides: {
7
+ root: {
8
+ backgroundColor: 'white',
9
+ '&:before': {
10
+ display: 'none',
11
+ },
12
+ '&:after': {
13
+ display: 'none',
14
+ },
15
+ },
16
+ },
17
+ },
18
+ MuiAutocomplete: {
19
+ styleOverrides: {
20
+ root: {
21
+ border: '1px solid #EAEAEB',
22
+ borderRadius: '4px',
23
+ '& .MuiOutlinedInput-root': {
24
+ padding: '0px!important',
25
+ '& .MuiAutocomplete-input': {
26
+ fontSize: '16px',
27
+ fontWeight: '400',
28
+ lineHeight: '120%',
29
+ fontFamily: 'Work Sans, sans-serif',
30
+ '&::placeholder': {
31
+ color: '#707276',
32
+ },
33
+ },
34
+ },
35
+ },
36
+ option: {
37
+ color: '#000000',
38
+ fontSize: '16px',
39
+ fontWeight: '400',
40
+ lineHeight: '120%',
41
+ fontFamily: 'Work Sans, sans-serif',
42
+ '&:hover': {
43
+ backgroundColor: '#f5f5f5',
44
+ },
45
+ },
46
+ },
47
+ },
48
+ MuiInputLabel: {
49
+ styleOverrides: {
50
+ root: {
51
+ paddingLeft: '4px',
52
+ color: '#000000',
53
+ textTransform: 'uppercase',
54
+ fontSize: '12px',
55
+ fontWeight: '400',
56
+ lineHeight: '100%',
57
+ letterSpacing: '0.16px',
58
+ fontFamily: 'Work Sans, sans-serif',
59
+ },
60
+ },
61
+ },
62
+ MuiOutlinedInput: {
63
+ styleOverrides: {
64
+ root: {
65
+ backgroundColor: 'white',
66
+ border: '1px solid #EAEAEB',
67
+ borderRadius: '4px',
68
+ '& .MuiInputAdornment-root': {
69
+ marginRight: '24px',
70
+ },
71
+ },
72
+ notchedOutline: {
73
+ border: 'none',
74
+ },
75
+ },
76
+ },
77
+ },
78
+ });
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from 'react';
2
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
3
+ import './styles.scss';
4
+ export type SelectItem = {
5
+ label: string;
6
+ value: string | number;
7
+ };
8
+ type DefaultEndAdornmentType = 'close' | 'info';
9
+ type Props<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> = {
10
+ attr: string;
11
+ label?: string;
12
+ createdForm: UseFormReturn<TFieldValues, TContext, TTransformedValues>;
13
+ className?: string;
14
+ disabled?: boolean;
15
+ title?: string;
16
+ placeholder?: string;
17
+ options: SelectItem[];
18
+ required?: boolean;
19
+ showEndAdornment?: boolean;
20
+ endAdornment?: ReactNode[];
21
+ defaultEndAdornments?: DefaultEndAdornmentType[];
22
+ onRemove?: () => void;
23
+ onChange?: (attr: string, value: any) => void;
24
+ infoText?: string;
25
+ };
26
+ export default function SelectField<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>({ className, attr, label, createdForm, disabled, title, placeholder, options, required, endAdornment, defaultEndAdornments, showEndAdornment, onRemove, onChange, infoText, }: Props<TFieldValues, TContext, TTransformedValues>): import("react").JSX.Element;
27
+ export {};
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */
3
+ import { FilledInput, FormControl, InputAdornment, InputLabel, NativeSelect, } from '@mui/material';
4
+ import { ThemeProvider, useTheme } from '@mui/material/styles';
5
+ import cx from 'classnames';
6
+ import { useEffect, useState } from 'react';
7
+ import { Controller, } from 'react-hook-form';
8
+ import Icon from '../Icon';
9
+ import Tooltip from '../Tooltip';
10
+ import { selectFieldTheme } from './SelectFieldTheme';
11
+ import './styles.scss';
12
+ export default function SelectField({ className, attr, label, createdForm, disabled, title, placeholder, options = [], required, endAdornment, defaultEndAdornments = ['close'], showEndAdornment = true, onRemove, onChange, infoText, }) {
13
+ const fieldName = attr;
14
+ const outerTheme = useTheme();
15
+ const [active, setActive] = useState(false);
16
+ const [focus, setFocus] = useState(false);
17
+ const [mouseOver, setMouseOver] = useState(false);
18
+ const hasError = () => !!createdForm.formState.errors[attr];
19
+ const getClassNames = cx('ds-select-text', className, {
20
+ disabled: disabled,
21
+ });
22
+ useEffect(() => {
23
+ if (focus || mouseOver) {
24
+ setActive(true);
25
+ }
26
+ else {
27
+ setActive(false);
28
+ }
29
+ }, [focus, mouseOver]);
30
+ const getEndAdornmentIcon = (value) => {
31
+ const adornments = [];
32
+ if (defaultEndAdornments.length > 0) {
33
+ if (defaultEndAdornments.includes('info') && infoText) {
34
+ const infoTextElement = (_jsx(Icon, { name: "info", size: "small", className: `icon-info pointer ${disabled ? 'd-none' : ''}` }));
35
+ adornments.push(_jsx(Tooltip, { title: infoText, mode: "simple", children: _jsx("span", { children: infoTextElement }) }, "info"));
36
+ }
37
+ if (defaultEndAdornments.includes('close') &&
38
+ value !== undefined &&
39
+ onRemove) {
40
+ adornments.push(_jsx(Icon, { name: "close", size: "small", className: `${disabled ? 'd-none' : ''} pointer`, onClick: () => onRemove && onRemove() }, "close"));
41
+ }
42
+ }
43
+ if (endAdornment && endAdornment.length > 0) {
44
+ adornments.push(...endAdornment);
45
+ }
46
+ if (adornments.length === 0) {
47
+ return null;
48
+ }
49
+ if (adornments.length === 1) {
50
+ return adornments[0];
51
+ }
52
+ return _jsx("div", { className: "ds-end-adornments", children: adornments });
53
+ };
54
+ return (_jsx("div", { className: getClassNames, children: _jsx(Controller, { name: fieldName, control: createdForm.control, render: ({ field }) => (_jsxs(ThemeProvider, { theme: selectFieldTheme(outerTheme, {
55
+ hasLabel: !!label,
56
+ hasAddornments: !!endAdornment,
57
+ }), children: [_jsxs(FormControl, { fullWidth: true, variant: "filled", disabled: disabled, children: [label && (_jsx(InputLabel, { htmlFor: `${attr}-select`, shrink: true, sx: {
58
+ color: disabled
59
+ ? '#BEBFC1'
60
+ : hasError()
61
+ ? '#C6080A'
62
+ : active
63
+ ? '#1C83F4'
64
+ : '#000000',
65
+ }, children: `${label}${required ? ' *' : ''}` })), _jsxs(NativeSelect, { ...field, id: `${attr}-select`, value: field.value ?? '', fullWidth: true, required: required, disabled: disabled, variant: "filled", onFocus: () => setFocus(true), onBlur: () => setFocus(false), onMouseOver: () => setMouseOver(true), onMouseOut: () => setMouseOver(false), onChange: (event) => {
66
+ const value = event.target.value;
67
+ field.onChange(value);
68
+ onChange && onChange(attr, value || null);
69
+ }, input: _jsx(FilledInput, { endAdornment: showEndAdornment && (_jsx(InputAdornment, { position: "end", children: getEndAdornmentIcon(field.value) })), sx: {
70
+ borderColor: disabled
71
+ ? '#BEBFC1'
72
+ : hasError()
73
+ ? '#C6080A!important'
74
+ : active
75
+ ? '#1C83F4!important'
76
+ : '#BEBFC1!important',
77
+ backgroundColor: disabled
78
+ ? '#BEBFC1!important'
79
+ : '#FFFFFF!important',
80
+ } }), children: [_jsx("option", { value: "", children: placeholder || '\u00a0' }), options.map((option, idx) => (_jsx("option", { value: option.value, children: option.label }, idx.valueOf())))] })] }), title && !hasError() && _jsx("div", { className: "helper", children: title }), hasError() && (_jsx("div", { className: "helper error", children: String(createdForm.formState.errors[attr]?.message) }))] })) }) }));
81
+ }
@@ -0,0 +1,7 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ type SelectFieldThemeOptions = {
3
+ hasLabel?: boolean;
4
+ hasAddornments?: boolean;
5
+ };
6
+ export declare const selectFieldTheme: (outerTheme: Theme, { hasLabel, hasAddornments: hasAddorments, }?: SelectFieldThemeOptions) => Theme;
7
+ export {};