@indielayer/ui 1.5.2 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/components/common/DocumentPage.vue +0 -30
- package/docs/components/menu/DocsMenu.vue +2 -0
- package/docs/pages/component/datepicker/index.vue +35 -0
- package/docs/pages/component/datepicker/usage.vue +22 -0
- package/docs/pages/component/form/usage.vue +13 -0
- package/docs/pages/component/menu/usage.vue +7 -3
- package/docs/pages/component/qrCode/index.vue +25 -0
- package/docs/pages/component/qrCode/usage.vue +20 -0
- package/docs/pages/component/slider/usage.vue +8 -10
- package/docs/pages/index.vue +9 -19
- package/lib/components/button/Button.vue.d.ts +3 -3
- package/lib/components/button/Button.vue.js +2 -2
- package/lib/components/button/Button.vue2.js +10 -10
- package/lib/components/carousel/Carousel.vue.d.ts +8 -2
- package/lib/components/carousel/Carousel.vue.js +51 -48
- package/lib/components/checkbox/theme/Checkbox.base.theme.js +1 -1
- package/lib/components/datepicker/Datepicker.vue.d.ts +1886 -0
- package/lib/components/datepicker/Datepicker.vue.js +328 -0
- package/lib/components/datepicker/Datepicker.vue2.js +4 -0
- package/lib/components/datepicker/Datepicker.vue3.js +5 -0
- package/lib/components/datepicker/__tests__/Datepicker.spec.d.ts +1 -0
- package/lib/components/datepicker/index.d.ts +2 -0
- package/lib/components/datepicker/theme/Datepicker.base.theme.d.ts +3 -0
- package/lib/components/datepicker/theme/Datepicker.base.theme.js +64 -0
- package/lib/components/datepicker/theme/Datepicker.carbon.theme.d.ts +3 -0
- package/lib/components/datepicker/theme/Datepicker.carbon.theme.js +5 -0
- package/lib/components/drawer/Drawer.vue.js +1 -1
- package/lib/components/drawer/theme/Drawer.base.theme.js +1 -1
- package/lib/components/formGroup/FormGroup.vue.js +42 -36
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +99 -94
- package/lib/components/menu/Menu.vue.d.ts +4 -0
- package/lib/components/menu/Menu.vue.js +40 -34
- package/lib/components/menu/MenuItem.vue.d.ts +4 -0
- package/lib/components/menu/MenuItem.vue.js +1 -1
- package/lib/components/menu/MenuItem.vue2.js +43 -39
- package/lib/components/menu/theme/MenuItem.base.theme.js +1 -1
- package/lib/components/qrCode/QrCode.vue.d.ts +68 -0
- package/lib/components/qrCode/QrCode.vue.js +93 -0
- package/lib/components/qrCode/QrCode.vue2.js +4 -0
- package/lib/components/qrCode/__tests__/QrCode.spec.d.ts +1 -0
- package/lib/components/qrCode/index.d.ts +2 -0
- package/lib/components/qrCode/qrcodegen.d.ts +94 -0
- package/lib/components/qrCode/qrcodegen.js +571 -0
- package/lib/components/qrCode/theme/QrCode.base.theme.d.ts +3 -0
- package/lib/components/qrCode/theme/QrCode.base.theme.js +8 -0
- package/lib/components/qrCode/theme/QrCode.carbon.theme.d.ts +3 -0
- package/lib/components/qrCode/theme/QrCode.carbon.theme.js +5 -0
- package/lib/components/slider/Slider.vue.d.ts +31 -31
- package/lib/components/slider/Slider.vue.js +5 -146
- package/lib/components/slider/Slider.vue2.js +101 -2
- package/lib/components/slider/Slider.vue3.js +4 -0
- package/lib/components/slider/theme/Slider.base.theme.js +14 -10
- package/lib/components/slider/theme/Slider.carbon.theme.js +3 -14
- package/lib/index.js +117 -113
- package/lib/index.umd.js +38 -3
- 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
- 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
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/addLeadingZeros.js +7 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/defaultOptions.js +7 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/formatters.js +518 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/lightFormatters.js +59 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/format/longFormatters.js +52 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +18 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/_lib/protectedTokens.js +21 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/add.js +20 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addDays.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addMonths.js +21 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addQuarters.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/addYears.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constants.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/constructFrom.js +7 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/differenceInCalendarDays.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachDayOfInterval.js +19 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/eachQuarterOfInterval.js +20 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfQuarter.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfWeek.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/endOfYear.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/format.js +60 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDay.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDayOfYear.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDaysInMonth.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getDefaultOptions.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getHours.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISODay.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeek.js +12 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getISOWeekYear.js +15 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMinutes.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getMonth.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getQuarter.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getSeconds.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeek.js +12 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getWeekYear.js +17 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/getYear.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isAfter.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isBefore.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isDate.js +7 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isEqual.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isSameQuarter.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/isValid.js +12 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchFn.js +31 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +17 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/localize.js +155 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US/_lib/match.js +110 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/locale/en-US.js +21 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Parser.js +22 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/Setter.js +40 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/constants.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DateParser.js +61 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +51 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayParser.js +45 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/EraParser.js +30 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +21 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +22 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +32 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +32 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +33 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +33 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +99 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +48 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +48 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +40 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +74 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +48 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +69 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +32 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +71 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +70 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +32 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +74 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +71 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +70 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +22 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +22 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers/YearParser.js +49 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/parsers.js +67 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse/_lib/utils.js +103 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parse.js +90 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/parseISO.js +128 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/set.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setDay.js +12 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setHours.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISODay.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setISOWeek.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMilliseconds.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMinutes.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setMonth.js +13 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setSeconds.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setWeek.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/setYear.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfDay.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeek.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfISOWeekYear.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfQuarter.js +9 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeek.js +11 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfWeekYear.js +13 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/startOfYear.js +10 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/sub.js +19 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subDays.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subMonths.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/subYears.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/toDate.js +8 -0
- package/lib/node_modules/.pnpm/date-fns@3.3.1/node_modules/date-fns/transpose.js +18 -0
- package/lib/theme.d.ts +3 -1
- package/lib/themes/base/components.d.ts +2 -0
- package/lib/themes/base/components.js +82 -78
- package/lib/themes/carbon/components.d.ts +2 -0
- package/lib/themes/carbon/components.js +82 -78
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -1
- package/src/components/button/Button.vue +1 -1
- package/src/components/carousel/Carousel.vue +8 -3
- package/src/components/checkbox/theme/Checkbox.base.theme.ts +1 -1
- package/src/components/datepicker/Datepicker.vue +414 -0
- package/src/components/datepicker/__tests__/Datepicker.spec.ts +11 -0
- package/src/components/datepicker/index.ts +2 -0
- package/src/components/datepicker/theme/Datepicker.base.theme.ts +71 -0
- package/src/components/datepicker/theme/Datepicker.carbon.theme.ts +7 -0
- package/src/components/drawer/Drawer.vue +1 -1
- package/src/components/drawer/theme/Drawer.base.theme.ts +1 -1
- package/src/components/formGroup/FormGroup.vue +5 -0
- package/src/components/index.ts +2 -0
- package/src/components/menu/Menu.vue +6 -0
- package/src/components/menu/MenuItem.vue +2 -1
- package/src/components/menu/theme/MenuItem.base.theme.ts +1 -1
- package/src/components/qrCode/QrCode.vue +120 -0
- package/src/components/qrCode/__tests__/QrCode.spec.ts +14 -0
- package/src/components/qrCode/index.ts +2 -0
- package/src/components/qrCode/qrcodegen.ts +991 -0
- package/src/components/qrCode/theme/QrCode.base.theme.ts +9 -0
- package/src/components/qrCode/theme/QrCode.carbon.theme.ts +7 -0
- package/src/components/slider/Slider.vue +63 -137
- package/src/components/slider/theme/Slider.base.theme.ts +10 -5
- package/src/components/slider/theme/Slider.carbon.theme.ts +2 -16
- package/src/theme.ts +4 -0
- package/src/themes/base/components.ts +2 -0
- package/src/themes/carbon/components.ts +2 -0
- package/src/version.ts +1 -1
- package/volar.d.ts +2 -0
|
@@ -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:
|
|
8
|
-
|
|
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' | '
|
|
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 {
|
|
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
|
|
42
|
+
import XInputFooter from '../inputFooter/InputFooter.vue'
|
|
40
43
|
|
|
41
44
|
const props = defineProps(sliderProps)
|
|
42
45
|
|
|
43
|
-
const emit = defineEmits(useInputtable.emits(
|
|
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
|
|
61
|
-
|
|
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
|
-
|
|
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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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 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
|
-
<
|
|
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
|
-
|
|
8
|
+
if (props.disabled) classes.push('cursor-not-allowed')
|
|
9
|
+
|
|
10
|
+
return classes
|
|
11
|
+
},
|
|
12
|
+
input: 'w-[calc(100%+0.65rem)] -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[
|
|
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
|
-
|
|
4
|
-
classes: {
|
|
5
|
-
wrapper: '',
|
|
3
|
+
import BaseTheme from './Slider.base.theme'
|
|
6
4
|
|
|
7
|
-
|
|
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.
|
|
1
|
+
export default '1.6.1'
|
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']
|