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,2 @@
1
+ import CheckboxField from './CheckboxField';
2
+ export default CheckboxField;
@@ -0,0 +1,2 @@
1
+ import CheckboxField from './CheckboxField';
2
+ export default CheckboxField;
@@ -0,0 +1,4 @@
1
+ .ds-checkbox {
2
+ display: flex;
3
+ align-items: center;
4
+ }
@@ -0,0 +1,26 @@
1
+ import { Locale } from 'date-fns/locale';
2
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
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
+ required?: boolean;
13
+ onChange?: (attr: string, value: any) => void;
14
+ onFocus?: React.FocusEventHandler<HTMLInputElement>;
15
+ onBlur?: React.FocusEventHandler<HTMLInputElement>;
16
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
17
+ inputRef?: React.Ref<HTMLInputElement | HTMLTextAreaElement>;
18
+ width?: string | number;
19
+ height?: string | number;
20
+ minDate?: Date;
21
+ maxDate?: Date;
22
+ adapterLocale?: Locale;
23
+ displayFormat?: string;
24
+ };
25
+ export default function DatePickerField<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>({ className, attr, label, createdForm, disabled, title, placeholder, required, onChange, onFocus, onBlur, onKeyDown, inputRef, width, height, minDate, maxDate, adapterLocale, displayFormat, }: Props<TFieldValues, TContext, TTransformedValues>): import("react").JSX.Element;
26
+ export {};
@@ -0,0 +1,90 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import { ThemeProvider, useTheme } from '@mui/material/styles';
4
+ import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers';
5
+ import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
6
+ import cx from 'classnames';
7
+ import { format, isValid, parse, parseISO } from 'date-fns';
8
+ import { enGB } from 'date-fns/locale';
9
+ import { useRef } from 'react';
10
+ import { Controller } from 'react-hook-form';
11
+ import { datePickerTheme } from './DatePickerTheme';
12
+ import './styles.scss';
13
+ const STORAGE_FORMAT = 'yyyy-MM-dd';
14
+ // Convert stored value (yyyy-MM-dd, ISO instant, etc.) to Date
15
+ const parseDate = (value) => {
16
+ if (!value)
17
+ return null;
18
+ if (value instanceof Date)
19
+ return isNaN(value.getTime()) ? null : value;
20
+ const s = String(value).trim();
21
+ if (!s)
22
+ return null;
23
+ const fromIso = parseISO(s);
24
+ if (isValid(fromIso))
25
+ return fromIso;
26
+ try {
27
+ const parsed = parse(s, STORAGE_FORMAT, new Date());
28
+ return isNaN(parsed.getTime()) ? null : parsed;
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ };
34
+ // Format Date object into yyyy-MM-dd for storage
35
+ const formatDate = (date) => date && !isNaN(date.getTime()) ? format(date, STORAGE_FORMAT) : '';
36
+ export default function DatePickerField({ className, attr, label, createdForm, disabled, title, placeholder, required, onChange, onFocus, onBlur, onKeyDown, inputRef, width = '100%', height = '48px', minDate, maxDate, adapterLocale = enGB, displayFormat = 'dd/MM/yyyy', }) {
37
+ const fieldName = attr;
38
+ const outerTheme = useTheme();
39
+ const inputElementRef = useRef(null);
40
+ const hasError = () => !!createdForm.formState.errors[attr];
41
+ const getClassNames = cx('ds-input-datepicker', className, { disabled });
42
+ return (_jsx("div", { className: getClassNames, style: { width }, children: _jsx(Controller, { name: fieldName, control: createdForm.control, render: ({ field }) => (_jsxs(ThemeProvider, { theme: datePickerTheme(outerTheme), children: [_jsx(LocalizationProvider, { dateAdapter: AdapterDateFns, adapterLocale: adapterLocale, children: _jsx(DatePicker, { label: label, format: displayFormat, value: parseDate(field.value), onChange: (date, context) => {
43
+ if (date == null && context?.validationError != null) {
44
+ return;
45
+ }
46
+ const formatted = formatDate(date);
47
+ field.onChange(formatted);
48
+ onChange && onChange(attr, formatted);
49
+ }, onAccept: () => {
50
+ // Trigger onBlur logic after date is selected from calendar
51
+ if (onBlur && inputElementRef.current) {
52
+ const syntheticEvent = {
53
+ target: inputElementRef.current,
54
+ currentTarget: inputElementRef.current,
55
+ };
56
+ onBlur(syntheticEvent);
57
+ }
58
+ }, disabled: disabled, minDate: minDate, maxDate: maxDate, slotProps: {
59
+ textField: {
60
+ required,
61
+ variant: 'filled',
62
+ InputLabelProps: { shrink: true },
63
+ inputRef: (element) => {
64
+ inputElementRef.current = element;
65
+ // Also call the original inputRef if provided
66
+ if (inputRef) {
67
+ if (typeof inputRef === 'function') {
68
+ inputRef(element);
69
+ }
70
+ else if ('current' in inputRef) {
71
+ inputRef.current = element;
72
+ }
73
+ }
74
+ },
75
+ fullWidth: true,
76
+ placeholder: placeholder || displayFormat,
77
+ onFocus: (e) => {
78
+ onFocus && onFocus(e);
79
+ },
80
+ onBlur: (e) => {
81
+ onBlur && onBlur(e);
82
+ },
83
+ onKeyDown,
84
+ error: !!hasError(),
85
+ sx: {
86
+ height,
87
+ },
88
+ },
89
+ } }) }), title && !hasError() && _jsx("div", { className: "helper", children: title }), hasError() && (_jsx("div", { className: "helper error", children: String(createdForm.formState.errors[attr]?.message) }))] })) }) }));
90
+ }
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ export declare const datePickerTheme: (outerTheme: Theme) => Theme;
@@ -0,0 +1,59 @@
1
+ import { createTheme } from '@mui/material/styles';
2
+ export const datePickerTheme = (outerTheme) => createTheme({
3
+ ...outerTheme,
4
+ components: {
5
+ // Keep targeting TextField root in case of any wrappers
6
+ MuiFormControl: {
7
+ styleOverrides: {
8
+ root: {
9
+ backgroundColor: 'white',
10
+ border: '1px solid #9D9FA2',
11
+ borderRadius: '4px',
12
+ padding: 0,
13
+ // fix background inheritance in DatePicker wrapper
14
+ '& .MuiFilledInput-root': {
15
+ backgroundColor: 'white',
16
+ },
17
+ '& .MuiInputBase-input': {
18
+ // label-medium-1
19
+ fontSize: '16px',
20
+ fontWeight: '400',
21
+ lineHeight: '120%',
22
+ letterSpacing: '0px',
23
+ fontFamily: 'Work Sans, sans-serif',
24
+ '&::placeholder': {
25
+ color: '#707276',
26
+ },
27
+ '&:-webkit-autofill': {
28
+ WebkitBoxShadow: '0 0 0px 1000px transparent inset !important',
29
+ WebkitTextFillColor: '#000 !important',
30
+ transition: 'background-color 5000s ease-in-out 0s', // Prevents flashing
31
+ },
32
+ },
33
+ '& .MuiPickersInputBase-root::before': {
34
+ content: 'none',
35
+ },
36
+ '& .MuiPickersInputBase-root::after': {
37
+ content: 'none',
38
+ },
39
+ '& .MuiPickersInputBase-root': {
40
+ backgroundColor: 'white',
41
+ paddingLeft: '4px',
42
+ height: '100%',
43
+ },
44
+ '& .MuiInputLabel-root': {
45
+ paddingLeft: '4px',
46
+ color: '#000000',
47
+ textTransform: 'uppercase',
48
+ // helper-medium-1
49
+ fontSize: '12px',
50
+ fontWeight: '400',
51
+ lineHeight: '100%',
52
+ letterSpacing: '0.16px',
53
+ fontFamily: 'Work Sans, sans-serif',
54
+ },
55
+ },
56
+ },
57
+ },
58
+ },
59
+ });
@@ -0,0 +1 @@
1
+ export { default } from './DatePickerField';
@@ -0,0 +1 @@
1
+ export { default } from './DatePickerField';
@@ -0,0 +1,26 @@
1
+ .ds-input-datepicker {
2
+ width: 100%;
3
+ position: relative;
4
+
5
+ > .helper {
6
+ @include helper-small-1;
7
+ margin-top: 4px;
8
+
9
+ &.error {
10
+ color: var(--text-error);
11
+ }
12
+ }
13
+
14
+ .icon-info {
15
+ color: var(--icon-tertiary);
16
+ }
17
+
18
+ &.disabled {
19
+ color: var(--text-on-disabled);
20
+ cursor: not-allowed;
21
+
22
+ input {
23
+ cursor: not-allowed;
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,18 @@
1
+ import { DropdownItem } from '../DropdownList/DropdownItemList';
2
+ import './styles.scss';
3
+ export declare const DropdownButtonSizes: readonly ["large", "medium", "small", "x-small"];
4
+ export type DropdownButtonSizes = (typeof DropdownButtonSizes)[number];
5
+ export declare const DropdownButtonColors: readonly ["primary", "secondary", "tertiary"];
6
+ export type DropdownButtonColors = (typeof DropdownButtonColors)[number];
7
+ export type Props = JSX.IntrinsicElements['button'] & {
8
+ text: string;
9
+ list: DropdownItem[];
10
+ color?: DropdownButtonColors;
11
+ size?: DropdownButtonSizes;
12
+ active?: boolean;
13
+ onSelect?: (item: string | number | object) => void;
14
+ hideDivider?: boolean;
15
+ right?: boolean;
16
+ icon?: string;
17
+ };
18
+ export default function DropdownButton({ text, list, className, disabled, active, color, size, onSelect, hideDivider, right, icon, }: Props): import("react").JSX.Element;
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from 'classnames';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import DropdownList from '../DropdownList';
5
+ import Icon from '../Icon';
6
+ import './styles.scss';
7
+ export const DropdownButtonSizes = [
8
+ 'large',
9
+ 'medium',
10
+ 'small',
11
+ 'x-small',
12
+ ];
13
+ export const DropdownButtonColors = [
14
+ 'primary',
15
+ 'secondary',
16
+ 'tertiary',
17
+ ];
18
+ export default function DropdownButton({ text, list, className = '', disabled = false, active = false, color = 'primary', size = 'large', onSelect, hideDivider, right, icon, }) {
19
+ const [show, setShow] = useState(false);
20
+ const containerRef = useRef(null);
21
+ useEffect(() => {
22
+ const handleClickOutside = (event) => {
23
+ if (containerRef.current &&
24
+ !containerRef.current.contains(event.target)) {
25
+ setShow(false);
26
+ }
27
+ };
28
+ if (show) {
29
+ document.addEventListener('mousedown', handleClickOutside);
30
+ }
31
+ return () => {
32
+ document.removeEventListener('mousedown', handleClickOutside);
33
+ };
34
+ }, [show]);
35
+ const getClassNames = cx('ds-dropdown-button', className, size, color, {
36
+ active: !disabled && active,
37
+ });
38
+ return (_jsxs("div", { className: "ds-dropdown-container", ref: containerRef, children: [_jsxs("button", { type: "button", disabled: disabled, className: getClassNames, onClick: () => setShow(!show), children: [_jsxs("div", { className: "left-side", children: [icon && _jsx(Icon, { name: icon, className: "icon-custom" }), _jsx("span", { className: "text", children: text })] }), !hideDivider && _jsx("div", { className: "divider", children: "\u00A0" }), _jsx(Icon, { name: "arrow_drop_down", className: "icon-arrow" })] }), show && (_jsx(DropdownList, { right: right, list: list, onSelect: (s) => {
39
+ onSelect && onSelect(s);
40
+ setTimeout(function () {
41
+ setShow(false);
42
+ }, 200);
43
+ } }))] }));
44
+ }
@@ -0,0 +1,2 @@
1
+ import DropdownButton from './DropdownButton';
2
+ export default DropdownButton;
@@ -0,0 +1,2 @@
1
+ import DropdownButton from './DropdownButton';
2
+ export default DropdownButton;
@@ -0,0 +1,172 @@
1
+ .ds-dropdown-container {
2
+ display: inline-block;
3
+ position: relative;
4
+
5
+ .ds-dropdown-button {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: var(--spacing-150);
9
+ box-sizing: border-box;
10
+ cursor: pointer;
11
+ border-radius: var(--radius-050);
12
+ color: var(--text-on-color-light);
13
+ width: 100%;
14
+
15
+ .ds-icon {
16
+ color: var(--text-on-color-light);
17
+ }
18
+
19
+ .left-side {
20
+ display: flex;
21
+ align-items: center;
22
+ gap: var(--spacing-150);
23
+ flex: 1 1 auto;
24
+ min-width: 0;
25
+ }
26
+
27
+ > .divider {
28
+ align-self: stretch;
29
+ border-left: 1px solid var(--neutral-dark-0);
30
+ width: 1px;
31
+ padding: 0 !important;
32
+ margin: 0;
33
+ flex-shrink: 0;
34
+ }
35
+
36
+ &:disabled.primary,
37
+ &:disabled.secondary {
38
+ background: var(--layer-disabled) !important;
39
+ border: 1px solid var(--layer-disabled) !important;
40
+ color: var(--text-on-disabled) !important;
41
+
42
+ .ds-icon {
43
+ color: var(--text-on-disabled) !important;
44
+ }
45
+ }
46
+
47
+ &:disabled.tertiary {
48
+ background: var(--button-contrast) !important;
49
+ border: 1px solid var(--border-subtle-2) !important;
50
+ color: var(--text-disabled) !important;
51
+
52
+ .ds-icon {
53
+ color: var(--text-disabled) !important;
54
+ }
55
+
56
+ > .divider {
57
+ border: 1px solid var(--border-subtle-2) !important;
58
+ }
59
+ }
60
+
61
+ &.primary {
62
+ background: var(--button-primary-default);
63
+ border: 1px solid var(--button-primary-default);
64
+
65
+ &.active {
66
+ background: var(--button-primary-active);
67
+ border: 1px solid var(--button-primary-active);
68
+ }
69
+
70
+ &:hover {
71
+ background: var(--button-primary-hover);
72
+ border: 1px solid var(--button-primary-hover);
73
+ }
74
+ }
75
+
76
+ &.secondary {
77
+ background: var(--button-secondary-default);
78
+ border: 1px solid var(--button-secondary-default);
79
+ color: var(--text-on-color-dark);
80
+
81
+ .ds-icon {
82
+ color: var(--text-on-color-dark);
83
+ }
84
+
85
+ &.active {
86
+ background: var(--button-secondary-default);
87
+ border: 1px solid var(--button-secondary-default);
88
+ }
89
+
90
+ &:hover {
91
+ background: var(--button-secondary-hover);
92
+ border: 1px solid var(--button-secondary-hover);
93
+ }
94
+ }
95
+
96
+ &.tertiary {
97
+ background: var(--button-contrast);
98
+ border: 1px solid var(--border-accent-3);
99
+ color: var(--text-primary);
100
+
101
+ .ds-icon {
102
+ color: var(--text-primary);
103
+ }
104
+
105
+ > .divider {
106
+ border-left: 1px solid var(--border-accent-3);
107
+ }
108
+
109
+ &:hover {
110
+ border: 1px solid var(--border-hover);
111
+ background: var(--button-secondary-default);
112
+
113
+ > .divider {
114
+ border-left: 1px solid var(--border-hover);
115
+ }
116
+ }
117
+ }
118
+
119
+ &.large {
120
+ @include button-large;
121
+ height: 48px;
122
+ padding: 0 var(--spacing-150) 0 var(--spacing-250);
123
+ }
124
+
125
+ &.medium {
126
+ @include button-medium;
127
+ height: 40px;
128
+ padding: 0 var(--spacing-100) 0 var(--spacing-200);
129
+ gap: 8px;
130
+
131
+ .left-side {
132
+ padding-right: 4px;
133
+ gap: 4px;
134
+ }
135
+ }
136
+
137
+ &.small {
138
+ @include button-small;
139
+ height: 32px;
140
+ padding: 0 var(--spacing-050) 0 var(--spacing-150);
141
+ gap: 4px;
142
+
143
+ .left-side {
144
+ gap: 4px;
145
+ padding-right: 8px;
146
+ }
147
+ }
148
+
149
+ &.x-small {
150
+ @include button-small;
151
+ height: 24px;
152
+ padding: 0 var(--spacing-050) 0 var(--spacing-100);
153
+ gap: 0px;
154
+
155
+ .left-side {
156
+ gap: 4px;
157
+ padding-right: 12px;
158
+ }
159
+ }
160
+
161
+ .icon-custom {
162
+ flex-shrink: 0;
163
+ }
164
+
165
+ .icon-arrow {
166
+ display: flex;
167
+ align-items: center;
168
+ flex-shrink: 0;
169
+ padding: 0;
170
+ }
171
+ }
172
+ }
@@ -0,0 +1,16 @@
1
+ import './styles.scss';
2
+ export type DropdownItem = {
3
+ label: string;
4
+ value: string | boolean | object;
5
+ sublabel?: string;
6
+ icon?: string;
7
+ tag?: string;
8
+ image?: string;
9
+ disabled?: boolean;
10
+ className?: string;
11
+ };
12
+ export type Props = {
13
+ item: DropdownItem;
14
+ onClick: () => void;
15
+ };
16
+ export default function DropdownItemList({ item, onClick }: Props): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from 'classnames';
3
+ import { useState } from 'react';
4
+ import Avatar from '../Avatar';
5
+ import Icon from '../Icon';
6
+ import Tag from '../Tag';
7
+ import './styles.scss';
8
+ export default function DropdownItemList({ item, onClick = () => { } }) {
9
+ const [hover, setHover] = useState(false);
10
+ const getClassNames = cx('ds-dropdown-itemlist', item.className, {
11
+ disabled: item.disabled,
12
+ });
13
+ return (_jsxs("div", { className: getClassNames, onClick: (e) => {
14
+ e.stopPropagation();
15
+ onClick();
16
+ }, onMouseOver: () => setHover(true), onMouseOut: () => setHover(false), children: [item.icon && (_jsx(Icon, { name: item.icon, size: "x-small", disabled: item.disabled })), item.tag && (_jsx(Tag, { text: item.tag, color: "gray", type: hover ? 'accent' : 'low', size: "small", disabled: item.disabled })), item.image && _jsx(Avatar, { src: item.image, size: "x-small" }), _jsx("span", { className: "label", children: item.label }), item.sublabel && _jsx("span", { className: "sublabel", children: item.sublabel })] }));
17
+ }
@@ -0,0 +1,9 @@
1
+ import './styles.scss';
2
+ import { DropdownItem } from './DropdownItemList';
3
+ export type Props = {
4
+ list: DropdownItem[];
5
+ onSelect: (item: DropdownItem) => void;
6
+ className?: string;
7
+ right?: boolean;
8
+ };
9
+ export default function DropdownList({ list, className, onSelect, right, }: Props): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cx from 'classnames';
3
+ import './styles.scss';
4
+ import DropdownItemList from './DropdownItemList';
5
+ export default function DropdownList({ list = [], className = '', onSelect, right = true, }) {
6
+ const getClassNames = cx('ds-dropdown-list', className, {
7
+ right: right,
8
+ });
9
+ return (_jsx("div", { className: getClassNames, children: list.map((item, idx) => (_jsx(DropdownItemList, { item: item, onClick: () => onSelect(item) }, idx.valueOf()))) }));
10
+ }
@@ -0,0 +1,2 @@
1
+ import DropdownList from './DropdownList';
2
+ export default DropdownList;
@@ -0,0 +1,2 @@
1
+ import DropdownList from './DropdownList';
2
+ export default DropdownList;
@@ -0,0 +1,56 @@
1
+ .ds-dropdown-list {
2
+ position: absolute;
3
+ top: 100%;
4
+ z-index: 1000;
5
+ min-width: 100%;
6
+ border: 1px solid var(--border-subtle-1);
7
+ border-radius: var(--radius-050);
8
+ background: var(--background-default);
9
+ box-shadow: 0px 8px 18px -6px #18274b1f;
10
+ max-height: 40vh;
11
+ overflow-y: auto;
12
+
13
+ &.right {
14
+ right: 0px;
15
+ }
16
+ }
17
+
18
+ .ds-dropdown-itemlist {
19
+ display: flex;
20
+ align-items: center;
21
+ background: var(--background-default);
22
+ padding: var(--spacing-0) var(--spacing-150);
23
+ min-height: 40px;
24
+ justify-content: left;
25
+ white-space: nowrap;
26
+ cursor: pointer;
27
+
28
+ > .label {
29
+ padding-right: var(--spacing-150);
30
+ @include label-medium-1;
31
+ }
32
+
33
+ > .ds-icon {
34
+ margin-right: 8px;
35
+ }
36
+
37
+ .sublabel {
38
+ @include helper-small-1;
39
+ margin-left: auto;
40
+ text-transform: uppercase;
41
+ padding-left: var(--spacing-150);
42
+ }
43
+
44
+ &.disabled {
45
+ cursor: default;
46
+ background: var(--layer-disabled);
47
+
48
+ > span {
49
+ color: var(--text-on-disabled);
50
+ }
51
+ }
52
+
53
+ &:hover {
54
+ background: var(--layer-hover-1);
55
+ }
56
+ }
@@ -0,0 +1,13 @@
1
+ import './styles.scss';
2
+ export type Props = {
3
+ list: DropdownMenuItem[];
4
+ className?: string;
5
+ };
6
+ export type DropdownMenuItem = {
7
+ label: string;
8
+ icon?: string;
9
+ disabled?: boolean;
10
+ className?: string;
11
+ onClick: () => void;
12
+ };
13
+ export default function DropdownMenu({ list, className }: Props): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from 'classnames';
3
+ import { useState } from 'react';
4
+ import Icon from '../Icon';
5
+ import IconButton from '../IconButton';
6
+ import './styles.scss';
7
+ export default function DropdownMenu({ list, className }) {
8
+ const [open, setOpen] = useState(false);
9
+ const getClassNames = cx('ds-dropdown-menu', className);
10
+ const getOptionClassNames = (optionClassName, disabled) => cx('option', optionClassName, { disabled });
11
+ return (_jsx("div", { className: getClassNames, children: _jsxs("div", { className: "menu", onClick: () => setOpen(!open), children: [_jsx(IconButton, { name: "drag_indicator", mode: "outlined", size: "small", active: open }), open && (_jsx("div", { className: "options", children: list.map((item, idx) => (_jsxs("div", { className: getOptionClassNames(item.className, item.disabled), onClick: () => item.onClick && item.onClick(), children: [item.icon && _jsx(Icon, { name: item.icon, size: "small" }), _jsx("span", { children: item.label })] }, idx.valueOf()))) }))] }) }));
12
+ }
@@ -0,0 +1,2 @@
1
+ import DropdownMenu from './DropdownMenu';
2
+ export default DropdownMenu;
@@ -0,0 +1,2 @@
1
+ import DropdownMenu from './DropdownMenu';
2
+ export default DropdownMenu;