@indielayer/ui 1.5.1 → 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 (253) 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/components/toolbar/Toolbar.vue +2 -9
  5. package/docs/pages/component/datepicker/index.vue +35 -0
  6. package/docs/pages/component/datepicker/usage.vue +22 -0
  7. package/docs/pages/component/form/usage.vue +29 -19
  8. package/docs/pages/component/menu/usage.vue +7 -3
  9. package/docs/pages/component/qrCode/index.vue +25 -0
  10. package/docs/pages/component/qrCode/usage.vue +20 -0
  11. package/docs/pages/component/slider/usage.vue +8 -10
  12. package/docs/pages/index.vue +9 -19
  13. package/exports/nuxt.plugin.js +9 -2
  14. package/lib/components/accordion/AccordionItem.vue.js +25 -24
  15. package/lib/components/accordion/theme/AccordionItem.base.theme.js +7 -7
  16. package/lib/components/alert/Alert.vue2.js +4 -3
  17. package/lib/components/button/Button.vue.d.ts +3 -3
  18. package/lib/components/button/Button.vue.js +2 -2
  19. package/lib/components/button/Button.vue2.js +10 -10
  20. package/lib/components/carousel/Carousel.vue.d.ts +8 -2
  21. package/lib/components/carousel/Carousel.vue.js +51 -48
  22. package/lib/components/checkbox/theme/Checkbox.base.theme.js +35 -35
  23. package/lib/components/datepicker/Datepicker.vue.d.ts +1886 -0
  24. package/lib/components/datepicker/Datepicker.vue.js +328 -0
  25. package/lib/components/datepicker/Datepicker.vue2.js +4 -0
  26. package/lib/components/datepicker/Datepicker.vue3.js +5 -0
  27. package/lib/components/datepicker/__tests__/Datepicker.spec.d.ts +1 -0
  28. package/lib/components/datepicker/index.d.ts +2 -0
  29. package/lib/components/datepicker/theme/Datepicker.base.theme.d.ts +3 -0
  30. package/lib/components/datepicker/theme/Datepicker.base.theme.js +65 -0
  31. package/lib/components/datepicker/theme/Datepicker.carbon.theme.d.ts +3 -0
  32. package/lib/components/datepicker/theme/Datepicker.carbon.theme.js +5 -0
  33. package/lib/components/drawer/Drawer.vue.js +1 -1
  34. package/lib/components/drawer/theme/Drawer.base.theme.js +1 -1
  35. package/lib/components/formGroup/FormGroup.vue.js +42 -36
  36. package/lib/components/index.d.ts +2 -0
  37. package/lib/components/index.js +99 -94
  38. package/lib/components/inputFooter/theme/InputFooter.base.theme.js +1 -1
  39. package/lib/components/label/theme/Label.base.theme.js +1 -1
  40. package/lib/components/menu/Menu.vue.d.ts +4 -0
  41. package/lib/components/menu/Menu.vue.js +40 -34
  42. package/lib/components/menu/MenuItem.vue.d.ts +4 -0
  43. package/lib/components/menu/MenuItem.vue.js +1 -1
  44. package/lib/components/menu/MenuItem.vue2.js +43 -39
  45. package/lib/components/menu/theme/MenuItem.base.theme.js +1 -1
  46. package/lib/components/notifications/Notifications.vue.js +1 -0
  47. package/lib/components/popover/Popover.vue.d.ts +7 -25
  48. package/lib/components/popover/Popover.vue.js +12 -12
  49. package/lib/components/qrCode/QrCode.vue.d.ts +68 -0
  50. package/lib/components/qrCode/QrCode.vue.js +93 -0
  51. package/lib/components/qrCode/QrCode.vue2.js +4 -0
  52. package/lib/components/qrCode/__tests__/QrCode.spec.d.ts +1 -0
  53. package/lib/components/qrCode/index.d.ts +2 -0
  54. package/lib/components/qrCode/qrcodegen.d.ts +94 -0
  55. package/lib/components/qrCode/qrcodegen.js +571 -0
  56. package/lib/components/qrCode/theme/QrCode.base.theme.d.ts +3 -0
  57. package/lib/components/qrCode/theme/QrCode.base.theme.js +8 -0
  58. package/lib/components/qrCode/theme/QrCode.carbon.theme.d.ts +3 -0
  59. package/lib/components/qrCode/theme/QrCode.carbon.theme.js +5 -0
  60. package/lib/components/radio/theme/Radio.base.theme.js +27 -27
  61. package/lib/components/scroll/Scroll.vue2.js +4 -4
  62. package/lib/components/slider/Slider.vue.d.ts +31 -31
  63. package/lib/components/slider/Slider.vue.js +5 -146
  64. package/lib/components/slider/Slider.vue2.js +101 -2
  65. package/lib/components/slider/Slider.vue3.js +4 -0
  66. package/lib/components/slider/theme/Slider.base.theme.js +14 -10
  67. package/lib/components/slider/theme/Slider.carbon.theme.js +3 -14
  68. package/lib/components/stepper/Stepper.vue.js +35 -34
  69. package/lib/components/tab/Tab.vue.js +7 -6
  70. package/lib/components/table/Table.vue.js +16 -15
  71. package/lib/components/tooltip/Tooltip.vue.js +1 -1
  72. package/lib/create.d.ts +5 -1
  73. package/lib/create.js +18 -15
  74. package/lib/index.js +117 -113
  75. package/lib/index.umd.js +40 -3
  76. 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
  77. 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
  78. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/addLeadingZeros.js +7 -0
  79. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/defaultOptions.js +7 -0
  80. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/formatters.js +518 -0
  81. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/lightFormatters.js +59 -0
  82. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/longFormatters.js +52 -0
  83. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +18 -0
  84. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/protectedTokens.js +21 -0
  85. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/add.js +20 -0
  86. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addDays.js +10 -0
  87. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addMonths.js +21 -0
  88. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addQuarters.js +9 -0
  89. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addYears.js +8 -0
  90. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constants.js +8 -0
  91. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constructFrom.js +7 -0
  92. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/differenceInCalendarDays.js +11 -0
  93. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachDayOfInterval.js +19 -0
  94. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachQuarterOfInterval.js +20 -0
  95. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfQuarter.js +9 -0
  96. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfWeek.js +11 -0
  97. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfYear.js +9 -0
  98. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/format.js +60 -0
  99. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDay.js +8 -0
  100. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDayOfYear.js +11 -0
  101. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDaysInMonth.js +10 -0
  102. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDefaultOptions.js +8 -0
  103. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getHours.js +8 -0
  104. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISODay.js +9 -0
  105. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeek.js +12 -0
  106. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeekYear.js +15 -0
  107. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMinutes.js +8 -0
  108. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMonth.js +8 -0
  109. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getQuarter.js +9 -0
  110. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getSeconds.js +8 -0
  111. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeek.js +12 -0
  112. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeekYear.js +17 -0
  113. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getYear.js +8 -0
  114. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isAfter.js +9 -0
  115. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isBefore.js +9 -0
  116. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isDate.js +7 -0
  117. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isEqual.js +9 -0
  118. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isSameQuarter.js +9 -0
  119. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isValid.js +12 -0
  120. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +9 -0
  121. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -0
  122. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchFn.js +31 -0
  123. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +17 -0
  124. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -0
  125. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -0
  126. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +11 -0
  127. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/localize.js +155 -0
  128. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/match.js +110 -0
  129. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US.js +21 -0
  130. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Parser.js +22 -0
  131. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Setter.js +40 -0
  132. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/constants.js +49 -0
  133. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +49 -0
  134. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +49 -0
  135. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DateParser.js +61 -0
  136. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +51 -0
  137. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayParser.js +45 -0
  138. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +49 -0
  139. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/EraParser.js +30 -0
  140. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +21 -0
  141. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +22 -0
  142. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +32 -0
  143. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +32 -0
  144. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +33 -0
  145. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +33 -0
  146. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +99 -0
  147. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +48 -0
  148. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +48 -0
  149. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +49 -0
  150. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +40 -0
  151. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +74 -0
  152. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +48 -0
  153. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +69 -0
  154. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +32 -0
  155. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +71 -0
  156. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +70 -0
  157. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +32 -0
  158. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +74 -0
  159. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +71 -0
  160. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +70 -0
  161. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +22 -0
  162. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +22 -0
  163. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/YearParser.js +49 -0
  164. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers.js +67 -0
  165. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/utils.js +103 -0
  166. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse.js +90 -0
  167. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parseISO.js +128 -0
  168. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/set.js +11 -0
  169. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setDay.js +12 -0
  170. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setHours.js +9 -0
  171. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISODay.js +11 -0
  172. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISOWeek.js +10 -0
  173. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMilliseconds.js +9 -0
  174. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMinutes.js +9 -0
  175. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMonth.js +13 -0
  176. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setSeconds.js +9 -0
  177. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setWeek.js +10 -0
  178. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setYear.js +10 -0
  179. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfDay.js +9 -0
  180. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeek.js +8 -0
  181. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeekYear.js +11 -0
  182. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfQuarter.js +9 -0
  183. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeek.js +11 -0
  184. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeekYear.js +13 -0
  185. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfYear.js +10 -0
  186. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/sub.js +19 -0
  187. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subDays.js +8 -0
  188. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subMonths.js +8 -0
  189. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subYears.js +8 -0
  190. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/toDate.js +8 -0
  191. package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/transpose.js +18 -0
  192. package/lib/node_modules/.pnpm/{floating-vue@5.2.0_vue@3.3.9 → floating-vue@5.2.2_vue@3.3.9}/node_modules/floating-vue/dist/floating-vue.js +208 -183
  193. package/lib/nuxt.plugin.js +9 -2
  194. package/lib/theme.d.ts +3 -1
  195. package/lib/themes/base/components.d.ts +2 -0
  196. package/lib/themes/base/components.js +82 -78
  197. package/lib/themes/base/index.js +2 -2
  198. package/lib/themes/base/styles.d.ts +2 -0
  199. package/{src/themes/base/styles.css → lib/themes/base/styles.js} +5 -1
  200. package/lib/themes/carbon/components.d.ts +2 -0
  201. package/lib/themes/carbon/components.js +82 -78
  202. package/lib/themes/carbon/index.js +2 -2
  203. package/lib/themes/carbon/styles.d.ts +2 -0
  204. package/lib/themes/carbon/{styles.css.js → styles.js} +2 -1
  205. package/lib/version.d.ts +1 -1
  206. package/lib/version.js +1 -1
  207. package/package.json +3 -2
  208. package/src/components/accordion/AccordionItem.vue +1 -0
  209. package/src/components/accordion/theme/AccordionItem.base.theme.ts +2 -2
  210. package/src/components/alert/Alert.vue +1 -1
  211. package/src/components/button/Button.vue +1 -1
  212. package/src/components/carousel/Carousel.vue +8 -3
  213. package/src/components/checkbox/theme/Checkbox.base.theme.ts +6 -4
  214. package/src/components/datepicker/Datepicker.vue +414 -0
  215. package/src/components/datepicker/__tests__/Datepicker.spec.ts +11 -0
  216. package/src/components/datepicker/index.ts +2 -0
  217. package/src/components/datepicker/theme/Datepicker.base.theme.ts +72 -0
  218. package/src/components/datepicker/theme/Datepicker.carbon.theme.ts +7 -0
  219. package/src/components/drawer/Drawer.vue +1 -1
  220. package/src/components/drawer/theme/Drawer.base.theme.ts +1 -1
  221. package/src/components/formGroup/FormGroup.vue +5 -0
  222. package/src/components/index.ts +2 -0
  223. package/src/components/inputFooter/theme/InputFooter.base.theme.ts +1 -1
  224. package/src/components/label/theme/Label.base.theme.ts +1 -1
  225. package/src/components/menu/Menu.vue +6 -0
  226. package/src/components/menu/MenuItem.vue +2 -1
  227. package/src/components/menu/theme/MenuItem.base.theme.ts +1 -1
  228. package/src/components/notifications/Notifications.vue +1 -0
  229. package/src/components/popover/Popover.vue +2 -2
  230. package/src/components/qrCode/QrCode.vue +120 -0
  231. package/src/components/qrCode/__tests__/QrCode.spec.ts +14 -0
  232. package/src/components/qrCode/index.ts +2 -0
  233. package/src/components/qrCode/qrcodegen.ts +991 -0
  234. package/src/components/qrCode/theme/QrCode.base.theme.ts +9 -0
  235. package/src/components/qrCode/theme/QrCode.carbon.theme.ts +7 -0
  236. package/src/components/radio/theme/Radio.base.theme.ts +5 -3
  237. package/src/components/scroll/Scroll.vue +1 -1
  238. package/src/components/slider/Slider.vue +63 -137
  239. package/src/components/slider/theme/Slider.base.theme.ts +10 -5
  240. package/src/components/slider/theme/Slider.carbon.theme.ts +2 -16
  241. package/src/components/stepper/Stepper.vue +1 -0
  242. package/src/components/tab/Tab.vue +1 -0
  243. package/src/components/table/Table.vue +1 -1
  244. package/src/create.ts +11 -4
  245. package/src/theme.ts +4 -0
  246. package/src/themes/base/components.ts +2 -0
  247. package/src/themes/base/index.ts +2 -2
  248. package/{lib/themes/base/styles.css.js → src/themes/base/styles.ts} +2 -5
  249. package/src/themes/carbon/components.ts +2 -0
  250. package/src/themes/carbon/index.ts +2 -2
  251. package/src/themes/carbon/{styles.css → styles.ts} +2 -0
  252. package/src/version.ts +1 -1
  253. package/volar.d.ts +2 -0
@@ -18,6 +18,7 @@ const menuProps = {
18
18
  type: Boolean,
19
19
  default: true,
20
20
  },
21
+ minimal: Boolean,
21
22
  }
22
23
 
23
24
  export type MenuArrayItem = {
@@ -104,6 +105,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
104
105
  :filled="item.filled || filled"
105
106
  :size="item.size || size"
106
107
  :disabled="disabled || item.disabled"
108
+ :minimal="minimal"
107
109
  class="font-medium"
108
110
  />
109
111
  </template>
@@ -120,6 +122,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
120
122
  :disabled="disabled || item.disabled"
121
123
  :rounded="rounded"
122
124
  :filled="filled"
125
+ :minimal="minimal"
123
126
  @expand="expand(false)"
124
127
  @item-click="$emit('item-click')"
125
128
  />
@@ -133,6 +136,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
133
136
  :filled="item.filled || filled"
134
137
  :size="item.size || size"
135
138
  :disabled="disabled || item.disabled"
139
+ :minimal="minimal"
136
140
  class="font-medium"
137
141
  inactive
138
142
  @click="$emit('item-click')"
@@ -147,6 +151,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
147
151
  :collapse-icon="item.collapseIcon || collapseIcon"
148
152
  :expanded="item.expanded || expanded"
149
153
  :disabled="disabled || item.disabled"
154
+ :minimal="minimal"
150
155
  :rounded="rounded"
151
156
  :filled="filled"
152
157
  @expand="$emit('expand')"
@@ -163,6 +168,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
163
168
  :filled="item.filled || filled"
164
169
  :size="item.size || size"
165
170
  :disabled="disabled || item.disabled"
171
+ :minimal="minimal"
166
172
  :class="{ 'my-2': item.divider }"
167
173
  @click="$emit('item-click')"
168
174
  @active="$emit('expand')"
@@ -31,6 +31,7 @@ const menuItemProps = {
31
31
  },
32
32
  selected: Boolean,
33
33
  disabled: Boolean,
34
+ minimal: Boolean,
34
35
  }
35
36
 
36
37
  export type MenuItemProps = ExtractPublicPropTypes<typeof menuItemProps>
@@ -150,7 +151,7 @@ const { styles, classes, className } = useTheme('MenuItem', {}, computedProps, {
150
151
  </span>
151
152
  <x-icon v-else-if="computedProps.icon" :size="computedProps.size" :icon="computedProps.icon" class="mr-2"/>
152
153
 
153
- <span class="flex-1 truncate">
154
+ <span v-if="!minimal" class="flex-1 truncate">
154
155
  <slot>{{ computedProps.label }}</slot>
155
156
  </span>
156
157
 
@@ -3,7 +3,7 @@ import type { MenuItemTheme } from '../MenuItem.vue'
3
3
  const theme: MenuItemTheme = {
4
4
  classes: {
5
5
  wrapper: ({ props, data }) => {
6
- const classes = ['relative !flex items-center whitespace-nowrap px-3']
6
+ const classes = ['relative !flex items-center whitespace-nowrap px-3 min-h-[2rem]']
7
7
 
8
8
  if (!props.disabled) classes.push('cursor-pointer')
9
9
  if (data.isActive) classes.push('font-medium')
@@ -292,6 +292,7 @@ defineExpose({ log, info, success, warn, warning: warn, error })
292
292
  <x-spacer/>
293
293
  <button
294
294
  v-if="notification.action"
295
+ type="button"
295
296
  class="
296
297
  ml-3
297
298
  font-medium
@@ -33,10 +33,10 @@ const popoverProps = {
33
33
  popperShowTriggers: [Array, Function] as PropType<Array<PopoverTriggerEvent> | ((triggers: Array<PopoverTriggerEvent>) => Array<PopoverTriggerEvent>)>,
34
34
  popperHideTriggers: [Array, Function] as PropType<Array<PopoverTriggerEvent> | ((triggers: Array<PopoverTriggerEvent>) => Array<PopoverTriggerEvent>)>,
35
35
  container: {
36
- type: [String, Object, Element, Boolean],
36
+ type: [String, Object, Boolean],
37
37
  default: 'body',
38
38
  },
39
- boundary: [String, Element],
39
+ boundary: [String, Object],
40
40
  strategy: {
41
41
  type: String as PropType<'absolute' | 'fixed'>,
42
42
  default: 'absolute',
@@ -0,0 +1,120 @@
1
+ <script lang="ts">
2
+ const qrCodeProps = {
3
+ value: String,
4
+ color: {
5
+ type: String,
6
+ default: '#000',
7
+ },
8
+ backgroundColor: {
9
+ type: String,
10
+ default: '#fff',
11
+ },
12
+ size: {
13
+ type: [String, Number],
14
+ default: 100,
15
+ },
16
+ errorCorrectionLevel: {
17
+ type: String,
18
+ default: 'M',
19
+ },
20
+ }
21
+
22
+ export type QrCodeProps = ExtractPublicPropTypes<typeof qrCodeProps>
23
+
24
+ type InternalClasses = 'wrapper'
25
+ export interface QrCodeTheme extends ThemeComponent<QrCodeProps, InternalClasses> {}
26
+
27
+ export default {
28
+ name: 'XQrCode',
29
+ validators: {
30
+ errorCorrectionLevel: ['L', 'M', 'Q', 'H'],
31
+ },
32
+ }
33
+ </script>
34
+
35
+ <script setup lang="ts">
36
+ import { computed, onMounted, ref, watchEffect, type ExtractPublicPropTypes } from 'vue'
37
+ import { useTheme, type ThemeComponent } from '../../composables/useTheme'
38
+ import qrcodegen from './qrcodegen'
39
+
40
+ const props = defineProps(qrCodeProps)
41
+
42
+ const ERROR_CORRECTION_LEVEL: Record<string, qrcodegen.QrCode.Ecc> = {
43
+ L: qrcodegen.QrCode.Ecc.LOW,
44
+ M: qrcodegen.QrCode.Ecc.MEDIUM,
45
+ Q: qrcodegen.QrCode.Ecc.QUARTILE,
46
+ H: qrcodegen.QrCode.Ecc.HIGH,
47
+ }
48
+
49
+ const canvasRef = ref<HTMLCanvasElement>()
50
+
51
+ const qr = computed(() => qrcodegen.QrCode.encodeText(
52
+ props.value ?? '-',
53
+ ERROR_CORRECTION_LEVEL[props.errorCorrectionLevel] || qrcodegen.QrCode.Ecc.MEDIUM,
54
+ ))
55
+
56
+ onMounted(() => {
57
+ watchEffect(() => {
58
+ drawQR(
59
+ qr.value,
60
+ Number(props.size),
61
+ props.color,
62
+ props.backgroundColor,
63
+ )
64
+ })
65
+ })
66
+
67
+ function drawQR(qr: qrcodegen.QrCode, size: number, foregroundColor: string, backgroundColor: string) {
68
+ const canvas = canvasRef.value
69
+
70
+ if (!canvas) return
71
+
72
+ const canvasWidth = size * 2
73
+ const width = qr.size
74
+ const scale = canvasWidth / width
75
+
76
+ canvas.width = canvasWidth
77
+ canvas.height = canvasWidth
78
+ const ctx = canvas.getContext('2d')
79
+
80
+ if (!ctx) return
81
+
82
+ ctx.clearRect(0, 0, canvas.width, canvas.height)
83
+ for (let y = 0; y < qr.size; y++) {
84
+ for (let x = 0; x < qr.size; x++) {
85
+ ctx.fillStyle = qr.getModule(x, y) ? foregroundColor : backgroundColor
86
+ const startX = Math.floor(x * scale)
87
+ const endX = Math.ceil((x + 1) * scale)
88
+ const startY = Math.floor(y * scale)
89
+ const endY = Math.ceil((y + 1) * scale)
90
+
91
+ ctx.fillRect(startX, startY, endX - startX, endY - startY)
92
+ }
93
+ }
94
+ }
95
+
96
+ const { styles, classes, className } = useTheme('QrCode', {}, props)
97
+ </script>
98
+
99
+ <template>
100
+ <div
101
+ :style="[styles, {
102
+ width: `calc(1rem + ${size}px)`,
103
+ height: `calc(1rem + ${size}px)`,
104
+ backgroundColor,
105
+ padding: '0.5rem',
106
+ }]"
107
+ :class="[
108
+ className,
109
+ classes.wrapper,
110
+ ]"
111
+ >
112
+ <canvas
113
+ ref="canvasRef"
114
+ :style="{
115
+ width: `${size}px`,
116
+ height: `${size}px`
117
+ }"
118
+ ></canvas>
119
+ </div>
120
+ </template>
@@ -0,0 +1,14 @@
1
+ import { describe, it, expect, vitest } from 'vitest'
2
+ import { mount } from '@vue/test-utils'
3
+ import QrCode from '../QrCode.vue'
4
+
5
+ describe('QrCode', () => {
6
+ it('renders properly', () => {
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-ignore
9
+ HTMLCanvasElement.prototype.getContext = vitest.fn()
10
+ const wrapper = mount(QrCode)
11
+
12
+ expect(wrapper.vm).toBeTruthy()
13
+ })
14
+ })
@@ -0,0 +1,2 @@
1
+ export { default as XQrCode } from './QrCode.vue'
2
+ export type { QrCodeProps, QrCodeTheme } from './QrCode.vue'