@indielayer/ui 1.5.2 → 1.6.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 (210) hide show
  1. package/README.md +1 -1
  2. package/docs/components/common/DocumentPage.vue +0 -30
  3. package/docs/components/menu/DocsMenu.vue +2 -0
  4. package/docs/pages/component/datepicker/index.vue +35 -0
  5. package/docs/pages/component/datepicker/usage.vue +22 -0
  6. package/docs/pages/component/form/usage.vue +13 -0
  7. package/docs/pages/component/menu/usage.vue +7 -3
  8. package/docs/pages/component/qrCode/index.vue +25 -0
  9. package/docs/pages/component/qrCode/usage.vue +20 -0
  10. package/docs/pages/component/slider/usage.vue +8 -10
  11. package/docs/pages/index.vue +9 -19
  12. package/lib/components/button/Button.vue.d.ts +3 -3
  13. package/lib/components/button/Button.vue.js +2 -2
  14. package/lib/components/button/Button.vue2.js +10 -10
  15. package/lib/components/carousel/Carousel.vue.d.ts +8 -2
  16. package/lib/components/carousel/Carousel.vue.js +51 -48
  17. package/lib/components/checkbox/theme/Checkbox.base.theme.js +1 -1
  18. package/lib/components/datepicker/Datepicker.vue.d.ts +1886 -0
  19. package/lib/components/datepicker/Datepicker.vue.js +328 -0
  20. package/lib/components/datepicker/Datepicker.vue2.js +4 -0
  21. package/lib/components/datepicker/Datepicker.vue3.js +5 -0
  22. package/lib/components/datepicker/__tests__/Datepicker.spec.d.ts +1 -0
  23. package/lib/components/datepicker/index.d.ts +2 -0
  24. package/lib/components/datepicker/theme/Datepicker.base.theme.d.ts +3 -0
  25. package/lib/components/datepicker/theme/Datepicker.base.theme.js +65 -0
  26. package/lib/components/datepicker/theme/Datepicker.carbon.theme.d.ts +3 -0
  27. package/lib/components/datepicker/theme/Datepicker.carbon.theme.js +5 -0
  28. package/lib/components/drawer/Drawer.vue.js +1 -1
  29. package/lib/components/drawer/theme/Drawer.base.theme.js +1 -1
  30. package/lib/components/formGroup/FormGroup.vue.js +42 -36
  31. package/lib/components/index.d.ts +2 -0
  32. package/lib/components/index.js +99 -94
  33. package/lib/components/menu/Menu.vue.d.ts +4 -0
  34. package/lib/components/menu/Menu.vue.js +40 -34
  35. package/lib/components/menu/MenuItem.vue.d.ts +4 -0
  36. package/lib/components/menu/MenuItem.vue.js +1 -1
  37. package/lib/components/menu/MenuItem.vue2.js +43 -39
  38. package/lib/components/menu/theme/MenuItem.base.theme.js +1 -1
  39. package/lib/components/qrCode/QrCode.vue.d.ts +68 -0
  40. package/lib/components/qrCode/QrCode.vue.js +93 -0
  41. package/lib/components/qrCode/QrCode.vue2.js +4 -0
  42. package/lib/components/qrCode/__tests__/QrCode.spec.d.ts +1 -0
  43. package/lib/components/qrCode/index.d.ts +2 -0
  44. package/lib/components/qrCode/qrcodegen.d.ts +94 -0
  45. package/lib/components/qrCode/qrcodegen.js +571 -0
  46. package/lib/components/qrCode/theme/QrCode.base.theme.d.ts +3 -0
  47. package/lib/components/qrCode/theme/QrCode.base.theme.js +8 -0
  48. package/lib/components/qrCode/theme/QrCode.carbon.theme.d.ts +3 -0
  49. package/lib/components/qrCode/theme/QrCode.carbon.theme.js +5 -0
  50. package/lib/components/slider/Slider.vue.d.ts +31 -31
  51. package/lib/components/slider/Slider.vue.js +5 -146
  52. package/lib/components/slider/Slider.vue2.js +101 -2
  53. package/lib/components/slider/Slider.vue3.js +4 -0
  54. package/lib/components/slider/theme/Slider.base.theme.js +14 -10
  55. package/lib/components/slider/theme/Slider.carbon.theme.js +3 -14
  56. package/lib/index.js +117 -113
  57. package/lib/index.umd.js +39 -3
  58. package/lib/node_modules/.pnpm/@vuepic_vue-datepicker@8.0.0_vue@3.3.9/node_modules/@vuepic/vue-datepicker/dist/main.css.js +4 -0
  59. package/lib/node_modules/.pnpm/@vuepic_vue-datepicker@8.0.0_vue@3.3.9/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +5011 -0
  60. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/addLeadingZeros.js +7 -0
  61. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/defaultOptions.js +7 -0
  62. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/formatters.js +518 -0
  63. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/lightFormatters.js +59 -0
  64. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/longFormatters.js +52 -0
  65. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +18 -0
  66. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/protectedTokens.js +21 -0
  67. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/add.js +20 -0
  68. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addDays.js +10 -0
  69. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addMonths.js +21 -0
  70. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addQuarters.js +9 -0
  71. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addYears.js +8 -0
  72. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constants.js +8 -0
  73. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constructFrom.js +7 -0
  74. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/differenceInCalendarDays.js +11 -0
  75. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachDayOfInterval.js +19 -0
  76. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachQuarterOfInterval.js +20 -0
  77. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfQuarter.js +9 -0
  78. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfWeek.js +11 -0
  79. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfYear.js +9 -0
  80. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/format.js +60 -0
  81. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDay.js +8 -0
  82. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDayOfYear.js +11 -0
  83. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDaysInMonth.js +10 -0
  84. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDefaultOptions.js +8 -0
  85. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getHours.js +8 -0
  86. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISODay.js +9 -0
  87. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeek.js +12 -0
  88. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeekYear.js +15 -0
  89. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMinutes.js +8 -0
  90. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMonth.js +8 -0
  91. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getQuarter.js +9 -0
  92. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getSeconds.js +8 -0
  93. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeek.js +12 -0
  94. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeekYear.js +17 -0
  95. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getYear.js +8 -0
  96. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isAfter.js +9 -0
  97. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isBefore.js +9 -0
  98. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isDate.js +7 -0
  99. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isEqual.js +9 -0
  100. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isSameQuarter.js +9 -0
  101. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isValid.js +12 -0
  102. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +9 -0
  103. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -0
  104. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchFn.js +31 -0
  105. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +17 -0
  106. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -0
  107. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -0
  108. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +11 -0
  109. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/localize.js +155 -0
  110. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/match.js +110 -0
  111. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US.js +21 -0
  112. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Parser.js +22 -0
  113. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Setter.js +40 -0
  114. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/constants.js +49 -0
  115. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +49 -0
  116. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +49 -0
  117. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DateParser.js +61 -0
  118. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +51 -0
  119. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayParser.js +45 -0
  120. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +49 -0
  121. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/EraParser.js +30 -0
  122. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +21 -0
  123. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +22 -0
  124. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +32 -0
  125. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +32 -0
  126. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +33 -0
  127. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +33 -0
  128. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +99 -0
  129. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +48 -0
  130. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +48 -0
  131. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +49 -0
  132. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +40 -0
  133. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +74 -0
  134. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +48 -0
  135. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +69 -0
  136. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +32 -0
  137. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +71 -0
  138. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +70 -0
  139. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +32 -0
  140. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +74 -0
  141. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +71 -0
  142. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +70 -0
  143. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +22 -0
  144. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +22 -0
  145. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/YearParser.js +49 -0
  146. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers.js +67 -0
  147. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/utils.js +103 -0
  148. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse.js +90 -0
  149. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parseISO.js +128 -0
  150. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/set.js +11 -0
  151. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setDay.js +12 -0
  152. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setHours.js +9 -0
  153. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISODay.js +11 -0
  154. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISOWeek.js +10 -0
  155. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMilliseconds.js +9 -0
  156. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMinutes.js +9 -0
  157. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMonth.js +13 -0
  158. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setSeconds.js +9 -0
  159. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setWeek.js +10 -0
  160. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setYear.js +10 -0
  161. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfDay.js +9 -0
  162. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeek.js +8 -0
  163. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeekYear.js +11 -0
  164. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfQuarter.js +9 -0
  165. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeek.js +11 -0
  166. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeekYear.js +13 -0
  167. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfYear.js +10 -0
  168. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/sub.js +19 -0
  169. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subDays.js +8 -0
  170. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subMonths.js +8 -0
  171. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subYears.js +8 -0
  172. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/toDate.js +8 -0
  173. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/transpose.js +18 -0
  174. package/lib/theme.d.ts +3 -1
  175. package/lib/themes/base/components.d.ts +2 -0
  176. package/lib/themes/base/components.js +82 -78
  177. package/lib/themes/carbon/components.d.ts +2 -0
  178. package/lib/themes/carbon/components.js +82 -78
  179. package/lib/version.d.ts +1 -1
  180. package/lib/version.js +1 -1
  181. package/package.json +2 -1
  182. package/src/components/button/Button.vue +1 -1
  183. package/src/components/carousel/Carousel.vue +8 -3
  184. package/src/components/checkbox/theme/Checkbox.base.theme.ts +1 -1
  185. package/src/components/datepicker/Datepicker.vue +414 -0
  186. package/src/components/datepicker/__tests__/Datepicker.spec.ts +11 -0
  187. package/src/components/datepicker/index.ts +2 -0
  188. package/src/components/datepicker/theme/Datepicker.base.theme.ts +72 -0
  189. package/src/components/datepicker/theme/Datepicker.carbon.theme.ts +7 -0
  190. package/src/components/drawer/Drawer.vue +1 -1
  191. package/src/components/drawer/theme/Drawer.base.theme.ts +1 -1
  192. package/src/components/formGroup/FormGroup.vue +5 -0
  193. package/src/components/index.ts +2 -0
  194. package/src/components/menu/Menu.vue +6 -0
  195. package/src/components/menu/MenuItem.vue +2 -1
  196. package/src/components/menu/theme/MenuItem.base.theme.ts +1 -1
  197. package/src/components/qrCode/QrCode.vue +120 -0
  198. package/src/components/qrCode/__tests__/QrCode.spec.ts +14 -0
  199. package/src/components/qrCode/index.ts +2 -0
  200. package/src/components/qrCode/qrcodegen.ts +991 -0
  201. package/src/components/qrCode/theme/QrCode.base.theme.ts +9 -0
  202. package/src/components/qrCode/theme/QrCode.carbon.theme.ts +7 -0
  203. package/src/components/slider/Slider.vue +63 -137
  204. package/src/components/slider/theme/Slider.base.theme.ts +10 -5
  205. package/src/components/slider/theme/Slider.carbon.theme.ts +2 -16
  206. package/src/theme.ts +4 -0
  207. package/src/themes/base/components.ts +2 -0
  208. package/src/themes/carbon/components.ts +2 -0
  209. package/src/version.ts +1 -1
  210. package/volar.d.ts +2 -0
@@ -0,0 +1,9 @@
1
+ import type { QrCodeTheme } from '../QrCode.vue'
2
+
3
+ const theme: QrCodeTheme = {
4
+ classes: {
5
+ wrapper: 'rounded-md',
6
+ },
7
+ }
8
+
9
+ export default theme
@@ -0,0 +1,7 @@
1
+ import type { QrCodeTheme } from '../QrCode.vue'
2
+
3
+ import BaseTheme from './QrCode.base.theme'
4
+
5
+ const theme: QrCodeTheme = BaseTheme
6
+
7
+ export default theme
@@ -1,21 +1,25 @@
1
1
  <script lang="ts">
2
2
  const sliderProps = {
3
- ...useCommon.props(),
4
3
  ...useColors.props('primary'),
5
4
  ...useInteractive.props(),
6
5
  ...useInputtable.props(),
7
- min: Number,
8
- max: Number,
6
+ min: {
7
+ type: [Number, String],
8
+ default: 0,
9
+ },
10
+ max: {
11
+ type: [Number, String],
12
+ default: 100,
13
+ },
9
14
  step: {
10
- type: Number,
15
+ type: [Number, String],
11
16
  default: 1,
12
17
  },
13
- gradient: Boolean,
14
18
  }
15
19
 
16
20
  export type SliderProps = ExtractPublicPropTypes<typeof sliderProps>
17
21
 
18
- type InternalClasses = 'wrapper' | 'drag'
22
+ type InternalClasses = 'wrapper' | 'input' | 'track' | 'progress'
19
23
  export interface SliderTheme extends ThemeComponent<SliderProps, InternalClasses> {}
20
24
 
21
25
  export default {
@@ -27,8 +31,7 @@ export default {
27
31
  </script>
28
32
 
29
33
  <script setup lang="ts">
30
- import { computed, ref, watch, type ExtractPublicPropTypes } from 'vue'
31
- import { useEventListener } from '@vueuse/core'
34
+ import { ref, watch, type ExtractPublicPropTypes, computed } from 'vue'
32
35
  import { useCommon } from '../../composables/useCommon'
33
36
  import { useColors } from '../../composables/useColors'
34
37
  import { useInteractive } from '../../composables/useInteractive'
@@ -36,15 +39,13 @@ import { useInputtable } from '../../composables/useInputtable'
36
39
  import { useTheme, type ThemeComponent } from '../../composables/useTheme'
37
40
 
38
41
  import XLabel from '../label/Label.vue'
39
- import XProgress from '../progress/Progress.vue'
42
+ import XInputFooter from '../inputFooter/InputFooter.vue'
40
43
 
41
44
  const props = defineProps(sliderProps)
42
45
 
43
- const emit = defineEmits(useInputtable.emits(false))
46
+ const emit = defineEmits(useInputtable.emits())
44
47
 
45
48
  const elRef = ref<HTMLElement | null>(null)
46
- const dragRef = ref<HTMLElement | null>(null)
47
- const progressRef = ref<HTMLElement | null>(null)
48
49
  const value = ref<number>(Number(props.modelValue ?? 0))
49
50
 
50
51
  const { focus, blur } = useInteractive(elRef)
@@ -57,110 +58,19 @@ watch(value, (val) => {
57
58
  emit('update:modelValue', val)
58
59
  })
59
60
 
60
- const initial = ref()
61
- const isDragging = computed(() => !!initial.value)
62
-
63
- function startProgressDrag(e: PointerEvent) {
64
- e.stopPropagation()
65
- if (!dragRef.value || !progressRef.value) return
66
-
67
- focus()
68
-
69
- const maxWidth = progressRef.value.offsetWidth
70
- let percent = Math.floor(e.offsetX * 100 / maxWidth)
71
-
72
- if (percent < 0) percent = 0
73
- if (percent > 100) percent = 100
74
-
75
- value.value = percent
76
-
77
- setTimeout(() => {
78
- initial.value = {
79
- x: e.x,
80
- y: e.y,
81
- maxWidth,
82
- offsetX: dragRef.value?.offsetLeft,
83
- }
84
- })
85
- e.preventDefault()
86
- e.stopPropagation()
87
- }
88
-
89
- function startDrag(e: PointerEvent) {
90
- if (!dragRef.value || !progressRef.value) return
91
-
92
- focus()
93
-
94
- initial.value = {
95
- x: e.x,
96
- y: e.y,
97
- maxWidth: progressRef.value.offsetWidth,
98
- offsetX: dragRef.value.offsetLeft,
99
- }
100
-
101
- e.preventDefault()
102
- e.stopPropagation()
103
- }
104
-
105
- function moveDrag(e: PointerEvent) {
106
- if (!initial.value || !dragRef.value) return
107
-
108
- const { x, maxWidth, offsetX } = initial.value
109
- const movedX = e.x - x
110
-
111
- if (movedX === 0) return
112
-
113
- const newMoveX = offsetX + movedX
114
- let percent = Math.floor(newMoveX * 100 / maxWidth)
115
-
116
- if (percent < 0) percent = 0
117
- if (percent > 100) percent = 100
118
-
119
- value.value = percent
120
-
121
- e.preventDefault()
122
- e.stopPropagation()
123
- }
124
-
125
- function endDrag(e: PointerEvent) {
126
- if (!initial.value) return
127
- initial.value = undefined
128
- e.preventDefault()
129
- e.stopPropagation()
130
- }
131
-
132
- if (typeof window !== 'undefined') {
133
- useEventListener(progressRef, 'pointerdown', startProgressDrag, false)
134
- useEventListener(dragRef, 'pointerdown', startDrag, false)
135
- useEventListener(window, 'pointermove', moveDrag, true)
136
- useEventListener(window, 'pointerup', endDrag, true)
137
- }
138
-
139
- useEventListener(elRef, 'keydown', handleKeydown)
140
-
141
- function handleKeydown(e: KeyboardEvent) {
142
- if (e.code === 'ArrowLeft') {
143
- const nextValue = value.value - 1
144
-
145
- if (nextValue >= 0) value.value = nextValue
146
-
147
- e.preventDefault()
148
- } else if (e.code === 'ArrowRight') {
149
- const nextValue = value.value + 1
150
-
151
- if (nextValue <= 100) value.value = nextValue
152
-
153
- e.preventDefault()
154
- }
155
- }
61
+ const progress = computed(() => {
62
+ return ((value.value - Number(props.min)) / (Number(props.max) - Number(props.min))) * 100
63
+ })
156
64
 
157
65
  const {
158
66
  errorInternal,
67
+ hideFooterInternal,
68
+ isInsideForm,
69
+ inputListeners,
159
70
  reset,
160
71
  validate,
161
72
  setError,
162
- isInsideForm,
163
- } = useInputtable(props, { focus, emit, withListeners: false })
73
+ } = useInputtable(props, { focus, emit })
164
74
 
165
75
  const { styles, classes, className } = useTheme('Slider', {}, props)
166
76
 
@@ -169,9 +79,6 @@ defineExpose({ focus, blur, reset, validate, setError })
169
79
 
170
80
  <template>
171
81
  <x-label
172
- ref="elRef"
173
- tabindex="0"
174
- class="group"
175
82
  :style="styles"
176
83
  :disabled="disabled"
177
84
  :required="required"
@@ -181,36 +88,55 @@ defineExpose({ focus, blur, reset, validate, setError })
181
88
  className,
182
89
  classes.wrapper,
183
90
  ]"
91
+ :tooltip="tooltip"
184
92
  >
185
- <div class="flex items-center relative w-full">
93
+ <div class="flex items-center relative w-full gap-2 min-h-[1.25rem]">
186
94
  <slot name="prefix" :value="value"></slot>
187
- <div
188
- ref="progressRef"
189
- :class="[isDragging ? 'cursor-grabbing' : 'cursor-grab']"
190
- class="relative w-full py-2 mx-2"
191
- >
192
- <div class="-mx-2">
193
- <x-progress
194
- :percentage="value"
195
- :animate="false"
196
- thick
197
- class="w-full"
198
- :gradient="gradient"
199
- />
95
+ <div class="relative flex items-center flex-1">
96
+ <input
97
+ :id="id"
98
+ ref="elRef"
99
+ type="range"
100
+ :class="[classes.input, 'absolute w-full z-10 appearance-none bg-transparent focus:outline-none focus-visible:outline-none']"
101
+ :disabled="disabled"
102
+ :name="name"
103
+ :max="max"
104
+ :min="min"
105
+ :step="step"
106
+ :readonly="readonly"
107
+ :value="value"
108
+ v-on="inputListeners"
109
+ />
110
+ <div :class="['absolute w-full', classes.track]">
111
+ <div
112
+ :class="classes.progress"
113
+ :style="{ width: progress + '%' }"
114
+ ></div>
200
115
  </div>
201
- <div
202
- ref="dragRef"
203
- class="absolute group-focus:border-[color:var(--x-slider-border)]"
204
- :class="[
205
- classes.drag,
206
- isDragging ? 'cursor-grabbing' : 'cursor-grab'
207
- ]"
208
- :style="`left: ${value}%;`"
209
- ></div>
210
116
  </div>
211
117
  <slot name="suffix" :value="value"></slot>
212
118
  </div>
213
119
 
214
- <p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
120
+ <x-input-footer v-if="!hideFooterInternal" :error="errorInternal" :helper="helper"/>
215
121
  </x-label>
216
122
  </template>
123
+
124
+ <style lang="postcss" scoped>
125
+ [type="range"]::-webkit-slider-thumb {
126
+ @apply cursor-pointer h-5 w-5 border-solid border rounded-full
127
+ bg-white appearance-none border-[color:var(--x-slider-bg)];
128
+ }
129
+
130
+ [type="range"]:focus::-webkit-slider-thumb {
131
+ @apply ring ring-offset-1;
132
+ }
133
+
134
+ [type="range"]::-moz-range-thumb {
135
+ @apply cursor-pointer h-5 w-5 border-solid border rounded-full
136
+ bg-white border-[color:var(--x-slider-bg)];
137
+ }
138
+
139
+ [type="range"]:focus::-moz-range-thumb {
140
+ @apply ring ring-offset-1;
141
+ }
142
+ </style>
@@ -2,18 +2,23 @@ import type { SliderTheme } from '../Slider.vue'
2
2
 
3
3
  const theme: SliderTheme = {
4
4
  classes: {
5
- wrapper: '',
5
+ wrapper: ({ props }) => {
6
+ const classes = []
6
7
 
7
- drag: 'w-[20px] h-[20px] -mt-[13px] -ml-[10px] rounded-full bg-white border shadow-sm',
8
+ if (props.disabled) classes.push('cursor-not-allowed')
9
+
10
+ return classes
11
+ },
12
+ input: 'w-[calc(100%+0.5rem)] -ml-1 disabled:cursor-not-allowed',
13
+ track: 'h-1.5 bg-secondary-200 dark:bg-secondary-700 rounded-md overflow-hidden',
14
+ progress: 'h-full bg-[color:var(--x-slider-bg)]',
8
15
  },
9
16
 
10
17
  styles: ({ props, colors, css }) => {
11
- const primary = colors.getPalette('primary')
12
18
  const color = colors.getPalette(props.color)
13
19
 
14
20
  return css.variables({
15
- bg: color[500],
16
- border: primary[500],
21
+ bg: color[400],
17
22
  })
18
23
  },
19
24
  }
@@ -1,21 +1,7 @@
1
1
  import type { SliderTheme } from '../Slider.vue'
2
2
 
3
- const theme: SliderTheme = {
4
- classes: {
5
- wrapper: '',
3
+ import BaseTheme from './Slider.base.theme'
6
4
 
7
- drag: 'w-[16px] h-[16px] -mt-[11px] -ml-[8px] rounded-full bg-secondary-900 dark:bg-secondary-100',
8
- },
9
-
10
- styles: ({ props, colors, css }) => {
11
- const primary = colors.getPalette('primary')
12
- const color = colors.getPalette(props.color)
13
-
14
- return css.variables({
15
- bg: color[500],
16
- border: primary[500],
17
- })
18
- },
19
- }
5
+ const theme: SliderTheme = BaseTheme
20
6
 
21
7
  export default theme
package/src/theme.ts CHANGED
@@ -13,6 +13,7 @@ import type {
13
13
  CarouselSlideTheme,
14
14
  CheckboxTheme,
15
15
  ContainerTheme,
16
+ DatepickerTheme,
16
17
  DividerTheme,
17
18
  DrawerTheme,
18
19
  FormTheme,
@@ -33,6 +34,7 @@ import type {
33
34
  PopoverTheme,
34
35
  PopoverContainerTheme,
35
36
  ProgressTheme,
37
+ QrCodeTheme,
36
38
  RadioTheme,
37
39
  ScrollTheme,
38
40
  SelectTheme,
@@ -65,6 +67,7 @@ export type ComponentThemes = {
65
67
  CarouselSlide: CarouselSlideTheme;
66
68
  Checkbox: CheckboxTheme;
67
69
  Container: ContainerTheme;
70
+ Datepicker: DatepickerTheme;
68
71
  Divider: DividerTheme;
69
72
  Drawer: DrawerTheme;
70
73
  Form: FormTheme;
@@ -85,6 +88,7 @@ export type ComponentThemes = {
85
88
  Popover: PopoverTheme;
86
89
  PopoverContainer: PopoverContainerTheme;
87
90
  Progress: ProgressTheme;
91
+ QrCode: QrCodeTheme;
88
92
  Radio: RadioTheme;
89
93
  Scroll: ScrollTheme;
90
94
  Select: SelectTheme;
@@ -11,6 +11,7 @@ export { default as Carousel } from '../../components/carousel/theme/Carousel.ba
11
11
  export { default as CarouselSlide } from '../../components/carousel/theme/CarouselSlide.base.theme'
12
12
  export { default as Checkbox } from '../../components/checkbox/theme/Checkbox.base.theme'
13
13
  export { default as Container } from '../../components/container/theme/Container.base.theme'
14
+ export { default as Datepicker } from '../../components/datepicker/theme/Datepicker.base.theme'
14
15
  export { default as Divider } from '../../components/divider/theme/Divider.base.theme'
15
16
  export { default as Drawer } from '../../components/drawer/theme/Drawer.base.theme'
16
17
  export { default as Form } from '../../components/form/theme/Form.base.theme'
@@ -31,6 +32,7 @@ export { default as PaginationItem } from '../../components/pagination/theme/Pag
31
32
  export { default as Popover } from '../../components/popover/theme/Popover.base.theme'
32
33
  export { default as PopoverContainer } from '../../components/popover/theme/PopoverContainer.base.theme'
33
34
  export { default as Progress } from '../../components/progress/theme/Progress.base.theme'
35
+ export { default as QrCode } from '../../components/qrCode/theme/QrCode.base.theme'
34
36
  export { default as Radio } from '../../components/radio/theme/Radio.base.theme'
35
37
  export { default as Scroll } from '../../components/scroll/theme/Scroll.base.theme'
36
38
  export { default as Select } from '../../components/select/theme/Select.base.theme'
@@ -11,6 +11,7 @@ export { default as Carousel } from '../../components/carousel/theme/Carousel.ca
11
11
  export { default as CarouselSlide } from '../../components/carousel/theme/CarouselSlide.carbon.theme'
12
12
  export { default as Checkbox } from '../../components/checkbox/theme/Checkbox.carbon.theme'
13
13
  export { default as Container } from '../../components/container/theme/Container.carbon.theme'
14
+ export { default as Datepicker } from '../../components/datepicker/theme/Datepicker.carbon.theme'
14
15
  export { default as Divider } from '../../components/divider/theme/Divider.carbon.theme'
15
16
  export { default as Drawer } from '../../components/drawer/theme/Drawer.carbon.theme'
16
17
  export { default as Form } from '../../components/form/theme/Form.carbon.theme'
@@ -31,6 +32,7 @@ export { default as PaginationItem } from '../../components/pagination/theme/Pag
31
32
  export { default as Popover } from '../../components/popover/theme/Popover.carbon.theme'
32
33
  export { default as PopoverContainer } from '../../components/popover/theme/PopoverContainer.carbon.theme'
33
34
  export { default as Progress } from '../../components/progress/theme/Progress.carbon.theme'
35
+ export { default as QrCode } from '../../components/qrCode/theme/QrCode.carbon.theme'
34
36
  export { default as Radio } from '../../components/radio/theme/Radio.carbon.theme'
35
37
  export { default as Scroll } from '../../components/scroll/theme/Scroll.carbon.theme'
36
38
  export { default as Select } from '../../components/select/theme/Select.carbon.theme'
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export default '1.5.2'
1
+ export default '1.6.0'
package/volar.d.ts CHANGED
@@ -13,6 +13,7 @@ declare module 'vue' {
13
13
  XCarouselSlide: typeof import('@indielayer/ui')['XCarouselSlide']
14
14
  XCheckbox: typeof import('@indielayer/ui')['XCheckbox']
15
15
  XContainer: typeof import('@indielayer/ui')['XContainer']
16
+ XDatepicker: typeof import('@indielayer/ui')['XDatepicker']
16
17
  XDivider: typeof import('@indielayer/ui')['XDivider']
17
18
  XDrawer: typeof import('@indielayer/ui')['XDrawer']
18
19
  XForm: typeof import('@indielayer/ui')['XForm']
@@ -33,6 +34,7 @@ declare module 'vue' {
33
34
  XPopover: typeof import('@indielayer/ui')['XPopover']
34
35
  XPopoverContainer: typeof import('@indielayer/ui')['XPopoverContainer']
35
36
  XProgress: typeof import('@indielayer/ui')['XProgress']
37
+ XQrCode: typeof import('@indielayer/ui')['XQrCode']
36
38
  XRadio: typeof import('@indielayer/ui')['XRadio']
37
39
  XScroll: typeof import('@indielayer/ui')['XScroll']
38
40
  XSelect: typeof import('@indielayer/ui')['XSelect']