vuetify 3.5.8 → 3.5.10
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/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +525 -13
- package/dist/json/importMap-labs.json +24 -8
- package/dist/json/importMap.json +130 -130
- package/dist/json/tags.json +148 -0
- package/dist/json/web-types.json +2021 -147
- package/dist/vuetify-labs.css +2819 -2760
- package/dist/vuetify-labs.d.ts +5860 -2816
- package/dist/vuetify-labs.esm.js +1286 -248
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1286 -247
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +553 -547
- package/dist/vuetify.d.ts +2835 -2281
- package/dist/vuetify.esm.js +883 -408
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +882 -406
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1137 -1109
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +15 -15
- package/lib/components/VApp/index.d.mts +8 -8
- package/lib/components/VAppBar/index.d.mts +7 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +232 -100
- package/lib/components/VAvatar/index.d.mts +8 -8
- package/lib/components/VBadge/index.d.mts +7 -7
- package/lib/components/VBanner/index.d.mts +20 -20
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +27 -26
- package/lib/components/VBtnGroup/index.d.mts +8 -8
- package/lib/components/VCard/index.d.mts +32 -32
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VCheckbox/index.d.mts +44 -44
- package/lib/components/VChip/index.d.mts +7 -7
- package/lib/components/VCode/index.d.mts +8 -8
- package/lib/components/VColorPicker/VColorPickerPreview.css +1 -0
- package/lib/components/VColorPicker/VColorPickerPreview.sass +1 -0
- package/lib/components/VColorPicker/_variables.scss +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +10 -7
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +232 -100
- package/lib/components/VDataTable/index.d.mts +6 -6
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +10 -4
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +10 -10
- package/lib/components/VDefaultsProvider/index.d.mts +8 -8
- package/lib/components/VDialog/index.d.mts +12 -6
- package/lib/components/VDivider/index.d.mts +8 -8
- package/lib/components/VExpansionPanel/index.d.mts +19 -19
- package/lib/components/VField/VField.css +2 -0
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -0
- package/lib/components/VField/index.d.mts +28 -28
- package/lib/components/VFileInput/index.d.mts +133 -133
- package/lib/components/VFooter/index.d.mts +8 -8
- package/lib/components/VGrid/index.d.mts +32 -32
- package/lib/components/VIcon/VIcon.css +4 -0
- package/lib/components/VIcon/VIcon.mjs +7 -3
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +4 -0
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VIcon/index.d.mts +25 -16
- package/lib/components/VImg/index.d.mts +4 -4
- package/lib/components/VInput/index.d.mts +21 -21
- package/lib/components/VKbd/index.d.mts +8 -8
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +16 -16
- package/lib/components/VLazy/index.d.mts +8 -8
- package/lib/components/VList/VList.mjs +8 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +17 -4
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +156 -54
- package/lib/components/VLocaleProvider/index.d.mts +12 -12
- package/lib/components/VMain/index.d.mts +8 -8
- package/lib/components/VMenu/VMenu.mjs +3 -0
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +14 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +22 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -1
- package/lib/components/VNavigationDrawer/index.d.mts +11 -11
- package/lib/components/VOtpInput/VOtpInput.mjs +7 -2
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +31 -31
- package/lib/components/VOverlay/VOverlay.mjs +8 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +3 -0
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +7 -7
- package/lib/components/VProgressLinear/VProgressLinear.css +0 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/index.d.mts +7 -7
- package/lib/components/VRadioGroup/index.d.mts +44 -44
- package/lib/components/VRangeSlider/index.d.mts +47 -47
- package/lib/components/VRating/index.d.mts +7 -7
- package/lib/components/VResponsive/index.d.mts +8 -8
- package/lib/components/VSelect/VSelect.mjs +5 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +232 -100
- package/lib/components/VSheet/index.d.mts +8 -8
- package/lib/components/VSkeletonLoader/index.d.mts +8 -8
- package/lib/components/VSlider/index.d.mts +47 -47
- package/lib/components/VSnackbar/index.d.mts +25 -19
- package/lib/components/VStepper/index.d.mts +41 -41
- package/lib/components/VSwitch/index.d.mts +39 -39
- package/lib/components/VSystemBar/index.d.mts +8 -8
- package/lib/components/VTabs/index.d.mts +15 -15
- package/lib/components/VTextField/index.d.mts +173 -173
- package/lib/components/VTextarea/index.d.mts +119 -119
- package/lib/components/VThemeProvider/index.d.mts +8 -8
- package/lib/components/VTimeline/index.d.mts +8 -8
- package/lib/components/VToolbar/index.d.mts +8 -8
- package/lib/components/VTooltip/index.d.mts +14 -8
- package/lib/components/VWindow/index.d.mts +10 -10
- package/lib/components/index.d.mts +2478 -1943
- package/lib/components/transitions/index.d.mts +128 -128
- package/lib/composables/date/adapters/vuetify.mjs +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/nested/activeStrategies.mjs +121 -0
- package/lib/composables/nested/activeStrategies.mjs.map +1 -0
- package/lib/composables/nested/nested.mjs +50 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +4 -2
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +3 -2
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa.mjs +2 -0
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -0
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.mjs +2 -0
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -0
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.mjs +2 -0
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +48 -44
- package/lib/labs/VCalendar/index.d.mts +32 -32
- package/lib/labs/VFab/index.d.mts +15 -15
- package/lib/labs/VNumberInput/VNumberInput.css +38 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +209 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -0
- package/lib/labs/VNumberInput/VNumberInput.sass +47 -0
- package/lib/labs/VNumberInput/_variables.scss +1 -0
- package/lib/labs/VNumberInput/index.d.mts +607 -0
- package/lib/labs/VNumberInput/index.mjs +2 -0
- package/lib/labs/VNumberInput/index.mjs.map +1 -0
- package/lib/labs/VPicker/index.d.mts +8 -8
- package/lib/labs/VSparkline/index.d.mts +7 -7
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +9 -5
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/index.d.mts +120 -24
- package/lib/labs/VTreeview/VTreeview.mjs +154 -0
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +98 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +48 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.css +17 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs +86 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.sass +19 -0
- package/lib/labs/VTreeview/index.d.mts +1975 -0
- package/lib/labs/VTreeview/index.mjs +4 -0
- package/lib/labs/VTreeview/index.mjs.map +1 -0
- package/lib/labs/VTreeview/shared.mjs +4 -0
- package/lib/labs/VTreeview/shared.mjs.map +1 -0
- package/lib/labs/VTreeview/variables.scss +8 -0
- package/lib/labs/components.d.mts +4553 -1925
- package/lib/labs/components.mjs +4 -2
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -450,7 +450,7 @@ function setYear(date, year) {
|
|
|
450
450
|
return d;
|
|
451
451
|
}
|
|
452
452
|
function startOfDay(date) {
|
|
453
|
-
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
453
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
|
|
454
454
|
}
|
|
455
455
|
function endOfDay(date) {
|
|
456
456
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vuetify.mjs","names":["createRange","padStart","firstDay","AD","AE","AF","AG","AI","AL","AM","AN","AR","AS","AT","AU","AX","AZ","BA","BD","BE","BG","BH","BM","BN","BR","BS","BT","BW","BY","BZ","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ES","ET","FI","FJ","FO","FR","GB","GE","GF","GP","GR","GT","GU","HK","HN","HR","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KR","KW","KZ","LA","LB","LI","LK","LT","LU","LV","LY","MC","MD","ME","MH","MK","MM","MN","MO","MQ","MT","MV","MX","MY","MZ","NI","NL","NO","NP","NZ","OM","PA","PE","PH","PK","PL","PR","PT","PY","QA","RE","RO","RS","RU","SA","SD","SE","SG","SI","SK","SM","SV","SY","TH","TJ","TM","TR","TT","TW","UA","UM","US","UY","UZ","VA","VE","VI","VN","WS","XK","YE","ZA","ZW","getWeekArray","date","locale","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","firstDayWeekIndex","getDay","slice","toUpperCase","lastDayWeekIndex","i","adjacentDay","Date","setDate","getDate","push","day","getFullYear","getMonth","length","startOfWeek","d","endOfWeek","parseLocalDate","value","parts","split","map","Number","_YYYMMDD","parsed","test","parse","isNaN","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","Intl","DateTimeFormat","format","formatString","formats","newDate","customFormat","options","month","year","hour","hour12","NumberFormat","timeZone","timeZoneName","toISO","adapter","toJsDate","String","parseISO","addMinutes","amount","setMinutes","getMinutes","addHours","setHours","getHours","addDays","addWeeks","addMonths","setMonth","getYear","getNextMonth","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","getTime","comparing","isEqual","isSameDay","isSameMonth","getDiff","unit","c","Math","floor","count","setYear","setFullYear","startOfDay","endOfDay","VuetifyDateAdapter","constructor"],"sources":["../../../../src/composables/date/adapters/vuetify.ts"],"sourcesContent":["// Utilities\nimport { createRange, padStart } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: Date, formatString: string, locale: string) => string)\n\nconst firstDay: Record<string, number> = {\n '001': 1,\n AD: 1,\n AE: 6,\n AF: 6,\n AG: 0,\n AI: 1,\n AL: 1,\n AM: 1,\n AN: 1,\n AR: 1,\n AS: 0,\n AT: 1,\n AU: 1,\n AX: 1,\n AZ: 1,\n BA: 1,\n BD: 0,\n BE: 1,\n BG: 1,\n BH: 6,\n BM: 1,\n BN: 1,\n BR: 0,\n BS: 0,\n BT: 0,\n BW: 0,\n BY: 1,\n BZ: 0,\n CA: 0,\n CH: 1,\n CL: 1,\n CM: 1,\n CN: 1,\n CO: 0,\n CR: 1,\n CY: 1,\n CZ: 1,\n DE: 1,\n DJ: 6,\n DK: 1,\n DM: 0,\n DO: 0,\n DZ: 6,\n EC: 1,\n EE: 1,\n EG: 6,\n ES: 1,\n ET: 0,\n FI: 1,\n FJ: 1,\n FO: 1,\n FR: 1,\n GB: 1,\n 'GB-alt-variant': 0,\n GE: 1,\n GF: 1,\n GP: 1,\n GR: 1,\n GT: 0,\n GU: 0,\n HK: 0,\n HN: 0,\n HR: 1,\n HU: 1,\n ID: 0,\n IE: 1,\n IL: 0,\n IN: 0,\n IQ: 6,\n IR: 6,\n IS: 1,\n IT: 1,\n JM: 0,\n JO: 6,\n JP: 0,\n KE: 0,\n KG: 1,\n KH: 0,\n KR: 0,\n KW: 6,\n KZ: 1,\n LA: 0,\n LB: 1,\n LI: 1,\n LK: 1,\n LT: 1,\n LU: 1,\n LV: 1,\n LY: 6,\n MC: 1,\n MD: 1,\n ME: 1,\n MH: 0,\n MK: 1,\n MM: 0,\n MN: 1,\n MO: 0,\n MQ: 1,\n MT: 0,\n MV: 5,\n MX: 0,\n MY: 1,\n MZ: 0,\n NI: 0,\n NL: 1,\n NO: 1,\n NP: 0,\n NZ: 1,\n OM: 6,\n PA: 0,\n PE: 0,\n PH: 0,\n PK: 0,\n PL: 1,\n PR: 0,\n PT: 0,\n PY: 0,\n QA: 6,\n RE: 1,\n RO: 1,\n RS: 1,\n RU: 1,\n SA: 0,\n SD: 6,\n SE: 1,\n SG: 0,\n SI: 1,\n SK: 1,\n SM: 1,\n SV: 0,\n SY: 6,\n TH: 0,\n TJ: 1,\n TM: 1,\n TR: 1,\n TT: 0,\n TW: 0,\n UA: 1,\n UM: 0,\n US: 0,\n UY: 1,\n UZ: 1,\n VA: 1,\n VE: 0,\n VI: 0,\n VN: 1,\n WS: 0,\n XK: 1,\n YE: 0,\n ZA: 0,\n ZW: 0,\n}\n\nfunction getWeekArray (date: Date, locale: string) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const firstDayWeekIndex = (firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7\n const lastDayWeekIndex = (lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n if (currentWeek.length > 0) {\n weeks.push(currentWeek)\n }\n\n return weeks\n}\n\nfunction startOfWeek (date: Date) {\n const d = new Date(date)\n while (d.getDay() !== 0) {\n d.setDate(d.getDate() - 1)\n }\n return d\n}\n\nfunction endOfWeek (date: Date) {\n const d = new Date(date)\n while (d.getDay() !== 6) {\n d.setDate(d.getDate() + 1)\n }\n return d\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /^([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))$/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string) {\n const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()]\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: 'narrow' }).format(weekday)\n })\n}\n\nfunction format (\n value: Date,\n formatString: string,\n locale: string,\n formats?: Record<string, CustomDateFormat>\n): string {\n const newDate = date(value) ?? new Date()\n const customFormat = formats?.[formatString]\n\n if (typeof customFormat === 'function') {\n return customFormat(newDate, formatString, locale)\n }\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDateWithWeekday':\n options = { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }\n break\n case 'hours12h':\n options = { hour: 'numeric', hour12: true }\n break\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'keyboardDate':\n options = { day: '2-digit', month: '2-digit', year: 'numeric' }\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'month':\n options = { month: 'long' }\n break\n case 'monthShort':\n options = { month: 'short' }\n break\n case 'dayOfMonth':\n return new Intl.NumberFormat(locale).format(newDate.getDate())\n case 'shortDate':\n options = { year: '2-digit', month: 'numeric', day: 'numeric' }\n break\n case 'weekdayShort':\n options = { weekday: 'short' }\n break\n case 'year':\n options = { year: 'numeric' }\n break\n default:\n options = customFormat ?? { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(newDate)\n}\n\nfunction toISO (adapter: DateAdapter<any>, value: Date) {\n const date = adapter.toJsDate(value)\n const year = date.getFullYear()\n const month = padStart(String(date.getMonth() + 1), 2, '0')\n const day = padStart(String(date.getDate()), 2, '0')\n\n return `${year}-${month}-${day}`\n}\n\nfunction parseISO (value: string) {\n const [year, month, day] = value.split('-').map(Number)\n\n return new Date(year, month - 1, day)\n}\n\nfunction addMinutes (date: Date, amount: number) {\n const d = new Date(date)\n d.setMinutes(d.getMinutes() + amount)\n return d\n}\n\nfunction addHours (date: Date, amount: number) {\n const d = new Date(date)\n d.setHours(d.getHours() + amount)\n return d\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addWeeks (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + (amount * 7))\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction getNextMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1)\n}\n\nfunction getHours (date: Date) {\n return date.getHours()\n}\n\nfunction getMinutes (date: Date) {\n return date.getMinutes()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n switch (unit) {\n case 'years':\n return d.getFullYear() - c.getFullYear()\n case 'quarters':\n return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4)\n case 'months':\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n case 'weeks':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7))\n case 'days':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n case 'hours':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60))\n case 'minutes':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60))\n case 'seconds':\n return Math.floor((d.getTime() - c.getTime()) / 1000)\n default: {\n return d.getTime() - c.getTime()\n }\n }\n}\n\nfunction setHours (date: Date, count: number) {\n const d = new Date(date)\n d.setHours(count)\n return d\n}\n\nfunction setMinutes (date: Date, count: number) {\n const d = new Date(date)\n d.setMinutes(count)\n return d\n}\n\nfunction setMonth (date: Date, count: number) {\n const d = new Date(date)\n d.setMonth(count)\n return d\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nfunction startOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate())\n}\n\nfunction endOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999)\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n formats?: Record<string, CustomDateFormat>\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.locale = options.locale\n this.formats = options.formats\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n toISO (date: Date): string {\n return toISO(this, date)\n }\n\n parseISO (date: string) {\n return parseISO(date)\n }\n\n addMinutes (date: Date, amount: number) {\n return addMinutes(date, amount)\n }\n\n addHours (date: Date, amount: number) {\n return addHours(date, amount)\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addWeeks (date: Date, amount: number) {\n return addWeeks(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date) {\n return getWeekArray(date, this.locale)\n }\n\n startOfWeek (date: Date): Date {\n return startOfWeek(date)\n }\n\n endOfWeek (date: Date): Date {\n return endOfWeek(date)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale, this.formats)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n setMinutes (date: Date, count: number) {\n return setMinutes(date, count)\n }\n\n setHours (date: Date, count: number) {\n return setHours(date, count)\n }\n\n setMonth (date: Date, count: number) {\n return setMonth(date, count)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays () {\n return getWeekdays(this.locale)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n getNextMonth (date: Date) {\n return getNextMonth(date)\n }\n\n getHours (date: Date) {\n return getHours(date)\n }\n\n getMinutes (date: Date) {\n return getMinutes(date)\n }\n\n startOfDay (date: Date) {\n return startOfDay(date)\n }\n\n endOfDay (date: Date) {\n return endOfDay(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,WAAW,EAAEC,QAAQ,mCAE9B;AAKA,MAAMC,QAAgC,GAAG;EACvC,KAAK,EAAE,CAAC;EACRC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACL,gBAAgB,EAAE,CAAC;EACnBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,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"}
|
|
1
|
+
{"version":3,"file":"vuetify.mjs","names":["createRange","padStart","firstDay","AD","AE","AF","AG","AI","AL","AM","AN","AR","AS","AT","AU","AX","AZ","BA","BD","BE","BG","BH","BM","BN","BR","BS","BT","BW","BY","BZ","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ES","ET","FI","FJ","FO","FR","GB","GE","GF","GP","GR","GT","GU","HK","HN","HR","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KR","KW","KZ","LA","LB","LI","LK","LT","LU","LV","LY","MC","MD","ME","MH","MK","MM","MN","MO","MQ","MT","MV","MX","MY","MZ","NI","NL","NO","NP","NZ","OM","PA","PE","PH","PK","PL","PR","PT","PY","QA","RE","RO","RS","RU","SA","SD","SE","SG","SI","SK","SM","SV","SY","TH","TJ","TM","TR","TT","TW","UA","UM","US","UY","UZ","VA","VE","VI","VN","WS","XK","YE","ZA","ZW","getWeekArray","date","locale","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","firstDayWeekIndex","getDay","slice","toUpperCase","lastDayWeekIndex","i","adjacentDay","Date","setDate","getDate","push","day","getFullYear","getMonth","length","startOfWeek","d","endOfWeek","parseLocalDate","value","parts","split","map","Number","_YYYMMDD","parsed","test","parse","isNaN","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","Intl","DateTimeFormat","format","formatString","formats","newDate","customFormat","options","month","year","hour","hour12","NumberFormat","timeZone","timeZoneName","toISO","adapter","toJsDate","String","parseISO","addMinutes","amount","setMinutes","getMinutes","addHours","setHours","getHours","addDays","addWeeks","addMonths","setMonth","getYear","getNextMonth","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","getTime","comparing","isEqual","isSameDay","isSameMonth","getDiff","unit","c","Math","floor","count","setYear","setFullYear","startOfDay","endOfDay","VuetifyDateAdapter","constructor"],"sources":["../../../../src/composables/date/adapters/vuetify.ts"],"sourcesContent":["// Utilities\nimport { createRange, padStart } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: Date, formatString: string, locale: string) => string)\n\nconst firstDay: Record<string, number> = {\n '001': 1,\n AD: 1,\n AE: 6,\n AF: 6,\n AG: 0,\n AI: 1,\n AL: 1,\n AM: 1,\n AN: 1,\n AR: 1,\n AS: 0,\n AT: 1,\n AU: 1,\n AX: 1,\n AZ: 1,\n BA: 1,\n BD: 0,\n BE: 1,\n BG: 1,\n BH: 6,\n BM: 1,\n BN: 1,\n BR: 0,\n BS: 0,\n BT: 0,\n BW: 0,\n BY: 1,\n BZ: 0,\n CA: 0,\n CH: 1,\n CL: 1,\n CM: 1,\n CN: 1,\n CO: 0,\n CR: 1,\n CY: 1,\n CZ: 1,\n DE: 1,\n DJ: 6,\n DK: 1,\n DM: 0,\n DO: 0,\n DZ: 6,\n EC: 1,\n EE: 1,\n EG: 6,\n ES: 1,\n ET: 0,\n FI: 1,\n FJ: 1,\n FO: 1,\n FR: 1,\n GB: 1,\n 'GB-alt-variant': 0,\n GE: 1,\n GF: 1,\n GP: 1,\n GR: 1,\n GT: 0,\n GU: 0,\n HK: 0,\n HN: 0,\n HR: 1,\n HU: 1,\n ID: 0,\n IE: 1,\n IL: 0,\n IN: 0,\n IQ: 6,\n IR: 6,\n IS: 1,\n IT: 1,\n JM: 0,\n JO: 6,\n JP: 0,\n KE: 0,\n KG: 1,\n KH: 0,\n KR: 0,\n KW: 6,\n KZ: 1,\n LA: 0,\n LB: 1,\n LI: 1,\n LK: 1,\n LT: 1,\n LU: 1,\n LV: 1,\n LY: 6,\n MC: 1,\n MD: 1,\n ME: 1,\n MH: 0,\n MK: 1,\n MM: 0,\n MN: 1,\n MO: 0,\n MQ: 1,\n MT: 0,\n MV: 5,\n MX: 0,\n MY: 1,\n MZ: 0,\n NI: 0,\n NL: 1,\n NO: 1,\n NP: 0,\n NZ: 1,\n OM: 6,\n PA: 0,\n PE: 0,\n PH: 0,\n PK: 0,\n PL: 1,\n PR: 0,\n PT: 0,\n PY: 0,\n QA: 6,\n RE: 1,\n RO: 1,\n RS: 1,\n RU: 1,\n SA: 0,\n SD: 6,\n SE: 1,\n SG: 0,\n SI: 1,\n SK: 1,\n SM: 1,\n SV: 0,\n SY: 6,\n TH: 0,\n TJ: 1,\n TM: 1,\n TR: 1,\n TT: 0,\n TW: 0,\n UA: 1,\n UM: 0,\n US: 0,\n UY: 1,\n UZ: 1,\n VA: 1,\n VE: 0,\n VI: 0,\n VN: 1,\n WS: 0,\n XK: 1,\n YE: 0,\n ZA: 0,\n ZW: 0,\n}\n\nfunction getWeekArray (date: Date, locale: string) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const firstDayWeekIndex = (firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7\n const lastDayWeekIndex = (lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n if (currentWeek.length > 0) {\n weeks.push(currentWeek)\n }\n\n return weeks\n}\n\nfunction startOfWeek (date: Date) {\n const d = new Date(date)\n while (d.getDay() !== 0) {\n d.setDate(d.getDate() - 1)\n }\n return d\n}\n\nfunction endOfWeek (date: Date) {\n const d = new Date(date)\n while (d.getDay() !== 6) {\n d.setDate(d.getDate() + 1)\n }\n return d\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /^([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))$/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string) {\n const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()]\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: 'narrow' }).format(weekday)\n })\n}\n\nfunction format (\n value: Date,\n formatString: string,\n locale: string,\n formats?: Record<string, CustomDateFormat>\n): string {\n const newDate = date(value) ?? new Date()\n const customFormat = formats?.[formatString]\n\n if (typeof customFormat === 'function') {\n return customFormat(newDate, formatString, locale)\n }\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDateWithWeekday':\n options = { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }\n break\n case 'hours12h':\n options = { hour: 'numeric', hour12: true }\n break\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'keyboardDate':\n options = { day: '2-digit', month: '2-digit', year: 'numeric' }\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'month':\n options = { month: 'long' }\n break\n case 'monthShort':\n options = { month: 'short' }\n break\n case 'dayOfMonth':\n return new Intl.NumberFormat(locale).format(newDate.getDate())\n case 'shortDate':\n options = { year: '2-digit', month: 'numeric', day: 'numeric' }\n break\n case 'weekdayShort':\n options = { weekday: 'short' }\n break\n case 'year':\n options = { year: 'numeric' }\n break\n default:\n options = customFormat ?? { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(newDate)\n}\n\nfunction toISO (adapter: DateAdapter<any>, value: Date) {\n const date = adapter.toJsDate(value)\n const year = date.getFullYear()\n const month = padStart(String(date.getMonth() + 1), 2, '0')\n const day = padStart(String(date.getDate()), 2, '0')\n\n return `${year}-${month}-${day}`\n}\n\nfunction parseISO (value: string) {\n const [year, month, day] = value.split('-').map(Number)\n\n return new Date(year, month - 1, day)\n}\n\nfunction addMinutes (date: Date, amount: number) {\n const d = new Date(date)\n d.setMinutes(d.getMinutes() + amount)\n return d\n}\n\nfunction addHours (date: Date, amount: number) {\n const d = new Date(date)\n d.setHours(d.getHours() + amount)\n return d\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addWeeks (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + (amount * 7))\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction getNextMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1)\n}\n\nfunction getHours (date: Date) {\n return date.getHours()\n}\n\nfunction getMinutes (date: Date) {\n return date.getMinutes()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n switch (unit) {\n case 'years':\n return d.getFullYear() - c.getFullYear()\n case 'quarters':\n return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4)\n case 'months':\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n case 'weeks':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7))\n case 'days':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n case 'hours':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60))\n case 'minutes':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60))\n case 'seconds':\n return Math.floor((d.getTime() - c.getTime()) / 1000)\n default: {\n return d.getTime() - c.getTime()\n }\n }\n}\n\nfunction setHours (date: Date, count: number) {\n const d = new Date(date)\n d.setHours(count)\n return d\n}\n\nfunction setMinutes (date: Date, count: number) {\n const d = new Date(date)\n d.setMinutes(count)\n return d\n}\n\nfunction setMonth (date: Date, count: number) {\n const d = new Date(date)\n d.setMonth(count)\n return d\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nfunction startOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0)\n}\n\nfunction endOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999)\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n formats?: Record<string, CustomDateFormat>\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.locale = options.locale\n this.formats = options.formats\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n toISO (date: Date): string {\n return toISO(this, date)\n }\n\n parseISO (date: string) {\n return parseISO(date)\n }\n\n addMinutes (date: Date, amount: number) {\n return addMinutes(date, amount)\n }\n\n addHours (date: Date, amount: number) {\n return addHours(date, amount)\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addWeeks (date: Date, amount: number) {\n return addWeeks(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date) {\n return getWeekArray(date, this.locale)\n }\n\n startOfWeek (date: Date): Date {\n return startOfWeek(date)\n }\n\n endOfWeek (date: Date): Date {\n return endOfWeek(date)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale, this.formats)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n setMinutes (date: Date, count: number) {\n return setMinutes(date, count)\n }\n\n setHours (date: Date, count: number) {\n return setHours(date, count)\n }\n\n setMonth (date: Date, count: number) {\n return setMonth(date, count)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays () {\n return getWeekdays(this.locale)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n getNextMonth (date: Date) {\n return getNextMonth(date)\n }\n\n getHours (date: Date) {\n return getHours(date)\n }\n\n getMinutes (date: Date) {\n return getMinutes(date)\n }\n\n startOfDay (date: Date) {\n return startOfDay(date)\n }\n\n endOfDay (date: Date) {\n return endOfDay(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,WAAW,EAAEC,QAAQ,mCAE9B;AAKA,MAAMC,QAAgC,GAAG;EACvC,KAAK,EAAE,CAAC;EACRC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACL,gBAAgB,EAAE,CAAC;EACnBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/* eslint-disable sonarjs/no-identical-functions */
|
|
2
|
+
// Utilities
|
|
3
|
+
import { toRaw } from 'vue';
|
|
4
|
+
export const independentActiveStrategy = mandatory => {
|
|
5
|
+
const strategy = {
|
|
6
|
+
activate: _ref => {
|
|
7
|
+
let {
|
|
8
|
+
id,
|
|
9
|
+
value,
|
|
10
|
+
activated
|
|
11
|
+
} = _ref;
|
|
12
|
+
id = toRaw(id);
|
|
13
|
+
|
|
14
|
+
// When mandatory and we're trying to deselect when id
|
|
15
|
+
// is the only currently selected item then do nothing
|
|
16
|
+
if (mandatory && !value && activated.size === 1 && activated.has(id)) return activated;
|
|
17
|
+
if (value) {
|
|
18
|
+
activated.add(id);
|
|
19
|
+
} else {
|
|
20
|
+
activated.delete(id);
|
|
21
|
+
}
|
|
22
|
+
return activated;
|
|
23
|
+
},
|
|
24
|
+
in: (v, children, parents) => {
|
|
25
|
+
let set = new Set();
|
|
26
|
+
for (const id of v || []) {
|
|
27
|
+
set = strategy.activate({
|
|
28
|
+
id,
|
|
29
|
+
value: true,
|
|
30
|
+
activated: new Set(set),
|
|
31
|
+
children,
|
|
32
|
+
parents
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return set;
|
|
36
|
+
},
|
|
37
|
+
out: v => {
|
|
38
|
+
return Array.from(v);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return strategy;
|
|
42
|
+
};
|
|
43
|
+
export const independentSingleActiveStrategy = mandatory => {
|
|
44
|
+
const parentStrategy = independentActiveStrategy(mandatory);
|
|
45
|
+
const strategy = {
|
|
46
|
+
activate: _ref2 => {
|
|
47
|
+
let {
|
|
48
|
+
activated,
|
|
49
|
+
id,
|
|
50
|
+
...rest
|
|
51
|
+
} = _ref2;
|
|
52
|
+
id = toRaw(id);
|
|
53
|
+
const singleSelected = activated.has(id) ? new Set([id]) : new Set();
|
|
54
|
+
return parentStrategy.activate({
|
|
55
|
+
...rest,
|
|
56
|
+
id,
|
|
57
|
+
activated: singleSelected
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
in: (v, children, parents) => {
|
|
61
|
+
let set = new Set();
|
|
62
|
+
if (v?.length) {
|
|
63
|
+
set = parentStrategy.in(v.slice(0, 1), children, parents);
|
|
64
|
+
}
|
|
65
|
+
return set;
|
|
66
|
+
},
|
|
67
|
+
out: (v, children, parents) => {
|
|
68
|
+
return parentStrategy.out(v, children, parents);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
return strategy;
|
|
72
|
+
};
|
|
73
|
+
export const leafActiveStrategy = mandatory => {
|
|
74
|
+
const parentStrategy = independentActiveStrategy(mandatory);
|
|
75
|
+
const strategy = {
|
|
76
|
+
activate: _ref3 => {
|
|
77
|
+
let {
|
|
78
|
+
id,
|
|
79
|
+
activated,
|
|
80
|
+
children,
|
|
81
|
+
...rest
|
|
82
|
+
} = _ref3;
|
|
83
|
+
id = toRaw(id);
|
|
84
|
+
if (children.has(id)) return activated;
|
|
85
|
+
return parentStrategy.activate({
|
|
86
|
+
id,
|
|
87
|
+
activated,
|
|
88
|
+
children,
|
|
89
|
+
...rest
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
in: parentStrategy.in,
|
|
93
|
+
out: parentStrategy.out
|
|
94
|
+
};
|
|
95
|
+
return strategy;
|
|
96
|
+
};
|
|
97
|
+
export const leafSingleActiveStrategy = mandatory => {
|
|
98
|
+
const parentStrategy = independentSingleActiveStrategy(mandatory);
|
|
99
|
+
const strategy = {
|
|
100
|
+
activate: _ref4 => {
|
|
101
|
+
let {
|
|
102
|
+
id,
|
|
103
|
+
activated,
|
|
104
|
+
children,
|
|
105
|
+
...rest
|
|
106
|
+
} = _ref4;
|
|
107
|
+
id = toRaw(id);
|
|
108
|
+
if (children.has(id)) return activated;
|
|
109
|
+
return parentStrategy.activate({
|
|
110
|
+
id,
|
|
111
|
+
activated,
|
|
112
|
+
children,
|
|
113
|
+
...rest
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
in: parentStrategy.in,
|
|
117
|
+
out: parentStrategy.out
|
|
118
|
+
};
|
|
119
|
+
return strategy;
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=activeStrategies.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activeStrategies.mjs","names":["toRaw","independentActiveStrategy","mandatory","strategy","activate","_ref","id","value","activated","size","has","add","delete","in","v","children","parents","set","Set","out","Array","from","independentSingleActiveStrategy","parentStrategy","_ref2","rest","singleSelected","length","slice","leafActiveStrategy","_ref3","leafSingleActiveStrategy","_ref4"],"sources":["../../../src/composables/nested/activeStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type ActiveStrategyFn = (data: {\n id: unknown\n value: boolean\n activated: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type ActiveStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Set<unknown>\n\nexport type ActiveStrategyTransformOutFn = (\n v: Set<unknown>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type ActiveStrategy = {\n activate: ActiveStrategyFn\n in: ActiveStrategyTransformInFn\n out: ActiveStrategyTransformOutFn\n}\n\nexport const independentActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const strategy: ActiveStrategy = {\n activate: ({ id, value, activated }) => {\n id = toRaw(id)\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value && activated.size === 1 && activated.has(id)) return activated\n\n if (value) {\n activated.add(id)\n } else {\n activated.delete(id)\n }\n\n return activated\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n for (const id of (v || [])) {\n set = strategy.activate({\n id,\n value: true,\n activated: new Set(set),\n children,\n parents,\n })\n }\n\n return set\n },\n out: v => {\n return Array.from(v)\n },\n }\n\n return strategy\n}\n\nexport const independentSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ activated, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = activated.has(id) ? new Set([id]) : new Set()\n return parentStrategy.activate({ ...rest, id, activated: singleSelected })\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n if (v?.length) {\n set = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return set\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentSingleActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Composables
|
|
2
2
|
import { useProxiedModel } from "../proxiedModel.mjs"; // Utilities
|
|
3
|
-
import { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw } from 'vue';
|
|
3
|
+
import { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue';
|
|
4
|
+
import { independentActiveStrategy, independentSingleActiveStrategy, leafActiveStrategy, leafSingleActiveStrategy } from "./activeStrategies.mjs";
|
|
4
5
|
import { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
|
|
5
6
|
import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from "./selectStrategies.mjs";
|
|
6
7
|
import { getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs"; // Types
|
|
@@ -14,16 +15,24 @@ export const emptyNested = {
|
|
|
14
15
|
children: ref(new Map()),
|
|
15
16
|
open: () => null,
|
|
16
17
|
openOnSelect: () => null,
|
|
18
|
+
activate: () => null,
|
|
17
19
|
select: () => null,
|
|
20
|
+
activatable: ref(false),
|
|
21
|
+
selectable: ref(false),
|
|
18
22
|
opened: ref(new Set()),
|
|
23
|
+
activated: ref(new Set()),
|
|
19
24
|
selected: ref(new Map()),
|
|
20
25
|
selectedValues: ref([])
|
|
21
26
|
}
|
|
22
27
|
};
|
|
23
28
|
export const makeNestedProps = propsFactory({
|
|
29
|
+
activatable: Boolean,
|
|
30
|
+
selectable: Boolean,
|
|
31
|
+
activeStrategy: [String, Function],
|
|
24
32
|
selectStrategy: [String, Function],
|
|
25
33
|
openStrategy: [String, Object],
|
|
26
34
|
opened: Array,
|
|
35
|
+
activated: Array,
|
|
27
36
|
selected: Array,
|
|
28
37
|
mandatory: Boolean
|
|
29
38
|
}, 'nested');
|
|
@@ -32,6 +41,20 @@ export const useNested = props => {
|
|
|
32
41
|
const children = ref(new Map());
|
|
33
42
|
const parents = ref(new Map());
|
|
34
43
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
|
44
|
+
const activeStrategy = computed(() => {
|
|
45
|
+
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
|
46
|
+
switch (props.activeStrategy) {
|
|
47
|
+
case 'leaf':
|
|
48
|
+
return leafActiveStrategy(props.mandatory);
|
|
49
|
+
case 'single-leaf':
|
|
50
|
+
return leafSingleActiveStrategy(props.mandatory);
|
|
51
|
+
case 'independent':
|
|
52
|
+
return independentActiveStrategy(props.mandatory);
|
|
53
|
+
case 'single-independent':
|
|
54
|
+
default:
|
|
55
|
+
return independentSingleActiveStrategy(props.mandatory);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
35
58
|
const selectStrategy = computed(() => {
|
|
36
59
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
|
37
60
|
switch (props.selectStrategy) {
|
|
@@ -60,6 +83,7 @@ export const useNested = props => {
|
|
|
60
83
|
return multipleOpenStrategy;
|
|
61
84
|
}
|
|
62
85
|
});
|
|
86
|
+
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
|
|
63
87
|
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value), v => selectStrategy.value.out(v, children.value, parents.value));
|
|
64
88
|
onBeforeUnmount(() => {
|
|
65
89
|
isUnmounted = true;
|
|
@@ -78,6 +102,9 @@ export const useNested = props => {
|
|
|
78
102
|
id: shallowRef(),
|
|
79
103
|
root: {
|
|
80
104
|
opened,
|
|
105
|
+
activatable: toRef(props, 'activatable'),
|
|
106
|
+
selectable: toRef(props, 'selectable'),
|
|
107
|
+
activated,
|
|
81
108
|
selected,
|
|
82
109
|
selectedValues: computed(() => {
|
|
83
110
|
const arr = [];
|
|
@@ -151,6 +178,26 @@ export const useNested = props => {
|
|
|
151
178
|
newSelected && (selected.value = newSelected);
|
|
152
179
|
nested.root.openOnSelect(id, value, event);
|
|
153
180
|
},
|
|
181
|
+
activate: (id, value, event) => {
|
|
182
|
+
if (!props.activatable) {
|
|
183
|
+
return nested.root.select(id, true, event);
|
|
184
|
+
}
|
|
185
|
+
vm.emit('click:activate', {
|
|
186
|
+
id,
|
|
187
|
+
value,
|
|
188
|
+
path: getPath(id),
|
|
189
|
+
event
|
|
190
|
+
});
|
|
191
|
+
const newActivated = activeStrategy.value.activate({
|
|
192
|
+
id,
|
|
193
|
+
value,
|
|
194
|
+
activated: new Set(activated.value),
|
|
195
|
+
children: children.value,
|
|
196
|
+
parents: parents.value,
|
|
197
|
+
event
|
|
198
|
+
});
|
|
199
|
+
newActivated && (activated.value = newActivated);
|
|
200
|
+
},
|
|
154
201
|
children,
|
|
155
202
|
parents
|
|
156
203
|
}
|
|
@@ -169,6 +216,8 @@ export const useNestedItem = (id, isGroup) => {
|
|
|
169
216
|
openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
|
|
170
217
|
isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
|
|
171
218
|
parent: computed(() => parent.root.parents.value.get(computedId.value)),
|
|
219
|
+
activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
|
|
220
|
+
isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),
|
|
172
221
|
select: (selected, e) => parent.root.select(computedId.value, selected, e),
|
|
173
222
|
isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),
|
|
174
223
|
isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","provide","ref","shallowRef","toRaw","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Object","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': EventProp<[unknown[]]> | undefined\n 'onUpdate:opened': EventProp<[unknown[]]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n opened: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<readonly unknown[]>,\n selected: Array as PropType<readonly unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","makeNestedProps","Boolean","activeStrategy","String","Function","selectStrategy","openStrategy","Object","Array","mandatory","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","has","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy, leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: SelectStrategy | undefined\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: readonly unknown[] | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:activated': EventProp<[unknown[]]> | undefined\n 'onUpdate:selected': EventProp<[unknown[]]> | undefined\n 'onUpdate:opened': EventProp<[unknown[]]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function] as PropType<SelectStrategy>,\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<readonly unknown[]>,\n activated: Array as PropType<readonly unknown[]>,\n selected: Array as PropType<readonly unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActivated && (activated.value = newActivated)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,+BAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,EAAEC,eAAe,EAAEC,OAAO,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAE7FC,yBAAyB,EACzBC,+BAA+B,EAAEC,kBAAkB,EACnDC,wBAAwB;AAAA,SAEjBC,gBAAgB,EAAEC,oBAAoB,EAAEC,kBAAkB;AAAA,SAEjEC,qBAAqB,EACrBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB;AAAA,SAEjBC,kBAAkB,EAAEC,MAAM,EAAEC,YAAY,gCAEjD;AA6CA,OAAO,MAAMC,aAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAEtF,OAAO,MAAMC,WAA0B,GAAG;EACxCC,EAAE,EAAEtB,UAAU,CAAC,CAAC;EAChBuB,IAAI,EAAE;IACJC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,OAAO,EAAE3B,GAAG,CAAC,IAAI4B,GAAG,CAAC,CAAC,CAAC;IACvBC,QAAQ,EAAE7B,GAAG,CAAC,IAAI4B,GAAG,CAAC,CAAC,CAAC;IACxBE,IAAI,EAAEA,CAAA,KAAM,IAAI;IAChBC,YAAY,EAAEA,CAAA,KAAM,IAAI;IACxBC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,MAAM,EAAEA,CAAA,KAAM,IAAI;IAClBC,WAAW,EAAElC,GAAG,CAAC,KAAK,CAAC;IACvBmC,UAAU,EAAEnC,GAAG,CAAC,KAAK,CAAC;IACtBoC,MAAM,EAAEpC,GAAG,CAAC,IAAIqC,GAAG,CAAC,CAAC,CAAC;IACtBC,SAAS,EAAEtC,GAAG,CAAC,IAAIqC,GAAG,CAAC,CAAC,CAAC;IACzBE,QAAQ,EAAEvC,GAAG,CAAC,IAAI4B,GAAG,CAAC,CAAC,CAAC;IACxBY,cAAc,EAAExC,GAAG,CAAC,EAAE;EACxB;AACF,CAAC;AAED,OAAO,MAAMyC,eAAe,GAAGvB,YAAY,CAAC;EAC1CgB,WAAW,EAAEQ,OAAO;EACpBP,UAAU,EAAEO,OAAO;EACnBC,cAAc,EAAE,CAACC,MAAM,EAAEC,QAAQ,CAA6B;EAC9DC,cAAc,EAAE,CAACF,MAAM,EAAEC,QAAQ,CAA6B;EAC9DE,YAAY,EAAE,CAACH,MAAM,EAAEI,MAAM,CAA+B;EAC5DZ,MAAM,EAAEa,KAAqC;EAC7CX,SAAS,EAAEW,KAAqC;EAChDV,QAAQ,EAAEU,KAAqC;EAC/CC,SAAS,EAAER;AACb,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMS,SAAS,GAAIC,KAAkB,IAAK;EAC/C,IAAIC,WAAW,GAAG,KAAK;EACvB,MAAMxB,QAAQ,GAAG7B,GAAG,CAAC,IAAI4B,GAAG,CAAqB,CAAC,CAAC;EACnD,MAAMD,OAAO,GAAG3B,GAAG,CAAC,IAAI4B,GAAG,CAAmB,CAAC,CAAC;EAEhD,MAAMQ,MAAM,GAAGzC,eAAe,CAACyD,KAAK,EAAE,QAAQ,EAAEA,KAAK,CAAChB,MAAM,EAAEkB,CAAC,IAAI,IAAIjB,GAAG,CAACiB,CAAC,CAAC,EAAEA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EAEpG,MAAMZ,cAAc,GAAG/C,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAOwD,KAAK,CAACT,cAAc,KAAK,QAAQ,EAAE,OAAOS,KAAK,CAACT,cAAc;IAEzE,QAAQS,KAAK,CAACT,cAAc;MAC1B,KAAK,MAAM;QAAE,OAAOrC,kBAAkB,CAAC8C,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAO3C,wBAAwB,CAAC6C,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,aAAa;QAAE,OAAO9C,yBAAyB,CAACgD,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;MACzB;QAAS,OAAO7C,+BAA+B,CAAC+C,KAAK,CAACF,SAAS,CAAC;IAClE;EACF,CAAC,CAAC;EAEF,MAAMJ,cAAc,GAAGlD,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAOwD,KAAK,CAACN,cAAc,KAAK,QAAQ,EAAE,OAAOM,KAAK,CAACN,cAAc;IAEzE,QAAQM,KAAK,CAACN,cAAc;MAC1B,KAAK,aAAa;QAAE,OAAO/B,wBAAwB,CAACqC,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,MAAM;QAAE,OAAOpC,kBAAkB,CAACsC,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAOtC,yBAAyB,CAACwC,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;QAAE,OAAOrC,+BAA+B,CAACuC,KAAK,CAACF,SAAS,CAAC;MAClF,KAAK,SAAS;MACd;QAAS,OAAOvC,qBAAqB,CAACyC,KAAK,CAACF,SAAS,CAAC;IACxD;EACF,CAAC,CAAC;EAEF,MAAMH,YAAY,GAAGnD,QAAQ,CAAC,MAAM;IAClC,IAAI,OAAOwD,KAAK,CAACL,YAAY,KAAK,QAAQ,EAAE,OAAOK,KAAK,CAACL,YAAY;IAErE,QAAQK,KAAK,CAACL,YAAY;MACxB,KAAK,MAAM;QAAE,OAAOvC,gBAAgB;MACpC,KAAK,QAAQ;QAAE,OAAOE,kBAAkB;MACxC,KAAK,UAAU;MACf;QAAS,OAAOD,oBAAoB;IACtC;EACF,CAAC,CAAC;EAEF,MAAM6B,SAAS,GAAG3C,eAAe,CAC/ByD,KAAK,EACL,WAAW,EACXA,KAAK,CAACd,SAAS,EACfgB,CAAC,IAAIX,cAAc,CAACa,KAAK,CAACC,EAAE,CAACH,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAAC,EAC9DF,CAAC,IAAIX,cAAc,CAACa,KAAK,CAACE,GAAG,CAACJ,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAChE,CAAC;EACD,MAAMjB,QAAQ,GAAG5C,eAAe,CAC9ByD,KAAK,EACL,UAAU,EACVA,KAAK,CAACb,QAAQ,EACde,CAAC,IAAIR,cAAc,CAACU,KAAK,CAACC,EAAE,CAACH,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAAC,EAC9DF,CAAC,IAAIR,cAAc,CAACU,KAAK,CAACE,GAAG,CAACJ,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAChE,CAAC;EAED1D,eAAe,CAAC,MAAM;IACpBuD,WAAW,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,SAASM,OAAOA,CAAEpC,EAAW,EAAE;IAC7B,MAAMqC,IAAe,GAAG,EAAE;IAC1B,IAAIC,MAAe,GAAGtC,EAAE;IAExB,OAAOsC,MAAM,IAAI,IAAI,EAAE;MACrBD,IAAI,CAACE,OAAO,CAACD,MAAM,CAAC;MACpBA,MAAM,GAAGlC,OAAO,CAAC6B,KAAK,CAACO,GAAG,CAACF,MAAM,CAAC;IACpC;IAEA,OAAOD,IAAI;EACb;EAEA,MAAMI,EAAE,GAAGhD,kBAAkB,CAAC,QAAQ,CAAC;EAEvC,MAAMiD,MAAqB,GAAG;IAC5B1C,EAAE,EAAEtB,UAAU,CAAC,CAAC;IAChBuB,IAAI,EAAE;MACJY,MAAM;MACNF,WAAW,EAAE/B,KAAK,CAACiD,KAAK,EAAE,aAAa,CAAC;MACxCjB,UAAU,EAAEhC,KAAK,CAACiD,KAAK,EAAE,YAAY,CAAC;MACtCd,SAAS;MACTC,QAAQ;MACRC,cAAc,EAAE5C,QAAQ,CAAC,MAAM;QAC7B,MAAMsE,GAAG,GAAG,EAAE;QAEd,KAAK,MAAM,CAACC,GAAG,EAAEX,KAAK,CAAC,IAAIjB,QAAQ,CAACiB,KAAK,CAACY,OAAO,CAAC,CAAC,EAAE;UACnD,IAAIZ,KAAK,KAAK,IAAI,EAAEU,GAAG,CAACG,IAAI,CAACF,GAAG,CAAC;QACnC;QAEA,OAAOD,GAAG;MACZ,CAAC,CAAC;MACFzC,QAAQ,EAAEA,CAACF,EAAE,EAAE+C,QAAQ,EAAEC,OAAO,KAAK;QACnCD,QAAQ,IAAI/C,EAAE,KAAK+C,QAAQ,IAAI3C,OAAO,CAAC6B,KAAK,CAACgB,GAAG,CAACjD,EAAE,EAAE+C,QAAQ,CAAC;QAE9DC,OAAO,IAAI1C,QAAQ,CAAC2B,KAAK,CAACgB,GAAG,CAACjD,EAAE,EAAE,EAAE,CAAC;QAErC,IAAI+C,QAAQ,IAAI,IAAI,EAAE;UACpBzC,QAAQ,CAAC2B,KAAK,CAACgB,GAAG,CAACF,QAAQ,EAAE,CAAC,IAAGzC,QAAQ,CAAC2B,KAAK,CAACO,GAAG,CAACO,QAAQ,CAAC,IAAI,EAAE,GAAE/C,EAAE,CAAC,CAAC;QAC3E;MACF,CAAC;MACDG,UAAU,EAAEH,EAAE,IAAI;QAChB,IAAI8B,WAAW,EAAE;QAEjBxB,QAAQ,CAAC2B,KAAK,CAACiB,MAAM,CAAClD,EAAE,CAAC;QACzB,MAAMsC,MAAM,GAAGlC,OAAO,CAAC6B,KAAK,CAACO,GAAG,CAACxC,EAAE,CAAC;QACpC,IAAIsC,MAAM,EAAE;UACV,MAAMa,IAAI,GAAG7C,QAAQ,CAAC2B,KAAK,CAACO,GAAG,CAACF,MAAM,CAAC,IAAI,EAAE;UAC7ChC,QAAQ,CAAC2B,KAAK,CAACgB,GAAG,CAACX,MAAM,EAAEa,IAAI,CAACC,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAKrD,EAAE,CAAC,CAAC;QAChE;QACAI,OAAO,CAAC6B,KAAK,CAACiB,MAAM,CAAClD,EAAE,CAAC;QACxBa,MAAM,CAACoB,KAAK,CAACiB,MAAM,CAAClD,EAAE,CAAC;MACzB,CAAC;MACDO,IAAI,EAAEA,CAACP,EAAE,EAAEiC,KAAK,EAAEqB,KAAK,KAAK;QAC1Bb,EAAE,CAACc,IAAI,CAAC,YAAY,EAAE;UAAEvD,EAAE;UAAEiC,KAAK;UAAEI,IAAI,EAAED,OAAO,CAACpC,EAAE,CAAC;UAAEsD;QAAM,CAAC,CAAC;QAE9D,MAAME,SAAS,GAAGhC,YAAY,CAACS,KAAK,CAAC1B,IAAI,CAAC;UACxCP,EAAE;UACFiC,KAAK;UACLpB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACoB,KAAK,CAAC;UAC7B3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtBqB;QACF,CAAC,CAAC;QAEFE,SAAS,KAAK3C,MAAM,CAACoB,KAAK,GAAGuB,SAAS,CAAC;MACzC,CAAC;MACDhD,YAAY,EAAEA,CAACR,EAAE,EAAEiC,KAAK,EAAEqB,KAAK,KAAK;QAClC,MAAME,SAAS,GAAGhC,YAAY,CAACS,KAAK,CAACvB,MAAM,CAAC;UAC1CV,EAAE;UACFiC,KAAK;UACLjB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACiB,KAAK,CAAC;UACjCpB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACoB,KAAK,CAAC;UAC7B3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtBqB;QACF,CAAC,CAAC;QACFE,SAAS,KAAK3C,MAAM,CAACoB,KAAK,GAAGuB,SAAS,CAAC;MACzC,CAAC;MACD9C,MAAM,EAAEA,CAACV,EAAE,EAAEiC,KAAK,EAAEqB,KAAK,KAAK;QAC5Bb,EAAE,CAACc,IAAI,CAAC,cAAc,EAAE;UAAEvD,EAAE;UAAEiC,KAAK;UAAEI,IAAI,EAAED,OAAO,CAACpC,EAAE,CAAC;UAAEsD;QAAM,CAAC,CAAC;QAEhE,MAAMG,WAAW,GAAGlC,cAAc,CAACU,KAAK,CAACvB,MAAM,CAAC;UAC9CV,EAAE;UACFiC,KAAK;UACLjB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACiB,KAAK,CAAC;UACjC3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtBqB;QACF,CAAC,CAAC;QACFG,WAAW,KAAKzC,QAAQ,CAACiB,KAAK,GAAGwB,WAAW,CAAC;QAE7Cf,MAAM,CAACzC,IAAI,CAACO,YAAY,CAACR,EAAE,EAAEiC,KAAK,EAAEqB,KAAK,CAAC;MAC5C,CAAC;MACD7C,QAAQ,EAAEA,CAACT,EAAE,EAAEiC,KAAK,EAAEqB,KAAK,KAAK;QAC9B,IAAI,CAACzB,KAAK,CAAClB,WAAW,EAAE;UACtB,OAAO+B,MAAM,CAACzC,IAAI,CAACS,MAAM,CAACV,EAAE,EAAE,IAAI,EAAEsD,KAAK,CAAC;QAC5C;QAEAb,EAAE,CAACc,IAAI,CAAC,gBAAgB,EAAE;UAAEvD,EAAE;UAAEiC,KAAK;UAAEI,IAAI,EAAED,OAAO,CAACpC,EAAE,CAAC;UAAEsD;QAAM,CAAC,CAAC;QAElE,MAAMI,YAAY,GAAGtC,cAAc,CAACa,KAAK,CAACxB,QAAQ,CAAC;UACjDT,EAAE;UACFiC,KAAK;UACLlB,SAAS,EAAE,IAAID,GAAG,CAACC,SAAS,CAACkB,KAAK,CAAC;UACnC3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtBqB;QACF,CAAC,CAAC;QAEFI,YAAY,KAAK3C,SAAS,CAACkB,KAAK,GAAGyB,YAAY,CAAC;MAClD,CAAC;MACDpD,QAAQ;MACRF;IACF;EACF,CAAC;EAED5B,OAAO,CAACoB,aAAa,EAAE8C,MAAM,CAAC;EAE9B,OAAOA,MAAM,CAACzC,IAAI;AACpB,CAAC;AAED,OAAO,MAAM0D,aAAa,GAAGA,CAAC3D,EAAgB,EAAEgD,OAAgB,KAAK;EACnE,MAAMV,MAAM,GAAGhE,MAAM,CAACsB,aAAa,EAAEG,WAAW,CAAC;EAEjD,MAAM6D,SAAS,GAAG/D,MAAM,CAACH,MAAM,CAAC,CAAC,CAAC;EAClC,MAAMmE,UAAU,GAAGxF,QAAQ,CAAC,MAAM2B,EAAE,CAACiC,KAAK,KAAK6B,SAAS,GAAG9D,EAAE,CAACiC,KAAK,GAAG2B,SAAS,CAAC;EAEhF,MAAMG,IAAI,GAAG;IACX,GAAGzB,MAAM;IACTtC,EAAE,EAAE6D,UAAU;IACdtD,IAAI,EAAEA,CAACA,IAAa,EAAEyD,CAAQ,KAAK1B,MAAM,CAACrC,IAAI,CAACM,IAAI,CAACsD,UAAU,CAAC5B,KAAK,EAAE1B,IAAI,EAAEyD,CAAC,CAAC;IAC9ExD,YAAY,EAAEA,CAACD,IAAa,EAAEyD,CAAS,KAAK1B,MAAM,CAACrC,IAAI,CAACO,YAAY,CAACqD,UAAU,CAAC5B,KAAK,EAAE1B,IAAI,EAAEyD,CAAC,CAAC;IAC/FC,MAAM,EAAE5F,QAAQ,CAAC,MAAMiE,MAAM,CAACrC,IAAI,CAACY,MAAM,CAACoB,KAAK,CAACiC,GAAG,CAACL,UAAU,CAAC5B,KAAK,CAAC,CAAC;IACtEK,MAAM,EAAEjE,QAAQ,CAAC,MAAMiE,MAAM,CAACrC,IAAI,CAACG,OAAO,CAAC6B,KAAK,CAACO,GAAG,CAACqB,UAAU,CAAC5B,KAAK,CAAC,CAAC;IACvExB,QAAQ,EAAEA,CAACM,SAAkB,EAAEiD,CAAS,KAAK1B,MAAM,CAACrC,IAAI,CAACQ,QAAQ,CAACoD,UAAU,CAAC5B,KAAK,EAAElB,SAAS,EAAEiD,CAAC,CAAC;IACjGG,WAAW,EAAE9F,QAAQ,CAAC,MAAMiE,MAAM,CAACrC,IAAI,CAACc,SAAS,CAACkB,KAAK,CAACiC,GAAG,CAACvF,KAAK,CAACkF,UAAU,CAAC5B,KAAK,CAAC,CAAC,CAAC;IACrFvB,MAAM,EAAEA,CAACM,QAAiB,EAAEgD,CAAS,KAAK1B,MAAM,CAACrC,IAAI,CAACS,MAAM,CAACmD,UAAU,CAAC5B,KAAK,EAAEjB,QAAQ,EAAEgD,CAAC,CAAC;IAC3FI,UAAU,EAAE/F,QAAQ,CAAC,MAAMiE,MAAM,CAACrC,IAAI,CAACe,QAAQ,CAACiB,KAAK,CAACO,GAAG,CAAC7D,KAAK,CAACkF,UAAU,CAAC5B,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5FoC,eAAe,EAAEhG,QAAQ,CAAC,MAAMiE,MAAM,CAACrC,IAAI,CAACe,QAAQ,CAACiB,KAAK,CAACO,GAAG,CAACqB,UAAU,CAAC5B,KAAK,CAAC,KAAK,eAAe,CAAC;IACrGqC,MAAM,EAAEjG,QAAQ,CAAC,MAAM,CAACiE,MAAM,CAACrC,IAAI,CAACK,QAAQ,CAAC2B,KAAK,CAACO,GAAG,CAACqB,UAAU,CAAC5B,KAAK,CAAC,CAAC;IACzEsC,gBAAgB,EAAEjC,MAAM,CAACiC;EAC3B,CAAC;EAED,CAACjC,MAAM,CAACiC,gBAAgB,IAAIjC,MAAM,CAACrC,IAAI,CAACC,QAAQ,CAAC2D,UAAU,CAAC5B,KAAK,EAAEK,MAAM,CAACtC,EAAE,CAACiC,KAAK,EAAEe,OAAO,CAAC;EAE5FzE,eAAe,CAAC,MAAM;IACpB,CAAC+D,MAAM,CAACiC,gBAAgB,IAAIjC,MAAM,CAACrC,IAAI,CAACE,UAAU,CAAC0D,UAAU,CAAC5B,KAAK,CAAC;EACtE,CAAC,CAAC;EAEFe,OAAO,IAAIxE,OAAO,CAACoB,aAAa,EAAEmE,IAAI,CAAC;EAEvC,OAAOA,IAAI;AACb,CAAC;AAED,OAAO,MAAMS,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,MAAMlC,MAAM,GAAGhE,MAAM,CAACsB,aAAa,EAAEG,WAAW,CAAC;EAEjDvB,OAAO,CAACoB,aAAa,EAAE;IAAE,GAAG0C,MAAM;IAAEiC,gBAAgB,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -16,7 +16,8 @@ export const independentSelectStrategy = mandatory => {
|
|
|
16
16
|
if (mandatory && !value) {
|
|
17
17
|
const on = Array.from(selected.entries()).reduce((arr, _ref2) => {
|
|
18
18
|
let [key, value] = _ref2;
|
|
19
|
-
|
|
19
|
+
if (value === 'on') arr.push(key);
|
|
20
|
+
return arr;
|
|
20
21
|
}, []);
|
|
21
22
|
if (on.length === 1 && on[0] === id) return selected;
|
|
22
23
|
}
|
|
@@ -158,7 +159,8 @@ export const classicSelectStrategy = mandatory => {
|
|
|
158
159
|
if (mandatory && !value) {
|
|
159
160
|
const on = Array.from(selected.entries()).reduce((arr, _ref7) => {
|
|
160
161
|
let [key, value] = _ref7;
|
|
161
|
-
|
|
162
|
+
if (value === 'on') arr.push(key);
|
|
163
|
+
return arr;
|
|
162
164
|
}, []);
|
|
163
165
|
if (on.length === 0) return original;
|
|
164
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectStrategies.mjs","names":["toRaw","independentSelectStrategy","mandatory","strategy","select","_ref","id","value","selected","on","Array","from","entries","reduce","arr","_ref2","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","_ref3","rest","singleSelected","has","get","slice","leafSelectStrategy","_ref4","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected","_ref7"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<unknown, 'on' | 'off' | 'indeterminate'>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n id = toRaw(id)\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n id = toRaw(id)\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectStrategies.mjs","names":["toRaw","independentSelectStrategy","mandatory","strategy","select","_ref","id","value","selected","on","Array","from","entries","reduce","arr","_ref2","key","push","length","set","in","v","children","parents","map","Map","out","independentSingleSelectStrategy","parentStrategy","_ref3","rest","singleSelected","has","get","slice","leafSelectStrategy","_ref4","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected","_ref7"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<unknown, 'on' | 'off' | 'indeterminate'>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n id = toRaw(id)\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n id = toRaw(id)\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] as unknown[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"mappings":"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"}
|
|
@@ -147,7 +147,7 @@ export function createTheme(options) {
|
|
|
147
147
|
const current = computed(() => computedThemes.value[name.value]);
|
|
148
148
|
const styles = computed(() => {
|
|
149
149
|
const lines = [];
|
|
150
|
-
if (current.value
|
|
150
|
+
if (current.value?.dark) {
|
|
151
151
|
createCssClass(lines, ':root', ['color-scheme: dark']);
|
|
152
152
|
}
|
|
153
153
|
createCssClass(lines, ':root', genCssVariables(current.value));
|