@archpublicwebsite/rangepicker 1.0.13 → 1.0.18

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.
@@ -0,0 +1,352 @@
1
+ import { ref, watch } from "vue";
2
+ import RangepickerInput from "./RangepickerInput.vue";
3
+ /**
4
+ * Stories demonstrating formatting and display options
5
+ * for the Rangepicker component.
6
+ */
7
+ const meta = {
8
+ title: "Components/Rangepicker/Formatting",
9
+ component: RangepickerInput,
10
+ tags: ['autodocs'],
11
+ parameters: {
12
+ docs: {
13
+ description: {
14
+ component: `
15
+ ## Formatting
16
+
17
+ Configure how dates are displayed in the input field and calendar.
18
+ The component uses [dayjs](https://day.js.org/docs/en/display/format) format tokens.
19
+
20
+ ### Common Format Tokens
21
+
22
+ | Token | Output | Description |
23
+ |-------|--------|-------------|
24
+ | \`DD\` | 01-31 | Day of month (2 digits) |
25
+ | \`D\` | 1-31 | Day of month |
26
+ | \`MMM\` | Jan-Dec | Month abbreviation |
27
+ | \`MMMM\` | January-December | Full month name |
28
+ | \`MM\` | 01-12 | Month (2 digits) |
29
+ | \`YYYY\` | 2026 | 4-digit year |
30
+ | \`YY\` | 26 | 2-digit year |
31
+ `,
32
+ },
33
+ },
34
+ },
35
+ argTypes: {
36
+ placeholder: {
37
+ control: "text",
38
+ description: "Placeholder text shown when no date is selected",
39
+ table: {
40
+ type: { summary: "string" },
41
+ defaultValue: { summary: "Select dates" },
42
+ },
43
+ },
44
+ options: {
45
+ control: "object",
46
+ description: "Configuration options including format settings",
47
+ },
48
+ variant: {
49
+ control: "select",
50
+ options: ["desktop", "mobile"],
51
+ },
52
+ },
53
+ args: {
54
+ id: "dates",
55
+ name: "dates",
56
+ variant: "desktop",
57
+ },
58
+ render: (args) => ({
59
+ components: { RangepickerInput },
60
+ setup() {
61
+ const modelValue = ref(args.modelValue ?? "");
62
+ watch(() => args.modelValue, (value) => {
63
+ const nextValue = value ?? "";
64
+ if (nextValue !== modelValue.value) {
65
+ modelValue.value = nextValue;
66
+ }
67
+ });
68
+ return { args, modelValue };
69
+ },
70
+ template: `
71
+ <div style="padding: 2rem; background: #f5f5f5; min-height: 400px;">
72
+ <RangepickerInput v-bind="args" v-model="modelValue" class="form-control mb-0 shadow-none text-black lg:pl-2 border-0 w-full" />
73
+ </div>
74
+ `
75
+ })
76
+ };
77
+ export default meta;
78
+ /**
79
+ * Default format: DD MMM YYYY (e.g., "26 Jan 2026")
80
+ */
81
+ export const DefaultFormat = {
82
+ args: {
83
+ placeholder: "Check in / Check out",
84
+ options: {
85
+ autoApply: true,
86
+ minDate: new Date(),
87
+ format: 'DD MMM YYYY',
88
+ numberOfColumns: 2,
89
+ numberOfMonths: 2,
90
+ }
91
+ },
92
+ parameters: {
93
+ docs: {
94
+ description: {
95
+ story: `
96
+ ### Default Format
97
+
98
+ The default date format: \`DD MMM YYYY\`
99
+
100
+ **Output**: \`26 Jan 2026 - 30 Jan 2026\`
101
+
102
+ \`\`\`typescript
103
+ options: {
104
+ format: 'DD MMM YYYY'
105
+ }
106
+ \`\`\`
107
+ `,
108
+ },
109
+ },
110
+ },
111
+ };
112
+ /**
113
+ * ISO format: YYYY-MM-DD (e.g., "2026-01-26")
114
+ */
115
+ export const ISOFormat = {
116
+ args: {
117
+ placeholder: "Select dates (ISO format)",
118
+ options: {
119
+ autoApply: true,
120
+ minDate: new Date(),
121
+ format: 'YYYY-MM-DD',
122
+ numberOfColumns: 2,
123
+ numberOfMonths: 2,
124
+ }
125
+ },
126
+ parameters: {
127
+ docs: {
128
+ description: {
129
+ story: `
130
+ ### ISO Format
131
+
132
+ Standard ISO date format: \`YYYY-MM-DD\`
133
+
134
+ **Output**: \`2026-01-26 - 2026-01-30\`
135
+
136
+ Useful for APIs and databases that expect ISO format.
137
+
138
+ \`\`\`typescript
139
+ options: {
140
+ format: 'YYYY-MM-DD'
141
+ }
142
+ \`\`\`
143
+ `,
144
+ },
145
+ },
146
+ },
147
+ };
148
+ /**
149
+ * US format: MM/DD/YYYY (e.g., "01/26/2026")
150
+ */
151
+ export const USFormat = {
152
+ args: {
153
+ placeholder: "Select dates (US format)",
154
+ options: {
155
+ autoApply: true,
156
+ minDate: new Date(),
157
+ format: 'MM/DD/YYYY',
158
+ numberOfColumns: 2,
159
+ numberOfMonths: 2,
160
+ }
161
+ },
162
+ parameters: {
163
+ docs: {
164
+ description: {
165
+ story: `
166
+ ### US Format
167
+
168
+ American date format: \`MM/DD/YYYY\`
169
+
170
+ **Output**: \`01/26/2026 - 01/30/2026\`
171
+
172
+ \`\`\`typescript
173
+ options: {
174
+ format: 'MM/DD/YYYY'
175
+ }
176
+ \`\`\`
177
+ `,
178
+ },
179
+ },
180
+ },
181
+ };
182
+ /**
183
+ * European format: DD/MM/YYYY (e.g., "26/01/2026")
184
+ */
185
+ export const EuropeanFormat = {
186
+ args: {
187
+ placeholder: "Select dates (EU format)",
188
+ options: {
189
+ autoApply: true,
190
+ minDate: new Date(),
191
+ format: 'DD/MM/YYYY',
192
+ numberOfColumns: 2,
193
+ numberOfMonths: 2,
194
+ }
195
+ },
196
+ parameters: {
197
+ docs: {
198
+ description: {
199
+ story: `
200
+ ### European Format
201
+
202
+ European date format: \`DD/MM/YYYY\`
203
+
204
+ **Output**: \`26/01/2026 - 30/01/2026\`
205
+
206
+ \`\`\`typescript
207
+ options: {
208
+ format: 'DD/MM/YYYY'
209
+ }
210
+ \`\`\`
211
+ `,
212
+ },
213
+ },
214
+ },
215
+ };
216
+ /**
217
+ * Full month name format: D MMMM YYYY (e.g., "26 January 2026")
218
+ */
219
+ export const FullMonthFormat = {
220
+ args: {
221
+ placeholder: "Select dates",
222
+ options: {
223
+ autoApply: true,
224
+ minDate: new Date(),
225
+ format: 'D MMMM YYYY',
226
+ numberOfColumns: 2,
227
+ numberOfMonths: 2,
228
+ }
229
+ },
230
+ parameters: {
231
+ docs: {
232
+ description: {
233
+ story: `
234
+ ### Full Month Name
235
+
236
+ Display full month name: \`D MMMM YYYY\`
237
+
238
+ **Output**: \`26 January 2026 - 30 January 2026\`
239
+
240
+ \`\`\`typescript
241
+ options: {
242
+ format: 'D MMMM YYYY'
243
+ }
244
+ \`\`\`
245
+ `,
246
+ },
247
+ },
248
+ },
249
+ };
250
+ /**
251
+ * Short format without year: DD MMM (e.g., "26 Jan")
252
+ */
253
+ export const ShortFormat = {
254
+ args: {
255
+ placeholder: "Select dates",
256
+ options: {
257
+ autoApply: true,
258
+ minDate: new Date(),
259
+ format: 'DD MMM',
260
+ numberOfColumns: 2,
261
+ numberOfMonths: 2,
262
+ }
263
+ },
264
+ parameters: {
265
+ docs: {
266
+ description: {
267
+ story: `
268
+ ### Short Format (No Year)
269
+
270
+ Compact format without year: \`DD MMM\`
271
+
272
+ **Output**: \`26 Jan - 30 Jan\`
273
+
274
+ Useful for short-term bookings where the year is implied.
275
+
276
+ \`\`\`typescript
277
+ options: {
278
+ format: 'DD MMM'
279
+ }
280
+ \`\`\`
281
+ `,
282
+ },
283
+ },
284
+ },
285
+ };
286
+ /**
287
+ * Custom placeholder text
288
+ */
289
+ export const CustomPlaceholder = {
290
+ args: {
291
+ placeholder: "When are you traveling?",
292
+ options: {
293
+ autoApply: true,
294
+ minDate: new Date(),
295
+ format: 'DD MMM YYYY',
296
+ numberOfColumns: 2,
297
+ numberOfMonths: 2,
298
+ }
299
+ },
300
+ parameters: {
301
+ docs: {
302
+ description: {
303
+ story: `
304
+ ### Custom Placeholder
305
+
306
+ Set a custom placeholder text for the input field.
307
+
308
+ - **Type**: \`string\`
309
+ - **Default**: \`'Select dates'\`
310
+
311
+ \`\`\`vue
312
+ <RangepickerInput placeholder="When are you traveling?" />
313
+ \`\`\`
314
+ `,
315
+ },
316
+ },
317
+ },
318
+ };
319
+ /**
320
+ * Booking-style placeholder
321
+ */
322
+ export const BookingPlaceholder = {
323
+ args: {
324
+ placeholder: "Check-in → Check-out",
325
+ options: {
326
+ autoApply: true,
327
+ minDate: new Date(),
328
+ format: 'ddd, DD MMM',
329
+ numberOfColumns: 2,
330
+ numberOfMonths: 2,
331
+ }
332
+ },
333
+ parameters: {
334
+ docs: {
335
+ description: {
336
+ story: `
337
+ ### Booking Style
338
+
339
+ Format with day of week: \`ddd, DD MMM\`
340
+
341
+ **Output**: \`Sun, 26 Jan - Thu, 30 Jan\`
342
+
343
+ \`\`\`typescript
344
+ options: {
345
+ format: 'ddd, DD MMM'
346
+ }
347
+ \`\`\`
348
+ `,
349
+ },
350
+ },
351
+ },
352
+ };
@@ -1,14 +1,50 @@
1
1
  import type { Meta, StoryObj } from "@storybook/vue3";
2
2
  import RangepickerInput from "./RangepickerInput.vue";
3
+ /**
4
+ * # Rangepicker
5
+ *
6
+ * A flexible date range picker component for Vue 3 applications.
7
+ *
8
+ * ## Features
9
+ *
10
+ * - 📅 Date range selection with visual calendar
11
+ * - 📱 Responsive design (desktop dropdown / mobile bottom sheet)
12
+ * - 🎨 Customizable colors via props
13
+ * - 🔒 Date constraints (min/max dates, min/max days)
14
+ * - 🎯 Holiday and disabled dates support
15
+ * - 🌍 Flexible date formatting via dayjs
16
+ *
17
+ * ## Quick Start
18
+ *
19
+ * ```vue
20
+ * <template>
21
+ * <RangepickerInput
22
+ * v-model="dates"
23
+ * placeholder="Check in / Check out"
24
+ * :options="{ minDate: new Date(), format: 'DD MMM YYYY' }"
25
+ * />
26
+ * </template>
27
+ * ```
28
+ *
29
+ * ## Props Documentation
30
+ *
31
+ * Explore the categorized stories in the sidebar:
32
+ * - **Modes** - Display variants and behavior modes
33
+ * - **Constraints** - Date limits and validation
34
+ * - **Formatting** - Date format patterns
35
+ * - **Theming** - Color customization
36
+ * - **Special Dates** - Holidays and disabled dates
37
+ */
3
38
  declare const meta: Meta<typeof RangepickerInput>;
4
39
  export default meta;
5
40
  type Story = StoryObj<typeof RangepickerInput>;
41
+ /**
42
+ * Default rangepicker with standard configuration.
43
+ * Click the input to open the calendar and select a date range.
44
+ */
6
45
  export declare const Default: Story;
46
+ /**
47
+ * Mobile variant displays the calendar as a bottom sheet overlay.
48
+ */
7
49
  export declare const Mobile: Story;
8
- export declare const CustomBlueColor: Story;
9
- export declare const CustomPurpleColor: Story;
10
- export declare const CustomRedColor: Story;
11
- export declare const CustomGreenColor: Story;
12
- export declare const CustomOrangeColor: Story;
13
- export declare const CustomPinkColor: Story;
14
50
  //# sourceMappingURL=RangepickerInput.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangepickerInput.stories.d.ts","sourceRoot":"","sources":["../src/RangepickerInput.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CA4EvC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAK7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAK/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAK/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAK7B,CAAC"}
1
+ {"version":3,"file":"RangepickerInput.stories.d.ts","sourceRoot":"","sources":["../src/RangepickerInput.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAyIvC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,KAmBpB,CAAC"}
@@ -1,27 +1,123 @@
1
1
  import { ref, watch } from "vue";
2
2
  import RangepickerInput from "./RangepickerInput.vue";
3
+ /**
4
+ * # Rangepicker
5
+ *
6
+ * A flexible date range picker component for Vue 3 applications.
7
+ *
8
+ * ## Features
9
+ *
10
+ * - 📅 Date range selection with visual calendar
11
+ * - 📱 Responsive design (desktop dropdown / mobile bottom sheet)
12
+ * - 🎨 Customizable colors via props
13
+ * - 🔒 Date constraints (min/max dates, min/max days)
14
+ * - 🎯 Holiday and disabled dates support
15
+ * - 🌍 Flexible date formatting via dayjs
16
+ *
17
+ * ## Quick Start
18
+ *
19
+ * ```vue
20
+ * <template>
21
+ * <RangepickerInput
22
+ * v-model="dates"
23
+ * placeholder="Check in / Check out"
24
+ * :options="{ minDate: new Date(), format: 'DD MMM YYYY' }"
25
+ * />
26
+ * </template>
27
+ * ```
28
+ *
29
+ * ## Props Documentation
30
+ *
31
+ * Explore the categorized stories in the sidebar:
32
+ * - **Modes** - Display variants and behavior modes
33
+ * - **Constraints** - Date limits and validation
34
+ * - **Formatting** - Date format patterns
35
+ * - **Theming** - Color customization
36
+ * - **Special Dates** - Holidays and disabled dates
37
+ */
3
38
  const meta = {
4
- title: "Components/Rangepicker",
39
+ title: "Components/Rangepicker/Overview",
5
40
  component: RangepickerInput,
41
+ tags: ['autodocs'],
42
+ parameters: {
43
+ docs: {
44
+ description: {
45
+ component: `
46
+ A flexible date range picker component with responsive design,
47
+ customizable theming, and comprehensive date constraints.
48
+
49
+ See the **Props** categories in the sidebar for detailed documentation.
50
+ `,
51
+ },
52
+ },
53
+ },
6
54
  argTypes: {
7
55
  modelValue: {
8
- control: "text"
56
+ control: "text",
57
+ description: "Two-way binding for formatted date range string",
58
+ table: {
59
+ type: { summary: "string" },
60
+ defaultValue: { summary: '""' },
61
+ },
9
62
  },
10
- options: {
11
- control: "object"
63
+ placeholder: {
64
+ control: "text",
65
+ description: "Placeholder text shown when no date is selected",
66
+ table: {
67
+ type: { summary: "string" },
68
+ defaultValue: { summary: "Select dates" },
69
+ },
12
70
  },
13
71
  variant: {
14
72
  control: "select",
15
- options: ["desktop", "mobile"]
73
+ options: ["desktop", "mobile"],
74
+ description: "Display variant - desktop shows dropdown, mobile shows bottom sheet",
75
+ table: {
76
+ type: { summary: "'desktop' | 'mobile'" },
77
+ defaultValue: { summary: "desktop" },
78
+ },
16
79
  },
17
80
  primaryColor: {
18
81
  control: "color",
19
- description: "Primary color for selected dates and highlights"
82
+ description: "Primary color for selected dates and highlights (HEX format)",
83
+ table: {
84
+ type: { summary: "string" },
85
+ },
20
86
  },
21
87
  secondaryColor: {
22
88
  control: "color",
23
- description: "Secondary color for hover states"
24
- }
89
+ description: "Secondary color for hover states (HEX format)",
90
+ table: {
91
+ type: { summary: "string" },
92
+ },
93
+ },
94
+ options: {
95
+ control: "object",
96
+ description: "Configuration options for the rangepicker",
97
+ table: {
98
+ type: { summary: "LitepickerOptions" },
99
+ },
100
+ },
101
+ id: {
102
+ control: "text",
103
+ description: "HTML id attribute for the input",
104
+ },
105
+ name: {
106
+ control: "text",
107
+ description: "HTML name attribute for the input",
108
+ },
109
+ readonly: {
110
+ control: "boolean",
111
+ description: "Whether the input is readonly",
112
+ table: {
113
+ type: { summary: "boolean" },
114
+ defaultValue: { summary: "true" },
115
+ },
116
+ },
117
+ close: {
118
+ control: "boolean",
119
+ description: "Programmatic control to close the picker",
120
+ },
25
121
  },
26
122
  args: {
27
123
  modelValue: "",
@@ -66,52 +162,57 @@ const meta = {
66
162
  return { args, modelValue };
67
163
  },
68
164
  template: `
69
- <div style="padding: 2rem; background: #f5f5f5; min-height: 360px;">
165
+ <div style="padding: 2rem; background: #f5f5f5; min-height: 400px;">
70
166
  <RangepickerInput v-bind="args" v-model="modelValue" class="form-control mb-0 shadow-none text-black lg:pl-2 border-0 w-full" />
71
167
  </div>
72
168
  `
73
169
  })
74
170
  };
75
171
  export default meta;
76
- export const Default = {};
172
+ /**
173
+ * Default rangepicker with standard configuration.
174
+ * Click the input to open the calendar and select a date range.
175
+ */
176
+ export const Default = {
177
+ parameters: {
178
+ docs: {
179
+ description: {
180
+ story: `
181
+ ### Default Configuration
182
+
183
+ The default rangepicker setup with:
184
+ - Desktop variant (dropdown calendar)
185
+ - Auto-apply enabled
186
+ - 2-month view
187
+ - Format: DD MMM YYYY
188
+ - Min date: Today
189
+
190
+ Click the input field to open the calendar.
191
+ `,
192
+ },
193
+ },
194
+ },
195
+ };
196
+ /**
197
+ * Mobile variant displays the calendar as a bottom sheet overlay.
198
+ */
77
199
  export const Mobile = {
78
200
  args: {
79
201
  variant: "mobile"
80
- }
81
- };
82
- export const CustomBlueColor = {
83
- args: {
84
- primaryColor: "#3b82f6",
85
- secondaryColor: "#60a5fa"
86
- }
87
- };
88
- export const CustomPurpleColor = {
89
- args: {
90
- primaryColor: "#8b5cf6",
91
- secondaryColor: "#a78bfa"
92
- }
93
- };
94
- export const CustomRedColor = {
95
- args: {
96
- primaryColor: "#ef4444",
97
- secondaryColor: "#f87171"
98
- }
99
- };
100
- export const CustomGreenColor = {
101
- args: {
102
- primaryColor: "#10b981",
103
- secondaryColor: "#34d399"
104
- }
105
- };
106
- export const CustomOrangeColor = {
107
- args: {
108
- primaryColor: "#f97316",
109
- secondaryColor: "#fb923c"
110
- }
111
- };
112
- export const CustomPinkColor = {
113
- args: {
114
- primaryColor: "#ec4899",
115
- secondaryColor: "#f472b6"
116
- }
202
+ },
203
+ parameters: {
204
+ docs: {
205
+ description: {
206
+ story: `
207
+ ### Mobile Variant
208
+
209
+ Displays the calendar as a bottom sheet overlay, optimized for touch devices.
210
+
211
+ \`\`\`vue
212
+ <RangepickerInput variant="mobile" />
213
+ \`\`\`
214
+ `,
215
+ },
216
+ },
217
+ },
117
218
  };
@@ -28,6 +28,7 @@ interface Props {
28
28
  variant?: 'desktop' | 'mobile';
29
29
  primaryColor?: string;
30
30
  secondaryColor?: string;
31
+ fontFamily?: string;
31
32
  }
32
33
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
33
34
  "update:modelValue": (value: string) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"RangepickerInput.vue.d.ts","sourceRoot":"","sources":["../src/RangepickerInput.vue"],"names":[],"mappings":"AA+MA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,GAAG,CAAA;IACjB,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,UAAU,KAAK;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;;;;;;;;aAHW,SAAS,GAAG,QAAQ;iBAJhB,MAAM;cACT,OAAO;;;;;AAyNpB,wBAUG"}
1
+ {"version":3,"file":"RangepickerInput.vue.d.ts","sourceRoot":"","sources":["../src/RangepickerInput.vue"],"names":[],"mappings":"AAqNA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,GAAG,CAAA;IACjB,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,UAAU,KAAK;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;;;;;;;;aAJW,SAAS,GAAG,QAAQ;iBAJhB,MAAM;cACT,OAAO;;;;;AA6NpB,wBAUG"}
@@ -0,0 +1,35 @@
1
+ import type { Meta, StoryObj } from "@storybook/vue3";
2
+ import RangepickerInput from "./RangepickerInput.vue";
3
+ /**
4
+ * Stories demonstrating different display modes and behaviors
5
+ * for the Rangepicker component.
6
+ */
7
+ declare const meta: Meta<typeof RangepickerInput>;
8
+ export default meta;
9
+ type Story = StoryObj<typeof RangepickerInput>;
10
+ /**
11
+ * Desktop variant displays the calendar as a dropdown below the input field.
12
+ * Best for desktop/laptop screens with sufficient viewport space.
13
+ */
14
+ export declare const DesktopVariant: Story;
15
+ /**
16
+ * Mobile variant displays the calendar as a bottom sheet overlay.
17
+ * Optimized for touch devices and smaller screens.
18
+ */
19
+ export declare const MobileVariant: Story;
20
+ /**
21
+ * Single date mode allows selecting only one date instead of a range.
22
+ * Useful for single date inputs like birth dates or event dates.
23
+ */
24
+ export declare const SingleMode: Story;
25
+ /**
26
+ * Auto Apply mode automatically confirms the selection when both dates are picked.
27
+ * No need to click an Apply/Confirm button.
28
+ */
29
+ export declare const AutoApply: Story;
30
+ /**
31
+ * Manual Apply mode requires clicking an Apply button to confirm selection.
32
+ * Gives users a chance to review before confirming.
33
+ */
34
+ export declare const ManualApply: Story;
35
+ //# sourceMappingURL=RangepickerModes.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangepickerModes.stories.d.ts","sourceRoot":"","sources":["../src/RangepickerModes.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAuFvC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAoB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAoB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KA6BxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KA2BvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KA2BzB,CAAC"}