@igne-agency/react-web-ui 0.3.0 → 0.4.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.
- package/README.md +32 -1
- package/dist/components/accordion/accordion.css +24 -19
- package/dist/components/accordion/accordion.d.ts +19 -3
- package/dist/components/accordion/accordion.js +86 -32
- package/dist/components/accordion/accordion.module.js +8 -8
- package/dist/components/active-filters/active-filter-describers.d.ts +1 -1
- package/dist/components/active-filters/active-filter-describers.js +1 -1
- package/dist/components/active-filters/active-filters.d.ts +35 -2
- package/dist/components/active-filters/active-filters.js +57 -52
- package/dist/components/active-filters/index.js +2 -2
- package/dist/components/attachment-tile/attachment-preview.d.ts +11 -9
- package/dist/components/attachment-tile/attachment-preview.js +102 -68
- package/dist/components/attachment-tile/attachment-tile.css +22 -13
- package/dist/components/attachment-tile/attachment-tile.d.ts +51 -6
- package/dist/components/attachment-tile/attachment-tile.js +209 -85
- package/dist/components/attachment-tile/attachment-tile.module.js +10 -10
- package/dist/components/attachment-tile/index.d.ts +1 -1
- package/dist/components/attachment-tile/index.js +2 -2
- package/dist/components/avatar/avatar.d.ts +5 -5
- package/dist/components/avatar/avatar.js +64 -37
- package/dist/components/avatar-group/avatar-group.js +2 -2
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +22 -7
- package/dist/components/breadcrumbs/breadcrumbs.js +189 -170
- package/dist/components/button/button.d.ts +2 -3
- package/dist/components/button/button.js +58 -77
- package/dist/components/button/close-button.d.ts +4 -2
- package/dist/components/button/close-button.js +9 -9
- package/dist/components/checkbox-field/checkbox-field.d.ts +17 -3
- package/dist/components/checkbox-field/checkbox-field.js +108 -131
- package/dist/components/checkbox-field/checkbox.css +26 -34
- package/dist/components/checkbox-field/checkbox.d.ts +51 -8
- package/dist/components/checkbox-field/checkbox.js +221 -57
- package/dist/components/checkbox-field/checkbox.module.js +6 -8
- package/dist/components/checkbox-field/index.d.ts +0 -1
- package/dist/components/checkbox-field/index.js +1 -2
- package/dist/components/checkbox-field/tsf-checkbox-field.d.ts +2 -2
- package/dist/components/checkbox-group-field/checkbox-group-field.d.ts +4 -1
- package/dist/components/checkbox-group-field/checkbox-group-field.js +54 -50
- package/dist/components/checkbox-group-field/checkbox-group.d.ts +7 -2
- package/dist/components/checkbox-group-field/checkbox-group.js +8 -3
- package/dist/components/collapsible/collapsible.css +23 -18
- package/dist/components/collapsible/collapsible.d.ts +18 -3
- package/dist/components/collapsible/collapsible.js +85 -32
- package/dist/components/collapsible/collapsible.module.js +7 -7
- package/dist/components/combobox-field/combobox-field.d.ts +9 -1
- package/dist/components/combobox-field/combobox-field.js +195 -175
- package/dist/components/combobox-field/combobox-items.d.ts +2 -2
- package/dist/components/combobox-field/combobox-items.js +4 -4
- package/dist/components/combobox-field/combobox.css +99 -96
- package/dist/components/combobox-field/combobox.d.ts +94 -15
- package/dist/components/combobox-field/combobox.js +484 -159
- package/dist/components/combobox-field/combobox.module.js +21 -21
- package/dist/components/combobox-field/index.d.ts +0 -1
- package/dist/components/combobox-field/selection.d.ts +4 -1
- package/dist/components/combobox-field/value-state-view.css +7 -3
- package/dist/components/combobox-field/value-state-view.d.ts +4 -2
- package/dist/components/combobox-field/value-state-view.js +15 -15
- package/dist/components/combobox-field/value-state-view.module.js +6 -4
- package/dist/components/composer/composer-attachments.d.ts +11 -3
- package/dist/components/composer/composer-attachments.js +61 -47
- package/dist/components/composer/composer-editor.d.ts +2 -1
- package/dist/components/composer/composer-editor.js +79 -71
- package/dist/components/composer/composer-mentions.js +2 -2
- package/dist/components/composer/composer.d.ts +42 -21
- package/dist/components/composer/composer.js +201 -58
- package/dist/components/composer/mention-text.js +3 -3
- package/dist/components/confirm-dialog/confirm-dialog.d.ts +8 -7
- package/dist/components/confirm-dialog/confirm-dialog.js +10 -9
- package/dist/components/conversation/conversation.context.d.ts +0 -5
- package/dist/components/conversation/conversation.d.ts +63 -29
- package/dist/components/conversation/conversation.js +193 -82
- package/dist/components/conversation/index.d.ts +1 -1
- package/dist/components/date-field/date-field.d.ts +10 -4
- package/dist/components/date-field/date-field.js +57 -43
- package/dist/components/date-field/date-input.d.ts +20 -3
- package/dist/components/date-field/date-input.js +28 -13
- package/dist/components/date-field/index.d.ts +1 -1
- package/dist/components/date-field/tsf-date-field.d.ts +1 -1
- package/dist/components/date-field/tsf-date-field.js +1 -1
- package/dist/components/date-range-field/date-range-field.d.ts +8 -4
- package/dist/components/date-range-field/date-range-field.js +57 -45
- package/dist/components/date-range-field/date-range-input.d.ts +20 -3
- package/dist/components/date-range-field/date-range-input.js +27 -12
- package/dist/components/date-range-field/tsf-date-range-field.d.ts +1 -1
- package/dist/components/date-range-field/tsf-date-range-field.js +1 -1
- package/dist/components/detail-list/detail-list.d.ts +28 -27
- package/dist/components/detail-list/detail-list.js +177 -121
- package/dist/components/dialog/dialog.d.ts +47 -27
- package/dist/components/dialog/dialog.js +101 -38
- package/dist/components/divider/divider.js +1 -1
- package/dist/components/drawer/drawer.d.ts +48 -30
- package/dist/components/drawer/drawer.js +113 -41
- package/dist/components/email-field/email-field.d.ts +5 -3
- package/dist/components/email-field/email-field.js +1 -3
- package/dist/components/email-field/tsf-email-field.d.ts +3 -2
- package/dist/components/empty-message/empty-message.d.ts +3 -3
- package/dist/components/empty-message/empty-message.js +3 -3
- package/dist/components/error-boundary/error-boundary.d.ts +5 -2
- package/dist/components/error-boundary/error-boundary.js +2 -3
- package/dist/components/error-message/error-message.d.ts +1 -1
- package/dist/components/error-message/error-message.js +1 -1
- package/dist/components/error-text/error-text.js +3 -3
- package/dist/components/field/field.d.ts +5 -5
- package/dist/components/field/field.js +9 -9
- package/dist/components/field/index.js +2 -2
- package/dist/components/field/input-parts.js +1 -1
- package/dist/components/field-placeholder/field-placeholder.d.ts +4 -1
- package/dist/components/field-placeholder/field-placeholder.js +41 -26
- package/dist/components/fieldset/field-group.js +1 -1
- package/dist/components/fieldset/fieldset-root.js +1 -1
- package/dist/components/fieldset/fieldset.css +4 -3
- package/dist/components/fieldset/fieldset.js +1 -1
- package/dist/components/fieldset/fieldset.module.js +2 -2
- package/dist/components/file-field/file-field.css +19 -15
- package/dist/components/file-field/file-field.d.ts +10 -1
- package/dist/components/file-field/file-field.js +130 -109
- package/dist/components/file-field/file-field.module.js +6 -4
- package/dist/components/file-field/file-input.d.ts +32 -9
- package/dist/components/file-field/file-input.js +94 -74
- package/dist/components/filter-bar/filter-bar.d.ts +79 -51
- package/dist/components/filter-bar/filter-bar.js +552 -216
- package/dist/components/form/form.d.ts +4 -6
- package/dist/components/form/form.js +6 -8
- package/dist/components/icon/icon.d.ts +5 -10
- package/dist/components/icon/icon.js +4 -6
- package/dist/components/link/link.js +1 -1
- package/dist/components/link-button/link-button.d.ts +1 -2
- package/dist/components/link-button/link-button.js +12 -22
- package/dist/components/loading-message/loading-message.d.ts +2 -2
- package/dist/components/loading-message/loading-message.js +1 -1
- package/dist/components/locale-provider/locale-provider.js +1 -1
- package/dist/components/menu/menu.d.ts +40 -22
- package/dist/components/menu/menu.js +100 -40
- package/dist/components/nav/nav-context.d.ts +0 -1
- package/dist/components/nav/nav-context.js +1 -2
- package/dist/components/nav/nav-item-view.d.ts +7 -7
- package/dist/components/nav/nav-item-view.js +27 -51
- package/dist/components/nav/nav.css +72 -60
- package/dist/components/nav/nav.d.ts +15 -8
- package/dist/components/nav/nav.js +105 -52
- package/dist/components/nav/nav.module.js +14 -14
- package/dist/components/number-field/number-field.d.ts +7 -1
- package/dist/components/number-field/number-field.js +98 -82
- package/dist/components/number-field/number-input.d.ts +53 -4
- package/dist/components/number-field/number-input.js +68 -21
- package/dist/components/number-field/tsf-number-field.d.ts +1 -1
- package/dist/components/number-field/tsf-number-field.js +1 -1
- package/dist/components/otp-field/otp-input.d.ts +25 -0
- package/dist/components/otp-field/otp-input.js +26 -1
- package/dist/components/pagination/pagination.d.ts +82 -23
- package/dist/components/pagination/pagination.js +656 -229
- package/dist/components/password-field/password-field.d.ts +7 -1
- package/dist/components/password-field/password-field.js +117 -126
- package/dist/components/password-field/password-strength.js +1 -1
- package/dist/components/password-field/tsf-password-field.d.ts +1 -1
- package/dist/components/password-field/tsf-password-field.js +1 -1
- package/dist/components/photo-field/photo-field.d.ts +17 -3
- package/dist/components/photo-field/photo-field.js +168 -89
- package/dist/components/photo-field/photo-input-context.d.ts +25 -0
- package/dist/components/photo-field/photo-input-context.js +14 -0
- package/dist/components/photo-field/photo-input.d.ts +58 -23
- package/dist/components/photo-field/photo-input.js +459 -261
- package/dist/components/popover/popover.d.ts +55 -23
- package/dist/components/popover/popover.js +205 -61
- package/dist/components/radio-group-field/radio-group.js +1 -1
- package/dist/components/search-field/search-field.d.ts +7 -5
- package/dist/components/search-field/search-field.js +4 -6
- package/dist/components/search-field/tsf-search-field.d.ts +1 -1
- package/dist/components/search-field/tsf-search-field.js +1 -1
- package/dist/components/segmented-control-field/segmented-control.js +1 -1
- package/dist/components/select-field/select-field.d.ts +7 -1
- package/dist/components/select-field/select-field.js +151 -139
- package/dist/components/select-field/select.d.ts +28 -6
- package/dist/components/select-field/select.js +234 -149
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/spinner/spinner.css +47 -1
- package/dist/components/spinner/spinner.js +28 -11
- package/dist/components/spinner/spinner.module.js +18 -3
- package/dist/components/stale/stale.d.ts +17 -21
- package/dist/components/stale/stale.js +307 -129
- package/dist/components/status-message/status-message.css +22 -21
- package/dist/components/status-message/status-message.d.ts +10 -5
- package/dist/components/status-message/status-message.js +20 -24
- package/dist/components/status-message/status-message.module.js +6 -6
- package/dist/components/status-message/status-preset.d.ts +4 -5
- package/dist/components/status-message/status-preset.js +3 -3
- package/dist/components/switch-field/switch.js +1 -1
- package/dist/components/tabs/tabs.d.ts +51 -28
- package/dist/components/tabs/tabs.js +219 -144
- package/dist/components/tag/tag.css +23 -21
- package/dist/components/tag/tag.d.ts +17 -15
- package/dist/components/tag/tag.js +140 -65
- package/dist/components/tag/tag.module.js +3 -3
- package/dist/components/tag-group/tag-group.css +30 -27
- package/dist/components/tag-group/tag-group.d.ts +10 -4
- package/dist/components/tag-group/tag-group.js +47 -35
- package/dist/components/tag-group/tag-group.module.js +4 -4
- package/dist/components/text-field/text-field.d.ts +14 -3
- package/dist/components/text-field/text-field.js +154 -133
- package/dist/components/text-field/text-input.d.ts +89 -3
- package/dist/components/text-field/text-input.js +184 -70
- package/dist/components/textarea-field/textarea.js +1 -1
- package/dist/components/time-field/time-input.d.ts +6 -0
- package/dist/components/time-field/time-input.js +6 -0
- package/dist/components/time-zone-provider/time-zone-provider.js +1 -1
- package/dist/components/toast/index.js +2 -2
- package/dist/components/toast/toast-provider.css +38 -34
- package/dist/components/toast/toast-provider.d.ts +65 -3
- package/dist/components/toast/toast-provider.js +313 -148
- package/dist/components/toast/toast-provider.module.js +11 -17
- package/dist/components/toast/toast.d.ts +5 -1
- package/dist/components/toast/toast.js +2 -1
- package/dist/components/toggle-group-field/toggle-group.js +1 -1
- package/dist/components/tooltip/tooltip.d.ts +6 -6
- package/dist/components/tooltip/tooltip.js +7 -7
- package/dist/data-table/data-table-content.d.ts +18 -10
- package/dist/data-table/data-table-content.js +145 -290
- package/dist/data-table/data-table-context.d.ts +4 -2
- package/dist/data-table/data-table-context.js +1 -1
- package/dist/data-table/data-table-parts.d.ts +99 -0
- package/dist/data-table/data-table-parts.js +1182 -0
- package/dist/data-table/data-table-selection.d.ts +7 -3
- package/dist/data-table/data-table-selection.js +62 -37
- package/dist/data-table/data-table.css +100 -95
- package/dist/data-table/data-table.d.ts +49 -25
- package/dist/data-table/data-table.js +95 -83
- package/dist/data-table/data-table.module.js +34 -34
- package/dist/data-table/index.d.ts +2 -1
- package/dist/data-table/index.js +2 -1
- package/dist/data-view/use-data-view.d.ts +2 -2
- package/dist/data-view/use-data-view.js +2 -2
- package/dist/index.js +7 -8
- package/dist/lib/calendar/calendar-navigation.d.ts +9 -2
- package/dist/lib/calendar/calendar-navigation.js +72 -73
- package/dist/lib/calendar/calendar-year.d.ts +4 -3
- package/dist/lib/calendar/calendar-year.js +137 -156
- package/dist/lib/calendar/temporal.d.ts +18 -12
- package/dist/lib/calendar/temporal.js +191 -147
- package/dist/lib/table-storage.d.ts +2 -2
- package/dist/lib/table-storage.js +2 -2
- package/dist/lib/unsaved-changes/leave-guard.js +1 -1
- package/dist/terrazzo/index.d.ts +16 -0
- package/dist/terrazzo/index.js +94 -2
- package/dist/tokens.css +71 -69
- package/package.json +3 -2
- package/tokens/ref.tokens.json +0 -30
- package/tokens/sys.tokens.json +0 -7
- package/dist/assets/spinner.js +0 -28
- package/dist/components/checkbox-field/checkbox-glyph.d.ts +0 -12
- package/dist/components/checkbox-field/checkbox-glyph.js +0 -38
- package/dist/components/combobox-field/combobox-popup-body.d.ts +0 -34
- package/dist/components/combobox-field/combobox-popup-body.js +0 -142
- package/dist/components/conversation/conversation.context.js +0 -4
- package/dist/vendor/@material-design-icons/svg/outlined/add.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/arrow_downward.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/arrow_forward.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/arrow_upward.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/attach_file.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/block.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/calendar_today.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/check.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/check_circle.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/chevron_left.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/chevron_right.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/close.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/content_copy.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/date_range.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/description.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/download.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/error.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/error_outline.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/expand_less.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/expand_more.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/filter_alt.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/filter_alt_off.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/first_page.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/info.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/keyboard_arrow_down.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/last_page.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/mail.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/more_horiz.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/photo_camera.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/remove.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/restart_alt.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/restore.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/search.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/unfold_more.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/upload_file.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/visibility.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/visibility_off.js +0 -12
- package/dist/vendor/@material-design-icons/svg/outlined/warning_amber.js +0 -12
|
@@ -3,8 +3,8 @@ import { useFieldState } from "../field/use-field-state.js";
|
|
|
3
3
|
import { useTimeZone } from "../time-zone-provider/time-zone-provider.js";
|
|
4
4
|
import { DateInput } from "./date-input.js";
|
|
5
5
|
import { c } from "react/compiler-runtime";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
import { useRef } from "react";
|
|
7
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
// src/components/date-field/date-field.tsx
|
|
9
9
|
/**
|
|
10
10
|
* A labelled date entry whose segments are typed or picked from a calendar
|
|
@@ -12,7 +12,7 @@ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* <DateField
|
|
15
|
-
* label="
|
|
15
|
+
* label="Service date"
|
|
16
16
|
* optionalLabel="optional"
|
|
17
17
|
* openCalendarLabel="Open calendar"
|
|
18
18
|
* previousMonthLabel="Previous month"
|
|
@@ -20,13 +20,17 @@ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
|
20
20
|
* monthLabel="Month"
|
|
21
21
|
* yearLabel="Year"
|
|
22
22
|
* noMatchingYearLabel="No matching year."
|
|
23
|
+
* openCalendarIcon={<CalendarTodayIcon />}
|
|
24
|
+
* previousIcon={<ChevronLeftIcon />}
|
|
25
|
+
* nextIcon={<ChevronRightIcon />}
|
|
26
|
+
* checkIcon={<CheckIcon />}
|
|
23
27
|
* value={date}
|
|
24
28
|
* onValueChange={setDate}
|
|
25
29
|
* />
|
|
26
30
|
*/
|
|
27
31
|
var DateField = (t0) => {
|
|
28
|
-
const $ = c(
|
|
29
|
-
const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, value, defaultValue, onValueChange, onBlur, minValue, maxValue, name, disabled, readOnly, className } = t0;
|
|
32
|
+
const $ = c(49);
|
|
33
|
+
const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, openCalendarIcon, previousIcon, nextIcon, checkIcon, expandIcon, value, defaultValue, onValueChange, onBlur, minValue, maxValue, name, disabled, readOnly, className } = t0;
|
|
30
34
|
const triggerRef = useRef(null);
|
|
31
35
|
const timeZone = useTimeZone();
|
|
32
36
|
let t1;
|
|
@@ -64,7 +68,7 @@ var DateField = (t0) => {
|
|
|
64
68
|
const { phase } = field;
|
|
65
69
|
const fieldState = field.state;
|
|
66
70
|
let t4;
|
|
67
|
-
if ($[12] !==
|
|
71
|
+
if ($[12] !== checkIcon || $[13] !== day || $[14] !== defaultValue || $[15] !== expandIcon || $[16] !== field.disabled || $[17] !== field.invalid || $[18] !== fieldState || $[19] !== maxValue || $[20] !== minValue || $[21] !== monthLabel || $[22] !== name || $[23] !== nextIcon || $[24] !== nextMonthLabel || $[25] !== noMatchingYearLabel || $[26] !== onBlur || $[27] !== onValueChange || $[28] !== openCalendarIcon || $[29] !== openCalendarLabel || $[30] !== phase || $[31] !== previousIcon || $[32] !== previousMonthLabel || $[33] !== readOnly || $[34] !== requiredness || $[35] !== timeZone || $[36] !== value || $[37] !== yearLabel) {
|
|
68
72
|
t4 = (t5) => {
|
|
69
73
|
const { labelId, describedBy, controlId } = t5;
|
|
70
74
|
return /* @__PURE__ */ jsx(DateInput.Root, {
|
|
@@ -84,7 +88,7 @@ var DateField = (t0) => {
|
|
|
84
88
|
isInvalid: field.invalid,
|
|
85
89
|
children: (t6) => {
|
|
86
90
|
const { isFocusWithin } = t6;
|
|
87
|
-
return /* @__PURE__ */ jsxs(Fragment
|
|
91
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DateInput.Group, {
|
|
88
92
|
state: {
|
|
89
93
|
...fieldState,
|
|
90
94
|
focused: isFocusWithin
|
|
@@ -94,7 +98,8 @@ var DateField = (t0) => {
|
|
|
94
98
|
phase !== "fresh" && /* @__PURE__ */ jsx(DateInput.Pending, {}),
|
|
95
99
|
/* @__PURE__ */ jsx(DateInput.Trigger, {
|
|
96
100
|
label: openCalendarLabel,
|
|
97
|
-
ref: triggerRef
|
|
101
|
+
ref: triggerRef,
|
|
102
|
+
children: openCalendarIcon
|
|
98
103
|
})
|
|
99
104
|
]
|
|
100
105
|
}), /* @__PURE__ */ jsx(DateInput.Popup, {
|
|
@@ -104,37 +109,46 @@ var DateField = (t0) => {
|
|
|
104
109
|
nextMonthLabel,
|
|
105
110
|
monthLabel,
|
|
106
111
|
yearLabel,
|
|
107
|
-
noMatchingYearLabel
|
|
112
|
+
noMatchingYearLabel,
|
|
113
|
+
previousIcon,
|
|
114
|
+
nextIcon,
|
|
115
|
+
checkIcon,
|
|
116
|
+
expandIcon
|
|
108
117
|
})
|
|
109
118
|
})] });
|
|
110
119
|
}
|
|
111
120
|
});
|
|
112
121
|
};
|
|
113
|
-
$[12] =
|
|
114
|
-
$[13] =
|
|
115
|
-
$[14] =
|
|
116
|
-
$[15] =
|
|
117
|
-
$[16] =
|
|
118
|
-
$[17] =
|
|
119
|
-
$[18] =
|
|
120
|
-
$[19] =
|
|
121
|
-
$[20] =
|
|
122
|
-
$[21] =
|
|
123
|
-
$[22] =
|
|
124
|
-
$[23] =
|
|
125
|
-
$[24] =
|
|
126
|
-
$[25] =
|
|
127
|
-
$[26] =
|
|
128
|
-
$[27] =
|
|
129
|
-
$[28] =
|
|
130
|
-
$[29] =
|
|
131
|
-
$[30] =
|
|
132
|
-
$[31] =
|
|
133
|
-
$[32] =
|
|
134
|
-
$[33] =
|
|
135
|
-
|
|
122
|
+
$[12] = checkIcon;
|
|
123
|
+
$[13] = day;
|
|
124
|
+
$[14] = defaultValue;
|
|
125
|
+
$[15] = expandIcon;
|
|
126
|
+
$[16] = field.disabled;
|
|
127
|
+
$[17] = field.invalid;
|
|
128
|
+
$[18] = fieldState;
|
|
129
|
+
$[19] = maxValue;
|
|
130
|
+
$[20] = minValue;
|
|
131
|
+
$[21] = monthLabel;
|
|
132
|
+
$[22] = name;
|
|
133
|
+
$[23] = nextIcon;
|
|
134
|
+
$[24] = nextMonthLabel;
|
|
135
|
+
$[25] = noMatchingYearLabel;
|
|
136
|
+
$[26] = onBlur;
|
|
137
|
+
$[27] = onValueChange;
|
|
138
|
+
$[28] = openCalendarIcon;
|
|
139
|
+
$[29] = openCalendarLabel;
|
|
140
|
+
$[30] = phase;
|
|
141
|
+
$[31] = previousIcon;
|
|
142
|
+
$[32] = previousMonthLabel;
|
|
143
|
+
$[33] = readOnly;
|
|
144
|
+
$[34] = requiredness;
|
|
145
|
+
$[35] = timeZone;
|
|
146
|
+
$[36] = value;
|
|
147
|
+
$[37] = yearLabel;
|
|
148
|
+
$[38] = t4;
|
|
149
|
+
} else t4 = $[38];
|
|
136
150
|
let t5;
|
|
137
|
-
if ($[
|
|
151
|
+
if ($[39] !== className || $[40] !== description || $[41] !== dirty || $[42] !== errors || $[43] !== label || $[44] !== optionalLabel || $[45] !== requiredness || $[46] !== t4 || $[47] !== touched) {
|
|
138
152
|
t5 = /* @__PURE__ */ jsx(DateInput.Frame, {
|
|
139
153
|
label,
|
|
140
154
|
description,
|
|
@@ -146,17 +160,17 @@ var DateField = (t0) => {
|
|
|
146
160
|
className,
|
|
147
161
|
children: t4
|
|
148
162
|
});
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
153
|
-
$[
|
|
154
|
-
$[
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
159
|
-
} else t5 = $[
|
|
163
|
+
$[39] = className;
|
|
164
|
+
$[40] = description;
|
|
165
|
+
$[41] = dirty;
|
|
166
|
+
$[42] = errors;
|
|
167
|
+
$[43] = label;
|
|
168
|
+
$[44] = optionalLabel;
|
|
169
|
+
$[45] = requiredness;
|
|
170
|
+
$[46] = t4;
|
|
171
|
+
$[47] = touched;
|
|
172
|
+
$[48] = t5;
|
|
173
|
+
} else t5 = $[48];
|
|
160
174
|
return t5;
|
|
161
175
|
};
|
|
162
176
|
export { DateField };
|
|
@@ -4,13 +4,28 @@ import { type DatePickerProps as AriaDatePickerProps } from "react-aria-componen
|
|
|
4
4
|
import { TemporalCalendar, TemporalFrame, TemporalGroup, TemporalInput, TemporalPopup, type TemporalStateProps } from "../../lib/calendar/temporal.tsx";
|
|
5
5
|
import { Field } from "../field/index.ts";
|
|
6
6
|
export type DateInputRootProps = AriaDatePickerProps<CalendarDate> & TemporalStateProps;
|
|
7
|
+
/**
|
|
8
|
+
* A react-aria `DatePicker` holding the value, with today as the placeholder
|
|
9
|
+
* in the `TimeZoneProvider`'s zone.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <DateInput.Root aria-labelledby={labelId}>…</DateInput.Root>
|
|
13
|
+
*/
|
|
7
14
|
declare const DateInputRoot: ({ state, ...props }: DateInputRootProps) => ReactNode;
|
|
8
15
|
export type DateInputTriggerProps = Readonly<{
|
|
9
16
|
/** Accessible name, such as "Open calendar". */
|
|
10
17
|
label: string;
|
|
11
18
|
ref?: Ref<HTMLButtonElement>;
|
|
19
|
+
/** The icon the button shows. */
|
|
20
|
+
children: ReactNode;
|
|
12
21
|
}>;
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* The icon-only button that opens the calendar.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <DateInput.Trigger label="Open calendar"><CalendarTodayIcon /></DateInput.Trigger>
|
|
27
|
+
*/
|
|
28
|
+
declare const DateInputTrigger: ({ label, ref, children, }: DateInputTriggerProps) => ReactNode;
|
|
14
29
|
/** The parts of a date input. */
|
|
15
30
|
export type DateInputParts = Readonly<{
|
|
16
31
|
Frame: typeof TemporalFrame;
|
|
@@ -33,10 +48,12 @@ export type DateInputParts = Readonly<{
|
|
|
33
48
|
* <>
|
|
34
49
|
* <DateInput.Group state={{ focused: isFocusWithin }}>
|
|
35
50
|
* <DateInput.Input />
|
|
36
|
-
* <DateInput.Trigger label="Open calendar"
|
|
51
|
+
* <DateInput.Trigger label="Open calendar">
|
|
52
|
+
* <CalendarTodayIcon />
|
|
53
|
+
* </DateInput.Trigger>
|
|
37
54
|
* </DateInput.Group>
|
|
38
55
|
* <DateInput.Popup>
|
|
39
|
-
* <DateInput.Calendar {...calendarLabels} />
|
|
56
|
+
* <DateInput.Calendar {...calendarLabels} {...calendarIcons} />
|
|
40
57
|
* </DateInput.Popup>
|
|
41
58
|
* </>
|
|
42
59
|
* )}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import SvgCalendarToday from "../../vendor/@material-design-icons/svg/outlined/calendar_today.js";
|
|
2
1
|
import { todayIn } from "../../lib/calendar/temporal-value.js";
|
|
3
2
|
import { TemporalCalendar, TemporalFrame, TemporalGroup, TemporalInput, TemporalPopup, TemporalTrigger } from "../../lib/calendar/temporal.js";
|
|
4
3
|
import { Field } from "../field/field.js";
|
|
5
4
|
import { fieldStateAttributes } from "../field/field-state.js";
|
|
6
5
|
import { useTimeZone } from "../time-zone-provider/time-zone-provider.js";
|
|
7
6
|
import { c } from "react/compiler-runtime";
|
|
8
|
-
import { useId } from "react";
|
|
9
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { useId } from "react";
|
|
10
9
|
import { DatePicker } from "react-aria-components";
|
|
11
10
|
// src/components/date-field/date-input.tsx
|
|
11
|
+
/**
|
|
12
|
+
* A react-aria `DatePicker` holding the value, with today as the placeholder
|
|
13
|
+
* in the `TimeZoneProvider`'s zone.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <DateInput.Root aria-labelledby={labelId}>…</DateInput.Root>
|
|
17
|
+
*/
|
|
12
18
|
var DateInputRoot = (t0) => {
|
|
13
19
|
const $ = c(14);
|
|
14
20
|
let props;
|
|
@@ -60,20 +66,27 @@ var DateInputRoot = (t0) => {
|
|
|
60
66
|
} else t6 = $[13];
|
|
61
67
|
return t6;
|
|
62
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* The icon-only button that opens the calendar.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* <DateInput.Trigger label="Open calendar"><CalendarTodayIcon /></DateInput.Trigger>
|
|
74
|
+
*/
|
|
63
75
|
var DateInputTrigger = (t0) => {
|
|
64
|
-
const $ = c(
|
|
65
|
-
const { label, ref } = t0;
|
|
76
|
+
const $ = c(4);
|
|
77
|
+
const { label, ref, children } = t0;
|
|
66
78
|
let t1;
|
|
67
|
-
if ($[0] !==
|
|
79
|
+
if ($[0] !== children || $[1] !== label || $[2] !== ref) {
|
|
68
80
|
t1 = /* @__PURE__ */ jsx(TemporalTrigger, {
|
|
69
|
-
icon: SvgCalendarToday,
|
|
70
81
|
label,
|
|
71
|
-
ref
|
|
82
|
+
ref,
|
|
83
|
+
children
|
|
72
84
|
});
|
|
73
|
-
$[0] =
|
|
74
|
-
$[1] =
|
|
75
|
-
$[2] =
|
|
76
|
-
|
|
85
|
+
$[0] = children;
|
|
86
|
+
$[1] = label;
|
|
87
|
+
$[2] = ref;
|
|
88
|
+
$[3] = t1;
|
|
89
|
+
} else t1 = $[3];
|
|
77
90
|
return t1;
|
|
78
91
|
};
|
|
79
92
|
/**
|
|
@@ -87,10 +100,12 @@ var DateInputTrigger = (t0) => {
|
|
|
87
100
|
* <>
|
|
88
101
|
* <DateInput.Group state={{ focused: isFocusWithin }}>
|
|
89
102
|
* <DateInput.Input />
|
|
90
|
-
* <DateInput.Trigger label="Open calendar"
|
|
103
|
+
* <DateInput.Trigger label="Open calendar">
|
|
104
|
+
* <CalendarTodayIcon />
|
|
105
|
+
* </DateInput.Trigger>
|
|
91
106
|
* </DateInput.Group>
|
|
92
107
|
* <DateInput.Popup>
|
|
93
|
-
* <DateInput.Calendar {...calendarLabels} />
|
|
108
|
+
* <DateInput.Calendar {...calendarLabels} {...calendarIcons} />
|
|
94
109
|
* </DateInput.Popup>
|
|
95
110
|
* </>
|
|
96
111
|
* )}
|
|
@@ -8,7 +8,7 @@ export type TSFDateFieldProps = Omit<DateFieldProps, keyof ConnectedFieldProps |
|
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* <form.AppField name="treatedOn">
|
|
11
|
-
* {field => <field.DateField label="
|
|
11
|
+
* {field => <field.DateField label="Service date" optionalLabel="optional" openCalendarIcon={<CalendarTodayIcon />} {...calendarLabels} {...calendarIcons} />}
|
|
12
12
|
* </form.AppField>
|
|
13
13
|
*/
|
|
14
14
|
export declare const TSFDateField: (props: TSFDateFieldProps) => ReactNode;
|
|
@@ -9,7 +9,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* <form.AppField name="treatedOn">
|
|
12
|
-
* {field => <field.DateField label="
|
|
12
|
+
* {field => <field.DateField label="Service date" optionalLabel="optional" openCalendarIcon={<CalendarTodayIcon />} {...calendarLabels} {...calendarIcons} />}
|
|
13
13
|
* </form.AppField>
|
|
14
14
|
*/
|
|
15
15
|
var TSFDateField = (props) => {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { CalendarLabels } from "../../lib/calendar/temporal.tsx";
|
|
2
|
+
import type { CalendarIcons, CalendarLabels } from "../../lib/calendar/temporal.tsx";
|
|
3
3
|
import { type IsoDateRange } from "../../lib/calendar/temporal-value.ts";
|
|
4
4
|
import { type FieldBlurHandler, type FieldProps } from "../field/index.ts";
|
|
5
|
-
export type DateRangeFieldProps = FieldProps & CalendarLabels & Readonly<{
|
|
5
|
+
export type DateRangeFieldProps = FieldProps & CalendarLabels & CalendarIcons & Readonly<{
|
|
6
6
|
/** Accessible name of the button that opens the calendar, such as "Open calendar". */
|
|
7
7
|
openCalendarLabel: string;
|
|
8
|
+
/** The icon of the button that opens the calendar. */
|
|
9
|
+
openCalendarIcon: ReactNode;
|
|
8
10
|
/**
|
|
9
11
|
* Inclusive ISO plain dates, such as `{ start: "2026-07-01", end: "2026-07-31" }`.
|
|
10
12
|
* A date-time or an instant is read as the day it falls on in the
|
|
@@ -41,13 +43,15 @@ export type DateRangeFieldProps = FieldProps & CalendarLabels & Readonly<{
|
|
|
41
43
|
*
|
|
42
44
|
* @example
|
|
43
45
|
* <DateRangeField
|
|
44
|
-
* label="
|
|
46
|
+
* label="Invoice period"
|
|
45
47
|
* optionalLabel="optional"
|
|
46
48
|
* openCalendarLabel="Open calendar"
|
|
49
|
+
* openCalendarIcon={<DateRangeIcon />}
|
|
47
50
|
* {...calendarLabels}
|
|
51
|
+
* {...calendarIcons}
|
|
48
52
|
* visibleMonths={narrow ? 1 : 2}
|
|
49
53
|
* value={period}
|
|
50
54
|
* onValueChange={setPeriod}
|
|
51
55
|
* />
|
|
52
56
|
*/
|
|
53
|
-
export declare const DateRangeField: ({ label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, value, defaultValue, onValueChange, onBlur, minValue, maxValue, visibleMonths, startName, endName, disabled, readOnly, className, }: DateRangeFieldProps) => ReactNode;
|
|
57
|
+
export declare const DateRangeField: ({ label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, openCalendarIcon, previousIcon, nextIcon, checkIcon, expandIcon, value, defaultValue, onValueChange, onBlur, minValue, maxValue, visibleMonths, startName, endName, disabled, readOnly, className, }: DateRangeFieldProps) => ReactNode;
|
|
@@ -3,8 +3,8 @@ import { useFieldState } from "../field/use-field-state.js";
|
|
|
3
3
|
import { useTimeZone } from "../time-zone-provider/time-zone-provider.js";
|
|
4
4
|
import { DateRangeInput } from "./date-range-input.js";
|
|
5
5
|
import { c } from "react/compiler-runtime";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
import { useRef } from "react";
|
|
7
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
// src/components/date-range-field/date-range-field.tsx
|
|
9
9
|
/**
|
|
10
10
|
* A labelled start and end date, typed or picked from one range calendar. Its
|
|
@@ -13,18 +13,20 @@ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* <DateRangeField
|
|
16
|
-
* label="
|
|
16
|
+
* label="Invoice period"
|
|
17
17
|
* optionalLabel="optional"
|
|
18
18
|
* openCalendarLabel="Open calendar"
|
|
19
|
+
* openCalendarIcon={<DateRangeIcon />}
|
|
19
20
|
* {...calendarLabels}
|
|
21
|
+
* {...calendarIcons}
|
|
20
22
|
* visibleMonths={narrow ? 1 : 2}
|
|
21
23
|
* value={period}
|
|
22
24
|
* onValueChange={setPeriod}
|
|
23
25
|
* />
|
|
24
26
|
*/
|
|
25
27
|
var DateRangeField = (t0) => {
|
|
26
|
-
const $ = c(
|
|
27
|
-
const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, value, defaultValue, onValueChange, onBlur, minValue, maxValue, visibleMonths, startName, endName, disabled, readOnly, className } = t0;
|
|
28
|
+
const $ = c(51);
|
|
29
|
+
const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, openCalendarIcon, previousIcon, nextIcon, checkIcon, expandIcon, value, defaultValue, onValueChange, onBlur, minValue, maxValue, visibleMonths, startName, endName, disabled, readOnly, className } = t0;
|
|
28
30
|
const triggerRef = useRef(null);
|
|
29
31
|
const timeZone = useTimeZone();
|
|
30
32
|
let t1;
|
|
@@ -62,7 +64,7 @@ var DateRangeField = (t0) => {
|
|
|
62
64
|
const { phase } = field;
|
|
63
65
|
const fieldState = field.state;
|
|
64
66
|
let t4;
|
|
65
|
-
if ($[12] !==
|
|
67
|
+
if ($[12] !== checkIcon || $[13] !== defaultValue || $[14] !== endName || $[15] !== expandIcon || $[16] !== field.disabled || $[17] !== field.invalid || $[18] !== fieldState || $[19] !== maxValue || $[20] !== minValue || $[21] !== monthLabel || $[22] !== nextIcon || $[23] !== nextMonthLabel || $[24] !== noMatchingYearLabel || $[25] !== onBlur || $[26] !== onValueChange || $[27] !== openCalendarIcon || $[28] !== openCalendarLabel || $[29] !== phase || $[30] !== previousIcon || $[31] !== previousMonthLabel || $[32] !== range || $[33] !== readOnly || $[34] !== requiredness || $[35] !== startName || $[36] !== timeZone || $[37] !== value || $[38] !== visibleMonths || $[39] !== yearLabel) {
|
|
66
68
|
t4 = (t5) => {
|
|
67
69
|
const { labelId, describedBy, controlId } = t5;
|
|
68
70
|
return /* @__PURE__ */ jsx(DateRangeInput.Root, {
|
|
@@ -83,7 +85,7 @@ var DateRangeField = (t0) => {
|
|
|
83
85
|
isInvalid: field.invalid,
|
|
84
86
|
children: (t6) => {
|
|
85
87
|
const { isFocusWithin } = t6;
|
|
86
|
-
return /* @__PURE__ */ jsxs(Fragment
|
|
88
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DateRangeInput.Group, {
|
|
87
89
|
state: {
|
|
88
90
|
...fieldState,
|
|
89
91
|
focused: isFocusWithin
|
|
@@ -96,7 +98,8 @@ var DateRangeField = (t0) => {
|
|
|
96
98
|
phase !== "fresh" && /* @__PURE__ */ jsx(DateRangeInput.Pending, {}),
|
|
97
99
|
/* @__PURE__ */ jsx(DateRangeInput.Trigger, {
|
|
98
100
|
label: openCalendarLabel,
|
|
99
|
-
ref: triggerRef
|
|
101
|
+
ref: triggerRef,
|
|
102
|
+
children: openCalendarIcon
|
|
100
103
|
})
|
|
101
104
|
]
|
|
102
105
|
}), /* @__PURE__ */ jsx(DateRangeInput.Popup, {
|
|
@@ -107,39 +110,48 @@ var DateRangeField = (t0) => {
|
|
|
107
110
|
nextMonthLabel,
|
|
108
111
|
monthLabel,
|
|
109
112
|
yearLabel,
|
|
110
|
-
noMatchingYearLabel
|
|
113
|
+
noMatchingYearLabel,
|
|
114
|
+
previousIcon,
|
|
115
|
+
nextIcon,
|
|
116
|
+
checkIcon,
|
|
117
|
+
expandIcon
|
|
111
118
|
})
|
|
112
119
|
})] });
|
|
113
120
|
}
|
|
114
121
|
});
|
|
115
122
|
};
|
|
116
|
-
$[12] =
|
|
117
|
-
$[13] =
|
|
118
|
-
$[14] =
|
|
119
|
-
$[15] =
|
|
120
|
-
$[16] =
|
|
121
|
-
$[17] =
|
|
122
|
-
$[18] =
|
|
123
|
-
$[19] =
|
|
124
|
-
$[20] =
|
|
125
|
-
$[21] =
|
|
126
|
-
$[22] =
|
|
127
|
-
$[23] =
|
|
128
|
-
$[24] =
|
|
129
|
-
$[25] =
|
|
130
|
-
$[26] =
|
|
131
|
-
$[27] =
|
|
132
|
-
$[28] =
|
|
133
|
-
$[29] =
|
|
134
|
-
$[30] =
|
|
135
|
-
$[31] =
|
|
136
|
-
$[32] =
|
|
137
|
-
$[33] =
|
|
138
|
-
$[34] =
|
|
139
|
-
$[35] =
|
|
140
|
-
|
|
123
|
+
$[12] = checkIcon;
|
|
124
|
+
$[13] = defaultValue;
|
|
125
|
+
$[14] = endName;
|
|
126
|
+
$[15] = expandIcon;
|
|
127
|
+
$[16] = field.disabled;
|
|
128
|
+
$[17] = field.invalid;
|
|
129
|
+
$[18] = fieldState;
|
|
130
|
+
$[19] = maxValue;
|
|
131
|
+
$[20] = minValue;
|
|
132
|
+
$[21] = monthLabel;
|
|
133
|
+
$[22] = nextIcon;
|
|
134
|
+
$[23] = nextMonthLabel;
|
|
135
|
+
$[24] = noMatchingYearLabel;
|
|
136
|
+
$[25] = onBlur;
|
|
137
|
+
$[26] = onValueChange;
|
|
138
|
+
$[27] = openCalendarIcon;
|
|
139
|
+
$[28] = openCalendarLabel;
|
|
140
|
+
$[29] = phase;
|
|
141
|
+
$[30] = previousIcon;
|
|
142
|
+
$[31] = previousMonthLabel;
|
|
143
|
+
$[32] = range;
|
|
144
|
+
$[33] = readOnly;
|
|
145
|
+
$[34] = requiredness;
|
|
146
|
+
$[35] = startName;
|
|
147
|
+
$[36] = timeZone;
|
|
148
|
+
$[37] = value;
|
|
149
|
+
$[38] = visibleMonths;
|
|
150
|
+
$[39] = yearLabel;
|
|
151
|
+
$[40] = t4;
|
|
152
|
+
} else t4 = $[40];
|
|
141
153
|
let t5;
|
|
142
|
-
if ($[
|
|
154
|
+
if ($[41] !== className || $[42] !== description || $[43] !== dirty || $[44] !== errors || $[45] !== label || $[46] !== optionalLabel || $[47] !== requiredness || $[48] !== t4 || $[49] !== touched) {
|
|
143
155
|
t5 = /* @__PURE__ */ jsx(DateRangeInput.Frame, {
|
|
144
156
|
label,
|
|
145
157
|
description,
|
|
@@ -151,17 +163,17 @@ var DateRangeField = (t0) => {
|
|
|
151
163
|
className,
|
|
152
164
|
children: t4
|
|
153
165
|
});
|
|
154
|
-
$[
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
159
|
-
$[
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
162
|
-
$[
|
|
163
|
-
$[
|
|
164
|
-
} else t5 = $[
|
|
166
|
+
$[41] = className;
|
|
167
|
+
$[42] = description;
|
|
168
|
+
$[43] = dirty;
|
|
169
|
+
$[44] = errors;
|
|
170
|
+
$[45] = label;
|
|
171
|
+
$[46] = optionalLabel;
|
|
172
|
+
$[47] = requiredness;
|
|
173
|
+
$[48] = t4;
|
|
174
|
+
$[49] = touched;
|
|
175
|
+
$[50] = t5;
|
|
176
|
+
} else t5 = $[50];
|
|
165
177
|
return t5;
|
|
166
178
|
};
|
|
167
179
|
export { DateRangeField };
|
|
@@ -4,13 +4,28 @@ import { type DateRangePickerProps as AriaDateRangePickerProps } from "react-ari
|
|
|
4
4
|
import { TemporalFrame, TemporalGroup, TemporalPopup, TemporalRangeCalendar, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, type TemporalStateProps } from "../../lib/calendar/temporal.tsx";
|
|
5
5
|
import { Field } from "../field/index.ts";
|
|
6
6
|
export type DateRangeInputRootProps = AriaDateRangePickerProps<CalendarDate> & TemporalStateProps;
|
|
7
|
+
/**
|
|
8
|
+
* A react-aria `DateRangePicker` holding the value, with today as the
|
|
9
|
+
* placeholder in the `TimeZoneProvider`'s zone.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <DateRangeInput.Root aria-labelledby={labelId}>…</DateRangeInput.Root>
|
|
13
|
+
*/
|
|
7
14
|
declare const DateRangeInputRoot: ({ state, ...props }: DateRangeInputRootProps) => ReactNode;
|
|
8
15
|
export type DateRangeInputTriggerProps = Readonly<{
|
|
9
16
|
/** Accessible name, such as "Open calendar". */
|
|
10
17
|
label: string;
|
|
11
18
|
ref?: Ref<HTMLButtonElement>;
|
|
19
|
+
/** The icon the button shows. */
|
|
20
|
+
children: ReactNode;
|
|
12
21
|
}>;
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* The icon-only button that opens the range calendar.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <DateRangeInput.Trigger label="Open calendar"><DateRangeIcon /></DateRangeInput.Trigger>
|
|
27
|
+
*/
|
|
28
|
+
declare const DateRangeInputTrigger: ({ label, ref, children, }: DateRangeInputTriggerProps) => ReactNode;
|
|
14
29
|
/** The parts of a date range input. */
|
|
15
30
|
export type DateRangeInputParts = Readonly<{
|
|
16
31
|
Frame: typeof TemporalFrame;
|
|
@@ -38,10 +53,12 @@ export type DateRangeInputParts = Readonly<{
|
|
|
38
53
|
* <DateRangeInput.Separator />
|
|
39
54
|
* <DateRangeInput.Input slot="end" />
|
|
40
55
|
* <DateRangeInput.Spacer />
|
|
41
|
-
* <DateRangeInput.Trigger label="Open calendar"
|
|
56
|
+
* <DateRangeInput.Trigger label="Open calendar">
|
|
57
|
+
* <DateRangeIcon />
|
|
58
|
+
* </DateRangeInput.Trigger>
|
|
42
59
|
* </DateRangeInput.Group>
|
|
43
60
|
* <DateRangeInput.Popup>
|
|
44
|
-
* <DateRangeInput.Calendar {...calendarLabels} />
|
|
61
|
+
* <DateRangeInput.Calendar {...calendarLabels} {...calendarIcons} />
|
|
45
62
|
* </DateRangeInput.Popup>
|
|
46
63
|
* </>
|
|
47
64
|
* )}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import SvgDateRange from "../../vendor/@material-design-icons/svg/outlined/date_range.js";
|
|
2
1
|
import { todayIn } from "../../lib/calendar/temporal-value.js";
|
|
3
2
|
import { TemporalFrame, TemporalGroup, TemporalPopup, TemporalRangeCalendar, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, TemporalTrigger } from "../../lib/calendar/temporal.js";
|
|
4
3
|
import { Field } from "../field/field.js";
|
|
@@ -8,6 +7,13 @@ import { c } from "react/compiler-runtime";
|
|
|
8
7
|
import { jsx } from "react/jsx-runtime";
|
|
9
8
|
import { DateRangePicker } from "react-aria-components";
|
|
10
9
|
// src/components/date-range-field/date-range-input.tsx
|
|
10
|
+
/**
|
|
11
|
+
* A react-aria `DateRangePicker` holding the value, with today as the
|
|
12
|
+
* placeholder in the `TimeZoneProvider`'s zone.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <DateRangeInput.Root aria-labelledby={labelId}>…</DateRangeInput.Root>
|
|
16
|
+
*/
|
|
11
17
|
var DateRangeInputRoot = (t0) => {
|
|
12
18
|
const $ = c(13);
|
|
13
19
|
let props;
|
|
@@ -55,20 +61,27 @@ var DateRangeInputRoot = (t0) => {
|
|
|
55
61
|
} else t5 = $[12];
|
|
56
62
|
return t5;
|
|
57
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* The icon-only button that opens the range calendar.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* <DateRangeInput.Trigger label="Open calendar"><DateRangeIcon /></DateRangeInput.Trigger>
|
|
69
|
+
*/
|
|
58
70
|
var DateRangeInputTrigger = (t0) => {
|
|
59
|
-
const $ = c(
|
|
60
|
-
const { label, ref } = t0;
|
|
71
|
+
const $ = c(4);
|
|
72
|
+
const { label, ref, children } = t0;
|
|
61
73
|
let t1;
|
|
62
|
-
if ($[0] !==
|
|
74
|
+
if ($[0] !== children || $[1] !== label || $[2] !== ref) {
|
|
63
75
|
t1 = /* @__PURE__ */ jsx(TemporalTrigger, {
|
|
64
|
-
icon: SvgDateRange,
|
|
65
76
|
label,
|
|
66
|
-
ref
|
|
77
|
+
ref,
|
|
78
|
+
children
|
|
67
79
|
});
|
|
68
|
-
$[0] =
|
|
69
|
-
$[1] =
|
|
70
|
-
$[2] =
|
|
71
|
-
|
|
80
|
+
$[0] = children;
|
|
81
|
+
$[1] = label;
|
|
82
|
+
$[2] = ref;
|
|
83
|
+
$[3] = t1;
|
|
84
|
+
} else t1 = $[3];
|
|
72
85
|
return t1;
|
|
73
86
|
};
|
|
74
87
|
/**
|
|
@@ -85,10 +98,12 @@ var DateRangeInputTrigger = (t0) => {
|
|
|
85
98
|
* <DateRangeInput.Separator />
|
|
86
99
|
* <DateRangeInput.Input slot="end" />
|
|
87
100
|
* <DateRangeInput.Spacer />
|
|
88
|
-
* <DateRangeInput.Trigger label="Open calendar"
|
|
101
|
+
* <DateRangeInput.Trigger label="Open calendar">
|
|
102
|
+
* <DateRangeIcon />
|
|
103
|
+
* </DateRangeInput.Trigger>
|
|
89
104
|
* </DateRangeInput.Group>
|
|
90
105
|
* <DateRangeInput.Popup>
|
|
91
|
-
* <DateRangeInput.Calendar {...calendarLabels} />
|
|
106
|
+
* <DateRangeInput.Calendar {...calendarLabels} {...calendarIcons} />
|
|
92
107
|
* </DateRangeInput.Popup>
|
|
93
108
|
* </>
|
|
94
109
|
* )}
|
|
@@ -9,7 +9,7 @@ export type TSFDateRangeFieldProps = Omit<DateRangeFieldProps, keyof ConnectedFi
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* <form.AppField name="period">
|
|
12
|
-
* {field => <field.DateRangeField label="Period" optionalLabel="optional" openCalendarLabel="Open calendar" {...calendarLabels} />}
|
|
12
|
+
* {field => <field.DateRangeField label="Period" optionalLabel="optional" openCalendarLabel="Open calendar" openCalendarIcon={<DateRangeIcon />} {...calendarLabels} {...calendarIcons} />}
|
|
13
13
|
* </form.AppField>
|
|
14
14
|
*/
|
|
15
15
|
export declare const TSFDateRangeField: (props: TSFDateRangeFieldProps) => ReactNode;
|
|
@@ -10,7 +10,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* <form.AppField name="period">
|
|
13
|
-
* {field => <field.DateRangeField label="Period" optionalLabel="optional" openCalendarLabel="Open calendar" {...calendarLabels} />}
|
|
13
|
+
* {field => <field.DateRangeField label="Period" optionalLabel="optional" openCalendarLabel="Open calendar" openCalendarIcon={<DateRangeIcon />} {...calendarLabels} {...calendarIcons} />}
|
|
14
14
|
* </form.AppField>
|
|
15
15
|
*/
|
|
16
16
|
var TSFDateRangeField = (props) => {
|