@indico-data/design-system 2.36.4 → 2.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/index.css +40 -408
  2. package/lib/index.d.ts +122 -84
  3. package/lib/index.esm.css +40 -408
  4. package/lib/index.esm.js +15631 -16559
  5. package/lib/index.esm.js.map +1 -1
  6. package/lib/index.js +14165 -15092
  7. package/lib/index.js.map +1 -1
  8. package/lib/src/components/forms/date/datePicker/DatePicker.d.ts +3 -0
  9. package/lib/src/components/forms/date/datePicker/DatePicker.stories.d.ts +9 -0
  10. package/lib/src/components/forms/date/datePicker/contants.d.ts +21 -0
  11. package/lib/src/components/forms/date/datePicker/types.d.ts +48 -0
  12. package/lib/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.d.ts +22 -0
  13. package/lib/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.d.ts +6 -0
  14. package/lib/src/components/forms/date/iconTriggerDatePicker/index.d.ts +1 -0
  15. package/lib/src/components/forms/date/inputDatePicker/SingleInputDatePicker.d.ts +23 -0
  16. package/lib/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.d.ts +6 -0
  17. package/lib/src/components/forms/date/inputDatePicker/index.d.ts +1 -0
  18. package/lib/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.d.ts +23 -0
  19. package/lib/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.d.ts +6 -0
  20. package/lib/src/components/forms/date/inputDateRangePicker/index.d.ts +1 -0
  21. package/lib/src/components/forms/input/Input.d.ts +1 -0
  22. package/lib/src/components/index.d.ts +3 -0
  23. package/lib/src/components/skeleton/Skeleton.d.ts +2 -2
  24. package/lib/src/components/skeleton/Skeleton.stories.d.ts +1 -0
  25. package/lib/src/index.d.ts +4 -1
  26. package/lib/src/legacy/components/index.d.ts +1 -1
  27. package/lib/src/legacy/components/inputs/index.d.ts +0 -2
  28. package/package.json +2 -2
  29. package/src/components/forms/date/datePicker/DatePicker.mdx +41 -0
  30. package/src/components/forms/date/datePicker/DatePicker.stories.tsx +307 -0
  31. package/src/components/forms/date/datePicker/DatePicker.tsx +68 -0
  32. package/src/components/forms/date/datePicker/contants.ts +22 -0
  33. package/src/components/forms/date/datePicker/styles/DatePicker.scss +85 -0
  34. package/src/components/forms/date/datePicker/types.ts +59 -0
  35. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.mdx +17 -0
  36. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.tsx +201 -0
  37. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.tsx +89 -0
  38. package/src/components/forms/date/iconTriggerDatePicker/index.ts +1 -0
  39. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.mdx +18 -0
  40. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.tsx +208 -0
  41. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.tsx +117 -0
  42. package/src/components/forms/date/inputDatePicker/index.ts +1 -0
  43. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.mdx +18 -0
  44. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.tsx +208 -0
  45. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.tsx +117 -0
  46. package/src/components/forms/date/inputDateRangePicker/index.ts +1 -0
  47. package/src/components/forms/input/Input.tsx +3 -0
  48. package/src/components/index.ts +3 -0
  49. package/src/components/skeleton/Skeleton.stories.tsx +24 -4
  50. package/src/components/skeleton/Skeleton.tsx +4 -4
  51. package/src/index.ts +3 -2
  52. package/src/legacy/components/index.ts +0 -2
  53. package/src/legacy/components/inputs/index.ts +0 -2
  54. package/src/styles/index.scss +2 -1
  55. package/lib/src/legacy/components/inputs/DatePicker/DatePicker.d.ts +0 -15
  56. package/lib/src/legacy/components/inputs/DatePicker/DatePicker.stories.d.ts +0 -6
  57. package/lib/src/legacy/components/inputs/DatePicker/DatePicker.styles.d.ts +0 -1
  58. package/lib/src/legacy/components/inputs/DatePicker/index.d.ts +0 -1
  59. package/lib/src/legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.d.ts +0 -21
  60. package/lib/src/legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.stories.d.ts +0 -7
  61. package/lib/src/legacy/components/inputs/NoInputDatePicker/index.d.ts +0 -1
  62. package/src/legacy/components/inputs/DatePicker/DatePicker.stories.tsx +0 -30
  63. package/src/legacy/components/inputs/DatePicker/DatePicker.styles.ts +0 -437
  64. package/src/legacy/components/inputs/DatePicker/DatePicker.tsx +0 -165
  65. package/src/legacy/components/inputs/DatePicker/index.ts +0 -1
  66. package/src/legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.scss +0 -441
  67. package/src/legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.stories.tsx +0 -52
  68. package/src/legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.tsx +0 -245
  69. package/src/legacy/components/inputs/NoInputDatePicker/index.ts +0 -1
  70. /package/src/{legacy/components/inputs/NoInputDatePicker/__tests__/NoInputDatePicker.test.tsx → components/forms/date/iconTriggerDatePicker/__tests__/IconTriggerDatePicker.test.tsx} +0 -0
@@ -0,0 +1,68 @@
1
+ import React from 'react';
2
+ import { DateRange, DayPicker, Mode, OnSelectHandler } from 'react-day-picker';
3
+ import { DatePickerProps } from './types';
4
+ import { getCommonProps } from './contants';
5
+
6
+ export const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>((props) => {
7
+ const {
8
+ mode = 'single',
9
+ className,
10
+ captionLayout = 'dropdown',
11
+ selected,
12
+ id,
13
+ month,
14
+ defaultMonth,
15
+ startMonth,
16
+ endMonth,
17
+ components,
18
+ numberOfMonths,
19
+ isDisabled,
20
+ formatters,
21
+ weekStartsOn,
22
+ firstWeekContainsDate,
23
+ today,
24
+ isRequired,
25
+ min,
26
+ max,
27
+ onSelect,
28
+ onMonthChange,
29
+ onNextClick,
30
+ onPrevClick,
31
+ onDayClick,
32
+ ...rest
33
+ } = props;
34
+
35
+ const commonProps = getCommonProps(props);
36
+
37
+ const modeMap: {
38
+ [key: string]: {
39
+ mode: Mode | undefined;
40
+ selected: any;
41
+ onSelect: any;
42
+ numberOfMonths: number | undefined;
43
+ };
44
+ } = {
45
+ single: {
46
+ mode: 'single',
47
+ numberOfMonths: numberOfMonths ?? 1,
48
+ selected: selected as Date | undefined,
49
+ onSelect: onSelect as OnSelectHandler<Date>,
50
+ },
51
+ multiple: {
52
+ mode: 'multiple',
53
+ numberOfMonths: numberOfMonths ?? 1,
54
+ selected: selected as Date[] | undefined,
55
+ onSelect: onSelect as OnSelectHandler<Date[]> | undefined,
56
+ },
57
+ range: {
58
+ mode: 'range',
59
+ numberOfMonths: numberOfMonths ?? 2,
60
+ selected: selected as DateRange | undefined,
61
+ onSelect: onSelect as OnSelectHandler<DateRange>,
62
+ },
63
+ };
64
+
65
+ const modeProps = modeMap[mode];
66
+
67
+ return <DayPicker {...modeProps} {...commonProps} {...rest} />;
68
+ });
@@ -0,0 +1,22 @@
1
+ import { CommonProps } from './types';
2
+
3
+ export const getCommonProps = (props: CommonProps) => ({
4
+ className: props.className,
5
+ id: props.id,
6
+ month: props.month,
7
+ captionLayout: props.captionLayout,
8
+ defaultMonth: props.defaultMonth,
9
+ startMonth: props.startMonth,
10
+ endMonth: props.endMonth,
11
+ components: props.components,
12
+ isDisabled: props.isDisabled,
13
+ formatters: props.formatters,
14
+ weekStartsOn: props.weekStartsOn,
15
+ firstWeekContainsDate: props.firstWeekContainsDate,
16
+ today: props.today,
17
+ required: props.isRequired,
18
+ onMonthChange: props.onMonthChange,
19
+ onNextClick: props.onNextClick,
20
+ onPrevClick: props.onPrevClick,
21
+ onDayClick: props.onDayClick,
22
+ });
@@ -0,0 +1,85 @@
1
+ @import 'react-day-picker/style.css';
2
+
3
+ :root [data-theme='light'] {
4
+ --pf-date-picker-background-color: var(--pf-white-color);
5
+ --pf-date-picker-selected-date-background-color: var(--pf-primary-color);
6
+ --pf-date-picker-selected-date-font-color: var(--pf-white-color);
7
+
8
+ .rdp-root {
9
+ --rdp-accent-color: var(--pf-link-color);
10
+ --rdp-font-family: var(--pf-font-family-base);
11
+
12
+ // range
13
+ --rdp-range_middle-background-color: var(--pf-primary-color-300);
14
+ }
15
+ }
16
+
17
+ :root [data-theme='dark'] {
18
+ // months
19
+ --pf-date-picker-background-color: var(--pf-primary-color-400);
20
+
21
+ // day
22
+ --pf-date-picker-selected-date-background-color: var(--pf-secondary-color-300);
23
+ --pf-date-picker-selected-date-font-color: var(--pf-white-color);
24
+
25
+ .rdp-root {
26
+ --rdp-accent-color: var(--pf-link-color);
27
+ --rdp-accent-background-color: var(--pf-primary-color-200);
28
+ --rdp-font-family: var(--pf-font-family-base);
29
+
30
+ // range
31
+ --rdp-range_middle-background-color: var(--pf-primary-color-600);
32
+ }
33
+ }
34
+
35
+ // Navigation
36
+
37
+ .rdp-chevron {
38
+ margin-left: var(--pf-margin-1);
39
+ }
40
+
41
+ // Calendar
42
+
43
+ .rdp-months {
44
+ background-color: var(--pf-date-picker-background-color);
45
+ padding: var(--pf-padding-3);
46
+ border-radius: var(--pf-rounded);
47
+ border: solid var(--pf-border-thin) var(--pf-border-color);
48
+ .rdp-nav {
49
+ margin-top: var(--pf-margin-3);
50
+ margin-right: var(--pf-margin-3);
51
+ }
52
+ .rdp-month_caption {
53
+ padding-left: var(--pf-margin-3);
54
+ }
55
+ }
56
+
57
+ .rdp-week {
58
+ margin-bottom: var(--pf-margin-4);
59
+ }
60
+
61
+ .rdp-day {
62
+ .rdp-day_button {
63
+ border: none;
64
+ }
65
+
66
+ &.rdp-today {
67
+ .rdp-day_button {
68
+ background-color: var(--pf-primary-color-300);
69
+ color: var(--pf-date-picker-selected-date-font-color);
70
+ }
71
+ }
72
+
73
+ &.rdp-selected {
74
+ .rdp-day_button {
75
+ background-color: var(--pf-date-picker-selected-date-background-color);
76
+ color: var(--pf-date-picker-selected-date-font-color);
77
+ }
78
+ }
79
+
80
+ &.rdp-range_middle {
81
+ .rdp-day_button {
82
+ background-color: transparent;
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,59 @@
1
+ import {
2
+ CustomComponents,
3
+ DateRange,
4
+ DayEventHandler,
5
+ Formatters,
6
+ Matcher,
7
+ Mode,
8
+ MonthChangeEventHandler,
9
+ OnSelectHandler,
10
+ } from 'react-day-picker';
11
+
12
+ export interface DatePickerProps {
13
+ selected?: Date | DateRange | undefined;
14
+ onSelect?: OnSelectHandler<Date> | OnSelectHandler<DateRange>;
15
+ mode?: Mode;
16
+ className?: string;
17
+ captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
18
+ id?: string;
19
+ month?: Date;
20
+ defaultMonth?: Date;
21
+ startMonth?: Date | undefined;
22
+ endMonth?: Date;
23
+ components?: Partial<CustomComponents>;
24
+ numberOfMonths?: number;
25
+ isDisabled?: Matcher | Matcher[] | undefined;
26
+ formatters?: Partial<Formatters>;
27
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
28
+ firstWeekContainsDate?: 1 | 4;
29
+ today?: Date;
30
+ isRequired?: any;
31
+ min?: number;
32
+ max?: number;
33
+ onMonthChange?: MonthChangeEventHandler;
34
+ onNextClick?: MonthChangeEventHandler;
35
+ onPrevClick?: MonthChangeEventHandler;
36
+ onDayClick?: DayEventHandler<React.MouseEvent>;
37
+ }
38
+
39
+ export interface CommonProps {
40
+ className?: string;
41
+ id?: string;
42
+ month?: Date;
43
+ captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
44
+ defaultMonth?: Date;
45
+ startMonth?: Date | undefined;
46
+ endMonth?: Date;
47
+ components?: Partial<CustomComponents>;
48
+ numberOfMonths?: number;
49
+ isDisabled?: Matcher | Matcher[] | undefined;
50
+ formatters?: Partial<Formatters>;
51
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
52
+ firstWeekContainsDate?: 1 | 4;
53
+ isRequired?: any;
54
+ today?: Date;
55
+ onMonthChange?: MonthChangeEventHandler;
56
+ onNextClick?: MonthChangeEventHandler;
57
+ onPrevClick?: MonthChangeEventHandler;
58
+ onDayClick?: DayEventHandler<React.MouseEvent>;
59
+ }
@@ -0,0 +1,17 @@
1
+ import { Canvas, Meta, Controls } from '@storybook/blocks';
2
+ import * as IconTriggerDatePicker from './IconTriggerDatePicker.stories';
3
+ import { Row, Col } from '../../../grid/index';
4
+
5
+ <Meta title="Forms/DatePicker/IconTriggerDatePicker" name="IconTriggerDatePicker" />
6
+
7
+ # IconTriggerDatePicker
8
+ The No Input Date Picker is to be used when we need to open the datepicker with a simple icon and dont care about the user typing in a value. It leverages our DatePicker component inside of a popper window.
9
+ <Canvas of={IconTriggerDatePicker.Default} />
10
+
11
+ ## Props
12
+ In addition to the props listed below, it also accepts all props listed [here](story=?path=/docs/forms-datepicker--datepicker)
13
+ <Controls of={IconTriggerDatePicker.Default} />
14
+
15
+
16
+ ## ToDo
17
+ - Create single component for all dropdown date pickers that accept an react element as the trigger, such as an icon, button, component, input, etc.
@@ -0,0 +1,201 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { useArgs } from '@storybook/preview-api';
3
+ import { IconTriggerDatePicker } from '@/components/forms/date/iconTriggerDatePicker';
4
+ import { DateRange } from 'react-day-picker';
5
+
6
+ const meta: Meta<typeof IconTriggerDatePicker> = {
7
+ component: IconTriggerDatePicker,
8
+ title: 'Forms/DatePicker/IconTriggerDatePicker',
9
+ decorators: [
10
+ (Story) => (
11
+ <div style={{ height: '400px' }}>
12
+ <Story />
13
+ </div>
14
+ ),
15
+ ],
16
+ argTypes: {
17
+ ariaLabel: {
18
+ control: 'text',
19
+ description: 'A label for assistive technologies.',
20
+ table: {
21
+ category: 'Props',
22
+ type: {
23
+ summary: 'string',
24
+ },
25
+ },
26
+ },
27
+ className: {
28
+ control: false,
29
+ description: 'Accepts a CSS class name',
30
+ table: {
31
+ category: 'Props',
32
+ type: {
33
+ summary: 'string',
34
+ },
35
+ },
36
+ },
37
+ id: {
38
+ control: 'text',
39
+ description: 'The id of the input field.',
40
+ table: {
41
+ category: 'Props',
42
+ type: {
43
+ summary: 'string',
44
+ },
45
+ },
46
+ },
47
+ label: {
48
+ control: 'text',
49
+ description: 'The label for the input field.',
50
+ table: {
51
+ category: 'Props',
52
+ type: {
53
+ summary: 'string',
54
+ },
55
+ },
56
+ },
57
+ month: {
58
+ control: 'date',
59
+ description: 'The month to display.',
60
+ table: {
61
+ category: 'Props',
62
+ type: {
63
+ summary: 'Date',
64
+ },
65
+ },
66
+ },
67
+ triggerIcon: {
68
+ control: 'text',
69
+ description: 'The icon to use as a trigger.',
70
+ table: {
71
+ category: 'Props',
72
+ type: {
73
+ summary: 'IconName',
74
+ },
75
+ },
76
+ },
77
+ triggerIconSize: {
78
+ control: 'select',
79
+ options: ['sm', 'md', 'lg'],
80
+ description: 'The size of the trigger icon.',
81
+ table: {
82
+ category: 'Props',
83
+ type: {
84
+ summary: 'IconSizes',
85
+ },
86
+ },
87
+ },
88
+ isOpen: {
89
+ control: false,
90
+ description: 'Whether the date picker is open.',
91
+ table: {
92
+ category: 'Props',
93
+ type: {
94
+ summary: 'boolean',
95
+ },
96
+ },
97
+ },
98
+ selected: {
99
+ control: 'date',
100
+ description: 'The selected day(s).',
101
+ table: {
102
+ category: 'Props',
103
+ type: {
104
+ summary: 'Date | Date[] | DateRange | undefined',
105
+ },
106
+ },
107
+ },
108
+ mode: {
109
+ control: 'select',
110
+ options: ['single', 'range', 'multiple'],
111
+ description: 'Allows you to select a single day, a range of days, or multiple days.',
112
+ table: {
113
+ category: 'Props',
114
+ type: {
115
+ summary: 'single | range | multiple',
116
+ },
117
+ },
118
+ },
119
+ clearOnClose: {
120
+ control: 'boolean',
121
+ description: 'Clear the selected date(s) when the date picker closes.',
122
+ table: {
123
+ category: 'Props',
124
+ type: {
125
+ summary: 'boolean',
126
+ },
127
+ },
128
+ },
129
+ disableAfterDate: {
130
+ control: 'date',
131
+ description: 'Disable dates after this date.',
132
+ table: {
133
+ category: 'Props',
134
+ type: {
135
+ summary: 'Date',
136
+ },
137
+ },
138
+ },
139
+ disableBeforeDate: {
140
+ control: 'date',
141
+ description: 'Disable dates before this date.',
142
+ table: {
143
+ category: 'Props',
144
+ type: {
145
+ summary: 'Date',
146
+ },
147
+ },
148
+ },
149
+ isDisabled: {
150
+ control: 'boolean',
151
+ description: 'Disable the date picker.',
152
+ table: {
153
+ category: 'Props',
154
+ type: {
155
+ summary: 'boolean',
156
+ },
157
+ },
158
+ },
159
+ 'data-testid': {
160
+ table: {
161
+ disable: true,
162
+ },
163
+ },
164
+ onSelect: {
165
+ control: false,
166
+ description: 'Event handler when a day is selected.',
167
+ table: {
168
+ category: 'Callbacks',
169
+ type: {
170
+ summary: 'OnSelectHandler<Date> | OnSelectHandler<DateRange>',
171
+ },
172
+ },
173
+ action: 'onSelect',
174
+ },
175
+ },
176
+ };
177
+
178
+ export default meta;
179
+
180
+ type Story = StoryObj<typeof IconTriggerDatePicker>;
181
+
182
+ export const Default: Story = {
183
+ args: {
184
+ id: 'date-picker',
185
+ label: 'Pick a date:',
186
+ ariaLabel: 'Select a date',
187
+ isDisabled: false,
188
+ isOpen: false,
189
+ triggerIcon: 'calendar',
190
+ triggerIconSize: 'lg',
191
+ clearOnClose: true,
192
+ },
193
+ render: (args) => {
194
+ const [{ selected }, updateArgs] = useArgs();
195
+ const handleSelect = (date: Date | DateRange | Date[] | undefined) => {
196
+ updateArgs({ selected: date });
197
+ };
198
+
199
+ return <IconTriggerDatePicker {...args} selected={selected} onSelect={handleSelect} />;
200
+ },
201
+ };
@@ -0,0 +1,89 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { DateRange, OnSelectHandler, Mode } from 'react-day-picker';
3
+ import { IconName, IconSizes } from '@/types';
4
+ import { FloatUI, Icon } from '@/components';
5
+ import { DatePicker } from '@/components/forms/date/datePicker/DatePicker';
6
+
7
+ interface Props {
8
+ mode?: Mode;
9
+ ariaLabel: string;
10
+ disableBeforeDate?: Date;
11
+ disableAfterDate?: Date;
12
+ isDisabled?: boolean;
13
+ id: string;
14
+ label?: string;
15
+ onSelect?: (selected: Date | DateRange | Date[] | undefined) => void;
16
+ month?: Date;
17
+ selected?: Date | DateRange | Date[] | undefined;
18
+ triggerIcon: IconName;
19
+ triggerIconSize: IconSizes;
20
+ isOpen?: boolean;
21
+ clearOnClose?: boolean;
22
+ className?: string;
23
+ 'data-testid'?: string;
24
+ }
25
+
26
+ export const IconTriggerDatePicker = (props: Props) => {
27
+ const {
28
+ ariaLabel,
29
+ className,
30
+ isDisabled,
31
+ disableBeforeDate,
32
+ disableAfterDate,
33
+ month,
34
+ id,
35
+ label,
36
+ onSelect,
37
+ selected,
38
+ triggerIcon,
39
+ triggerIconSize,
40
+ mode,
41
+ isOpen,
42
+ clearOnClose,
43
+ ...rest
44
+ } = props;
45
+
46
+ const [localSelected, setLocalSelected] = useState<Date | DateRange | Date[] | undefined>(
47
+ selected || undefined,
48
+ );
49
+
50
+ const handleSelect: OnSelectHandler<Date> = (date) => {
51
+ if (!date) {
52
+ onSelect && onSelect(undefined);
53
+ setLocalSelected(undefined);
54
+ } else {
55
+ onSelect && onSelect(date);
56
+ setLocalSelected(date);
57
+ }
58
+ };
59
+
60
+ // clear selection if clear on close is true
61
+ useEffect(() => {
62
+ if (!isOpen && clearOnClose) {
63
+ setLocalSelected(undefined);
64
+ }
65
+ }, [isOpen, clearOnClose]);
66
+
67
+ return (
68
+ <FloatUI isOpen={isOpen} ariaLabel={ariaLabel}>
69
+ <Icon
70
+ aria-label="Open date picker"
71
+ name={triggerIcon}
72
+ size={triggerIconSize}
73
+ className="date__picker__trigger"
74
+ data-testid={`datepicker-trigger-for-${id}`}
75
+ />
76
+
77
+ <DatePicker
78
+ isDisabled={isDisabled}
79
+ mode={mode}
80
+ month={month}
81
+ selected={localSelected as Date | DateRange | undefined}
82
+ onSelect={handleSelect}
83
+ startMonth={disableBeforeDate}
84
+ endMonth={disableAfterDate}
85
+ {...rest}
86
+ />
87
+ </FloatUI>
88
+ );
89
+ };
@@ -0,0 +1 @@
1
+ export { IconTriggerDatePicker } from './IconTriggerDatePicker';
@@ -0,0 +1,18 @@
1
+ import { Canvas, Meta, Controls } from '@storybook/blocks';
2
+ import * as SingleInputDatePicker from './SingleInputDatePicker.stories';
3
+ import { Row, Col } from '../../../grid/index';
4
+
5
+ <Meta title="Forms/DatePicker/SingleInputDatePicker" name="SingleInputDatePicker" />
6
+
7
+ # Single Input Date Picker
8
+ The Single Input Date Picker is a visual representation of an input field that allows you to enter a date value to the input or select a date from the date picker. It leverages our DatePicker component inside of a FloatingUI window.
9
+
10
+ <Canvas of={SingleInputDatePicker.SingleInput} />
11
+
12
+ ## Props
13
+ In addition to the props listed below, it also accepts all props listed [here](story=?path=/docs/forms-datepicker--datepicker)
14
+ <Controls of={SingleInputDatePicker.SingleInput} />
15
+
16
+
17
+ ## ToDo
18
+ - Create single component for all dropdown date pickers that accept an react element as the trigger, such as an icon, button, component, input, etc.