@flightlesslabs/dodo-ui 0.10.3 → 0.11.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 (212) hide show
  1. package/dist/index.d.ts +3 -3
  2. package/dist/index.js +2 -2
  3. package/dist/stories/components/Form/DatePicker/DatePicker.stories.svelte +16 -0
  4. package/dist/stories/components/Form/DatePicker/DatePicker.svelte +3 -12
  5. package/dist/stories/components/Form/DatePicker/DatePicker.svelte.d.ts +3 -1
  6. package/dist/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +43 -0
  7. package/dist/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte.d.ts +18 -0
  8. package/dist/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +54 -0
  9. package/dist/stories/components/Form/DatePicker/Positions/Positions.stories.svelte.d.ts +18 -0
  10. package/dist/stories/components/Info/Calendar/Calendar.stories.svelte +14 -0
  11. package/dist/stories/components/Info/Calendar/Calendar.svelte +2 -1
  12. package/dist/stories/components/Info/Calendar/Calendar.svelte.d.ts +3 -3
  13. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte +2 -215
  14. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte.d.ts +1 -7
  15. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/utils/scss/mixins.scss +0 -46
  16. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +14 -0
  17. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte +3 -25
  18. package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte.d.ts +4 -5
  19. package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.d.ts +27 -0
  20. package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.js +72 -0
  21. package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
  22. package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth/getDatesOfMonth.d.ts +10 -0
  23. package/dist/stories/components/Info/Calendar/utils/{getDatesOfMonth.js → getDatesOfMonth/getDatesOfMonth.js} +20 -13
  24. package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
  25. package/dist/stories/components/Info/Calendar/utils/types.d.ts +0 -4
  26. package/dist/stories/developer tools/components/Popper/Popper.stories.svelte +16 -0
  27. package/dist/stories/developer tools/components/Popper/Popper.svelte +10 -14
  28. package/dist/stories/developer tools/components/Popper/Popper.svelte.d.ts +2 -0
  29. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +25 -11
  30. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte.d.ts +2 -0
  31. package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.d.ts +10 -8
  32. package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.js +40 -23
  33. package/dist/stories/developer tools/helpers/Time/getMoment/getMoment.d.ts +10 -11
  34. package/dist/stories/developer tools/helpers/Time/getMoment/getMoment.js +8 -8
  35. package/dist/stories/developer tools/helpers/Time/getMoment/index.mdx +31 -4
  36. package/package.json +21 -23
  37. package/src/lib/index.ts +3 -3
  38. package/src/lib/stories/Home.mdx +59 -0
  39. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  40. package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
  41. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
  42. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
  43. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
  44. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
  45. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
  46. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
  47. package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
  48. package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
  49. package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
  50. package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
  51. package/src/lib/stories/components/Form/DatePicker/DatePicker.svelte +11 -13
  52. package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
  53. package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
  54. package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
  55. package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
  56. package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
  57. package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
  58. package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
  59. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
  60. package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
  61. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
  62. package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
  63. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
  64. package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
  65. package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
  66. package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
  67. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
  68. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
  69. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
  70. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
  71. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
  72. package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
  73. package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
  74. package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
  75. package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
  76. package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
  77. package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
  78. package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
  79. package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
  80. package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
  81. package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
  82. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
  83. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
  84. package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
  85. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
  86. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
  87. package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
  88. package/src/lib/stories/components/Info/Calendar/Calendar.svelte +8 -2
  89. package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
  90. package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
  91. package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
  92. package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
  93. package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
  94. package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
  95. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
  96. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
  97. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
  98. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
  99. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
  100. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
  101. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
  102. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
  103. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
  104. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
  105. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
  106. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
  107. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
  108. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
  109. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
  110. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
  111. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
  112. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
  113. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
  114. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
  115. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
  116. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
  117. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
  118. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
  119. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
  120. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte +2 -25
  121. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
  122. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
  123. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
  124. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
  125. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
  126. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
  127. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/utils/scss/mixins.scss +0 -46
  128. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
  129. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte +23 -53
  130. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
  131. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
  132. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
  133. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
  134. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
  135. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
  136. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
  137. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
  138. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
  139. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
  140. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
  141. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
  142. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
  143. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
  144. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
  145. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
  146. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
  147. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
  148. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
  149. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
  150. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
  151. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
  152. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
  153. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
  154. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
  155. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
  156. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
  157. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
  158. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
  159. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
  160. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.ts +120 -0
  161. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
  162. package/src/lib/stories/components/Info/Calendar/utils/{getDatesOfMonth.ts → getDatesOfMonth/getDatesOfMonth.ts} +30 -16
  163. package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
  164. package/src/lib/stories/components/Info/Calendar/utils/types.ts +0 -5
  165. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
  166. package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
  167. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
  168. package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
  169. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
  170. package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
  171. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
  172. package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
  173. package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
  174. package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
  175. package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  176. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
  177. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
  178. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
  179. package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
  180. package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
  181. package/src/lib/stories/developer tools/Intro.mdx +9 -0
  182. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
  183. package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
  184. package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
  185. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
  186. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
  187. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
  188. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
  189. package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
  190. package/src/lib/stories/developer tools/components/Popper/Popper.svelte +13 -14
  191. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
  192. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +36 -10
  193. package/src/lib/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.ts +45 -31
  194. package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
  195. package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
  196. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
  197. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
  198. package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
  199. package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
  200. package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
  201. package/src/lib/stories/developer tools/helpers/Time/getMoment/getMoment.ts +11 -12
  202. package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
  203. package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
  204. package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
  205. package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
  206. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
  207. package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
  208. package/dist/stories/components/Info/Calendar/utils/createDateOfMonth.d.ts +0 -28
  209. package/dist/stories/components/Info/Calendar/utils/createDateOfMonth.js +0 -87
  210. package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth.d.ts +0 -10
  211. package/dist/stories/components/Info/Calendar/utils/index.mdx +0 -64
  212. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth.ts +0 -160
@@ -0,0 +1,45 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarMonthList from './CalendarMonthList.svelte';
4
+ import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
+ import { componentColorArray } from '$lib/types/colors.js';
6
+ import { componentSizeArray } from '$lib/types/size.js';
7
+
8
+ export const storyCalendarMonthListArgTypes: StoryBookArgTypes = {
9
+ color: {
10
+ control: { type: 'select' },
11
+ options: componentColorArray,
12
+ },
13
+ size: {
14
+ control: { type: 'select' },
15
+ options: componentSizeArray,
16
+ },
17
+ };
18
+
19
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
20
+ const { Story } = defineMeta({
21
+ component: CalendarMonthList,
22
+ tags: ['autodocs'],
23
+ argTypes: storyCalendarMonthListArgTypes,
24
+ args: {
25
+ value: 'jan',
26
+ },
27
+ });
28
+ </script>
29
+
30
+ <!-- Default CalendarMonthList -->
31
+ <Story name="Default" />
32
+
33
+ <Story
34
+ name="DisabledMonths"
35
+ args={{
36
+ disabledMonths: ['feb', 'jul'],
37
+ }}
38
+ />
39
+
40
+ <Story
41
+ name="HideControls"
42
+ args={{
43
+ showControls: false,
44
+ }}
45
+ />
@@ -0,0 +1,22 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarMonthList from '../CalendarMonthList.svelte';
4
+ import { storyCalendarMonthListArgTypes } from '../CalendarMonthList.stories.svelte';
5
+
6
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
+ const { Story } = defineMeta({
8
+ component: CalendarMonthList,
9
+ tags: ['autodocs'],
10
+ argTypes: storyCalendarMonthListArgTypes,
11
+ args: {
12
+ value: 'jan',
13
+ },
14
+ });
15
+ </script>
16
+
17
+ <Story name="Primary" />
18
+ <Story name="Secondary" args={{ color: 'secondary' }} />
19
+ <Story name="Neutral" args={{ color: 'neutral' }} />
20
+ <Story name="Safe" args={{ color: 'safe' }} />
21
+ <Story name="Warning" args={{ color: 'warning' }} />
22
+ <Story name="Danger" args={{ color: 'danger' }} />
@@ -0,0 +1,36 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarMonthList from '../CalendarMonthList.svelte';
4
+ import { storyCalendarMonthListArgTypes } from '../CalendarMonthList.stories.svelte';
5
+ import { Button } from '$lib/index.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarMonthList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarMonthListArgTypes,
12
+ args: {
13
+ value: 'jan',
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Default" />
19
+
20
+ <Story name="customCalendarMonthChipContent" asChild>
21
+ <CalendarMonthList value="jan">
22
+ {#snippet customCalendarMonthChipContent(val)}
23
+ 🗓️{val}
24
+ {/snippet}
25
+ </CalendarMonthList>
26
+ </Story>
27
+
28
+ <Story name="customCalendarMonthChip" asChild>
29
+ <CalendarMonthList value="jan">
30
+ {#snippet customCalendarMonthChip(val)}
31
+ <Button size="small" variant="text" outline>
32
+ {val}
33
+ </Button>
34
+ {/snippet}
35
+ </CalendarMonthList>
36
+ </Story>
@@ -0,0 +1,33 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarMonthList from '../CalendarMonthList.svelte';
4
+ import { storyCalendarMonthListArgTypes } from '../CalendarMonthList.stories.svelte';
5
+ import type { CalendarMonthNames } from '../../CalendarControls/CalendarMonthSelector/CalendarMonthSelector.svelte';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarMonthList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarMonthListArgTypes,
12
+ });
13
+
14
+ let value = $state<CalendarMonthNames>('jan');
15
+ </script>
16
+
17
+ <Story name="Select" asChild>
18
+ <CalendarMonthList
19
+ {value}
20
+ onselect={(val) => {
21
+ value = val;
22
+ }}
23
+ />
24
+ </Story>
25
+
26
+ <Story name="Cancel" asChild>
27
+ <CalendarMonthList
28
+ {value}
29
+ oncancel={() => {
30
+ console.log('oncancel');
31
+ }}
32
+ />
33
+ </Story>
@@ -0,0 +1,19 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarMonthList from '../CalendarMonthList.svelte';
4
+ import { storyCalendarMonthListArgTypes } from '../CalendarMonthList.stories.svelte';
5
+
6
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
+ const { Story } = defineMeta({
8
+ component: CalendarMonthList,
9
+ tags: ['autodocs'],
10
+ argTypes: storyCalendarMonthListArgTypes,
11
+ args: {
12
+ value: 'jan',
13
+ },
14
+ });
15
+ </script>
16
+
17
+ <Story name="Normal" />
18
+ <Story name="Small" args={{ size: 'small' }} />
19
+ <Story name="Large" args={{ size: 'large' }} />
@@ -0,0 +1,41 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from './CalendarYearChip.svelte';
4
+ import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
+ import { componentColorArray } from '$lib/types/colors.js';
6
+ import { componentSizeArray } from '$lib/types/size.js';
7
+ import { componentRoundnessArray } from '$lib/types/roundness.js';
8
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
9
+
10
+ export const storyCalendarYearChipArgTypes: StoryBookArgTypes = {
11
+ color: {
12
+ control: { type: 'select' },
13
+ options: componentColorArray,
14
+ },
15
+ size: {
16
+ control: { type: 'select' },
17
+ options: componentSizeArray,
18
+ },
19
+ roundness: {
20
+ control: { type: 'select' },
21
+ options: componentRoundnessArray,
22
+ },
23
+ };
24
+
25
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
26
+ const { Story } = defineMeta({
27
+ component: CalendarYearChip,
28
+ tags: ['autodocs'],
29
+ argTypes: storyCalendarYearChipArgTypes,
30
+ args: {
31
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
32
+ },
33
+ });
34
+ </script>
35
+
36
+ <!-- Default CalendarYearChip -->
37
+ <Story name="Default" />
38
+
39
+ <Story name="Selected" args={{ selected: true }} />
40
+
41
+ <Story name="Disabled" args={{ disabled: true }} />
@@ -0,0 +1,30 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from '../../CalendarYearChip/CalendarYearChip.svelte';
4
+ import { storyCalendarYearChipArgTypes } from '../../CalendarYearChip/CalendarYearChip.stories.svelte';
5
+ import { getMoment } from '$lib/index.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearChip,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearChipArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Primary" />
19
+ <Story name="Secondary" args={{ color: 'secondary' }} />
20
+ <Story name="Neutral" args={{ color: 'neutral' }} />
21
+ <Story name="Safe" args={{ color: 'safe' }} />
22
+ <Story name="Warning" args={{ color: 'warning' }} />
23
+ <Story name="Danger" args={{ color: 'danger' }} />
24
+
25
+ <Story name="Primary Selected" args={{ color: 'primary', selected: true }} />
26
+ <Story name="Secondary Selected" args={{ color: 'secondary', selected: true }} />
27
+ <Story name="Neutral Selected" args={{ color: 'neutral', selected: true }} />
28
+ <Story name="Safe Selected" args={{ color: 'safe', selected: true }} />
29
+ <Story name="Warning Selected" args={{ color: 'warning', selected: true }} />
30
+ <Story name="Danger Selected" args={{ color: 'danger', selected: true }} />
@@ -0,0 +1,33 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from '../CalendarYearChip.svelte';
4
+ import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
5
+ import { Button, getMoment } from '$lib/index.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearChip,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearChipArgTypes,
12
+ });
13
+ </script>
14
+
15
+ <!-- Custom Content -->
16
+ <Story name="customCalendarYearChipContent" asChild>
17
+ <CalendarYearChip value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
18
+ {#snippet customCalendarYearChipContent(val)}
19
+ 🗓️{val}
20
+ {/snippet}
21
+ </CalendarYearChip>
22
+ </Story>
23
+
24
+ <!-- Custom Chip -->
25
+ <Story name="customCalendarYearChip" asChild>
26
+ <CalendarYearChip value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
27
+ {#snippet customCalendarYearChip(val)}
28
+ <Button size="small" variant="text" outline>
29
+ {val}
30
+ </Button>
31
+ {/snippet}
32
+ </CalendarYearChip>
33
+ </Story>
@@ -0,0 +1,24 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from '../CalendarYearChip.svelte';
4
+ import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearChip,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearChipArgTypes,
12
+ });
13
+ </script>
14
+
15
+ <Story name="Select" asChild>
16
+ <CalendarYearChip
17
+ value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}
18
+ onselect={(value, e) => {
19
+ const target = e.target as HTMLButtonElement;
20
+ alert(`CalendarYearChip Select, ${value}`);
21
+ console.log('CalendarYearChip Select', value, target);
22
+ }}
23
+ />
24
+ </Story>
@@ -0,0 +1,27 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from '../CalendarYearChip.svelte';
4
+ import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
5
+ import { getMoment } from '$lib/index.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearChip,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearChipArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <!-- Hover to see the result -->
19
+ <Story name="Roundness 1" />
20
+
21
+ <Story name="Roundness 2" args={{ roundness: 2 }} />
22
+
23
+ <Story name="Roundness 3" args={{ roundness: 3 }} />
24
+
25
+ <Story name="Roundness 0" args={{ roundness: 0 }} />
26
+
27
+ <Story name="Roundness Full" args={{ roundness: 'full', compact: true }} />
@@ -0,0 +1,20 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearChip from '../CalendarYearChip.svelte';
4
+ import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearChip,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearChipArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Normal" />
19
+ <Story name="Small" args={{ size: 'small' }} />
20
+ <Story name="Large" args={{ size: 'large' }} />
@@ -0,0 +1,39 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearList from './CalendarYearList.svelte';
4
+ import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
+ import { componentColorArray } from '$lib/types/colors.js';
6
+ import { componentSizeArray } from '$lib/types/size.js';
7
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
8
+
9
+ export const storyCalendarYearListArgTypes: StoryBookArgTypes = {
10
+ color: {
11
+ control: { type: 'select' },
12
+ options: componentColorArray,
13
+ },
14
+ size: {
15
+ control: { type: 'select' },
16
+ options: componentSizeArray,
17
+ },
18
+ };
19
+
20
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
21
+ const { Story } = defineMeta({
22
+ component: CalendarYearList,
23
+ tags: ['autodocs'],
24
+ argTypes: storyCalendarYearListArgTypes,
25
+ args: {
26
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
27
+ },
28
+ });
29
+ </script>
30
+
31
+ <!-- Default CalendarYearList -->
32
+ <Story name="Default" />
33
+
34
+ <Story
35
+ name="HideControls"
36
+ args={{
37
+ showControls: false,
38
+ }}
39
+ />
@@ -0,0 +1,23 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearList from '../CalendarYearList.svelte';
4
+ import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearListArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Primary" />
19
+ <Story name="Secondary" args={{ color: 'secondary' }} />
20
+ <Story name="Neutral" args={{ color: 'neutral' }} />
21
+ <Story name="Safe" args={{ color: 'safe' }} />
22
+ <Story name="Warning" args={{ color: 'warning' }} />
23
+ <Story name="Danger" args={{ color: 'danger' }} />
@@ -0,0 +1,36 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearList from '../CalendarYearList.svelte';
4
+ import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
5
+ import { Button, getMoment } from '$lib/index.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearListArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Default" />
19
+
20
+ <Story name="customCalendarYearChipContent" asChild>
21
+ <CalendarYearList value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
22
+ {#snippet customCalendarYearChipContent(val)}
23
+ 🗓️{val}
24
+ {/snippet}
25
+ </CalendarYearList>
26
+ </Story>
27
+
28
+ <Story name="customCalendarYearChip" asChild>
29
+ <CalendarYearList value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
30
+ {#snippet customCalendarYearChip(val)}
31
+ <Button size="small" variant="text" outline>
32
+ {val}
33
+ </Button>
34
+ {/snippet}
35
+ </CalendarYearList>
36
+ </Story>
@@ -0,0 +1,24 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearList from '../CalendarYearList.svelte';
4
+ import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearListArgTypes,
12
+ });
13
+
14
+ let value = $state<string>(getMoment(undefined, undefined, { utc: true }).format('YYYY'));
15
+ </script>
16
+
17
+ <Story name="Select" asChild>
18
+ <CalendarYearList
19
+ {value}
20
+ onselect={(val) => {
21
+ value = val;
22
+ }}
23
+ />
24
+ </Story>
@@ -0,0 +1,20 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import CalendarYearList from '../CalendarYearList.svelte';
4
+ import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: CalendarYearList,
10
+ tags: ['autodocs'],
11
+ argTypes: storyCalendarYearListArgTypes,
12
+ args: {
13
+ value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
14
+ },
15
+ });
16
+ </script>
17
+
18
+ <Story name="Normal" />
19
+ <Story name="Small" args={{ size: 'small' }} />
20
+ <Story name="Large" args={{ size: 'large' }} />
@@ -0,0 +1,120 @@
1
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
2
+ import type dayjs from 'dayjs';
3
+ import type { DateOfMonth } from '../types.js';
4
+ import type { CalendarWeekNames } from '$lib/index.js';
5
+
6
+ /** Settings for generating calendar dates */
7
+ export interface CreateDatesOfMonthSettings {
8
+ startOfWeek?: CalendarWeekNames;
9
+ showLastMonth?: boolean;
10
+ showNextMonth?: boolean;
11
+ today?: Date;
12
+ minDate?: Date;
13
+ maxDate?: Date;
14
+ excludeDates?: Date[];
15
+ includeDates?: Date[];
16
+ timezone?: string;
17
+ utc?: boolean;
18
+ }
19
+
20
+ export type CreateDateOfMonthType = 'currentMonth' | 'nextMonth' | 'lastMonth';
21
+
22
+ /**
23
+ * Creates a moment object from a Date with optional timezone and UTC settings.
24
+ */
25
+ function dateMoment(
26
+ date?: Date,
27
+ settings?: CreateDatesOfMonthSettings,
28
+ ): ReturnType<typeof getMoment> {
29
+ return getMoment(date, undefined, {
30
+ timezone: settings?.timezone,
31
+ utc: settings?.utc,
32
+ });
33
+ }
34
+
35
+ /**
36
+ * Determines if the given day matches "today" (manual or actual).
37
+ */
38
+ function getIsToday(dayMoment: dayjs.Dayjs, todayDate: string, todayManual?: string): boolean {
39
+ const dayDateFormat = dayMoment.format('DD-MM-YYYY');
40
+ return todayManual === dayDateFormat || todayDate === dayDateFormat;
41
+ }
42
+
43
+ /**
44
+ * Determines if a date should be disabled based on limits and included/excluded lists.
45
+ */
46
+ function getIsDateDisabled(
47
+ dayMoment: dayjs.Dayjs,
48
+ minDate?: dayjs.Dayjs,
49
+ maxDate?: dayjs.Dayjs,
50
+ excludeDates?: string[],
51
+ includeDates?: string[],
52
+ ): boolean {
53
+ const dayDateFormat = dayMoment.format('DD-MM-YYYY');
54
+
55
+ if (minDate?.isValid() && dayMoment.isBefore(minDate)) return true;
56
+ if (maxDate?.isValid() && dayMoment.isAfter(maxDate)) return true;
57
+ if (excludeDates?.includes(dayDateFormat)) return true;
58
+ if (includeDates && !includeDates.includes(dayDateFormat)) return true;
59
+
60
+ return false;
61
+ }
62
+
63
+ /**
64
+ * Generates a DateOfMonth object with metadata for a specific day, including
65
+ * whether it's part of the current month, disabled, or today.
66
+ *
67
+ * @param date - The day to convert.
68
+ * @param settings - Optional configuration settings.
69
+ * @param monthType - Specifies if the day belongs to the current, previous, or next month.
70
+ * @param manipulateDate - Optional function to customize the resulting date object.
71
+ * @returns A DateOfMonth object representing the day.
72
+ */
73
+ export default function createDateOfMonth(
74
+ date?: Date,
75
+ settings?: CreateDatesOfMonthSettings,
76
+ monthType: CreateDateOfMonthType = 'currentMonth',
77
+ manipulateDate?: (
78
+ dateToModify: DateOfMonth,
79
+ settings?: CreateDatesOfMonthSettings,
80
+ ) => DateOfMonth,
81
+ ): DateOfMonth {
82
+ const minDate = settings?.minDate ? dateMoment(settings.minDate, settings) : undefined;
83
+ const maxDate = settings?.maxDate ? dateMoment(settings.maxDate, settings) : undefined;
84
+
85
+ const excludeDates = settings?.excludeDates?.map((item) =>
86
+ dateMoment(item, settings).format('DD-MM-YYYY'),
87
+ );
88
+ const includeDates = settings?.includeDates?.map((item) =>
89
+ dateMoment(item, settings).format('DD-MM-YYYY'),
90
+ );
91
+
92
+ const todayDate = dateMoment(undefined, settings).format('DD-MM-YYYY');
93
+ const todayManual = settings?.today
94
+ ? dateMoment(settings.today, settings).format('DD-MM-YYYY')
95
+ : undefined;
96
+
97
+ const dayMoment = dateMoment(date, settings);
98
+
99
+ let dataToExport: DateOfMonth = {
100
+ id: `${dayMoment.valueOf()}`,
101
+ date: dayMoment.toDate(),
102
+ isCurrentMonth: true,
103
+ disabled: getIsDateDisabled(dayMoment, minDate, maxDate, excludeDates, includeDates),
104
+ today: getIsToday(dayMoment, todayDate, todayManual),
105
+ };
106
+
107
+ if (monthType === 'lastMonth') {
108
+ dataToExport.isLastMonth = true;
109
+ dataToExport.isCurrentMonth = false;
110
+ } else if (monthType === 'nextMonth') {
111
+ dataToExport.isNextMonth = true;
112
+ dataToExport.isCurrentMonth = false;
113
+ }
114
+
115
+ if (manipulateDate) {
116
+ dataToExport = manipulateDate(dataToExport, settings);
117
+ }
118
+
119
+ return dataToExport;
120
+ }