@osdk/react-components 0.12.0 → 0.13.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/AGENTS.md +4 -0
- package/CHANGELOG.md +11 -0
- package/build/browser/action-form/ActionForm.js +19 -11
- package/build/browser/action-form/ActionForm.js.map +1 -1
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +19 -13
- package/build/browser/action-form/BaseForm.js.map +1 -1
- package/build/browser/action-form/BaseForm.module.css +7 -7
- package/build/browser/action-form/FormField.js +5 -2
- package/build/browser/action-form/FormField.js.map +1 -1
- package/build/browser/action-form/FormField.module.css +6 -1
- package/build/browser/action-form/FormField.module.css.js +1 -0
- package/build/browser/action-form/FormFieldApi.js +7 -1
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/FormHeader.module.css +2 -2
- package/build/browser/action-form/fields/DateCalendar.js +41 -3
- package/build/browser/action-form/fields/DateCalendar.js.map +1 -1
- package/build/browser/action-form/fields/DateCalendar.module.css +59 -10
- package/build/browser/action-form/fields/DateCalendar.module.css.js +5 -1
- package/build/browser/action-form/fields/DateRangeCalendar.js +8 -5
- package/build/browser/action-form/fields/DateRangeCalendar.js.map +1 -1
- package/build/browser/action-form/fields/DateRangeInputField.js +76 -61
- package/build/browser/action-form/fields/DateRangeInputField.js.map +1 -1
- package/build/browser/action-form/fields/DateRangeInputField.module.css +0 -15
- package/build/browser/action-form/fields/DateRangeInputField.module.css.js +1 -2
- package/build/browser/action-form/fields/DatetimePickerField.js +74 -40
- package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -1
- package/build/browser/action-form/fields/DatetimePickerField.module.css +2 -9
- package/build/browser/action-form/fields/FieldBridge.js +1 -1
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -1
- package/build/browser/action-form/fields/FilePickerField.js +47 -39
- package/build/browser/action-form/fields/FilePickerField.js.map +1 -1
- package/build/browser/action-form/fields/FilePickerField.module.css +43 -31
- package/build/browser/action-form/fields/FilePickerField.module.css.js +2 -2
- package/build/browser/action-form/fields/FormFieldRenderer.js +9 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/browser/action-form/fields/RadioButtonsField.module.css +3 -3
- package/build/browser/action-form/fields/SwitchField.js +34 -0
- package/build/browser/action-form/fields/SwitchField.js.map +1 -0
- package/build/browser/action-form/fields/TimePicker.js +165 -26
- package/build/browser/action-form/fields/TimePicker.js.map +1 -1
- package/build/browser/action-form/fields/TimePicker.module.css +27 -2
- package/build/browser/action-form/fields/TimePicker.module.css.js +3 -1
- package/build/browser/action-form/fields/calendarShared.js +5 -0
- package/build/browser/action-form/fields/calendarShared.js.map +1 -1
- package/build/browser/action-form/fields/useDateEditState.js +3 -4
- package/build/browser/action-form/fields/useDateEditState.js.map +1 -1
- package/build/browser/base-components/action-button/ActionButton.js +2 -1
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -1
- package/build/browser/base-components/action-button/ActionButton.module.css +19 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +2 -1
- package/build/browser/base-components/combobox/Combobox.module.css +31 -3
- package/build/browser/base-components/select/Select.module.css +18 -0
- package/build/browser/base-components/switch/Switch.module.css +18 -6
- package/build/browser/filter-list/base/inputs/ListogramInput.js +34 -6
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +11 -5
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +20 -12
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NoValueLabel.js +36 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.module.css +20 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.module.css.js +6 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +4 -3
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +1 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +13 -8
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +6 -2
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterListState.js +7 -6
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/useStableMapEntries.js +35 -0
- package/build/browser/filter-list/hooks/useStableMapEntries.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +13 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/object-table/DefaultCellRenderer.js +12 -2
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +14 -4
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/EditableCell.module.css +4 -0
- package/build/browser/object-table/EditableCell.module.css.js +1 -0
- package/build/browser/object-table/ObjectTable.js +3 -1
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/Table.js +8 -4
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/TableBody.js +4 -2
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableRow.js +12 -4
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/utils/editableUtils.js +39 -0
- package/build/browser/object-table/utils/editableUtils.js.map +1 -0
- package/build/browser/object-table/utils/shouldShowEditableCell.js +1 -1
- package/build/browser/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/browser/object-table/utils/types.js.map +1 -1
- package/build/browser/styles.css +331 -130
- package/build/browser/tokens/component-tokens/button.css +15 -0
- package/build/browser/tokens/component-tokens/combobox.css +9 -0
- package/build/browser/tokens/component-tokens/datetime-picker.css +2 -2
- package/build/browser/tokens/component-tokens/file-picker.css +0 -10
- package/build/browser/tokens/component-tokens/filter-list.css +9 -6
- package/build/browser/tokens/component-tokens/form-section.css +1 -1
- package/build/browser/tokens/component-tokens/form.css +9 -5
- package/build/browser/tokens/component-tokens/table.css +3 -5
- package/build/browser/tokens.css +1 -0
- package/build/browser/util/UserAgent.js +1 -1
- package/build/cjs/{DateCalendar-2W4QHEEI.css → DateCalendar-G7RC2FCG.css} +105 -8
- package/build/cjs/DateCalendar-G7RC2FCG.css.map +1 -0
- package/build/cjs/DateCalendar-RX7HP2XP.cjs +26 -0
- package/build/cjs/{DateCalendar-QGSYBWJB.cjs.map → DateCalendar-RX7HP2XP.cjs.map} +1 -1
- package/build/cjs/{DateRangeCalendar-M63S2LLG.css → DateRangeCalendar-JBVYJDBJ.css} +105 -8
- package/build/cjs/DateRangeCalendar-JBVYJDBJ.css.map +1 -0
- package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs +54 -0
- package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs.map +1 -0
- package/build/cjs/{chunk-T7I6O43T.cjs → chunk-6SPXSFPI.cjs} +237 -85
- package/build/cjs/chunk-6SPXSFPI.cjs.map +1 -0
- package/build/cjs/{chunk-SZXVBDSA.cjs → chunk-6UDBHYSO.cjs} +3 -3
- package/build/cjs/{chunk-SZXVBDSA.cjs.map → chunk-6UDBHYSO.cjs.map} +1 -1
- package/build/cjs/{chunk-YBDS5WQP.cjs → chunk-7H6WXQ35.cjs} +4 -4
- package/build/cjs/{chunk-YBDS5WQP.cjs.map → chunk-7H6WXQ35.cjs.map} +1 -1
- package/build/cjs/{chunk-VVJFMOZI.cjs → chunk-I3OSD6CF.cjs} +19 -45
- package/build/cjs/chunk-I3OSD6CF.cjs.map +1 -0
- package/build/cjs/chunk-MD4KDE44.cjs +41 -0
- package/build/cjs/chunk-MD4KDE44.cjs.map +1 -0
- package/build/cjs/{chunk-YPXTSEE7.cjs → chunk-MLFMSZJQ.cjs} +85 -38
- package/build/cjs/chunk-MLFMSZJQ.cjs.map +1 -0
- package/build/cjs/chunk-MQYOHGPY.cjs +52 -0
- package/build/cjs/chunk-MQYOHGPY.cjs.map +1 -0
- package/build/cjs/{chunk-BJDCC446.cjs → chunk-PTTCWNZZ.cjs} +417 -364
- package/build/cjs/chunk-PTTCWNZZ.cjs.map +1 -0
- package/build/cjs/{chunk-B2GRQRWU.cjs → chunk-TOJSJN3L.cjs} +44 -8
- package/build/cjs/chunk-TOJSJN3L.cjs.map +1 -0
- package/build/cjs/{chunk-JLESWL47.cjs → chunk-V7XWTJV7.cjs} +4 -2
- package/build/cjs/chunk-V7XWTJV7.cjs.map +1 -0
- package/build/cjs/{chunk-L5LPFCXT.cjs → chunk-W2IASYE4.cjs} +163 -125
- package/build/cjs/chunk-W2IASYE4.cjs.map +1 -0
- package/build/cjs/chunk-X337DNCW.cjs +45 -0
- package/build/cjs/chunk-X337DNCW.cjs.map +1 -0
- package/build/cjs/{chunk-SB2VTP67.cjs → chunk-Z7VHLTKD.cjs} +2 -64
- package/build/cjs/chunk-Z7VHLTKD.cjs.map +1 -0
- package/build/cjs/public/experimental/action-form.cjs +11 -9
- package/build/cjs/public/experimental/action-form.css +223 -68
- package/build/cjs/public/experimental/action-form.css.map +1 -1
- package/build/cjs/public/experimental/action-form.d.cts +83 -74
- package/build/cjs/public/experimental/filter-list.cjs +9 -8
- package/build/cjs/public/experimental/filter-list.css +38 -19
- package/build/cjs/public/experimental/filter-list.css.map +1 -1
- package/build/cjs/public/experimental/object-table.cjs +14 -12
- package/build/cjs/public/experimental/object-table.css +152 -59
- package/build/cjs/public/experimental/object-table.css.map +1 -1
- package/build/cjs/public/experimental/object-table.d.cts +39 -20
- package/build/cjs/public/experimental/pdf-viewer.cjs +24 -24
- package/build/cjs/public/experimental.cjs +46 -44
- package/build/cjs/public/experimental.css +242 -139
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/primitives.cjs +8 -7
- package/build/cjs/public/primitives.css +15 -0
- package/build/cjs/public/primitives.css.map +1 -1
- package/build/cjs/public/primitives.d.cts +1 -0
- package/build/esm/action-form/ActionForm.js +19 -11
- package/build/esm/action-form/ActionForm.js.map +1 -1
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +19 -13
- package/build/esm/action-form/BaseForm.js.map +1 -1
- package/build/esm/action-form/BaseForm.module.css +7 -7
- package/build/esm/action-form/FormField.js +5 -2
- package/build/esm/action-form/FormField.js.map +1 -1
- package/build/esm/action-form/FormField.module.css +6 -1
- package/build/esm/action-form/FormFieldApi.js +7 -1
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/FormHeader.module.css +2 -2
- package/build/esm/action-form/fields/DateCalendar.js +41 -3
- package/build/esm/action-form/fields/DateCalendar.js.map +1 -1
- package/build/esm/action-form/fields/DateCalendar.module.css +59 -10
- package/build/esm/action-form/fields/DateRangeCalendar.js +8 -5
- package/build/esm/action-form/fields/DateRangeCalendar.js.map +1 -1
- package/build/esm/action-form/fields/DateRangeInputField.js +76 -61
- package/build/esm/action-form/fields/DateRangeInputField.js.map +1 -1
- package/build/esm/action-form/fields/DateRangeInputField.module.css +0 -15
- package/build/esm/action-form/fields/DatetimePickerField.js +74 -40
- package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -1
- package/build/esm/action-form/fields/DatetimePickerField.module.css +2 -9
- package/build/esm/action-form/fields/FieldBridge.js +1 -1
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -1
- package/build/esm/action-form/fields/FilePickerField.js +47 -39
- package/build/esm/action-form/fields/FilePickerField.js.map +1 -1
- package/build/esm/action-form/fields/FilePickerField.module.css +43 -31
- package/build/esm/action-form/fields/FormFieldRenderer.js +9 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/esm/action-form/fields/RadioButtonsField.module.css +3 -3
- package/build/esm/action-form/fields/SwitchField.js +34 -0
- package/build/esm/action-form/fields/SwitchField.js.map +1 -0
- package/build/esm/action-form/fields/TimePicker.js +165 -26
- package/build/esm/action-form/fields/TimePicker.js.map +1 -1
- package/build/esm/action-form/fields/TimePicker.module.css +27 -2
- package/build/esm/action-form/fields/calendarShared.js +5 -0
- package/build/esm/action-form/fields/calendarShared.js.map +1 -1
- package/build/esm/action-form/fields/useDateEditState.js +3 -4
- package/build/esm/action-form/fields/useDateEditState.js.map +1 -1
- package/build/esm/base-components/action-button/ActionButton.js +2 -1
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -1
- package/build/esm/base-components/action-button/ActionButton.module.css +19 -0
- package/build/esm/base-components/combobox/Combobox.module.css +31 -3
- package/build/esm/base-components/select/Select.module.css +18 -0
- package/build/esm/base-components/switch/Switch.module.css +18 -6
- package/build/esm/filter-list/base/inputs/ListogramInput.js +34 -6
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +11 -5
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +20 -12
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NoValueLabel.js +36 -0
- package/build/esm/filter-list/base/inputs/NoValueLabel.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NoValueLabel.module.css +20 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +4 -3
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +13 -8
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +6 -2
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterListState.js +7 -6
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/useStableMapEntries.js +35 -0
- package/build/esm/filter-list/hooks/useStableMapEntries.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +13 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/object-table/DefaultCellRenderer.js +12 -2
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +14 -4
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/EditableCell.module.css +4 -0
- package/build/esm/object-table/ObjectTable.js +3 -1
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/Table.js +8 -4
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/TableBody.js +4 -2
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableRow.js +12 -4
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/utils/editableUtils.js +39 -0
- package/build/esm/object-table/utils/editableUtils.js.map +1 -0
- package/build/esm/object-table/utils/shouldShowEditableCell.js +1 -1
- package/build/esm/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/esm/object-table/utils/types.js.map +1 -1
- package/build/esm/tokens/component-tokens/button.css +15 -0
- package/build/esm/tokens/component-tokens/combobox.css +9 -0
- package/build/esm/tokens/component-tokens/datetime-picker.css +2 -2
- package/build/esm/tokens/component-tokens/file-picker.css +0 -10
- package/build/esm/tokens/component-tokens/filter-list.css +9 -6
- package/build/esm/tokens/component-tokens/form-section.css +1 -1
- package/build/esm/tokens/component-tokens/form.css +9 -5
- package/build/esm/tokens/component-tokens/table.css +3 -5
- package/build/esm/tokens.css +1 -0
- package/build/esm/util/UserAgent.js +1 -1
- package/build/types/action-form/ActionFormApi.d.ts +8 -8
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts.map +1 -1
- package/build/types/action-form/FormFieldApi.d.ts +29 -22
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/fields/DateCalendar.d.ts +6 -1
- package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -1
- package/build/types/action-form/fields/DateRangeCalendar.d.ts.map +1 -1
- package/build/types/action-form/fields/DateRangeInputField.d.ts.map +1 -1
- package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -1
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -1
- package/build/types/action-form/fields/FilePickerField.d.ts.map +1 -1
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
- package/build/types/action-form/fields/SwitchField.d.ts +7 -0
- package/build/types/action-form/fields/SwitchField.d.ts.map +1 -0
- package/build/types/action-form/fields/TimePicker.d.ts +4 -5
- package/build/types/action-form/fields/TimePicker.d.ts.map +1 -1
- package/build/types/action-form/fields/useDateEditState.d.ts +2 -2
- package/build/types/base-components/action-button/ActionButton.d.ts +1 -0
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NoValueLabel.d.ts +15 -0
- package/build/types/filter-list/base/inputs/NoValueLabel.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useStableMapEntries.d.ts +9 -0
- package/build/types/filter-list/hooks/useStableMapEntries.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +7 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
- package/build/types/object-table/EditableCell.d.ts +1 -1
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +26 -7
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +9 -2
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableBody.d.ts +2 -1
- package/build/types/object-table/TableBody.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts +2 -1
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/utils/editableUtils.d.ts +16 -0
- package/build/types/object-table/utils/editableUtils.d.ts.map +1 -0
- package/build/types/object-table/utils/shouldShowEditableCell.d.ts +2 -1
- package/build/types/object-table/utils/shouldShowEditableCell.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts +4 -11
- package/build/types/object-table/utils/types.d.ts.map +1 -1
- package/docs/ActionForm.md +176 -0
- package/docs/CSSVariables.md +31 -30
- package/docs/ObjectTable.md +141 -16
- package/package.json +6 -5
- package/build/cjs/DateCalendar-2W4QHEEI.css.map +0 -1
- package/build/cjs/DateCalendar-QGSYBWJB.cjs +0 -24
- package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs +0 -48
- package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs.map +0 -1
- package/build/cjs/DateRangeCalendar-M63S2LLG.css.map +0 -1
- package/build/cjs/chunk-B2GRQRWU.cjs.map +0 -1
- package/build/cjs/chunk-BJDCC446.cjs.map +0 -1
- package/build/cjs/chunk-JLESWL47.cjs.map +0 -1
- package/build/cjs/chunk-L5LPFCXT.cjs.map +0 -1
- package/build/cjs/chunk-SB2VTP67.cjs.map +0 -1
- package/build/cjs/chunk-T7I6O43T.cjs.map +0 -1
- package/build/cjs/chunk-UCTQICPR.cjs +0 -10
- package/build/cjs/chunk-UCTQICPR.cjs.map +0 -1
- package/build/cjs/chunk-VVJFMOZI.cjs.map +0 -1
- package/build/cjs/chunk-YPXTSEE7.cjs.map +0 -1
package/docs/ObjectTable.md
CHANGED
|
@@ -137,20 +137,22 @@ Each column header has a menu with items for sorting, filtering, pinning, resizi
|
|
|
137
137
|
|
|
138
138
|
### Interactions
|
|
139
139
|
|
|
140
|
-
| Prop | Type
|
|
141
|
-
| ----------------------- |
|
|
142
|
-
| `onRowClick` | `(object) => void`
|
|
143
|
-
| `renderCellContextMenu` | `(row, cellValue) => ReactNode`
|
|
140
|
+
| Prop | Type | Description |
|
|
141
|
+
| ----------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
142
|
+
| `onRowClick` | `(object) => void` | Called when a row is clicked |
|
|
143
|
+
| `renderCellContextMenu` | `(row, cellValue) => ReactNode` | Custom context menu for right-click on cells |
|
|
144
|
+
| `getRowAttributes` | `(rowData) => Record<string, string \| undefined>` | Extra HTML attributes (typically `data-*`) applied to each `<tr>`. See [Row Attributes](#row-attributes-and-conditional-row-styling) |
|
|
144
145
|
|
|
145
146
|
### Cell Editing
|
|
146
147
|
|
|
147
148
|
> The editable feature allows inline editing with validation and bulk submission capabilities. Editable cells support text inputs, number inputs, and dropdown selectors.
|
|
148
149
|
|
|
149
|
-
| Prop | Type | Description
|
|
150
|
-
| -------------------- | --------------------------------------------- |
|
|
151
|
-
| `editMode` | `"always" \| "manual"` | Controls edit mode behavior. "always": Table is always in edit mode. "manual": User toggles edit mode on/off. Default: "manual"
|
|
152
|
-
| `onCellValueChanged` | `(info: CellEditInfo) => void` | Called when a cell value is edited. The info object contains rowId, columnId, newValue, oldValue, and originalRowData
|
|
153
|
-
| `onSubmitEdits` | `(edits: CellEditInfo[]) => Promise<boolean>` | When provided, shows a "Submit Edits" button
|
|
150
|
+
| Prop | Type | Description |
|
|
151
|
+
| -------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
152
|
+
| `editMode` | `"always" \| "manual"` | Controls edit mode behavior. "always": Table is always in edit mode. "manual": User toggles edit mode on/off. Default: "manual" |
|
|
153
|
+
| `onCellValueChanged` | `(info: CellEditInfo) => void` | Called when a cell value is edited. The info object contains rowId, columnId, newValue, oldValue, and originalRowData |
|
|
154
|
+
| `onSubmitEdits` | `(edits: CellEditInfo[]) => Promise<boolean>` | When provided, shows a "Submit Edits" button in the edit footer. Return true on success |
|
|
155
|
+
| `showEditFooter` | `boolean` | Whether to render the bottom edit footer (Edit Table / Cancel / Submit Edits). Defaults to `true`. When `false`, the "Edit Table" and "Submit Edits" buttons will not be shown. |
|
|
154
156
|
|
|
155
157
|
## Column Definitions
|
|
156
158
|
|
|
@@ -167,7 +169,7 @@ type ColumnDefinition<Q, RDPs, FunctionColumns> = {
|
|
|
167
169
|
resizable?: boolean; // Allow column resizing
|
|
168
170
|
orderable?: boolean; // Allow column sorting
|
|
169
171
|
filterable?: boolean; // Allow column filtering
|
|
170
|
-
editable?: boolean; // Allow inline editing for this column
|
|
172
|
+
editable?: boolean | ((rowData) => boolean); // Allow inline editing for this column. Pass a function to make it conditional per row
|
|
171
173
|
editFieldConfig?: EditFieldConfig; // Optional editor component config (e.g. dropdown)
|
|
172
174
|
validateEdit?: (value: unknown) => Promise<string | undefined>; // Custom validation function for cell edits
|
|
173
175
|
renderCell?: (object, locator) => React.ReactNode; // Custom cell renderer
|
|
@@ -176,19 +178,54 @@ type ColumnDefinition<Q, RDPs, FunctionColumns> = {
|
|
|
176
178
|
};
|
|
177
179
|
```
|
|
178
180
|
|
|
181
|
+
#### `editable`
|
|
182
|
+
|
|
183
|
+
`editable` accepts either a boolean or a function `(rowData) => boolean`:
|
|
184
|
+
|
|
185
|
+
- `editable: true` — every cell in the column is editable.
|
|
186
|
+
- `editable: (rowData) => boolean` — configurable per row. The function receives the row's data and returns whether the cell should be editable.
|
|
187
|
+
|
|
188
|
+
```typescript
|
|
189
|
+
{
|
|
190
|
+
locator: { type: "property", id: "salary" },
|
|
191
|
+
// Only editable for active employees
|
|
192
|
+
editable: (employee) => employee.status === "Active",
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
When `editable` is a function, the column is still considered "potentially editable" at the table level — the bottom edit-mode bar is shown so users can enter and exit edit mode. The per-row predicate decides whether each cell renders the editor or the read-only value.
|
|
197
|
+
|
|
179
198
|
#### `editFieldConfig`
|
|
180
199
|
|
|
181
|
-
When `editable` is
|
|
200
|
+
When `editable` is truthy, columns default to a text or number input (auto-detected from the property type). Use `editFieldConfig` to specify a different editor component.
|
|
182
201
|
|
|
183
202
|
**Supported editor components:**
|
|
184
203
|
|
|
185
204
|
| `fieldComponent` | Description | Renders |
|
|
186
205
|
| ---------------- | ---------------------------------------- | ------------------------------------------------------------ |
|
|
187
206
|
| `"DROPDOWN"` | A select dropdown or searchable combobox | `Select` (default) or `Combobox` (when `isSearchable: true`) |
|
|
207
|
+
| `"DATE_PICKER"` | A date or datetime picker | `DatetimePicker` |
|
|
188
208
|
|
|
189
209
|
Without `editFieldConfig`, editable columns use a text input for string properties and a number input for numeric properties (`double`, `integer`, `long`, `float`, `decimal`, `byte`, `short`).
|
|
190
210
|
|
|
191
|
-
|
|
211
|
+
`getFieldComponentProps` receives the row's data and returns the props passed to the field component, so editor configuration can vary per row (e.g. dropdown items computed from the row's state).
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
{
|
|
215
|
+
locator: { type: "property", id: "department" },
|
|
216
|
+
editable: true,
|
|
217
|
+
editFieldConfig: {
|
|
218
|
+
fieldComponent: "DROPDOWN",
|
|
219
|
+
getFieldComponentProps: (employee) => ({
|
|
220
|
+
// Allow the user to pick from departments compatible with the
|
|
221
|
+
// employee's role
|
|
222
|
+
items: getCompatibleDepartments(employee.role),
|
|
223
|
+
}),
|
|
224
|
+
},
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Dropdown `fieldComponentProps` (returned from `getFieldComponentProps`):**
|
|
192
229
|
|
|
193
230
|
| Prop | Type | Default | Description |
|
|
194
231
|
| ------------------- | ------------------------- | -------------- | -------------------------------------------------------- |
|
|
@@ -688,7 +725,7 @@ const columnDefinitions: Array<ColumnDefinition<typeof Employee>> = [
|
|
|
688
725
|
editable: true,
|
|
689
726
|
editFieldConfig: {
|
|
690
727
|
fieldComponent: "DROPDOWN",
|
|
691
|
-
|
|
728
|
+
getFieldComponentProps: () => ({
|
|
692
729
|
items: [
|
|
693
730
|
"Engineering",
|
|
694
731
|
"Product",
|
|
@@ -698,7 +735,7 @@ const columnDefinitions: Array<ColumnDefinition<typeof Employee>> = [
|
|
|
698
735
|
"Finance",
|
|
699
736
|
"Human Resources",
|
|
700
737
|
],
|
|
701
|
-
},
|
|
738
|
+
}),
|
|
702
739
|
},
|
|
703
740
|
},
|
|
704
741
|
{
|
|
@@ -706,7 +743,7 @@ const columnDefinitions: Array<ColumnDefinition<typeof Employee>> = [
|
|
|
706
743
|
editable: true,
|
|
707
744
|
editFieldConfig: {
|
|
708
745
|
fieldComponent: "DROPDOWN",
|
|
709
|
-
|
|
746
|
+
getFieldComponentProps: () => ({
|
|
710
747
|
items: [
|
|
711
748
|
"Software Engineer",
|
|
712
749
|
"Senior Software Engineer",
|
|
@@ -717,7 +754,7 @@ const columnDefinitions: Array<ColumnDefinition<typeof Employee>> = [
|
|
|
717
754
|
],
|
|
718
755
|
isSearchable: true, // Renders a searchable combobox
|
|
719
756
|
placeholder: "Search job titles…",
|
|
720
|
-
},
|
|
757
|
+
}),
|
|
721
758
|
},
|
|
722
759
|
},
|
|
723
760
|
];
|
|
@@ -797,6 +834,37 @@ function EditableEmployeesTable() {
|
|
|
797
834
|
- All edits are submitted together
|
|
798
835
|
- Return `true` from `onSubmitEdits` to clear edits after successful submission
|
|
799
836
|
|
|
837
|
+
#### Per-Row Configuration for Editable and FieldComponentProps
|
|
838
|
+
|
|
839
|
+
Pass a function to `editable` to gate editing per row, and a `getFieldComponentProps` function to compute editor props from the row's data:
|
|
840
|
+
|
|
841
|
+
```typescript
|
|
842
|
+
import {
|
|
843
|
+
type ColumnDefinition,
|
|
844
|
+
ObjectTable,
|
|
845
|
+
} from "@osdk/react-components/experimental/object-table";
|
|
846
|
+
import { Employee } from "@YourApp/sdk";
|
|
847
|
+
|
|
848
|
+
const columnDefinitions: Array<ColumnDefinition<typeof Employee>> = [
|
|
849
|
+
{
|
|
850
|
+
locator: { type: "property", id: "salary" },
|
|
851
|
+
// Only editable for active employees
|
|
852
|
+
editable: (employee) => employee.status === "Active",
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
locator: { type: "property", id: "department" },
|
|
856
|
+
editable: true,
|
|
857
|
+
editFieldConfig: {
|
|
858
|
+
fieldComponent: "DROPDOWN",
|
|
859
|
+
// Items depend on the employee's role
|
|
860
|
+
getFieldComponentProps: (employee) => ({
|
|
861
|
+
items: getCompatibleDepartments(employee.role),
|
|
862
|
+
}),
|
|
863
|
+
},
|
|
864
|
+
},
|
|
865
|
+
];
|
|
866
|
+
```
|
|
867
|
+
|
|
800
868
|
### Example 14: Custom Column Configuration Dialog
|
|
801
869
|
|
|
802
870
|
Use the `ColumnConfigDialog` component to create a custom column configuration experience:
|
|
@@ -1101,6 +1169,63 @@ Adjust row height for better readability:
|
|
|
1101
1169
|
/>;
|
|
1102
1170
|
```
|
|
1103
1171
|
|
|
1172
|
+
### Row Attributes and Conditional Row Styling
|
|
1173
|
+
|
|
1174
|
+
Use `getRowAttributes` to apply custom HTML attributes (typically `data-*` attributes) to each `<tr>` element. This is the recommended pattern for conditional row styling — for example, changing a row's background color based on the underlying object's state.
|
|
1175
|
+
|
|
1176
|
+
```tsx
|
|
1177
|
+
import type { Osdk } from "@osdk/api";
|
|
1178
|
+
import { ObjectTable } from "@osdk/react-components/experimental/object-table";
|
|
1179
|
+
import { Employee } from "@YourApp/sdk";
|
|
1180
|
+
import { useCallback } from "react";
|
|
1181
|
+
|
|
1182
|
+
function EmployeesTable() {
|
|
1183
|
+
const getRowAttributes = useCallback(
|
|
1184
|
+
(employee: Osdk.Instance<typeof Employee>) => ({
|
|
1185
|
+
"data-status": employee.status,
|
|
1186
|
+
"data-overdue": employee.daysOverdue > 0 ? "true" : undefined,
|
|
1187
|
+
}),
|
|
1188
|
+
[],
|
|
1189
|
+
);
|
|
1190
|
+
|
|
1191
|
+
return (
|
|
1192
|
+
<ObjectTable
|
|
1193
|
+
objectType={Employee}
|
|
1194
|
+
className="employees-table"
|
|
1195
|
+
getRowAttributes={getRowAttributes}
|
|
1196
|
+
/>
|
|
1197
|
+
);
|
|
1198
|
+
}
|
|
1199
|
+
```
|
|
1200
|
+
|
|
1201
|
+
Entries whose value is `undefined` are skipped, so you can include attributes conditionally without emitting empty values.
|
|
1202
|
+
|
|
1203
|
+
Then drive your row styling in CSS using attribute selectors. Row background colors come from `--osdk-table-row-bg-default` (and `--osdk-table-row-bg-alternate` for odd zebra rows) — overriding both on a `<tr>` for matching rows takes precedence:
|
|
1204
|
+
|
|
1205
|
+
```css
|
|
1206
|
+
.employees-table tr[data-status="Inactive"] {
|
|
1207
|
+
--osdk-table-row-bg-default: #f3f4f6;
|
|
1208
|
+
--osdk-table-row-bg-alternate: #f3f4f6;
|
|
1209
|
+
color: #6b7280;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
.employees-table tr[data-overdue="true"] {
|
|
1213
|
+
--osdk-table-row-bg-default: #fef2f2;
|
|
1214
|
+
--osdk-table-row-bg-alternate: #fef2f2;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
.employees-table tr[data-status="Active"][data-overdue="true"] {
|
|
1218
|
+
--osdk-table-row-bg-default: #fffbeb;
|
|
1219
|
+
--osdk-table-row-bg-alternate: #fffbeb;
|
|
1220
|
+
}
|
|
1221
|
+
```
|
|
1222
|
+
|
|
1223
|
+
Notes:
|
|
1224
|
+
|
|
1225
|
+
- Combine multiple attribute selectors to express priority (the most specific selector wins, per normal CSS rules).
|
|
1226
|
+
- The table sets its own attributes (`data-selected`, `data-focused`, `data-row-parity`, `data-pinned`) on rows and cells. Avoid using these names in `getRowAttributes` since they would override the built-in behavior.
|
|
1227
|
+
- `getRowAttributes` runs for every visible row, so memoize it with `useCallback` to keep referential equality across renders.
|
|
1228
|
+
|
|
1104
1229
|
### Loading and Empty States
|
|
1105
1230
|
|
|
1106
1231
|
The ObjectTable automatically handles:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -109,6 +109,7 @@
|
|
|
109
109
|
"@tanstack/react-virtual": "^3.13.13",
|
|
110
110
|
"date-fns": "^2.28.0",
|
|
111
111
|
"date-fns-tz": "^2.0.0",
|
|
112
|
+
"fast-deep-equal": "^3.1.3",
|
|
112
113
|
"lodash-es": "^4.17.21",
|
|
113
114
|
"pdfjs-dist": "~4.8.69",
|
|
114
115
|
"react-day-picker": "^8.10.0",
|
|
@@ -138,11 +139,11 @@
|
|
|
138
139
|
"react": "^18.3.1",
|
|
139
140
|
"react-dom": "^18.3.1",
|
|
140
141
|
"typescript": "~5.5.4",
|
|
141
|
-
"@osdk/
|
|
142
|
+
"@osdk/api": "2.17.0",
|
|
143
|
+
"@osdk/client": "2.17.0",
|
|
142
144
|
"@osdk/monorepo.api-extractor": "~0.7.0",
|
|
143
|
-
"@osdk/
|
|
144
|
-
"@osdk/
|
|
145
|
-
"@osdk/api": "2.16.0"
|
|
145
|
+
"@osdk/react": "2.17.0",
|
|
146
|
+
"@osdk/monorepo.tsconfig": "~0.7.0"
|
|
146
147
|
},
|
|
147
148
|
"publishConfig": {
|
|
148
149
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/action-form/fields/DateCalendar.module.css"],"sourcesContent":["/* DateCalendar — DayPicker classNames.\n All values reference --osdk-datetime-calendar-* tokens defined in\n react-components-styles/tokens/datetime-picker.css. */\n\n.calendar {\n position: relative;\n width: 100%;\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-font-size);\n}\n\n.calendarMonths {\n display: flex;\n gap: var(--osdk-datetime-calendar-months-gap);\n}\n\n.calendarMonthGrid {\n width: 100%;\n border-collapse: collapse;\n}\n\n.calendarWeekday {\n padding: var(--osdk-datetime-calendar-gap);\n font-size: var(--osdk-datetime-calendar-weekday-font-size);\n color: var(--osdk-datetime-calendar-weekday-color);\n text-align: center;\n width: var(--osdk-datetime-calendar-cell-size);\n}\n\n.calendarDay {\n padding: var(--osdk-datetime-calendar-gap);\n text-align: center;\n}\n\n.calendarDayButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-cell-size);\n height: var(--osdk-datetime-calendar-cell-size);\n border: none;\n border-radius: var(--osdk-datetime-calendar-day-border-radius);\n background: transparent;\n cursor: pointer;\n font: inherit;\n color: var(--osdk-datetime-calendar-day-color);\n\n &:hover {\n background: var(--osdk-datetime-calendar-day-hover-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:active {\n background: var(--osdk-datetime-calendar-day-active-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -2px;\n }\n}\n\n/* :not([disabled]) bumps specificity to (0,4,0) — matching rdp's default\n .rdp-button:hover:not([disabled]):not(.rdp-day_selected) rule so our\n styles win by source order. Without this, rdp overrides the selected\n background on hover because we remap day_selected and its :not() always matches. */\n.calendarDayButton.calendarSelected {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n.calendarDayButton.calendarToday {\n font-weight: var(--osdk-datetime-calendar-today-font-weight);\n}\n\n.calendarDayButton.calendarOutside {\n color: var(--osdk-datetime-calendar-outside-color);\n opacity: var(--osdk-datetime-calendar-outside-opacity);\n}\n\n.calendarDayButton.calendarDisabled {\n color: var(--osdk-datetime-calendar-disabled-color);\n cursor: default;\n\n &:hover {\n background: transparent;\n }\n}\n\n/* Range selection styles — shared base for start/end endpoints */\n.calendarRangeEndpoint {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n\n/* Range-middle needs .calendarDayButton prefix to match specificity of\n .calendarDayButton.calendarSelected (rdp applies both to range-middle days). */\n.calendarDayButton.calendarRangeMiddle {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-color);\n border-radius: 0;\n\n &:hover {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n filter: brightness(0.95);\n }\n\n &:active {\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n}\n\n.calendarHidden {\n visibility: hidden;\n}\n\n/* Calendar navigation — dissolve the nav wrapper so buttons become\n direct flex children of the caption row. This lets order: -1 move\n the prev button before the dropdowns while next stays after. */\n.calendarNav {\n display: contents;\n}\n\n/* Shared nav button base — small, matching dropdown caret scale */\n.calendarNavButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-nav-button-size);\n height: var(--osdk-datetime-calendar-nav-button-size);\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-nav-button-border-radius);\n padding: 0;\n color: inherit;\n\n &:hover {\n background: var(--osdk-datetime-calendar-nav-button-hover-bg);\n }\n\n &:disabled {\n color: var(--osdk-datetime-calendar-nav-disabled-color);\n cursor: default;\n opacity: 1; /* Override browser default disabled opacity */\n\n &:hover {\n background: transparent;\n }\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -1px;\n }\n}\n\n/* Hide the default SVG chevron icon — Blueprint icons rendered inline instead */\n.calendarChevron {\n display: none;\n}\n\n.calendarNavPrev {\n order: -1;\n}\n\n.calendarMonthCaption {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--osdk-datetime-calendar-nav-button-size);\n}\n\n/* Visually hidden — used for accessibility-only text (caption label, dropdown labels) */\n.calendarVhidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n\n/* Caption dropdowns container */\n.calendarCaptionDropdowns {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-datetime-calendar-caption-gap);\n}\n\n/* Month/year selects — borderless, matching caption text weight */\n.calendarDropdown {\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-caption-font-size);\n font-weight: var(--osdk-datetime-calendar-caption-font-weight);\n color: inherit;\n background: transparent;\n border: none;\n padding: var(--osdk-datetime-calendar-dropdown-padding);\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-dropdown-border-radius);\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: 1px;\n }\n}\n\n\n/* Footer — content rendered inside DayPicker's <tfoot> (constrained by the table). */\n.calendarFooter {\n padding-top: var(--osdk-time-picker-padding-top);\n margin-top: var(--osdk-time-picker-margin-top);\n border-top: var(--osdk-time-picker-border-top);\n}\n\n"],"mappings":"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","names":[]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var chunkB2GRQRWU_cjs = require('./chunk-B2GRQRWU.cjs');
|
|
6
|
-
require('./chunk-JLESWL47.cjs');
|
|
7
|
-
require('./chunk-Q2W6GYRK.cjs');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "CALENDAR_COMPONENTS", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function () { return chunkB2GRQRWU_cjs.CALENDAR_COMPONENTS; }
|
|
14
|
-
});
|
|
15
|
-
Object.defineProperty(exports, "CLASS_NAMES", {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return chunkB2GRQRWU_cjs.CLASS_NAMES; }
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports, "default", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return chunkB2GRQRWU_cjs.DateCalendar; }
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=DateCalendar-QGSYBWJB.cjs.map
|
|
24
|
-
//# sourceMappingURL=DateCalendar-QGSYBWJB.cjs.map
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkB2GRQRWU_cjs = require('./chunk-B2GRQRWU.cjs');
|
|
4
|
-
var chunkJLESWL47_cjs = require('./chunk-JLESWL47.cjs');
|
|
5
|
-
require('./chunk-Q2W6GYRK.cjs');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var reactDayPicker = require('react-day-picker');
|
|
8
|
-
|
|
9
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
-
|
|
13
|
-
var CLASS_NAMES2 = {
|
|
14
|
-
...chunkB2GRQRWU_cjs.CLASS_NAMES,
|
|
15
|
-
day_range_start: chunkB2GRQRWU_cjs.DateCalendar_default.calendarRangeEndpoint,
|
|
16
|
-
day_range_middle: chunkB2GRQRWU_cjs.DateCalendar_default.calendarRangeMiddle,
|
|
17
|
-
day_range_end: chunkB2GRQRWU_cjs.DateCalendar_default.calendarRangeEndpoint
|
|
18
|
-
};
|
|
19
|
-
function DateRangeCalendar({
|
|
20
|
-
selected,
|
|
21
|
-
onSelect,
|
|
22
|
-
min,
|
|
23
|
-
max,
|
|
24
|
-
footer
|
|
25
|
-
}) {
|
|
26
|
-
const disabled = React.useMemo(() => chunkJLESWL47_cjs.buildDisabledMatchers(min, max), [min, max]);
|
|
27
|
-
const fromYear = min != null ? min.getFullYear() : chunkJLESWL47_cjs.DEFAULT_FROM_YEAR;
|
|
28
|
-
const toYear = max != null ? max.getFullYear() : chunkJLESWL47_cjs.DEFAULT_TO_YEAR;
|
|
29
|
-
return /* @__PURE__ */ React__default.default.createElement(reactDayPicker.DayPicker, {
|
|
30
|
-
mode: "range",
|
|
31
|
-
selected,
|
|
32
|
-
onSelect,
|
|
33
|
-
disabled,
|
|
34
|
-
defaultMonth: selected?.from,
|
|
35
|
-
classNames: CLASS_NAMES2,
|
|
36
|
-
components: chunkB2GRQRWU_cjs.CALENDAR_COMPONENTS,
|
|
37
|
-
footer,
|
|
38
|
-
captionLayout: "dropdown-buttons",
|
|
39
|
-
fromYear,
|
|
40
|
-
toYear,
|
|
41
|
-
numberOfMonths: 2,
|
|
42
|
-
pagedNavigation: true
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
module.exports = DateRangeCalendar;
|
|
47
|
-
//# sourceMappingURL=DateRangeCalendar-JHO2BF3Z.cjs.map
|
|
48
|
-
//# sourceMappingURL=DateRangeCalendar-JHO2BF3Z.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/action-form/fields/DateRangeCalendar.tsx"],"names":["CLASS_NAMES","DateCalendar_default","useMemo","buildDisabledMatchers","DEFAULT_FROM_YEAR","DEFAULT_TO_YEAR","React","DayPicker","CALENDAR_COMPONENTS"],"mappings":";;;;;;;;;;;;AAqBA,IAAMA,YAAAA,GAAc;AAAA,EAClB,GAAGA,6BAAA;AAAA,EACH,iBAAiBC,sCAAA,CAAO,qBAAA;AAAA,EACxB,kBAAkBA,sCAAA,CAAO,mBAAA;AAAA,EACzB,eAAeA,sCAAA,CAAO;AACxB,CAAA;AACe,SAAR,iBAAA,CAAmC;AAAA,EACxC,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,QAAA,GAAWC,aAAA,CAAQ,MAAMC,uCAAA,CAAsB,GAAA,EAAK,GAAG,CAAA,EAAG,CAAC,GAAA,EAAK,GAAG,CAAC,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,mCAAA;AACnD,EAAA,MAAM,MAAA,GAAS,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,iCAAA;AACjD,EAAA,uBAAoBC,sBAAA,CAAM,cAAcC,wBAAA,EAAW;AAAA,IACjD,IAAA,EAAM,OAAA;AAAA,IACN,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAc,QAAA,EAAU,IAAA;AAAA,IACxB,UAAA,EAAYP,YAAAA;AAAA,IACZ,UAAA,EAAYQ,qCAAA;AAAA,IACZ,MAAA;AAAA,IACA,aAAA,EAAe,kBAAA;AAAA,IACf,QAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA,EAAgB,CAAA;AAAA,IAChB,eAAA,EAAiB;AAAA,GAClB,CAAA;AACH","file":"DateRangeCalendar-JHO2BF3Z.cjs","sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useMemo } from \"react\";\nimport { DayPicker } from \"react-day-picker\";\nimport { buildDisabledMatchers, DEFAULT_FROM_YEAR, DEFAULT_TO_YEAR } from \"./calendarShared.js\";\nimport { CALENDAR_COMPONENTS, CLASS_NAMES as BASE_CLASS_NAMES } from \"./DateCalendar.js\";\nimport styles from \"./DateCalendar.module.css\";\nconst CLASS_NAMES = {\n ...BASE_CLASS_NAMES,\n day_range_start: styles.calendarRangeEndpoint,\n day_range_middle: styles.calendarRangeMiddle,\n day_range_end: styles.calendarRangeEndpoint\n};\nexport default function DateRangeCalendar({\n selected,\n onSelect,\n min,\n max,\n footer\n}) {\n const disabled = useMemo(() => buildDisabledMatchers(min, max), [min, max]);\n const fromYear = min != null ? min.getFullYear() : DEFAULT_FROM_YEAR;\n const toYear = max != null ? max.getFullYear() : DEFAULT_TO_YEAR;\n return /*#__PURE__*/React.createElement(DayPicker, {\n mode: \"range\",\n selected: selected,\n onSelect: onSelect,\n disabled: disabled,\n defaultMonth: selected?.from,\n classNames: CLASS_NAMES,\n components: CALENDAR_COMPONENTS,\n footer: footer,\n captionLayout: \"dropdown-buttons\",\n fromYear: fromYear,\n toYear: toYear,\n numberOfMonths: 2,\n pagedNavigation: true\n });\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/action-form/fields/DateCalendar.module.css"],"sourcesContent":["/* DateCalendar — DayPicker classNames.\n All values reference --osdk-datetime-calendar-* tokens defined in\n react-components-styles/tokens/datetime-picker.css. */\n\n.calendar {\n position: relative;\n width: 100%;\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-font-size);\n}\n\n.calendarMonths {\n display: flex;\n gap: var(--osdk-datetime-calendar-months-gap);\n}\n\n.calendarMonthGrid {\n width: 100%;\n border-collapse: collapse;\n}\n\n.calendarWeekday {\n padding: var(--osdk-datetime-calendar-gap);\n font-size: var(--osdk-datetime-calendar-weekday-font-size);\n color: var(--osdk-datetime-calendar-weekday-color);\n text-align: center;\n width: var(--osdk-datetime-calendar-cell-size);\n}\n\n.calendarDay {\n padding: var(--osdk-datetime-calendar-gap);\n text-align: center;\n}\n\n.calendarDayButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-cell-size);\n height: var(--osdk-datetime-calendar-cell-size);\n border: none;\n border-radius: var(--osdk-datetime-calendar-day-border-radius);\n background: transparent;\n cursor: pointer;\n font: inherit;\n color: var(--osdk-datetime-calendar-day-color);\n\n &:hover {\n background: var(--osdk-datetime-calendar-day-hover-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:active {\n background: var(--osdk-datetime-calendar-day-active-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -2px;\n }\n}\n\n/* :not([disabled]) bumps specificity to (0,4,0) — matching rdp's default\n .rdp-button:hover:not([disabled]):not(.rdp-day_selected) rule so our\n styles win by source order. Without this, rdp overrides the selected\n background on hover because we remap day_selected and its :not() always matches. */\n.calendarDayButton.calendarSelected {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n.calendarDayButton.calendarToday {\n font-weight: var(--osdk-datetime-calendar-today-font-weight);\n}\n\n.calendarDayButton.calendarOutside {\n color: var(--osdk-datetime-calendar-outside-color);\n opacity: var(--osdk-datetime-calendar-outside-opacity);\n}\n\n.calendarDayButton.calendarDisabled {\n color: var(--osdk-datetime-calendar-disabled-color);\n cursor: default;\n\n &:hover {\n background: transparent;\n }\n}\n\n/* Range selection styles — shared base for start/end endpoints */\n.calendarRangeEndpoint {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n\n/* Range-middle needs .calendarDayButton prefix to match specificity of\n .calendarDayButton.calendarSelected (rdp applies both to range-middle days). */\n.calendarDayButton.calendarRangeMiddle {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-color);\n border-radius: 0;\n\n &:hover {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n filter: brightness(0.95);\n }\n\n &:active {\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n}\n\n.calendarHidden {\n visibility: hidden;\n}\n\n/* Calendar navigation — dissolve the nav wrapper so buttons become\n direct flex children of the caption row. This lets order: -1 move\n the prev button before the dropdowns while next stays after. */\n.calendarNav {\n display: contents;\n}\n\n/* Shared nav button base — small, matching dropdown caret scale */\n.calendarNavButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-nav-button-size);\n height: var(--osdk-datetime-calendar-nav-button-size);\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-nav-button-border-radius);\n padding: 0;\n color: inherit;\n\n &:hover {\n background: var(--osdk-datetime-calendar-nav-button-hover-bg);\n }\n\n &:disabled {\n color: var(--osdk-datetime-calendar-nav-disabled-color);\n cursor: default;\n opacity: 1; /* Override browser default disabled opacity */\n\n &:hover {\n background: transparent;\n }\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -1px;\n }\n}\n\n/* Hide the default SVG chevron icon — Blueprint icons rendered inline instead */\n.calendarChevron {\n display: none;\n}\n\n.calendarNavPrev {\n order: -1;\n}\n\n.calendarMonthCaption {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--osdk-datetime-calendar-nav-button-size);\n}\n\n/* Visually hidden — used for accessibility-only text (caption label, dropdown labels) */\n.calendarVhidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n\n/* Caption dropdowns container */\n.calendarCaptionDropdowns {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-datetime-calendar-caption-gap);\n}\n\n/* Month/year selects — borderless, matching caption text weight */\n.calendarDropdown {\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-caption-font-size);\n font-weight: var(--osdk-datetime-calendar-caption-font-weight);\n color: inherit;\n background: transparent;\n border: none;\n padding: var(--osdk-datetime-calendar-dropdown-padding);\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-dropdown-border-radius);\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: 1px;\n }\n}\n\n\n/* Footer — content rendered inside DayPicker's <tfoot> (constrained by the table). */\n.calendarFooter {\n padding-top: var(--osdk-time-picker-padding-top);\n margin-top: var(--osdk-time-picker-margin-top);\n border-top: var(--osdk-time-picker-border-top);\n}\n\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/action-form/fields/DateCalendar.module.css","../../src/action-form/fields/DateCalendar.tsx"],"names":["classnames","React","ChevronLeft","ChevronRight","useMemo","buildDisabledMatchers","DEFAULT_FROM_YEAR","DEFAULT_TO_YEAR","DayPicker"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,oBAAA,GAAA;;;ACsBO,IAAM,WAAA,GAAc;AAAA,EACzB,MAAM,oBAAA,CAAO,QAAA;AAAA,EACb,QAAQ,oBAAA,CAAO,cAAA;AAAA,EACf,OAAO,oBAAA,CAAO,iBAAA;AAAA,EACd,WAAW,oBAAA,CAAO,eAAA;AAAA,EAClB,MAAM,oBAAA,CAAO,WAAA;AAAA,EACb,KAAK,oBAAA,CAAO,iBAAA;AAAA,EACZ,cAAc,oBAAA,CAAO,gBAAA;AAAA,EACrB,WAAW,oBAAA,CAAO,aAAA;AAAA,EAClB,aAAa,oBAAA,CAAO,eAAA;AAAA,EACpB,cAAc,oBAAA,CAAO,gBAAA;AAAA,EACrB,YAAY,oBAAA,CAAO,cAAA;AAAA,EACnB,KAAK,oBAAA,CAAO,WAAA;AAAA,EACZ,mBAAA,EAAqBA,2BAAA,CAAW,oBAAA,CAAO,iBAAA,EAAmB,qBAAO,eAAe,CAAA;AAAA,EAChF,eAAA,EAAiBA,2BAAA,CAAW,oBAAA,CAAO,iBAAA,EAAmB,qBAAO,eAAe,CAAA;AAAA,EAC5E,SAAS,oBAAA,CAAO,oBAAA;AAAA,EAChB,eAAe,oBAAA,CAAO,eAAA;AAAA,EACtB,mBAAmB,oBAAA,CAAO,wBAAA;AAAA,EAC1B,UAAU,oBAAA,CAAO,gBAAA;AAAA,EACjB,gBAAgB,oBAAA,CAAO,gBAAA;AAAA,EACvB,eAAe,oBAAA,CAAO,gBAAA;AAAA,EACtB,UAAU,oBAAA,CAAO,eAAA;AAAA,EACjB,SAAS,oBAAA,CAAO,eAAA;AAAA,EAChB,OAAO,oBAAA,CAAO;AAChB;AACA,IAAM,aAAA,GAAgB,EAAA;AACtB,SAAS,QAAA,GAAW;AAClB,EAAA,uBAAoBC,sBAAA,CAAM,cAAcC,iBAAA,EAAa;AAAA,IACnD,IAAA,EAAM;AAAA,GACP,CAAA;AACH;AACA,SAAS,SAAA,GAAY;AACnB,EAAA,uBAAoBD,sBAAA,CAAM,cAAcE,kBAAA,EAAc;AAAA,IACpD,IAAA,EAAM;AAAA,GACP,CAAA;AACH;AACO,IAAM,mBAAA,GAAsB;AAAA,EACjC,QAAA;AAAA,EACA;AACF;AACe,SAAR,YAAA,CAA8B;AAAA,EACnC,YAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,QAAA,GAAWC,aAAA,CAAQ,MAAMC,uCAAA,CAAsB,GAAA,EAAK,GAAG,CAAA,EAAG,CAAC,GAAA,EAAK,GAAG,CAAC,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,mCAAA;AACnD,EAAA,MAAM,MAAA,GAAS,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,iCAAA;AACjD,EAAA,uBAAoBN,sBAAA,CAAM,cAAcO,wBAAA,EAAW;AAAA,IACjD,IAAA,EAAM,QAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,QAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA,EAAc,YAAA;AAAA,IACd,UAAA,EAAY,WAAA;AAAA,IACZ,UAAA,EAAY,mBAAA;AAAA,IACZ,MAAA;AAAA,IAIA,aAAA,EAAe,kBAAA;AAAA,IACf,QAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA,EAAiB,IAAA;AAAA,IAGjB,UAAA,EAAY;AAAA,GACb,CAAA;AACH","file":"chunk-B2GRQRWU.cjs","sourcesContent":["/* DateCalendar — DayPicker classNames.\n All values reference --osdk-datetime-calendar-* tokens defined in\n react-components-styles/tokens/datetime-picker.css. */\n\n.calendar {\n position: relative;\n width: 100%;\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-font-size);\n}\n\n.calendarMonths {\n display: flex;\n gap: var(--osdk-datetime-calendar-months-gap);\n}\n\n.calendarMonthGrid {\n width: 100%;\n border-collapse: collapse;\n}\n\n.calendarWeekday {\n padding: var(--osdk-datetime-calendar-gap);\n font-size: var(--osdk-datetime-calendar-weekday-font-size);\n color: var(--osdk-datetime-calendar-weekday-color);\n text-align: center;\n width: var(--osdk-datetime-calendar-cell-size);\n}\n\n.calendarDay {\n padding: var(--osdk-datetime-calendar-gap);\n text-align: center;\n}\n\n.calendarDayButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-cell-size);\n height: var(--osdk-datetime-calendar-cell-size);\n border: none;\n border-radius: var(--osdk-datetime-calendar-day-border-radius);\n background: transparent;\n cursor: pointer;\n font: inherit;\n color: var(--osdk-datetime-calendar-day-color);\n\n &:hover {\n background: var(--osdk-datetime-calendar-day-hover-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:active {\n background: var(--osdk-datetime-calendar-day-active-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -2px;\n }\n}\n\n/* :not([disabled]) bumps specificity to (0,4,0) — matching rdp's default\n .rdp-button:hover:not([disabled]):not(.rdp-day_selected) rule so our\n styles win by source order. Without this, rdp overrides the selected\n background on hover because we remap day_selected and its :not() always matches. */\n.calendarDayButton.calendarSelected {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n.calendarDayButton.calendarToday {\n font-weight: var(--osdk-datetime-calendar-today-font-weight);\n}\n\n.calendarDayButton.calendarOutside {\n color: var(--osdk-datetime-calendar-outside-color);\n opacity: var(--osdk-datetime-calendar-outside-opacity);\n}\n\n.calendarDayButton.calendarDisabled {\n color: var(--osdk-datetime-calendar-disabled-color);\n cursor: default;\n\n &:hover {\n background: transparent;\n }\n}\n\n/* Range selection styles — shared base for start/end endpoints */\n.calendarRangeEndpoint {\n background: var(--osdk-datetime-calendar-selected-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n\n &:hover:not([disabled]) {\n background: var(--osdk-datetime-calendar-selected-hover-bg);\n color: var(--osdk-datetime-calendar-selected-color);\n }\n\n &:active:not([disabled]) {\n color: var(--osdk-datetime-calendar-selected-color);\n }\n}\n\n\n/* Range-middle needs .calendarDayButton prefix to match specificity of\n .calendarDayButton.calendarSelected (rdp applies both to range-middle days). */\n.calendarDayButton.calendarRangeMiddle {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-color);\n border-radius: 0;\n\n &:hover {\n background: var(--osdk-datetime-calendar-range-middle-bg);\n color: var(--osdk-datetime-calendar-day-hover-color);\n filter: brightness(0.95);\n }\n\n &:active {\n color: var(--osdk-datetime-calendar-day-hover-color);\n }\n}\n\n.calendarHidden {\n visibility: hidden;\n}\n\n/* Calendar navigation — dissolve the nav wrapper so buttons become\n direct flex children of the caption row. This lets order: -1 move\n the prev button before the dropdowns while next stays after. */\n.calendarNav {\n display: contents;\n}\n\n/* Shared nav button base — small, matching dropdown caret scale */\n.calendarNavButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--osdk-datetime-calendar-nav-button-size);\n height: var(--osdk-datetime-calendar-nav-button-size);\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-nav-button-border-radius);\n padding: 0;\n color: inherit;\n\n &:hover {\n background: var(--osdk-datetime-calendar-nav-button-hover-bg);\n }\n\n &:disabled {\n color: var(--osdk-datetime-calendar-nav-disabled-color);\n cursor: default;\n opacity: 1; /* Override browser default disabled opacity */\n\n &:hover {\n background: transparent;\n }\n }\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: -1px;\n }\n}\n\n/* Hide the default SVG chevron icon — Blueprint icons rendered inline instead */\n.calendarChevron {\n display: none;\n}\n\n.calendarNavPrev {\n order: -1;\n}\n\n.calendarMonthCaption {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--osdk-datetime-calendar-nav-button-size);\n}\n\n/* Visually hidden — used for accessibility-only text (caption label, dropdown labels) */\n.calendarVhidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n\n/* Caption dropdowns container */\n.calendarCaptionDropdowns {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-datetime-calendar-caption-gap);\n}\n\n/* Month/year selects — borderless, matching caption text weight */\n.calendarDropdown {\n font-family: var(--osdk-datetime-calendar-font-family);\n font-size: var(--osdk-datetime-calendar-caption-font-size);\n font-weight: var(--osdk-datetime-calendar-caption-font-weight);\n color: inherit;\n background: transparent;\n border: none;\n padding: var(--osdk-datetime-calendar-dropdown-padding);\n cursor: pointer;\n border-radius: var(--osdk-datetime-calendar-dropdown-border-radius);\n\n &:focus-visible {\n outline: var(--osdk-datetime-calendar-focus-outline);\n outline-offset: 1px;\n }\n}\n\n\n/* Footer — content rendered inside DayPicker's <tfoot> (constrained by the table). */\n.calendarFooter {\n padding-top: var(--osdk-time-picker-padding-top);\n margin-top: var(--osdk-time-picker-margin-top);\n border-top: var(--osdk-time-picker-border-top);\n}\n\n","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ChevronLeft, ChevronRight } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { DayPicker } from \"react-day-picker\";\nimport { buildDisabledMatchers, DEFAULT_FROM_YEAR, DEFAULT_TO_YEAR } from \"./calendarShared.js\";\nimport styles from \"./DateCalendar.module.css\";\nexport const CLASS_NAMES = {\n root: styles.calendar,\n months: styles.calendarMonths,\n table: styles.calendarMonthGrid,\n head_cell: styles.calendarWeekday,\n cell: styles.calendarDay,\n day: styles.calendarDayButton,\n day_selected: styles.calendarSelected,\n day_today: styles.calendarToday,\n day_outside: styles.calendarOutside,\n day_disabled: styles.calendarDisabled,\n day_hidden: styles.calendarHidden,\n nav: styles.calendarNav,\n nav_button_previous: classnames(styles.calendarNavButton, styles.calendarNavPrev),\n nav_button_next: classnames(styles.calendarNavButton, styles.calendarNavNext),\n caption: styles.calendarMonthCaption,\n caption_label: styles.calendarVhidden,\n caption_dropdowns: styles.calendarCaptionDropdowns,\n dropdown: styles.calendarDropdown,\n dropdown_month: styles.calendarDropdown,\n dropdown_year: styles.calendarDropdown,\n nav_icon: styles.calendarChevron,\n vhidden: styles.calendarVhidden,\n tfoot: styles.calendarFooter\n};\nconst NAV_ICON_SIZE = 12;\nfunction IconLeft() {\n return /*#__PURE__*/React.createElement(ChevronLeft, {\n size: NAV_ICON_SIZE\n });\n}\nfunction IconRight() {\n return /*#__PURE__*/React.createElement(ChevronRight, {\n size: NAV_ICON_SIZE\n });\n}\nexport const CALENDAR_COMPONENTS = {\n IconLeft,\n IconRight\n};\nexport default function DateCalendar({\n dateSelected,\n onSelect,\n min,\n max,\n footer\n}) {\n const disabled = useMemo(() => buildDisabledMatchers(min, max), [min, max]);\n const fromYear = min != null ? min.getFullYear() : DEFAULT_FROM_YEAR;\n const toYear = max != null ? max.getFullYear() : DEFAULT_TO_YEAR;\n return /*#__PURE__*/React.createElement(DayPicker, {\n mode: \"single\",\n selected: dateSelected,\n onSelect: onSelect,\n disabled: disabled,\n defaultMonth: dateSelected,\n classNames: CLASS_NAMES,\n components: CALENDAR_COMPONENTS,\n footer: footer\n // Render month/year as dropdown selects + prev/next arrows,\n // so users can jump directly to any month/year without paging.\n ,\n captionLayout: \"dropdown-buttons\",\n fromYear: fromYear,\n toYear: toYear,\n showOutsideDays: true\n // Always render 6 rows so the calendar height doesn't jump between months.\n ,\n fixedWeeks: true\n });\n}"]}
|