@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,25 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import UtilityButton from '../UtilityButton.svelte';
4
+ import { storyUtilityButtonArgTypes } from '../UtilityButton.stories.svelte';
5
+ import Icon from '@iconify/svelte';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: UtilityButton,
10
+ tags: ['autodocs'],
11
+ argTypes: storyUtilityButtonArgTypes,
12
+ });
13
+ </script>
14
+
15
+ <Story name="Normal">
16
+ <Icon icon="mdi:eye" width="24" height="24" />
17
+ </Story>
18
+
19
+ <Story name="Small" args={{ size: 'small' }}>
20
+ <Icon icon="mdi:eye" width="24" height="24" />
21
+ </Story>
22
+
23
+ <Story name="Large" args={{ size: 'large' }}>
24
+ <Icon icon="mdi:eye" width="24" height="24" />
25
+ </Story>
@@ -0,0 +1,30 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import UtilityButton from './UtilityButton.svelte';
4
+ import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
+ import Icon from '@iconify/svelte';
6
+ import { componentSizeArray } from '$lib/types/size.js';
7
+
8
+ export const storyUtilityButtonArgTypes: StoryBookArgTypes = {
9
+ size: {
10
+ control: { type: 'select' },
11
+ options: componentSizeArray,
12
+ },
13
+ };
14
+
15
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
16
+ const { Story } = defineMeta({
17
+ component: UtilityButton,
18
+ tags: ['autodocs'],
19
+ argTypes: storyUtilityButtonArgTypes,
20
+ });
21
+ </script>
22
+
23
+ <!-- Button with default style -->
24
+ <Story name="Default">
25
+ <Icon icon="mdi:eye" width="24" height="24" />
26
+ </Story>
27
+
28
+ <Story name="Disabled" args={{ disabled: true }}>
29
+ <Icon icon="mdi:eye" width="24" height="24" />
30
+ </Story>
@@ -0,0 +1,25 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # Click Outside
4
+
5
+ Event that fires after clicking outside the target component
6
+
7
+ <Source
8
+ dark
9
+ language="js"
10
+ code={`
11
+ import { clickOutside } '@flightlesslabs/dodo-ui';
12
+ `}
13
+ />
14
+
15
+ Attach it to a component
16
+
17
+ <Source
18
+ dark
19
+ language="js"
20
+ code={`
21
+ <div
22
+ use:clickOutside={onClickOutside}
23
+ ...
24
+ `}
25
+ />
@@ -0,0 +1,20 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # `cleanNumericString`
4
+
5
+ Cleans the input string by removing all characters except numeric digits (0-9) and a single decimal point.
6
+ Only the first decimal point is retained; all subsequent dots are removed.
7
+
8
+ ---
9
+
10
+ ## Basic Usage
11
+
12
+ <Source
13
+ dark
14
+ language="ts"
15
+ code={`
16
+ import { cleanNumericString } from '@flightlesslabs/dodo-ui';
17
+
18
+ const result = cleanNumericString("abc123.45.67def"); // result === "123.4567"
19
+ `}
20
+ />
@@ -0,0 +1,71 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # `isValidNumberValue`
4
+
5
+ Utility function to validate whether a string is a valid number based on customizable settings including minimum, maximum, decimal places, and allowance of negative numbers.
6
+
7
+ ---
8
+
9
+ ## Basic Usage
10
+
11
+ Validates a string as a number with default settings (no decimals allowed, no negatives allowed, strict checking):
12
+
13
+ <Source
14
+ dark
15
+ language="ts"
16
+ code={`
17
+ import { isValidNumberValue } from '@flightlesslabs/dodo-ui';
18
+
19
+ const result = isValidNumberValue("123");
20
+ console.log(result); // true
21
+ `}
22
+ />
23
+
24
+ ---
25
+
26
+ ## With Settings
27
+
28
+ Customize validation rules:
29
+
30
+ - `min` — minimum allowed value (inclusive)
31
+ - `max` — maximum allowed value (inclusive)
32
+ - `allowNegativeValues` — whether negatives are allowed
33
+ - `decimalPlaces` — max decimal places allowed
34
+ - `log` — enable detailed logging
35
+ - `strict` — Strict checking, Full text - keep it enabled, Partial text - keep it disabled
36
+
37
+ <Source
38
+ dark
39
+ language="ts"
40
+ code={`
41
+ import { isValidNumberValue } from '@flightlesslabs/dodo-ui';
42
+
43
+ const result1 = isValidNumberValue("123.456", { decimalPlaces: 3, log: true });
44
+ const result2 = isValidNumberValue("-50", { allowNegativeValues: true, min: -100 });
45
+ const result3 = isValidNumberValue("200", { max: 150 });
46
+
47
+ const result4 = isValidNumberValue("-", { allowNegativeValues: true });
48
+ const result5 = isValidNumberValue("-", { allowNegativeValues: true, strict: false });
49
+
50
+ console.log(result1); // true
51
+ console.log(result2); // true
52
+ console.log(result3); // false (exceeds max)
53
+ console.log(result4); // false (fails in strict check)
54
+ console.log(result5); // true (pass in strict check)
55
+ `}
56
+ />
57
+
58
+ ---
59
+
60
+ ## Type Definition
61
+
62
+ ```ts
63
+ export type IsValidNumberValueSettings = {
64
+ min?: number;
65
+ max?: number;
66
+ allowNegativeValues?: boolean;
67
+ decimalPlaces?: number;
68
+ log?: boolean;
69
+ strict?: boolean;
70
+ };
71
+ ```
@@ -1,5 +1,5 @@
1
1
  import type { ConfigType, OptionType } from 'dayjs';
2
- import dayjs from 'dayjs';
2
+ import dayjs, { Dayjs } from 'dayjs';
3
3
  import utc from 'dayjs/plugin/utc.js';
4
4
  import timezone from 'dayjs/plugin/timezone.js';
5
5
  import customParseFormat from 'dayjs/plugin/customParseFormat.js';
@@ -15,14 +15,13 @@ export type GetMomentDate = ConfigType;
15
15
 
16
16
  /**
17
17
  * Optional formatting string used to parse the date.
18
- * Refer to dayjs customParseFormat plugin for supported formats.
19
18
  */
20
19
  export type GetMomentFormat = OptionType;
21
20
 
22
21
  /**
23
22
  * Settings to control how the moment is returned (UTC, timezone, or local).
24
23
  */
25
- export type GetMomentSettings = {
24
+ export interface GetMomentSettings {
26
25
  /**
27
26
  * Timezone string (e.g., "America/New_York").
28
27
  */
@@ -32,28 +31,28 @@ export type GetMomentSettings = {
32
31
  * Whether to return the time in UTC. If true, overrides timezone.
33
32
  */
34
33
  utc?: boolean;
35
- };
34
+ }
36
35
 
37
36
  /**
38
37
  * A wrapper around dayjs to return a moment-like object with optional formatting,
39
38
  * timezone, or UTC handling.
40
39
  *
41
- * @param {GetMomentDate} [date] - The input date, time, or string to be parsed.
42
- * @param {format} [format] - A custom format string for parsing the input date.
43
- * @param {GetMomentSettings} [settings] - Optional settings for format, timezone, and UTC.
44
- * @returns {dayjs.Dayjs} - A dayjs object in local, UTC, or specified timezone.
40
+ * @param date - The input date, time, or string to be parsed.
41
+ * @param format - A custom format string for parsing the input date.
42
+ * @param settings - Optional settings for timezone or UTC output.
43
+ * @returns A dayjs object in local, UTC, or specified timezone.
45
44
  *
46
45
  * @example
47
- * getMoment('2025-01-01T12:00:00Z', { utc: true }).format()
48
- * getMoment('01-01-2025', { format: 'DD-MM-YYYY', timezone: 'Asia/Kolkata' }).format()
46
+ * getMoment('2025-01-01T12:00:00Z', undefined, { utc: true }).format()
47
+ * getMoment('01-01-2025', 'DD-MM-YYYY', { timezone: 'Asia/Kolkata' }).format()
49
48
  */
50
49
  export default function getMoment(
51
50
  date?: GetMomentDate,
52
51
  format?: GetMomentFormat,
53
52
  settings?: GetMomentSettings,
54
- ): dayjs.Dayjs {
53
+ ): Dayjs {
55
54
  const timezone = settings?.timezone;
56
- const utc = settings?.utc ? true : false;
55
+ const utc = settings?.utc ?? false;
57
56
 
58
57
  if (utc) {
59
58
  return dayjs.utc(dayjs(date, format));
@@ -0,0 +1,45 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # `getMoment`
4
+
5
+ A [Day.js](https://day.js.org/) wrapper that supports custom formats, UTC mode, and timezone conversion using `dayjs`, `utc`, `timezone`, and `customParseFormat` plugins.
6
+
7
+ ---
8
+
9
+ ## Usage
10
+
11
+ <Source
12
+ dark
13
+ language="ts"
14
+ code={`
15
+ // Basic local time
16
+ getMoment('2025-01-01T00:00:00Z').format();
17
+
18
+ // UTC output
19
+ getMoment('2025-01-01T00:00:00Z', undefined, { utc: true }).format();
20
+ // → "2025-01-01T00:00:00Z"
21
+
22
+ // With custom format + timezone
23
+ getMoment('01-01-2025', 'DD-MM-YYYY', { timezone: 'Asia/Kolkata' }).format();
24
+ // → "2025-01-01T00:00:00+05:30"
25
+ `}
26
+ />
27
+
28
+ ---
29
+
30
+ ## API
31
+
32
+ <Source
33
+ dark
34
+ language="ts"
35
+ code={`
36
+ getMoment(
37
+ date?: ConfigType,
38
+ format?: string,
39
+ settings?: {
40
+ utc?: boolean;
41
+ timezone?: string;
42
+ }
43
+ ): dayjs.Dayjs
44
+ `}
45
+ />
@@ -0,0 +1,63 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # Logger Utility
4
+
5
+ A customizable logger function that supports:
6
+
7
+ - Log levels (`info`, `warn`, `error`)
8
+ - Optional labels
9
+ - A `show` flag to toggle logging
10
+ - Console output with timestamps
11
+
12
+ ## Import
13
+
14
+ Import the logger creation function:
15
+
16
+ <Source dark language="ts" code={`import { createLogger } from '@flightlesslabs/dodo-ui';`} />
17
+
18
+ ## Basic Usage
19
+
20
+ Create a logger and log different types of messages:
21
+
22
+ <Source
23
+ dark
24
+ language="ts"
25
+ code={`const logger = createLogger({
26
+ label: 'AuthService',
27
+ });
28
+
29
+ logger.info('User logged in');
30
+ logger.warn('Token is about to expire');
31
+ logger.error('Login failed', new Error('Invalid credentials'));
32
+ `}
33
+ />
34
+
35
+ ## Disable Logging
36
+
37
+ You can use the \`show\` flag to completely silence the logger (e.g., in production):
38
+
39
+ <Source
40
+ dark
41
+ language="ts"
42
+ code={`const logger = createLogger({
43
+ show: false,
44
+ });
45
+
46
+ logger.info('This will not be logged');
47
+ `}
48
+ />
49
+
50
+ ## Level Filtering
51
+
52
+ The logger will only show messages **at or above** the configured `level`:
53
+
54
+ <Source
55
+ dark
56
+ language="ts"
57
+ code={`const logger = createLogger();
58
+
59
+ logger.info('This will NOT show');
60
+ logger.warn('This WILL show');
61
+ logger.error('This WILL show');
62
+ `}
63
+ />
@@ -0,0 +1,43 @@
1
+ import { Meta, Story, Source } from '@storybook/addon-docs/blocks';
2
+ import * as ColorsStories from './Colors.stories.svelte';
3
+ import * as OpacityStories from './Opacity.stories.svelte';
4
+
5
+ <Meta of={ColorsStories} />
6
+
7
+ # Colors
8
+
9
+ We are using an extensive color pallet identical to [Tailwind Css](https://tailwindcss.com/docs/colors) Colors. The colors are adjusted for dark and light themes.
10
+
11
+ ## Main Colors
12
+
13
+ <Story of={ColorsStories.Main} />
14
+
15
+ Greyscale colors
16
+
17
+ <Story of={ColorsStories.ColorsNeutral} />
18
+
19
+ Constant Colors
20
+
21
+ <Story of={ColorsStories.ColorsConstant} />
22
+
23
+ ## Base Color
24
+
25
+ <Story of={ColorsStories.ColorsBase} />
26
+
27
+ Greyscale colors
28
+
29
+ <Story of={ColorsStories.BaseColorsNeutral} />
30
+
31
+ ## Adjusting opacity
32
+
33
+ Opacity can be adjusted using css `color-mix` function.
34
+
35
+ <Source
36
+ dark
37
+ language="css"
38
+ code={`
39
+ color-mix(in oklab, var(--dodo-color-primary-800) 10%, transparent)
40
+ `}
41
+ />
42
+
43
+ <Story of={OpacityStories.Main} meta={OpacityStories} />
@@ -0,0 +1,22 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Colors from './Colors.svelte';
4
+
5
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
6
+ const { Story } = defineMeta({
7
+ component: Colors,
8
+ args: {
9
+ swatchType: 'colors',
10
+ },
11
+ });
12
+ </script>
13
+
14
+ <Story name="Main" />
15
+
16
+ <Story name="ColorsNeutral" args={{ swatchType: 'colors-neutral' }} />
17
+
18
+ <Story name="ColorsConstant" args={{ swatchType: 'colors-constant' }} />
19
+
20
+ <Story name="ColorsBase" args={{ swatchType: 'base-colors' }} />
21
+
22
+ <Story name="BaseColorsNeutral" args={{ swatchType: 'base-colors-neutral' }} />
@@ -0,0 +1,11 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Opacity from './Opacity.svelte';
4
+
5
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
6
+ const { Story } = defineMeta({
7
+ component: Opacity,
8
+ });
9
+ </script>
10
+
11
+ <Story name="Main" />
@@ -0,0 +1,23 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+ import darkThemeToggleImage from '$lib/stories/assets/dark-theme-toggle.png';
3
+
4
+ # Themes
5
+
6
+ ## Dark theme
7
+
8
+ dark theme can be activated by adding `.dodo-theme--dark` class on the top container.
9
+
10
+ <Source
11
+ dark
12
+ language="html"
13
+ code={`
14
+ <body class="dodo-theme--dark">
15
+ ...
16
+ `}
17
+ />
18
+
19
+ ## Toggle theme in documentation
20
+
21
+ Use the moon icon to toogle theme in documentation mode
22
+
23
+ <img src={darkThemeToggleImage} />
@@ -1,28 +0,0 @@
1
- import type { DateOfMonth } from './types.js';
2
- import type { CalendarWeekNames } from '../SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.svelte';
3
- export interface CreateDatesOfMonthSettings {
4
- /** Day considered as start of the week */
5
- startOfWeek?: CalendarWeekNames;
6
- /** Include leading days from the previous month */
7
- showLastMonth?: boolean;
8
- /** Include trailing days from the next month */
9
- showNextMonth?: boolean;
10
- /** Set today manually */
11
- today?: Date;
12
- /** Minimum allowed date, rest of the dates will be disabled */
13
- minDate?: Date;
14
- /** Maxium allowed date, rest of the dates will be disabled */
15
- maxDate?: Date;
16
- /** Exclude Dates, these dates will be disabled */
17
- excludeDates?: Date[];
18
- /** Include Dates, rest of the dates will be disabled */
19
- includeDates?: Date[];
20
- /** Optional IANA timezone */
21
- timezone?: string;
22
- /** Use UTC time */
23
- utc?: boolean;
24
- /** Range value */
25
- rangeValue?: [Date, Date];
26
- }
27
- export type CreateDateOfMonthType = 'currentMonth' | 'nextMonth' | 'lastMonth';
28
- export default function createDateOfMonth(date?: Date, settings?: CreateDatesOfMonthSettings, monthType?: CreateDateOfMonthType): DateOfMonth;
@@ -1,87 +0,0 @@
1
- import getMoment from '../../../../developer tools/helpers/Time/getMoment/getMoment.js';
2
- function dateMoment(date, settings) {
3
- return getMoment(date, undefined, {
4
- timezone: settings?.timezone,
5
- utc: settings?.utc,
6
- });
7
- }
8
- function getIsToday(dayMoment, todayDate, todayManual) {
9
- const dayDateFormat = dayMoment.format('DD-MM-YYYY');
10
- let today = false;
11
- if (todayManual && todayManual === dayDateFormat) {
12
- today = true;
13
- }
14
- else if (todayDate === dayDateFormat) {
15
- today = true;
16
- }
17
- return today;
18
- }
19
- function getIsDateDisabled(dayMoment, minDate, maxDate, excludeDates, includeDates) {
20
- const dayDateFormat = dayMoment.format('DD-MM-YYYY');
21
- let disabled = false;
22
- if (minDate?.isValid() && dayMoment.isBefore(minDate)) {
23
- disabled = true;
24
- }
25
- if (maxDate?.isValid() && dayMoment.isAfter(maxDate)) {
26
- disabled = true;
27
- }
28
- if (excludeDates?.length && excludeDates.includes(dayDateFormat)) {
29
- disabled = true;
30
- }
31
- if (includeDates?.length && !includeDates.includes(dayDateFormat)) {
32
- disabled = true;
33
- }
34
- return disabled;
35
- }
36
- export default function createDateOfMonth(date, settings, monthType = 'currentMonth') {
37
- const minDate = settings?.minDate ? dateMoment(settings.minDate, settings) : undefined;
38
- const maxDate = settings?.maxDate ? dateMoment(settings.maxDate, settings) : undefined;
39
- const excludeDates = settings?.excludeDates?.length
40
- ? settings?.excludeDates.map((item) => dateMoment(item, settings).format('DD-MM-YYYY'))
41
- : undefined;
42
- const includeDates = settings?.includeDates?.length
43
- ? settings?.includeDates.map((item) => dateMoment(item, settings).format('DD-MM-YYYY'))
44
- : undefined;
45
- const [range1, range2] = settings?.rangeValue || [];
46
- const rangeStart = range1 ? dateMoment(range1, settings) : undefined;
47
- const rangeEnd = range2 ? dateMoment(range2, settings) : undefined;
48
- const todayDate = dateMoment(undefined, settings).format('DD-MM-YYYY');
49
- const todayManual = settings?.today
50
- ? dateMoment(settings?.today, settings).format('DD-MM-YYYY')
51
- : undefined;
52
- const dayMoment = dateMoment(date, settings);
53
- const dayMomentDayFormatted = dayMoment.format('DD-MM-YYYY');
54
- let isRangeStart = false;
55
- let isRangeEnd = false;
56
- let inRange = false;
57
- if (rangeStart && rangeEnd) {
58
- if (dayMomentDayFormatted === rangeStart.format('DD-MM-YYYY')) {
59
- isRangeStart = true;
60
- }
61
- if (dayMomentDayFormatted === rangeEnd.format('DD-MM-YYYY')) {
62
- isRangeEnd = true;
63
- }
64
- if (dayMoment.isAfter(rangeStart) && dayMoment.isBefore(rangeEnd)) {
65
- inRange = true;
66
- }
67
- }
68
- const dataToExport = {
69
- id: `${dayMoment.valueOf()}`,
70
- date: dayMoment.toDate(),
71
- isCurrentMonth: true,
72
- disabled: getIsDateDisabled(dayMoment, minDate, maxDate, excludeDates, includeDates),
73
- today: getIsToday(dayMoment, todayDate, todayManual),
74
- isRangeStart,
75
- isRangeEnd,
76
- inRange,
77
- };
78
- if (monthType === 'lastMonth') {
79
- dataToExport.isLastMonth = true;
80
- dataToExport.isCurrentMonth = false;
81
- }
82
- else if (monthType === 'nextMonth') {
83
- dataToExport.isNextMonth = true;
84
- dataToExport.isCurrentMonth = false;
85
- }
86
- return dataToExport;
87
- }
@@ -1,10 +0,0 @@
1
- import type { DateOfMonth } from './types.js';
2
- import { type CreateDatesOfMonthSettings } from './createDateOfMonth.js';
3
- /**
4
- * Generates a calendar grid of dates for a given month.
5
- *
6
- * @param {Date} date - The base date for the month to generate.
7
- * @param {GetDatesOfMonthSettings} [settings] - Optional settings for formatting and display.
8
- * @returns {(DateOfMonth[][] | null)} - A 2D array of DateOfMonth objects representing the calendar, or null if invalid.
9
- */
10
- export default function getDatesOfMonth(date?: Date, settings?: CreateDatesOfMonthSettings): DateOfMonth[][] | null;
@@ -1,64 +0,0 @@
1
- import { Source } from '@storybook/addon-docs/blocks';
2
-
3
- # Utils
4
-
5
- ## `getDatesOfMonth`
6
-
7
- `getDatesOfMonth(date, settings)` generates a calendar view of a given month with options to include dates from the previous and next month.
8
-
9
- ### Usage
10
-
11
- <Source
12
- dark
13
- language="ts"
14
- code={`
15
- import { getDatesOfMonth, getMoment} from '@flightlesslabs/dodo-ui';
16
-
17
- const dates = getDatesOfMonth(new Date(), {
18
- showLastMonth: false,
19
- showNextMonth: false,
20
- });
21
-
22
- // Or
23
-
24
- const dates2 = getDatesOfMonth(getMoment('01-02-2025', 'DD-MM-YYYY').toDate());
25
-
26
- `}
27
- />
28
-
29
- ## Types
30
-
31
- ### `DateOfMonth`
32
-
33
- <Source
34
- dark
35
- language="ts"
36
- code={`
37
- type DateOfMonth = {
38
- id: string;
39
- dayNumber: number;
40
- date: Date;
41
- isCurrentMonth?: boolean;
42
- isLastMonth?: boolean;
43
- isNextMonth?: boolean;
44
- };
45
- `}
46
- />
47
-
48
- ### Enum: `DAYS_OF_WEEK`
49
-
50
- <Source
51
- dark
52
- language="ts"
53
- code={`
54
- const enum DAYS_OF_WEEK {
55
- SUN,
56
- MON,
57
- TUE,
58
- WED,
59
- THU,
60
- FRI,
61
- SAT,
62
- }
63
- `}
64
- />