@bethinkpl/design-system 26.14.0 → 26.14.3
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/.github/workflows/build-dist-on-trigger.yml +19 -3
- package/dist/design-system.umd.cjs +15 -15
- package/dist/design-system.umd.cjs.map +1 -1
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.composables.d.ts +4 -1
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.vue.d.ts +535 -8
- package/dist/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue.d.ts +529 -2
- package/dist/lib/js/components/RichList/RichListItem/RichListItem.vue.d.ts +1 -1
- package/docs/assets/{BasicRichListItem-CEiYZukO.js → BasicRichListItem-B1E5DYkk.js} +1 -1
- package/docs/assets/{BasicRichListItem.stories-ePDSld8d.js → BasicRichListItem.stories-Bwk6-q_S.js} +1 -1
- package/docs/assets/{Color-ERTF36HU-CUHUHSmH.js → Color-ERTF36HU-Zy8s_54Y.js} +1 -1
- package/docs/assets/{DateBox.stories-BP1Z4i2_.js → DateBox.stories-DLmMNPBT.js} +1 -1
- package/docs/assets/DatePicker-DHykkoW4.js +2 -0
- package/docs/assets/{DatePicker.stories-AUPbbqFP.js → DatePicker.stories-DHiM_CF1.js} +2 -2
- package/docs/assets/DateRangePicker-DyLp3jfg.js +1 -0
- package/docs/assets/{DateRangePicker.stories-BQFhc4cw.js → DateRangePicker.stories-Chl7D6cH.js} +1 -1
- package/docs/assets/{DocsRenderer-CFRXHY34-BTRR5RRG.js → DocsRenderer-CFRXHY34-Mv9wJbYE.js} +5 -5
- package/docs/assets/{GroupRichListItem-8v8vJXgH.js → GroupRichListItem-onOADtuh.js} +1 -1
- package/docs/assets/{GroupRichListItem.stories-KjZ2JDho.js → GroupRichListItem.stories-BXIoUT_x.js} +1 -1
- package/docs/assets/{RichListItem.stories-C7rIgxO4.js → RichListItem.stories-bEj3sobC.js} +1 -1
- package/docs/assets/{SelectionTile-D9A_Tf3q.js → SelectionTile-BuBzVZpf.js} +1 -1
- package/docs/assets/{SelectionTile.stories-aEkis98r.js → SelectionTile.stories-Da-1b5iP.js} +1 -1
- package/docs/assets/{iframe-BmaPoam5.js → iframe-B7O_YbfU.js} +5 -5
- package/docs/assets/{index-g_7p32Ii.js → index-5RZErJTT.js} +1 -1
- package/docs/assets/{index-z7xpE_Pa.js → index-By8fdPgt.js} +1 -1
- package/docs/assets/{preview-DqmV_9DV.js → preview-C6pVUegQ.js} +1 -1
- package/docs/assets/{preview-Ds_xi8UF.js → preview-dRTG5wog.js} +2 -2
- package/docs/iframe.html +1 -1
- package/docs/project.json +1 -1
- package/lib/js/components/DatePickers/DatePicker/DatePicker.composables.ts +30 -12
- package/lib/js/components/DatePickers/DatePicker/DatePicker.stories.ts +5 -5
- package/lib/js/components/DatePickers/DatePicker/DatePicker.vue +38 -26
- package/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.stories.ts +3 -3
- package/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue +27 -24
- package/lib/js/components/RichList/RichListItem/RichListItem.vue +20 -17
- package/package.json +1 -1
- package/docs/assets/DatePicker-Bc1APlab.js +0 -2
- package/docs/assets/DateRangePicker-CNuyzpfG.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-
|
|
2
|
-
import{_ as s}from"./iframe-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-Mv9wJbYE.js","./iframe-B7O_YbfU.js","./_commonjsHelpers-Chg3vePA.js","./index-vG0co4wr.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as s}from"./iframe-B7O_YbfU.js";import"../sb-preview/runtime.js";const{global:_}=__STORYBOOK_MODULE_GLOBAL__;var o,i=Object.entries((o=_.TAGS_OPTIONS)!=null?o:{}).reduce((e,r)=>{let[t,a]=r;return a.excludeFromDocsStories&&(e[t]=!0),e},{}),d={docs:{renderer:async()=>{let{DocsRenderer:e}=await s(()=>import("./DocsRenderer-CFRXHY34-Mv9wJbYE.js").then(r=>r.am),__vite__mapDeps([0,1,2,3]),import.meta.url);return new e},stories:{filter:e=>{var r;return(e.tags||[]).filter(t=>i[t]).length===0&&!((r=e.parameters.docs)!=null&&r.disable)}}}};export{d as parameters};
|
package/docs/iframe.html
CHANGED
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
</script>
|
|
511
511
|
<link rel="stylesheet" href="./preview.css">
|
|
512
512
|
|
|
513
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
513
|
+
<script type="module" crossorigin src="./assets/iframe-B7O_YbfU.js"></script>
|
|
514
514
|
</head>
|
|
515
515
|
|
|
516
516
|
<body>
|
package/docs/project.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1747834978084,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@types/jest":"29.5.13","@vue/vue3-jest":"29.2.2","jest":"29.7.0","jest-environment-jsdom":"29.7.0","ts-jest":"29.0.5"},"packageManager":{"type":"yarn","version":"1.22.22"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/vue3-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/vue3","portableStoriesFileCount":2,"storybookVersion":"8.3.4","storybookVersionSpecifier":"^8.3.4","language":"typescript","storybookPackages":{"@storybook/vue3":{"version":"8.3.4"},"@storybook/vue3-vite":{"version":"8.3.4"},"eslint-plugin-storybook":{"version":"0.8.0"},"storybook":{"version":"8.3.4"}},"addons":{"@storybook/addon-actions":{"version":"8.3.4"},"@storybook/addon-designs":{"version":"8.0.3"},"@storybook/addon-docs":{"version":"8.3.4"},"@storybook/addon-controls":{"version":"8.3.4"},"@storybook/addon-storysource":{"version":"8.3.4"},"@storybook/addon-viewport":{"version":"8.3.4"}}}
|
|
@@ -20,6 +20,7 @@ export interface DatePickerComposablesProps {
|
|
|
20
20
|
interface InitFlatpickrPrams {
|
|
21
21
|
props: DatePickerComposablesProps;
|
|
22
22
|
onChange: (dates: Array<Date>) => void;
|
|
23
|
+
onClose: () => void;
|
|
23
24
|
defaultDates: Date | Array<Date>;
|
|
24
25
|
mode: 'single' | 'range';
|
|
25
26
|
}
|
|
@@ -31,6 +32,8 @@ interface InitFlatpickr {
|
|
|
31
32
|
dateRangePickerRef: HTMLElement,
|
|
32
33
|
updatePositionBasedOnScrollableSelector: string,
|
|
33
34
|
) => Promise<DatePickerInstance | undefined>;
|
|
35
|
+
destroyDatePicker: () => void;
|
|
36
|
+
updateDatePicker: () => void;
|
|
34
37
|
isOpen: Ref<boolean>;
|
|
35
38
|
toggle: () => void;
|
|
36
39
|
}
|
|
@@ -38,6 +41,7 @@ interface InitFlatpickr {
|
|
|
38
41
|
export function initFlatpickr({
|
|
39
42
|
props,
|
|
40
43
|
onChange,
|
|
44
|
+
onClose,
|
|
41
45
|
defaultDates,
|
|
42
46
|
mode = 'single',
|
|
43
47
|
}: InitFlatpickrPrams): InitFlatpickr {
|
|
@@ -82,6 +86,10 @@ export function initFlatpickr({
|
|
|
82
86
|
onClose: [
|
|
83
87
|
() => {
|
|
84
88
|
isOpen.value = false;
|
|
89
|
+
// setTimeout is needed to ensure that the date picker is closed before the onClose callback is called
|
|
90
|
+
setTimeout(() => {
|
|
91
|
+
onClose();
|
|
92
|
+
});
|
|
85
93
|
},
|
|
86
94
|
],
|
|
87
95
|
onOpen: [
|
|
@@ -113,9 +121,13 @@ export function initFlatpickr({
|
|
|
113
121
|
return datePicker;
|
|
114
122
|
};
|
|
115
123
|
|
|
116
|
-
|
|
124
|
+
const destroyDatePicker = () => {
|
|
117
125
|
datePicker?.destroy();
|
|
118
126
|
datePicker = null;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
onUnmounted(() => {
|
|
130
|
+
destroyDatePicker();
|
|
119
131
|
});
|
|
120
132
|
|
|
121
133
|
watch(
|
|
@@ -142,26 +154,32 @@ export function initFlatpickr({
|
|
|
142
154
|
watch(
|
|
143
155
|
[() => props.date, () => props.startDate, () => props.endDate],
|
|
144
156
|
() => {
|
|
145
|
-
|
|
146
|
-
updateDatePickerDates(props.date);
|
|
147
|
-
} else if (props.startDate && props.endDate) {
|
|
148
|
-
updateDatePickerDates([props.startDate, props.endDate]);
|
|
149
|
-
} else if (props.startDate && !props.endDate) {
|
|
150
|
-
updateDatePickerDates(props.startDate);
|
|
151
|
-
} else if (!props.startDate && props.endDate) {
|
|
152
|
-
updateDatePickerDates(props.endDate);
|
|
153
|
-
} else {
|
|
154
|
-
datePicker?.clear(false);
|
|
155
|
-
}
|
|
157
|
+
updateDatePicker();
|
|
156
158
|
},
|
|
157
159
|
{
|
|
158
160
|
flush: 'post', // Ensure updates happen after DOM changes
|
|
159
161
|
},
|
|
160
162
|
);
|
|
161
163
|
|
|
164
|
+
const updateDatePicker = () => {
|
|
165
|
+
if (props.date) {
|
|
166
|
+
updateDatePickerDates(props.date);
|
|
167
|
+
} else if (props.startDate && props.endDate) {
|
|
168
|
+
updateDatePickerDates([props.startDate, props.endDate]);
|
|
169
|
+
} else if (props.startDate && !props.endDate) {
|
|
170
|
+
updateDatePickerDates(props.startDate);
|
|
171
|
+
} else if (!props.startDate && props.endDate) {
|
|
172
|
+
updateDatePickerDates(props.endDate);
|
|
173
|
+
} else {
|
|
174
|
+
datePicker?.clear(false);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
|
|
162
178
|
return {
|
|
163
179
|
datePicker,
|
|
164
180
|
createDatePicker,
|
|
181
|
+
destroyDatePicker,
|
|
182
|
+
updateDatePicker,
|
|
165
183
|
isOpen,
|
|
166
184
|
toggle: () => {
|
|
167
185
|
datePicker?.toggle();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useArgs } from '@storybook/preview-api';
|
|
2
|
+
import { Args, ArgTypes, Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
+
import { ICONS } from '../../Icons/Icon';
|
|
4
|
+
import DsSwitch from '../../Switch';
|
|
2
5
|
import {
|
|
3
6
|
DATE_PICKER_CALENDAR_POSITIONS,
|
|
4
7
|
DATE_PICKER_COLORS,
|
|
5
8
|
DATE_PICKER_STATES,
|
|
6
9
|
DATE_PICKER_TRIGGER_TYPES,
|
|
7
10
|
} from './DatePicker.consts';
|
|
8
|
-
import
|
|
9
|
-
import { ICONS } from '../../Icons/Icon';
|
|
10
|
-
import DsSwitch from '../../Switch';
|
|
11
|
-
import { useArgs } from '@storybook/preview-api';
|
|
11
|
+
import DatePicker from './DatePicker.vue';
|
|
12
12
|
|
|
13
13
|
export default {
|
|
14
14
|
title: 'Components/DatePickers/DatePicker',
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
:eyebrow-text="eyebrowText"
|
|
33
33
|
:additional-text-max-width="TILE_ADDITIONAL_TEXT_MAX_WIDTHS.MEDIUM"
|
|
34
34
|
has-border
|
|
35
|
-
@click="toggle"
|
|
35
|
+
@click.stop.prevent="toggle"
|
|
36
36
|
/>
|
|
37
37
|
</template>
|
|
38
38
|
<date-box
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
:state="state"
|
|
46
46
|
:color="color"
|
|
47
47
|
:is-open="isOpen"
|
|
48
|
-
@click="toggle"
|
|
48
|
+
@click.stop.prevent="toggle"
|
|
49
49
|
/>
|
|
50
50
|
|
|
51
51
|
<span v-if="showErrorMessage" class="ds-datePicker__errorMessage">
|
|
@@ -138,12 +138,25 @@
|
|
|
138
138
|
</style>
|
|
139
139
|
|
|
140
140
|
<script lang="ts">
|
|
141
|
-
import { defineComponent, PropType, Ref, ref, toRaw
|
|
141
|
+
import { defineComponent, PropType, Ref, ref, toRaw } from 'vue';
|
|
142
|
+
|
|
143
|
+
import { Instance as DatePickerInstance } from 'flatpickr/dist/types/instance';
|
|
142
144
|
|
|
143
|
-
import DsTile, { TILE_ADDITIONAL_TEXT_MAX_WIDTHS, TILE_BORDER_COLORS } from '../../Tile';
|
|
144
145
|
import { IconItem, ICONS } from '../../Icons/Icon';
|
|
146
|
+
import DsTile, {
|
|
147
|
+
TILE_ADDITIONAL_TEXT_MAX_WIDTHS,
|
|
148
|
+
TILE_BORDER_COLORS,
|
|
149
|
+
TileColors,
|
|
150
|
+
TileStates,
|
|
151
|
+
} from '../../Tile';
|
|
145
152
|
import DateBox from '../DateBox';
|
|
146
153
|
|
|
154
|
+
import {
|
|
155
|
+
localFullDateWithShortMonthName,
|
|
156
|
+
localWeekdayName,
|
|
157
|
+
} from '../../../../../tools/importers/helpers/dates';
|
|
158
|
+
import { capitalizeFirstLetter } from '../../../../../tools/importers/helpers/modifiers';
|
|
159
|
+
import { DatePickerComposablesProps, initFlatpickr } from './DatePicker.composables';
|
|
147
160
|
import {
|
|
148
161
|
DATE_PICKER_CALENDAR_POSITIONS,
|
|
149
162
|
DATE_PICKER_COLORS,
|
|
@@ -154,12 +167,6 @@ import {
|
|
|
154
167
|
DatePickerStates,
|
|
155
168
|
DatePickerTriggerTypes,
|
|
156
169
|
} from './DatePicker.consts';
|
|
157
|
-
import { capitalizeFirstLetter } from '../../../../../tools/importers/helpers/modifiers';
|
|
158
|
-
import { DatePickerComposablesProps, initFlatpickr } from './DatePicker.composables';
|
|
159
|
-
import {
|
|
160
|
-
localFullDateWithShortMonthName,
|
|
161
|
-
localWeekdayName,
|
|
162
|
-
} from '../../../../../tools/importers/helpers/dates';
|
|
163
170
|
|
|
164
171
|
export default defineComponent({
|
|
165
172
|
name: 'DatePicker',
|
|
@@ -255,6 +262,7 @@ export default defineComponent({
|
|
|
255
262
|
},
|
|
256
263
|
{ emit },
|
|
257
264
|
) {
|
|
265
|
+
const flatpickrInstance = ref<DatePickerInstance | null>(null);
|
|
258
266
|
const flatpickrInputRef = ref<HTMLInputElement>() as Ref<HTMLInputElement>;
|
|
259
267
|
const datePickerRef = ref<HTMLDivElement>() as Ref<HTMLDivElement>;
|
|
260
268
|
|
|
@@ -262,31 +270,32 @@ export default defineComponent({
|
|
|
262
270
|
emit('update:date', event[0]);
|
|
263
271
|
};
|
|
264
272
|
|
|
273
|
+
const onClose = () => {
|
|
274
|
+
destroyDatePicker();
|
|
275
|
+
flatpickrInstance.value = null;
|
|
276
|
+
};
|
|
277
|
+
|
|
265
278
|
const {
|
|
266
279
|
isOpen,
|
|
267
280
|
toggle: toggleDatePicker,
|
|
268
281
|
createDatePicker,
|
|
282
|
+
destroyDatePicker,
|
|
283
|
+
updateDatePicker,
|
|
269
284
|
} = initFlatpickr({
|
|
270
285
|
props,
|
|
271
286
|
onChange,
|
|
287
|
+
onClose,
|
|
272
288
|
defaultDates: props.date ?? new Date(),
|
|
273
289
|
mode: 'single',
|
|
274
290
|
});
|
|
275
|
-
watch([() => props.isInteractive, () => props.state], async () => {
|
|
276
|
-
if (props.isInteractive && props.state === DATE_PICKER_STATES.DEFAULT) {
|
|
277
|
-
await createDatePicker(
|
|
278
|
-
flatpickrInputRef.value,
|
|
279
|
-
datePickerRef.value,
|
|
280
|
-
props.updatePositionBasedOnScrollableSelector,
|
|
281
|
-
);
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
291
|
|
|
285
292
|
return {
|
|
293
|
+
flatpickrInstance,
|
|
286
294
|
flatpickrInputRef,
|
|
287
295
|
datePickerRef,
|
|
288
296
|
isOpen,
|
|
289
297
|
toggleDatePicker,
|
|
298
|
+
updateDatePicker,
|
|
290
299
|
createDatePicker,
|
|
291
300
|
DATE_PICKER_CALENDAR_POSITIONS: Object.freeze(DATE_PICKER_CALENDAR_POSITIONS),
|
|
292
301
|
DATE_PICKER_COLORS: Object.freeze(DATE_PICKER_COLORS),
|
|
@@ -340,18 +349,21 @@ export default defineComponent({
|
|
|
340
349
|
return this.helpMessage !== null;
|
|
341
350
|
},
|
|
342
351
|
},
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
await this.createDatePicker(
|
|
352
|
+
methods: {
|
|
353
|
+
async bindFlatpickrInstance() {
|
|
354
|
+
this.flatpickrInstance = await this.createDatePicker(
|
|
346
355
|
this.flatpickrInputRef,
|
|
347
356
|
this.datePickerRef,
|
|
348
357
|
this.updatePositionBasedOnScrollableSelector,
|
|
349
358
|
);
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
toggle() {
|
|
359
|
+
this.updateDatePicker();
|
|
360
|
+
},
|
|
361
|
+
async toggle() {
|
|
354
362
|
if (this.isInteractive && this.state === DATE_PICKER_STATES.DEFAULT) {
|
|
363
|
+
if (!this.flatpickrInstance) {
|
|
364
|
+
await this.bindFlatpickrInstance();
|
|
365
|
+
}
|
|
366
|
+
|
|
355
367
|
this.toggleDatePicker();
|
|
356
368
|
}
|
|
357
369
|
},
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useArgs } from '@storybook/preview-api';
|
|
2
2
|
import { Args, ArgTypes, Meta, StoryObj } from '@storybook/vue3';
|
|
3
|
+
import { ComponentProps } from 'vue-component-type-helpers';
|
|
3
4
|
import { ICONS } from '../../Icons/Icon';
|
|
4
5
|
import {
|
|
5
6
|
DATE_PICKER_CALENDAR_POSITIONS,
|
|
6
7
|
DATE_PICKER_COLORS,
|
|
7
8
|
DATE_PICKER_STATES,
|
|
8
9
|
} from '../DatePicker';
|
|
9
|
-
import
|
|
10
|
-
import { useArgs } from '@storybook/preview-api';
|
|
10
|
+
import DateRangePicker from './DateRangePicker.vue';
|
|
11
11
|
|
|
12
12
|
type DateRangePickerProps = ComponentProps<typeof DateRangePicker>;
|
|
13
13
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
:state="state"
|
|
12
12
|
:color="color"
|
|
13
13
|
:is-open="isOpen"
|
|
14
|
-
@click="toggle"
|
|
14
|
+
@click.stop.prevent="toggle"
|
|
15
15
|
/>
|
|
16
16
|
|
|
17
17
|
<span v-if="errorMessage" class="ds-dateRangePicker__errorMessage">
|
|
@@ -48,9 +48,10 @@
|
|
|
48
48
|
</style>
|
|
49
49
|
|
|
50
50
|
<script lang="ts">
|
|
51
|
-
import
|
|
51
|
+
import { Instance as DatePickerInstance } from 'flatpickr/dist/types/instance';
|
|
52
|
+
import { defineComponent, PropType, Ref, ref, toRaw } from 'vue';
|
|
52
53
|
import { IconItem, ICONS } from '../../Icons/Icon';
|
|
53
|
-
import
|
|
54
|
+
import DateBox from '../DateBox';
|
|
54
55
|
import {
|
|
55
56
|
DATE_PICKER_CALENDAR_POSITIONS,
|
|
56
57
|
DATE_PICKER_COLORS,
|
|
@@ -146,6 +147,7 @@ export default defineComponent({
|
|
|
146
147
|
},
|
|
147
148
|
{ emit },
|
|
148
149
|
) {
|
|
150
|
+
const flatpickrInstance = ref<DatePickerInstance | null>(null);
|
|
149
151
|
const dateRangePickerRef = ref() as Ref<HTMLDivElement>;
|
|
150
152
|
const flatpickrInputRef = ref() as Ref<HTMLInputElement>;
|
|
151
153
|
|
|
@@ -156,55 +158,56 @@ export default defineComponent({
|
|
|
156
158
|
emit('update:date', { startDate: event[0], endDate: event[1] });
|
|
157
159
|
};
|
|
158
160
|
|
|
161
|
+
const onClose = () => {
|
|
162
|
+
destroyDatePicker();
|
|
163
|
+
flatpickrInstance.value = null;
|
|
164
|
+
};
|
|
165
|
+
|
|
159
166
|
const {
|
|
160
167
|
isOpen,
|
|
161
168
|
toggle: toggleDatePicker,
|
|
162
169
|
createDatePicker,
|
|
170
|
+
destroyDatePicker,
|
|
171
|
+
updateDatePicker,
|
|
163
172
|
} = initFlatpickr({
|
|
164
173
|
props,
|
|
165
174
|
onChange,
|
|
175
|
+
onClose,
|
|
166
176
|
defaultDates: [props.startDate, props.endDate],
|
|
167
177
|
mode: 'range',
|
|
168
178
|
});
|
|
169
179
|
|
|
170
|
-
watch(
|
|
171
|
-
[() => props.isInteractive, () => props.state],
|
|
172
|
-
async () => {
|
|
173
|
-
if (props.isInteractive && props.state === DATE_PICKER_STATES.DEFAULT) {
|
|
174
|
-
await createDatePicker(
|
|
175
|
-
flatpickrInputRef.value,
|
|
176
|
-
dateRangePickerRef.value,
|
|
177
|
-
props.updatePositionBasedOnScrollableSelector,
|
|
178
|
-
);
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
{ flush: 'post' },
|
|
182
|
-
);
|
|
183
|
-
|
|
184
180
|
return {
|
|
181
|
+
flatpickrInstance,
|
|
185
182
|
dateRangePickerRef,
|
|
186
183
|
flatpickrInputRef,
|
|
187
184
|
isOpen,
|
|
188
185
|
toggleDatePicker,
|
|
189
186
|
createDatePicker,
|
|
187
|
+
destroyDatePicker,
|
|
188
|
+
updateDatePicker,
|
|
190
189
|
DATE_PICKER_CALENDAR_POSITIONS: Object.freeze(DATE_PICKER_CALENDAR_POSITIONS),
|
|
191
190
|
DATE_PICKER_COLORS: Object.freeze(DATE_PICKER_COLORS),
|
|
192
191
|
DATE_PICKER_STATES: Object.freeze(DATE_PICKER_STATES),
|
|
193
192
|
DATE_PICKER_TRIGGER_TYPES: Object.freeze(DATE_PICKER_TRIGGER_TYPES),
|
|
194
193
|
};
|
|
195
194
|
},
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
await this.createDatePicker(
|
|
195
|
+
methods: {
|
|
196
|
+
async bindFlatpickrInstance() {
|
|
197
|
+
this.flatpickrInstance = await this.createDatePicker(
|
|
199
198
|
this.flatpickrInputRef,
|
|
200
199
|
this.dateRangePickerRef,
|
|
201
200
|
this.updatePositionBasedOnScrollableSelector,
|
|
202
201
|
);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
toggle() {
|
|
202
|
+
this.updateDatePicker();
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
async toggle() {
|
|
207
206
|
if (this.isInteractive && this.state === DATE_PICKER_STATES.DEFAULT) {
|
|
207
|
+
if (!this.flatpickrInstance) {
|
|
208
|
+
await this.bindFlatpickrInstance();
|
|
209
|
+
}
|
|
210
|
+
|
|
208
211
|
this.toggleDatePicker();
|
|
209
212
|
}
|
|
210
213
|
},
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
@import '../../../../styles/settings/media-queries';
|
|
82
82
|
@import '../../../../styles/settings/radiuses';
|
|
83
83
|
@import '../../../../styles/settings/spacings';
|
|
84
|
+
@import '../../../../styles/settings/borders';
|
|
84
85
|
@import '../../../../styles/settings/shadows';
|
|
85
86
|
@import '../../../../styles/settings/icons';
|
|
86
87
|
@import './border-colors';
|
|
@@ -127,7 +128,7 @@ $rich-list-item-media-horizontal-height: 80px;
|
|
|
127
128
|
align-items: center;
|
|
128
129
|
flex-direction: initial;
|
|
129
130
|
justify-content: initial;
|
|
130
|
-
padding: 0 $space-4xs;
|
|
131
|
+
padding: 0 $space-4xs 0 calc($space-4xs - $border-xs);
|
|
131
132
|
|
|
132
133
|
#{$root}__container {
|
|
133
134
|
align-self: initial;
|
|
@@ -297,27 +298,29 @@ $rich-list-item-media-horizontal-height: 80px;
|
|
|
297
298
|
cursor: pointer;
|
|
298
299
|
pointer-events: initial;
|
|
299
300
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
.-ds-dimmable {
|
|
301
|
+
@media #{breakpoint-s()} {
|
|
302
|
+
&.-ds-flat {
|
|
303
|
+
&:hover {
|
|
305
304
|
opacity: 1;
|
|
305
|
+
|
|
306
|
+
.-ds-dimmable {
|
|
307
|
+
opacity: 1;
|
|
308
|
+
}
|
|
306
309
|
}
|
|
307
310
|
}
|
|
308
|
-
}
|
|
309
311
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
312
|
+
&:not(.-ds-dimmed):hover {
|
|
313
|
+
&.-ds-default {
|
|
314
|
+
@each $color, $value in $rich-list-item-background-colors {
|
|
315
|
+
&.-ds-background-#{$color} {
|
|
316
|
+
background-color: map-get($value, 'hover');
|
|
317
|
+
}
|
|
315
318
|
}
|
|
316
319
|
}
|
|
317
|
-
}
|
|
318
320
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
+
&.-ds-flat {
|
|
322
|
+
background: $color-neutral-background-ghost-hovered;
|
|
323
|
+
}
|
|
321
324
|
}
|
|
322
325
|
}
|
|
323
326
|
|
|
@@ -474,8 +477,9 @@ $rich-list-item-media-horizontal-height: 80px;
|
|
|
474
477
|
</style>
|
|
475
478
|
|
|
476
479
|
<script lang="ts">
|
|
477
|
-
import
|
|
480
|
+
import { defineComponent, PropType, toRaw } from 'vue';
|
|
478
481
|
import DsDivider from '../../../components/Divider';
|
|
482
|
+
import DsCheckbox from '../../../components/Form/Checkbox/Checkbox.vue';
|
|
479
483
|
import DsIcon, {
|
|
480
484
|
ICON_COLORS,
|
|
481
485
|
ICON_SIZES,
|
|
@@ -483,7 +487,6 @@ import DsIcon, {
|
|
|
483
487
|
IconItem,
|
|
484
488
|
ICONS,
|
|
485
489
|
} from '../../../components/Icons/Icon';
|
|
486
|
-
import { defineComponent, PropType, toRaw } from 'vue';
|
|
487
490
|
import {
|
|
488
491
|
RICH_LIST_ITEM_BACKGROUND_COLOR,
|
|
489
492
|
RICH_LIST_ITEM_BORDER_COLOR,
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./pl-Cy1N1vsP.js","./_commonjsHelpers-Chg3vePA.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{d as G,t as S,r as b,o as a,c as l,a as s,k as g,g as o,j as I,b as R,n as E,F as H,v,E as X,w as L,f as Y}from"./vue.esm-bundler-DmkhfO_9.js";import{c as Z,d as q,b as u}from"./Tile-DvjxsEPO.js";import{a as J,I as A,b as Q}from"./Icon-BPz80dqH.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as K}from"./iframe-BmaPoam5.js";const c={NEUTRAL_WEAK:"neutralWeak",NEUTRAL:"neutral",WARNING:"warning",DANGER:"danger"},_={DEFAULT:"default",DISABLED:"disabled",LOADING:"loading"},f={TOP:"top",TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM:"bottom",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},V={BOX:"box",TILE:"tile"},W={[f.BOTTOM_LEFT]:"below left",[f.BOTTOM_RIGHT]:"below right",[f.BOTTOM]:"below",[f.TOP_LEFT]:"above left",[f.TOP_RIGHT]:"above right",[f.TOP]:"above"};function P(e){return e.toLocaleDateString("pl-PL",{dateStyle:void 0,timeStyle:void 0,weekday:"long"})}function x(e){return e.toLocaleDateString("pl-PL",{dateStyle:"medium",timeStyle:void 0})}function F(e){return e.toLocaleDateString("pl-PL",{month:"short",day:"2-digit"})}const C=e=>e.charAt(0).toUpperCase()+e.slice(1),z=G({name:"DateBox",components:{DsIcon:J},props:{isInteractive:{type:Boolean,default:!0},placeholder:{type:String,default:"Ustaw"},startDate:{type:Date,default:null},endDate:{type:Date,default:null},startIcon:{type:Object,default:null,validate:e=>e===null||Object.values(A).includes(S(e))},endIcon:{type:Object,default:null,validate:e=>e===null||Object.values(A).includes(S(e))},areIconsHiddenOnMobile:{type:Boolean,default:!1},state:{type:String||null,default:_.DEFAULT},color:{type:String,default:c.NEUTRAL_WEAK},isOpen:{type:Boolean,default:!1}},data(){return{ICONS:Object.freeze(A),ICON_SIZES:Object.freeze(Q),DATE_PICKER_STATES:Object.freeze(_),DATE_PICKER_COLORS:Object.freeze(c)}},computed:{startDateText(){return this.startDate?F(this.startDate):this.placeholder},endDateIfDifferentThanStartDate(){return this.startDate&&this.endDate&&this.startDate.toDateString()!==this.endDate.toDateString()?this.endDate:null},endDateText(){return F(this.endDateIfDifferentThanStartDate)},startDateEyebrowText(){return this.startDate?C(P(this.startDate)):""},endDateEyebrowText(){return this.endDateIfDifferentThanStartDate?C(P(this.endDateIfDifferentThanStartDate)):""}}}),ee={key:0,class:"ds-dateBox__loader"},te={class:"ds-dateBox__dateWrapper"},ae={key:0,class:"ds-dateBox__eyebrow"},ne={class:"ds-dateBox__date"},se={class:"ds-dateBox__dateText"},le={key:0,class:"ds-dateBox__loader"},oe={class:"ds-dateBox__dateWrapper"},ie={key:0,class:"ds-dateBox__eyebrow"},re={class:"ds-dateBox__date"},de={class:"ds-dateBox__dateText"};function ue(e,D,d,m,t,T){const n=b("ds-icon");return a(),l("div",{class:E(["ds-dateBox",{"-ds-disabled":e.state===e.DATE_PICKER_STATES.DISABLED,"-ds-loading":e.state===e.DATE_PICKER_STATES.LOADING,"-ds-interactive":e.isInteractive,"-ds-warning":e.color===e.DATE_PICKER_COLORS.WARNING,"-ds-neutralWeak":e.DATE_PICKER_COLORS.NEUTRAL_WEAK===e.color,"-ds-neutral":e.DATE_PICKER_COLORS.NEUTRAL===e.color,"-ds-danger":e.color===e.DATE_PICKER_COLORS.DANGER,"-ds-isOpen":e.isOpen}])},[s("div",{class:E(["ds-dateBox__widthWrapper",{"-ds-has-icon":e.startIcon,"-ds-iconHiddenOnMobile":e.areIconsHiddenOnMobile}])},[e.state===e.DATE_PICKER_STATES.LOADING?(a(),l("div",ee,[g(n,{icon:e.ICONS.FAD_SPINNER_THIRD,size:e.ICON_SIZES.X_SMALL,spinning:""},null,8,["icon","size"])])):o("",!0),s("div",te,[e.startDateEyebrowText?(a(),l("span",ae,I(e.startDateEyebrowText),1)):o("",!0),s("div",ne,[e.startIcon?(a(),R(n,{key:0,class:E(["ds-dateBox__icon",{"-ds-hiddenOnMobile":e.areIconsHiddenOnMobile}]),icon:e.startIcon,size:e.ICON_SIZES.XX_SMALL},null,8,["class","icon","size"])):o("",!0),s("span",se,I(e.startDateText),1)])])],2),e.startDate&&e.endDateIfDifferentThanStartDate?(a(),l(H,{key:0},[D[0]||(D[0]=s("span",{class:"ds-dateBox__separator"},"–",-1)),s("div",{class:E(["ds-dateBox__widthWrapper -ds-justify-to-end",{"-ds-has-icon":e.endIcon,"-ds-iconHiddenOnMobile":e.areIconsHiddenOnMobile}])},[e.state===e.DATE_PICKER_STATES.LOADING?(a(),l("div",le,[g(n,{icon:e.ICONS.FAD_SPINNER_THIRD,size:e.ICON_SIZES.X_SMALL,spinning:""},null,8,["icon","size"])])):o("",!0),s("div",oe,[e.endDateEyebrowText?(a(),l("span",ie,I(e.endDateEyebrowText),1)):o("",!0),s("div",re,[e.endIcon?(a(),R(n,{key:0,class:E(["ds-dateBox__icon",{"-ds-hiddenOnMobile":e.areIconsHiddenOnMobile}]),icon:e.endIcon,size:e.ICON_SIZES.XX_SMALL},null,8,["class","icon","size"])):o("",!0),s("span",de,I(e.endDateText),1)])])],2)],64)):o("",!0)],2)}const ce=j(z,[["render",ue],["__scopeId","data-v-0e144c0e"]]);z.__docgenInfo={displayName:"DateBox",exportName:"default",description:"",tags:{},props:[{name:"isInteractive",type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"placeholder",type:{name:"string"},defaultValue:{func:!1,value:"'Ustaw'"}},{name:"startDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"endDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"startIcon",type:{name:"object"},defaultValue:{func:!1,value:"null"}},{name:"endIcon",type:{name:"object"},defaultValue:{func:!1,value:"null"}},{name:"areIconsHiddenOnMobile",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"state",type:{name:"(String as PropType<DatePickerStates>) || null"},defaultValue:{func:!1,value:"DATE_PICKER_STATES.DEFAULT"}},{name:"color",type:{name:"DatePickerColors"},defaultValue:{func:!1,value:"DATE_PICKER_COLORS.NEUTRAL_WEAK"}},{name:"isOpen",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/DatePickers/DateBox/DateBox.vue"]};let O=null,U;function fe({props:e,onChange:D,defaultDates:d,mode:m="single"}){let t=null;const T=v(!1),n=i=>{t==null||t.setDate(i,!1),t==null||t.updateValue(!1),t==null||t.jumpToDate(Array.isArray(i)?i[0]:i,!1)},p=async(i,h,N)=>{var M,B,k,w;if(!t){if(!O)try{O=(await K(async()=>{const{default:r}=await import("./index-CBmJdl9t.js");return{default:r}},[],import.meta.url)).default,U=(await K(async()=>{const{Polish:r}=await import("./pl-Cy1N1vsP.js").then(y=>y.p);return{Polish:r}},__vite__mapDeps([0,1]),import.meta.url)).Polish}catch(r){console.error("Failed to load flatpickr",r);return}if(t=O(i,{mode:m,locale:U,disableMobile:!0,positionElement:h,ignoredFocusElements:[h],position:W[e.calendarPosition],defaultDate:d,disable:e.disableDates,minDate:e.minDate,maxDate:e.maxDate,onClose:[()=>{T.value=!1}],onOpen:[()=>{T.value=!0}],onChange:D}),N){const r=document.querySelector(N),y=()=>{t==null||t._positionCalendar()};r&&((B=(M=t==null?void 0:t.config)==null?void 0:M.onOpen)==null||B.push(()=>{r.addEventListener("scroll",y,{passive:!0})}),(w=(k=t==null?void 0:t.config)==null?void 0:k.onClose)==null||w.push(()=>{r.removeEventListener("scroll",y)}))}return t}};return X(()=>{t==null||t.destroy(),t=null}),L([()=>e.calendarPosition,()=>e.minDate,()=>e.maxDate,()=>e.disableDates,()=>d],()=>{t==null||t.set({position:W[e.calendarPosition],defaultDate:d,disable:e.disableDates,minDate:e.minDate,maxDate:e.maxDate})},{flush:"post"}),L([()=>e.date,()=>e.startDate,()=>e.endDate],()=>{e.date?n(e.date):e.startDate&&e.endDate?n([e.startDate,e.endDate]):e.startDate&&!e.endDate?n(e.startDate):!e.startDate&&e.endDate?n(e.endDate):t==null||t.clear(!1)},{flush:"post"}),{datePicker:t,createDatePicker:p,isOpen:T,toggle:()=>{t==null||t.toggle()}}}const $=G({name:"DatePicker",components:{DsTile:Z,DateBox:ce},props:{triggerType:{type:String,default:V.TILE},isInteractive:{type:Boolean,default:!0},placeholder:{type:String,default:"Wybierz datę"},date:{type:Date,default:null},additionalText:{type:String,default:""},helpMessage:{type:String,default:null},label:{type:String,default:""},isLabelUppercase:{type:Boolean,default:!1},icon:{type:[Object,null],default:A.FA_CALENDAR_DAYS,validator(e){return e===null||Object.values(A).includes(S(e))}},isIconHiddenOnMobile:{type:Boolean,default:!1},errorMessage:{type:String,default:null},state:{type:String,default:_.DEFAULT},color:{type:String,default:c.NEUTRAL_WEAK},calendarPosition:{type:String,default:f.BOTTOM_LEFT},disableDates:{type:Array,default:()=>[]},minDate:{type:Date,default:null},maxDate:{type:Date,default:null},updatePositionBasedOnScrollableSelector:{type:String,default:""}},emits:{"update:date":e=>!0},setup(e,{emit:D}){var i;const d=v(),m=v(),t=h=>{D("update:date",h[0])},{isOpen:T,toggle:n,createDatePicker:p}=fe({props:e,onChange:t,defaultDates:(i=e.date)!=null?i:new Date,mode:"single"});return L([()=>e.isInteractive,()=>e.state],async()=>{e.isInteractive&&e.state===_.DEFAULT&&await p(d.value,m.value,e.updatePositionBasedOnScrollableSelector)}),{flatpickrInputRef:d,datePickerRef:m,isOpen:T,toggleDatePicker:n,createDatePicker:p,DATE_PICKER_CALENDAR_POSITIONS:Object.freeze(f),DATE_PICKER_COLORS:Object.freeze(c),DATE_PICKER_STATES:Object.freeze(_),DATE_PICKER_TRIGGER_TYPES:Object.freeze(V),TILE_ADDITIONAL_TEXT_MAX_WIDTHS:Object.freeze(q)}},computed:{borderColor(){return{[c.NEUTRAL]:this.isInteractive?u.PRIMARY:u.NEUTRAL_WEAK,[c.NEUTRAL_WEAK]:this.isInteractive?u.PRIMARY:u.NEUTRAL_WEAK,[c.DANGER]:this.isInteractive?u.DANGER:u.DANGER_WEAK,[c.WARNING]:this.isInteractive?u.WARNING:u.WARNING_WEAK}[this.color]},eyebrowText(){return this.date?C(P(this.date)):""},text(){return this.date?x(this.date):this.placeholder},tileIcon(){return this.additionalText||!this.icon?null:this.isOpen?A.FA_CHEVRON_UP:this.icon},showErrorMessage(){return this.errorMessage!==null},showHelpMessage(){return this.helpMessage!==null}},async mounted(){this.isInteractive&&this.state===_.DEFAULT&&await this.createDatePicker(this.flatpickrInputRef,this.datePickerRef,this.updatePositionBasedOnScrollableSelector)},methods:{toggle(){this.isInteractive&&this.state===_.DEFAULT&&this.toggleDatePicker()}}}),De={class:"ds-datePicker__labelWrapper"},Te={key:2,class:"ds-datePicker__errorMessage"},Ee={key:3,class:"ds-datePicker__helpMessage"},_e={ref:"flatpickrInputRef",class:"ds-datePicker__hiddenInput"};function Ie(e,D,d,m,t,T){const n=b("ds-tile"),p=b("date-box");return a(),l("div",{ref:"datePickerRef",class:E(["ds-datePicker",{"-ds-box":e.triggerType===e.DATE_PICKER_TRIGGER_TYPES.BOX}])},[e.triggerType===e.DATE_PICKER_TRIGGER_TYPES.TILE?(a(),l(H,{key:0},[s("div",De,[e.label?(a(),l("span",{key:0,class:E(["ds-datePicker__label",{"-ds-isUppercase":e.isLabelUppercase,"-ds-disabled":e.state===e.DATE_PICKER_STATES.DISABLED}])},I(e.label),3)):o("",!0),e.$slots.default?Y(e.$slots,"default",{key:1},void 0,!0):o("",!0)]),g(n,{class:"ds-datePicker__tile",text:e.text,interactive:e.isInteractive,"additional-text":e.additionalText,color:e.color,"border-color":e.borderColor,state:e.state,"icon-right":e.tileIcon,"is-icon-right-hidden-on-mobile":e.isIconHiddenOnMobile,"eyebrow-text":e.eyebrowText,"additional-text-max-width":e.TILE_ADDITIONAL_TEXT_MAX_WIDTHS.MEDIUM,"has-border":"",onClick:e.toggle},null,8,["text","interactive","additional-text","color","border-color","state","icon-right","is-icon-right-hidden-on-mobile","eyebrow-text","additional-text-max-width","onClick"])],64)):(a(),R(p,{key:1,"is-interactive":e.isInteractive,placeholder:e.placeholder,"start-date":e.date,"start-icon":e.icon,"are-icons-hidden-on-mobile":e.isIconHiddenOnMobile,state:e.state,color:e.color,"is-open":e.isOpen,onClick:e.toggle},null,8,["is-interactive","placeholder","start-date","start-icon","are-icons-hidden-on-mobile","state","color","is-open","onClick"])),e.showErrorMessage?(a(),l("span",Te,I(e.errorMessage),1)):e.showHelpMessage?(a(),l("span",Ee,I(e.helpMessage),1)):o("",!0),s("input",_e,null,512)],2)}const Oe=j($,[["render",Ie],["__scopeId","data-v-6f99ef03"]]);$.__docgenInfo={displayName:"DatePicker",exportName:"default",description:"",tags:{},props:[{name:"triggerType",type:{name:"DatePickerTriggerTypes"},defaultValue:{func:!1,value:"DATE_PICKER_TRIGGER_TYPES.TILE"}},{name:"isInteractive",type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"placeholder",type:{name:"string"},defaultValue:{func:!1,value:"'Wybierz datę'"}},{name:"date",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"additionalText",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"helpMessage",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"label",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"isLabelUppercase",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"icon",type:{name:"IconItem | null"},defaultValue:{func:!1,value:"ICONS.FA_CALENDAR_DAYS"}},{name:"isIconHiddenOnMobile",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"errorMessage",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"state",type:{name:"DatePickerStates"},defaultValue:{func:!1,value:"DATE_PICKER_STATES.DEFAULT"}},{name:"color",type:{name:"DatePickerColors"},defaultValue:{func:!1,value:"DATE_PICKER_COLORS.NEUTRAL_WEAK"}},{name:"calendarPosition",type:{name:"DatePickerCalendarPositions"},defaultValue:{func:!1,value:"DATE_PICKER_CALENDAR_POSITIONS.BOTTOM_LEFT"}},{name:"disableDates",type:{name:"Array<Date>"},defaultValue:{func:!0,value:"() => []"}},{name:"minDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"maxDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"updatePositionBasedOnScrollableSelector",type:{name:"string"},defaultValue:{func:!1,value:"''"}}],events:[{name:"update:date"}],slots:[{name:"default"}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/DatePickers/DatePicker/DatePicker.vue"]};export{ce as D,_ as a,c as b,Oe as c,V as d,f as e,fe as i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as E,e as c,a,b as f,i as A,d as g}from"./DatePicker-Bc1APlab.js";import{I as t}from"./Icon-BPz80dqH.js";import{d as R,t as p,v as m,w as P,r as y,o as D,c as _,k as T,j as S,g as O,a as v}from"./vue.esm-bundler-DmkhfO_9.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const I=R({name:"DateRangePicker",components:{DateBox:E},props:{isInteractive:{type:Boolean,default:!1},placeholder:{type:String,default:"Wybierz datę"},startDate:{type:Date,default:null},endDate:{type:Date,default:null},startIcon:{type:[Object,null],default:t.FA_CALENDAR_DAY,validator(e){return e===null||(Object==null?void 0:Object.values(t).includes(p(e)))}},endIcon:{type:[Object,null],default:t.FA_CALENDAR_DAY,validator(e){return e===null||(Object==null?void 0:Object.values(t).includes(p(e)))}},areIconsHiddenOnMobile:{type:Boolean,default:!1},calendarPosition:{type:String,default:c.BOTTOM_LEFT},errorMessage:{type:String,default:""},state:{type:String||null,default:a.DEFAULT},color:{type:String,default:f.NEUTRAL_WEAK},disableDates:{type:Array,default:()=>[]},minDate:{type:Date,default:null},maxDate:{type:Date,default:null},updatePositionBasedOnScrollableSelector:{type:String,default:""}},emits:{"update:date":e=>!0},setup(e,{emit:o}){const n=m(),l=m(),i=r=>{r.length===2&&o("update:date",{startDate:r[0],endDate:r[1]})},{isOpen:u,toggle:s,createDatePicker:d}=A({props:e,onChange:i,defaultDates:[e.startDate,e.endDate],mode:"range"});return P([()=>e.isInteractive,()=>e.state],async()=>{e.isInteractive&&e.state===a.DEFAULT&&await d(l.value,n.value,e.updatePositionBasedOnScrollableSelector)},{flush:"post"}),{dateRangePickerRef:n,flatpickrInputRef:l,isOpen:u,toggleDatePicker:s,createDatePicker:d,DATE_PICKER_CALENDAR_POSITIONS:Object.freeze(c),DATE_PICKER_COLORS:Object.freeze(f),DATE_PICKER_STATES:Object.freeze(a),DATE_PICKER_TRIGGER_TYPES:Object.freeze(g)}},async mounted(){this.isInteractive&&this.state===a.DEFAULT&&await this.createDatePicker(this.flatpickrInputRef,this.dateRangePickerRef,this.updatePositionBasedOnScrollableSelector)},methods:{toggle(){this.isInteractive&&this.state===a.DEFAULT&&this.toggleDatePicker()}}}),k={ref:"dateRangePickerRef",class:"ds-dateRangePicker"},b={key:0,class:"ds-dateRangePicker__errorMessage"},h={ref:"flatpickrInputRef",class:"ds-dateRangePicker__hiddenInput"};function N(e,o,n,l,i,u){const s=y("date-box");return D(),_("div",k,[T(s,{"is-interactive":e.isInteractive,placeholder:e.placeholder,"start-date":e.startDate,"end-date":e.endDate,"start-icon":e.startIcon,"end-icon":e.endIcon,"are-icons-hidden-on-mobile":e.areIconsHiddenOnMobile,state:e.state,color:e.color,"is-open":e.isOpen,onClick:e.toggle},null,8,["is-interactive","placeholder","start-date","end-date","start-icon","end-icon","are-icons-hidden-on-mobile","state","color","is-open","onClick"]),e.errorMessage?(D(),_("span",b,S(e.errorMessage),1)):O("",!0),v("input",h,null,512)],512)}const B=C(I,[["render",N],["__scopeId","data-v-284c5914"]]);I.__docgenInfo={displayName:"DateRangePicker",exportName:"default",description:"",tags:{},props:[{name:"isInteractive",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"placeholder",type:{name:"string"},defaultValue:{func:!1,value:"'Wybierz datę'"}},{name:"startDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"endDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"startIcon",type:{name:"IconItem | null"},defaultValue:{func:!1,value:"ICONS.FA_CALENDAR_DAY"}},{name:"endIcon",type:{name:"IconItem | null"},defaultValue:{func:!1,value:"ICONS.FA_CALENDAR_DAY"}},{name:"areIconsHiddenOnMobile",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"calendarPosition",type:{name:"DatePickerCalendarPositions"},defaultValue:{func:!1,value:"DATE_PICKER_CALENDAR_POSITIONS.BOTTOM_LEFT"}},{name:"errorMessage",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"state",type:{name:"(String as PropType<DatePickerStates>) || null"},defaultValue:{func:!1,value:"DATE_PICKER_STATES.DEFAULT"}},{name:"color",type:{name:"DatePickerColors"},defaultValue:{func:!1,value:"DATE_PICKER_COLORS.NEUTRAL_WEAK"}},{name:"disableDates",type:{name:"Array<Date>"},defaultValue:{func:!0,value:"() => []"}},{name:"minDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"maxDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"updatePositionBasedOnScrollableSelector",type:{name:"string"},defaultValue:{func:!1,value:"''"}}],events:[{name:"update:date"}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue"]};export{B as D};
|