@flightlesslabs/dodo-ui 0.12.0 → 0.13.0

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 (170) hide show
  1. package/dist/stories/components/Form/RangeSlider/RangeSlider.svelte +32 -19
  2. package/package.json +41 -43
  3. package/src/lib/stories/Home.mdx +59 -0
  4. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  5. package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
  6. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
  7. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
  8. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
  9. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
  10. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
  11. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
  12. package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
  13. package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
  14. package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
  15. package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
  16. package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
  17. package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
  18. package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
  19. package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
  20. package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
  21. package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
  22. package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
  23. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
  24. package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
  25. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
  26. package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
  27. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
  28. package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
  29. package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
  30. package/src/lib/stories/components/Form/NumericInput/Roundness/Roundness.stories.svelte +20 -0
  31. package/src/lib/stories/components/Form/NumericInput/Size/Size.stories.svelte +16 -0
  32. package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
  33. package/src/lib/stories/components/Form/NumericInput/WithIcon/WithIcon.stories.svelte +31 -0
  34. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
  35. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
  36. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
  37. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
  38. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
  39. package/src/lib/stories/components/Form/RangeSlider/Color/Color.stories.svelte +19 -0
  40. package/src/lib/stories/components/Form/RangeSlider/Events/Events.stories.svelte +63 -0
  41. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.stories.svelte +69 -0
  42. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.svelte +33 -22
  43. package/src/lib/stories/components/Form/RangeSlider/Roundness/Roundness.stories.svelte +30 -0
  44. package/src/lib/stories/components/Form/RangeSlider/Size/Size.stories.svelte +16 -0
  45. package/src/lib/stories/components/Form/RangeSlider/WithIcon/WithIcon.stories.svelte +33 -0
  46. package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
  47. package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
  48. package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
  49. package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
  50. package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
  51. package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
  52. package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
  53. package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
  54. package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
  55. package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
  56. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
  57. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
  58. package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
  59. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
  60. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
  61. package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
  62. package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
  63. package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
  64. package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
  65. package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
  66. package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
  67. package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
  68. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
  69. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
  70. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
  71. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
  72. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
  73. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
  74. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
  75. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
  76. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
  77. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
  78. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
  79. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
  80. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
  81. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
  82. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
  83. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
  84. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
  85. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
  86. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
  87. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
  88. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
  89. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
  90. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
  91. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
  92. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
  93. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
  94. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
  95. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
  96. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
  97. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
  98. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
  99. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
  100. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
  101. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
  102. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
  103. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
  104. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
  105. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
  106. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
  107. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
  108. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
  109. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
  110. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
  111. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
  112. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
  113. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
  114. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
  115. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
  116. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
  117. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
  118. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
  119. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
  120. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
  121. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
  122. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
  123. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
  124. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
  125. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
  126. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
  127. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
  128. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
  129. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
  130. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
  131. package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
  132. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
  133. package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
  134. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
  135. package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
  136. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
  137. package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
  138. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
  139. package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
  140. package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
  141. package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
  142. package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  143. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
  144. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
  145. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
  146. package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
  147. package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
  148. package/src/lib/stories/developer tools/Intro.mdx +9 -0
  149. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
  150. package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
  151. package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
  152. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
  153. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
  154. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
  155. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
  156. package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
  157. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
  158. package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
  159. package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
  160. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
  161. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
  162. package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
  163. package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
  164. package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
  165. package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
  166. package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
  167. package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
  168. package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
  169. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
  170. package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
@@ -24,22 +24,24 @@ const percentageValue = $derived(((value - min) / (max - min)) * 100);
24
24
  </span>
25
25
  {/if}
26
26
 
27
- <input
28
- type="range"
29
- class="NativeRangeSlider"
30
- {min}
31
- {max}
32
- {step}
33
- {oninput}
34
- {onchange}
35
- {onblur}
36
- {onfocus}
37
- {id}
38
- {name}
39
- {disabled}
40
- bind:this={ref}
41
- bind:value
42
- />
27
+ <div class="RangeSliderContainer">
28
+ <input
29
+ type="range"
30
+ class="NativeRangeSlider"
31
+ {min}
32
+ {max}
33
+ {step}
34
+ {oninput}
35
+ {onchange}
36
+ {onblur}
37
+ {onfocus}
38
+ {id}
39
+ {name}
40
+ {disabled}
41
+ bind:this={ref}
42
+ bind:value
43
+ />
44
+ </div>
43
45
 
44
46
  {#if after}
45
47
  <span class="content--after">
@@ -111,19 +113,21 @@ const percentageValue = $derived(((value - min) / (max - min)) * 100);
111
113
  .dodo-ui-RangeSlider {
112
114
  display: flex;
113
115
  }
116
+ .dodo-ui-RangeSlider .RangeSliderContainer {
117
+ flex: 1;
118
+ display: flex;
119
+ flex-direction: column;
120
+ }
114
121
  .dodo-ui-RangeSlider .NativeRangeSlider {
115
- height: 100%;
116
122
  -webkit-appearance: none;
117
123
  appearance: none;
118
124
  background: transparent;
119
125
  cursor: pointer;
120
- width: 100%;
121
126
  margin: 0;
122
127
  padding: 0;
123
128
  overflow: hidden;
124
129
  display: flex;
125
130
  align-items: center;
126
- flex: 1;
127
131
  }
128
132
  .dodo-ui-RangeSlider .NativeRangeSlider:focus {
129
133
  outline: none;
@@ -149,6 +153,9 @@ const percentageValue = $derived(((value - min) / (max - min)) * 100);
149
153
  justify-content: center;
150
154
  }
151
155
  .dodo-ui-RangeSlider.size--normal {
156
+ min-height: var(--dodo-ui-element-height-normal);
157
+ }
158
+ .dodo-ui-RangeSlider.size--normal .NativeRangeSlider {
152
159
  height: var(--dodo-ui-element-height-normal);
153
160
  }
154
161
  .dodo-ui-RangeSlider.size--normal .NativeRangeSlider::-webkit-slider-runnable-track {
@@ -176,6 +183,9 @@ const percentageValue = $derived(((value - min) / (max - min)) * 100);
176
183
  margin-left: 12px;
177
184
  }
178
185
  .dodo-ui-RangeSlider.size--small {
186
+ min-height: var(--dodo-ui-element-height-small);
187
+ }
188
+ .dodo-ui-RangeSlider.size--small .NativeRangeSlider {
179
189
  height: var(--dodo-ui-element-height-small);
180
190
  }
181
191
  .dodo-ui-RangeSlider.size--small .NativeRangeSlider::-webkit-slider-runnable-track {
@@ -203,6 +213,9 @@ const percentageValue = $derived(((value - min) / (max - min)) * 100);
203
213
  margin-left: 8px;
204
214
  }
205
215
  .dodo-ui-RangeSlider.size--large {
216
+ min-height: var(--dodo-ui-element-height-large);
217
+ }
218
+ .dodo-ui-RangeSlider.size--large .NativeRangeSlider {
206
219
  height: var(--dodo-ui-element-height-large);
207
220
  }
208
221
  .dodo-ui-RangeSlider.size--large .NativeRangeSlider::-webkit-slider-runnable-track {
package/package.json CHANGED
@@ -1,19 +1,6 @@
1
1
  {
2
2
  "name": "@flightlesslabs/dodo-ui",
3
- "version": "0.12.0",
4
- "scripts": {
5
- "build": "vite build && pnpm run prepack",
6
- "preview": "vite preview",
7
- "prepare": "svelte-kit sync || echo ''",
8
- "prepack": "svelte-kit sync && svelte-package && publint",
9
- "svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10
- "format": "prettier --write .",
11
- "lint": "prettier --check . && eslint .",
12
- "dev": "storybook dev -p 6006",
13
- "build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
14
- "check": "pnpm run svelte-check && eslint . && pnpm run lint",
15
- "check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
16
- },
3
+ "version": "0.13.0",
17
4
  "homepage": "https://flightlesslabs.github.io/dodo-ui",
18
5
  "repository": {
19
6
  "type": "git",
@@ -49,48 +36,59 @@
49
36
  "svelte": "^5.0.0"
50
37
  },
51
38
  "devDependencies": {
52
- "@chromatic-com/storybook": "4.0.0",
53
- "@eslint/compat": "^1.3.0",
54
- "@eslint/js": "^9.29.0",
55
- "@storybook/addon-svelte-csf": "5.0.3",
56
- "@storybook/svelte": "^9.0.10",
57
- "@storybook/sveltekit": "^9.0.10",
39
+ "@chromatic-com/storybook": "4.0.1",
40
+ "@eslint/compat": "^1.3.1",
41
+ "@eslint/js": "^9.32.0",
42
+ "@storybook/addon-docs": "^9.0.18",
43
+ "@storybook/addon-svelte-csf": "5.0.7",
44
+ "@storybook/addon-vitest": "^9.0.18",
45
+ "@storybook/sveltekit": "^9.0.18",
58
46
  "@sveltejs/adapter-static": "^3.0.8",
59
- "@sveltejs/kit": "^2.21.5",
60
- "@sveltejs/package": "^2.3.11",
61
- "@sveltejs/vite-plugin-svelte": "^5.1.0",
62
- "@vitest/browser": "^3.2.3",
63
- "@vitest/coverage-v8": "^3.2.3",
64
- "@vueless/storybook-dark-mode": "^9.0.5",
65
- "eslint": "^9.29.0",
66
- "eslint-config-prettier": "^10.1.5",
67
- "eslint-plugin-svelte": "^3.9.2",
68
- "globals": "^16.2.0",
69
- "playwright": "^1.53.0",
70
- "prettier": "^3.5.3",
47
+ "@sveltejs/kit": "^2.26.1",
48
+ "@sveltejs/package": "^2.4.0",
49
+ "@sveltejs/vite-plugin-svelte": "^6.1.0",
50
+ "@vitest/browser": "^3.2.4",
51
+ "@vitest/coverage-v8": "^3.2.4",
52
+ "@vueless/storybook-dark-mode": "^9.0.6",
53
+ "eslint": "^9.32.0",
54
+ "eslint-config-prettier": "^10.1.8",
55
+ "eslint-plugin-storybook": "9.0.18",
56
+ "eslint-plugin-svelte": "^3.11.0",
57
+ "globals": "^16.3.0",
58
+ "playwright": "^1.54.1",
59
+ "prettier": "^3.6.2",
71
60
  "prettier-plugin-svelte": "^3.4.0",
72
61
  "publint": "^0.3.12",
73
62
  "sass": "^1.89.2",
74
- "storybook": "^9.0.10",
75
- "svelte": "^5.34.3",
76
- "svelte-check": "^4.2.1",
63
+ "storybook": "^9.0.18",
64
+ "svelte": "^5.37.0",
65
+ "svelte-check": "^4.3.0",
77
66
  "svelte-preprocess": "^6.0.3",
78
67
  "typescript": "^5.8.3",
79
- "typescript-eslint": "^8.34.0",
80
- "vite": "^6.3.5",
81
- "vitest": "^3.2.3"
68
+ "typescript-eslint": "^8.38.0",
69
+ "vite": "^7.0.6",
70
+ "vitest": "^3.2.4"
82
71
  },
83
72
  "keywords": [
84
73
  "svelte"
85
74
  ],
86
75
  "volta": {
87
76
  "node": "22.15.1",
88
- "pnpm": "10.11.0"
77
+ "pnpm": "10.12.1"
89
78
  },
90
79
  "dependencies": {
91
- "@iconify/svelte": "^5.0.0",
92
- "@storybook/addon-docs": "^9.0.10",
93
- "@storybook/addon-vitest": "^9.0.10",
80
+ "@iconify/svelte": "^5.0.1",
94
81
  "dayjs": "^1.11.13"
82
+ },
83
+ "scripts": {
84
+ "build": "vite build && pnpm run prepack",
85
+ "preview": "vite preview",
86
+ "svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
87
+ "format": "prettier --write .",
88
+ "lint": "prettier --check . && eslint .",
89
+ "dev": "storybook dev -p 6006",
90
+ "build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
91
+ "check": "pnpm run svelte-check && eslint . && pnpm run lint",
92
+ "check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
95
93
  }
96
- }
94
+ }
@@ -0,0 +1,59 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+ import item from '../../../package.json?raw';
3
+
4
+ <main style={{ textAlign: 'center' }}>
5
+
6
+ <img src="dodo-circle-6.png" style={{ width: 200, height: 'auto' }} />
7
+
8
+ # Dodo UI
9
+
10
+ <h3 style={{ fontWeight: 500 }}>v{JSON.parse(item)?.version}</h3>
11
+
12
+ <h3 style={{ fontWeight: 400 }}>An open-source, opinionated UI framework for Svelte.</h3>
13
+
14
+ ### [Github](https://github.com/flightlesslabs/dodo-ui) - [npm](https://www.npmjs.com/package/@flightlesslabs/dodo-ui)
15
+
16
+ </main>
17
+
18
+ <br />
19
+ <br />
20
+
21
+ ## Install
22
+
23
+ pnpm
24
+
25
+ <Source
26
+ dark
27
+ language="bash"
28
+ code={`
29
+ pnpm add @flightlesslabs/dodo-ui
30
+ `}
31
+ />
32
+
33
+ npm
34
+
35
+ <Source
36
+ dark
37
+ language="bash"
38
+ code={`
39
+ npm i @flightlesslabs/dodo-ui
40
+ `}
41
+ />
42
+
43
+ ## Use it!
44
+
45
+ Lets import [Button](?path=/docs/components-form-button--docs) component. Checkout documentation for [Button](?path=/docs/components-form-button--docs)
46
+
47
+ <Source
48
+ dark
49
+ language="js"
50
+ code={`
51
+ import { Button } '@flightlesslabs/dodo-ui';
52
+ `}
53
+ />
54
+
55
+ ## Explore more
56
+
57
+ - [Dark Theme](?path=/docs/developer-tools-philosophy-themes--docs#dark-theme)
58
+ - [Colors](?path=/docs/developer-tools-philosophy-colors--docs)
59
+ - [Adjust Color Opacity](?path=/docs/developer-tools-philosophy-colors--docs#adjusting-opacity)
@@ -0,0 +1,61 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button, { buttonTypeArray } from './Button.svelte';
4
+ import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
+ import { componentRoundnessArray } from '$lib/types/roundness.js';
6
+ import { componentColorArray } from '$lib/types/colors.js';
7
+ import { componentWeightArray } from '$lib/types/weight.js';
8
+ import { componentSizeArray } from '$lib/types/size.js';
9
+
10
+ export const storyButtonArgTypes: StoryBookArgTypes = {
11
+ type: {
12
+ control: { type: 'select' },
13
+ options: buttonTypeArray,
14
+ },
15
+ color: {
16
+ control: { type: 'select' },
17
+ options: componentColorArray,
18
+ },
19
+ variant: {
20
+ control: { type: 'select' },
21
+ options: componentWeightArray,
22
+ },
23
+ roundness: {
24
+ control: { type: 'select' },
25
+ options: componentRoundnessArray,
26
+ },
27
+ size: {
28
+ control: { type: 'select' },
29
+ options: componentSizeArray,
30
+ },
31
+ };
32
+
33
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
34
+ const { Story } = defineMeta({
35
+ component: Button,
36
+ tags: ['autodocs'],
37
+ argTypes: storyButtonArgTypes,
38
+ });
39
+ </script>
40
+
41
+ <!-- Button with default style -->
42
+ <Story name="Primary">Click me!</Story>
43
+
44
+ <!-- Button with border around it -->
45
+ <Story name="Outline" args={{ outline: true, variant: 'text' }}>Click me!</Story>
46
+
47
+ <Story name="Disabled" args={{ disabled: true }}>Click me!</Story>
48
+
49
+ <!-- Form submit button -->
50
+ <Story name="Sumbit Button" args={{ type: 'submit' }}>Submit Form</Story>
51
+
52
+ <!-- Form submit button -->
53
+ <Story name="Full width Button" args={{ fullWidth: true }}>Click me!</Story>
54
+
55
+ <!-- Anchor Link styled like a Button -->
56
+ <Story
57
+ name="Link Button"
58
+ args={{ href: 'https://www.w3schools.com/tags/tag_a.asp', target: '_blank' }}
59
+ >
60
+ Link
61
+ </Story>
@@ -0,0 +1,43 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
9
+ tags: ['autodocs'],
10
+ argTypes: storyButtonArgTypes,
11
+ });
12
+ </script>
13
+
14
+ <Story name="Primary">Click me!</Story>
15
+ <Story name="Secondary" args={{ color: 'secondary' }}>Click me!</Story>
16
+ <Story name="Neutral" args={{ color: 'neutral' }}>Click me!</Story>
17
+ <Story name="Safe" args={{ color: 'safe' }}>Click me!</Story>
18
+ <Story name="Warning" args={{ color: 'warning' }}>Click me!</Story>
19
+ <Story name="Danger" args={{ color: 'danger' }}>Click me!</Story>
20
+
21
+ <Story name="Primary Text" args={{ color: 'primary', variant: 'text' }}>Click me!</Story>
22
+ <Story name="Secondary Text" args={{ color: 'secondary', variant: 'text' }}>Click me!</Story>
23
+ <Story name="Neutral Text" args={{ color: 'neutral', variant: 'text' }}>Click me!</Story>
24
+ <Story name="Safe Text" args={{ color: 'safe', variant: 'text' }}>Click me!</Story>
25
+ <Story name="Warning Text" args={{ color: 'warning', variant: 'text' }}>Click me!</Story>
26
+ <Story name="Danger Text" args={{ color: 'danger', variant: 'text' }}>Click me!</Story>
27
+
28
+ <Story name="Primary Outline" args={{ variant: 'text', outline: true }}>Click me!</Story>
29
+ <Story name="Secondary Outline" args={{ color: 'secondary', variant: 'text', outline: true }}>
30
+ Click me!
31
+ </Story>
32
+ <Story name="Neutral Outline" args={{ color: 'neutral', variant: 'text', outline: true }}>
33
+ Click me!
34
+ </Story>
35
+ <Story name="Safe Outline" args={{ color: 'safe', variant: 'text', outline: true }}>
36
+ Click me!
37
+ </Story>
38
+ <Story name="Warning Outline" args={{ color: 'warning', variant: 'text', outline: true }}>
39
+ Click me!
40
+ </Story>
41
+ <Story name="Danger Outline" args={{ color: 'danger', variant: 'text', outline: true }}>
42
+ Click me!
43
+ </Story>
@@ -0,0 +1,36 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
9
+ tags: ['autodocs'],
10
+ argTypes: storyButtonArgTypes,
11
+ });
12
+ </script>
13
+
14
+ <Story
15
+ name="Click"
16
+ args={{
17
+ onclick: (e: Event) => {
18
+ const target = e.target as HTMLButtonElement;
19
+
20
+ alert('Button Clicked');
21
+ console.log('Button Clicked', target);
22
+ },
23
+ }}
24
+ asChild
25
+ >
26
+ <Button
27
+ onclick={(e: Event) => {
28
+ const target = e.target as HTMLButtonElement;
29
+
30
+ alert('Button Clicked');
31
+ console.log('Button Clicked', target);
32
+ }}
33
+ >
34
+ Click me!
35
+ </Button>
36
+ </Story>
@@ -0,0 +1,43 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
10
+ tags: ['autodocs'],
11
+ argTypes: storyButtonArgTypes,
12
+ });
13
+ </script>
14
+
15
+ <!-- Compact button with paddings stripped out and fixed size. We are using this icon library https://iconify.design/docs/icon-components/svelte/ -->
16
+ <Story name="Icon Button" args={{ compact: true }}>
17
+ <Icon icon="material-symbols:app-badging" width="18" height="18" />
18
+ </Story>
19
+
20
+ <!-- Circualr Icon button. -->
21
+ <Story name="Icon Button Circular" args={{ compact: true, roundness: 'full' }}>
22
+ <Icon icon="material-symbols:app-badging" width="18" height="18" />
23
+ </Story>
24
+
25
+ <!-- Button with an icon in front. -->
26
+ <Story name="Icon Before" asChild>
27
+ <Button>
28
+ {#snippet before()}
29
+ <Icon icon="material-symbols:content-copy" />
30
+ {/snippet}
31
+ Copy
32
+ </Button>
33
+ </Story>
34
+
35
+ <!-- Button with an icon in front. -->
36
+ <Story name="Icon After" asChild>
37
+ <Button>
38
+ {#snippet after()}
39
+ <Icon icon="material-symbols:download-2" />
40
+ {/snippet}
41
+ Download
42
+ </Button>
43
+ </Story>
@@ -0,0 +1,23 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
9
+ tags: ['autodocs'],
10
+ argTypes: storyButtonArgTypes,
11
+ });
12
+ </script>
13
+
14
+ <Story name="Roundness 1">Click me!</Story>
15
+
16
+ <Story name="Roundness 2" args={{ roundness: 2 }}>Click me!</Story>
17
+
18
+ <Story name="Roundness 3" args={{ roundness: 3 }}>Click me!</Story>
19
+
20
+ <Story name="Roundness 0" args={{ roundness: 0 }}>Click me!</Story>
21
+
22
+ <!-- Button with 50% roundness usefull for icon (Compact) buttons -->
23
+ <Story name="Roundness Full" args={{ roundness: 'full', compact: true }}>C</Story>
@@ -0,0 +1,16 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
9
+ tags: ['autodocs'],
10
+ argTypes: storyButtonArgTypes,
11
+ });
12
+ </script>
13
+
14
+ <Story name="Normal">Click me!</Story>
15
+ <Story name="Small" args={{ size: 'small' }}>Click me!</Story>
16
+ <Story name="Large" args={{ size: 'large' }}>Click me!</Story>
@@ -0,0 +1,18 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Button from '../Button.svelte';
4
+ import { storyButtonArgTypes } from '../Button.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: Button,
9
+ tags: ['autodocs'],
10
+ argTypes: storyButtonArgTypes,
11
+ });
12
+ </script>
13
+
14
+ <Story name="Solid">Click me!</Story>
15
+
16
+ <Story name="Text" args={{ variant: 'text' }}>Click me!</Story>
17
+
18
+ <Story name="Text Outline" args={{ variant: 'text', outline: true }}>Click me!</Story>
@@ -0,0 +1,47 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
4
+ import DatePicker from '../DatePicker.svelte';
5
+ import { storyDatePickerArgTypes } from '../DatePicker.stories.svelte';
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
+ const { Story } = defineMeta({
9
+ component: DatePicker,
10
+ tags: ['autodocs'],
11
+ argTypes: storyDatePickerArgTypes,
12
+ parameters: {
13
+ docs: {
14
+ story: {
15
+ height: '400px',
16
+ inline: false,
17
+ },
18
+ },
19
+ },
20
+ });
21
+
22
+ let value = $state(getMoment().toDate());
23
+ </script>
24
+
25
+ <Story name="Primary" asChild>
26
+ <DatePicker {value} />
27
+ </Story>
28
+
29
+ <Story name="Secondary" asChild>
30
+ <DatePicker {value} color="secondary" />
31
+ </Story>
32
+
33
+ <Story name="Neutral" asChild>
34
+ <DatePicker {value} color="neutral" />
35
+ </Story>
36
+
37
+ <Story name="Safe" asChild>
38
+ <DatePicker {value} color="safe" />
39
+ </Story>
40
+
41
+ <Story name="Warning" asChild>
42
+ <DatePicker {value} color="warning" />
43
+ </Story>
44
+
45
+ <Story name="Danger" asChild>
46
+ <DatePicker {value} color="danger" />
47
+ </Story>
@@ -0,0 +1,58 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.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: DatePicker,
10
+ tags: ['autodocs'],
11
+ argTypes: storyDatePickerArgTypes,
12
+ args: {
13
+ value: getMoment().toDate(),
14
+ },
15
+ parameters: {
16
+ docs: {
17
+ story: {
18
+ height: '400px',
19
+ inline: false,
20
+ },
21
+ },
22
+ },
23
+ });
24
+
25
+ let value = $state(getMoment().toDate());
26
+ </script>
27
+
28
+ <Story name="Normal" asChild>
29
+ <DatePicker {value} />
30
+ </Story>
31
+
32
+ <Story name="HideCalendarMonthSelector" asChild>
33
+ <DatePicker {value} showCalendarMonthSelector={false} />
34
+ </Story>
35
+
36
+ <Story name="HideCalendarYearSelector" asChild>
37
+ <DatePicker {value} showCalendarYearSelector={false} />
38
+ </Story>
39
+
40
+ <Story name="HideCalendarNavigator" asChild>
41
+ <DatePicker {value} showCalendarNavigator={false} />
42
+ </Story>
43
+
44
+ <Story name="HideControlsMonthList" asChild>
45
+ <DatePicker {value} showControlsMonthList={false} />
46
+ </Story>
47
+
48
+ <Story name="HideControlsYearList" asChild>
49
+ <DatePicker {value} showControlsYearList={false} />
50
+ </Story>
51
+
52
+ <Story name="DisabledNavigationPrev" asChild>
53
+ <DatePicker {value} disabledCalendarNavigationPrev />
54
+ </Story>
55
+
56
+ <Story name="DisabledNavigationNext" asChild>
57
+ <DatePicker {value} disabledCalendarNavigationNext />
58
+ </Story>