@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,qBACA,iBACA,6BACA,WACA,MACA,gBACA,cACA,iBACA,mBACA,mBACK,WAAY;AACnB,cAAc,0BAA0B,yBAA0B;AAClE,iBAAiB,WAAW,OAAQ;AACpC,cAAc,cAAc,uBAAuB,kBAAmB;AAEtE,cAAc,uBAAuB;AAErC,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAK5D,yBAAyB,GAAG,MAAM,mBAClC,yBAAyB,GAAG,MAAM;UAE5B;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,SAAS,wBAAwB,GAAG,MAAM;;;;CAK1C;;;;CAKA,SAAS,SAAS,UAAU;CAC5B;CACA;CACA;CACA;CACA;CACA;;;;;;;;;;;;;;CAeA,cACEA,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAChEC,SAAS,wBAAwB,GAAG,MAAM,qBACvC,MAAM;;;;;;;;;;CAWX;;;;;CAMA,qBAAqB,MAAM;AAC5B
|
|
1
|
+
{"mappings":"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","names":["object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","value: unknown","objectSet: ObjectSet<Q, RDPs>","cellData?: unknown","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q> | keyof RDPs;\n direction: \"asc\" | \"desc\";\n }>","info: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >","edits: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >[]","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number | null","selectedRowIds: PrimaryKeyType<Q>[]","isSelectAll?: boolean","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
|
|
@@ -10,9 +10,9 @@ declare module "@tanstack/react-table" {
|
|
|
10
10
|
columnName?: string;
|
|
11
11
|
isAsyncColumn?: boolean;
|
|
12
12
|
isVisible?: boolean;
|
|
13
|
-
editable?: boolean;
|
|
13
|
+
editable?: boolean | ((object: TData) => boolean);
|
|
14
14
|
dataType?: string;
|
|
15
|
-
editFieldConfig?: EditFieldConfig
|
|
15
|
+
editFieldConfig?: EditFieldConfig<TData>;
|
|
16
16
|
validateEdit?: (value: unknown) => Promise<string | undefined>;
|
|
17
17
|
}
|
|
18
18
|
interface TableMeta<TData extends RowData = unknown> {
|
|
@@ -37,5 +37,12 @@ export interface BaseTableProps<TData extends RowData> {
|
|
|
37
37
|
error?: Error;
|
|
38
38
|
headerMenuFeatureFlags?: HeaderMenuFeatureFlags;
|
|
39
39
|
editableConfig?: EditableConfig<TData, unknown>;
|
|
40
|
+
getRowAttributes?: (object: TData) => Record<string, string | undefined>;
|
|
41
|
+
/**
|
|
42
|
+
* Whether to render the bottom edit footer. Defaults to `true`; the
|
|
43
|
+
* footer is only rendered when the table has at least one editable
|
|
44
|
+
* column (`hasEditableColumns`).
|
|
45
|
+
*/
|
|
46
|
+
showEditFooter?: boolean;
|
|
40
47
|
}
|
|
41
48
|
export declare function BaseTable<TData extends RowData>(props: BaseTableProps<TData>): ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;AAO1E,cACE,cACA,gBACA,uBACK,kBAAmB;eAEX,wBAAwB;WAC3B;EAAW,cAAc;EAAmB;GAAkB;EACtE;EACA;EACA;EACA,uBAAuBA,QAAQ;EAC/B;EACA,kBAAkB,gBAAgB;EAClC,gBAAgBC,mBAAmB;CACpC;WACS,UAAU,cAAc,mBAAmB;EACnD,cACEC,gBACAC,MAAM,aAAa;EAErB,yBACED,gBACAE;EAEF,4BAA4BF;EAC5B,YAAY,eAAe,aAAa;EACxC;EACA,mBAAmB;EACnB;CACD;AACF;AAED,iBAAiB,eACf,cAAc,SACd;CACA,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcG,KAAK;CACnB,uBAAuBC;CACvB;CACA,yBACED,KAAK,OACLE,MAAM,KAAK,oBACR,MAAM;CACX;CACA,QAAQ;CACR,yBAAyB;CACzB,iBAAiB,eAAe;CAChC,oBACEP,QAAQ,UACL;;;;;;CAML;AACD;AAED,OAAO,iBAAS,UACd,cAAc,SACdQ,OAAO,eAAe,SAAS","names":["object: TData","value: unknown","cellId: string","info: CellEditInfo<TData, unknown>","error: string","row: TData","columnId: string","cell: Cell<TData, unknown>","props: BaseTableProps<TData>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
|
|
@@ -11,6 +11,7 @@ interface TableBodyProps<TData extends RowData> {
|
|
|
11
11
|
focusedRowId?: string | null;
|
|
12
12
|
setFocusedRowId?: (rowId: string | null) => void;
|
|
13
13
|
isInEditMode?: boolean;
|
|
14
|
+
getRowAttributes?: (object: TData) => Record<string, string | undefined>;
|
|
14
15
|
}
|
|
15
|
-
export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight, isLoadingMore, headerGroups, focusedRowId, setFocusedRowId, isInEditMode }: TableBodyProps<TData>): React.ReactElement;
|
|
16
|
+
export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight, isLoadingMore, headerGroups, focusedRowId, setFocusedRowId, isInEditMode, getRowAttributes }: TableBodyProps<TData>): React.ReactElement;
|
|
16
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,MAAM,aAAa,KAAK,eAAe,uBAAwB;AAE7E,OAAO,WAAgC,OAAQ;UAMrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,eAAe,MAAM,YAAY;CACjC;CACA,mBAAmBC;CACnB;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,MAAM,aAAa,KAAK,eAAe,uBAAwB;AAE7E,OAAO,WAAgC,OAAQ;UAMrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,eAAe,MAAM,YAAY;CACjC;CACA,mBAAmBC;CACnB;CACA,oBACEC,QAAQ,UACL;AACN;AAED,OAAO,iBAAS,UAAU,cAAc,SAAS,EAC/C,MACA,mBACA,YACA,uBACA,WACA,eACA,cACA,cACA,iBACA,cACA,kBACsB,EAArB,eAAe,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null","object: TData"],"sources":["../../../src/object-table/TableBody.tsx"],"version":3,"file":"TableBody.d.ts"}
|
|
@@ -9,6 +9,7 @@ interface TableRowProps<TData extends RowData> {
|
|
|
9
9
|
isFocused: boolean;
|
|
10
10
|
setFocusedRowId?: (rowId: string | null) => void;
|
|
11
11
|
isInEditMode?: boolean;
|
|
12
|
+
getRowAttributes?: (object: TData) => Record<string, string | undefined>;
|
|
12
13
|
}
|
|
13
|
-
export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu, isFocused, setFocusedRowId, isInEditMode }: TableRowProps<TData>): React.ReactElement;
|
|
14
|
+
export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu, isFocused, setFocusedRowId, isInEditMode, getRowAttributes }: TableRowProps<TData>): React.ReactElement;
|
|
14
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,WAAqC,OAAQ;UAI1C,cAAc,cAAc,SAAS;CAC7C,KAAK,IAAI;CACT,YAAY;CACZ,cAAcA,KAAK;CACnB,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,mBAAmBC;CACnB;CACA,oBACEC,QAAQ,UACL;AACN;AAED,OAAO,iBAAS,SAAS,cAAc,SAAS,EAC9C,KACA,YACA,YACA,uBACA,WACA,iBACA,cACA,kBACqB,EAApB,cAAc,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null","object: TData"],"sources":["../../../src/object-table/TableRow.tsx"],"version":3,"file":"TableRow.d.ts"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RowData } from "@tanstack/react-table";
|
|
2
|
+
export type EditablePredicate<TData extends RowData = RowData> = boolean | ((object: TData) => boolean);
|
|
3
|
+
/**
|
|
4
|
+
* Whether a column declares any editing behavior.
|
|
5
|
+
*
|
|
6
|
+
* Returns `true` when `editable` is `true` or a predicate function. The
|
|
7
|
+
* predicate may still return `false` for individual rows — that decision is
|
|
8
|
+
* made per-cell via {@link isCellEditable}. This function answers the
|
|
9
|
+
* column-level question used to drive table-wide UI like the bottom edit bar.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isColumnDeclaredEditable<TData extends RowData>(editable: EditablePredicate<TData> | undefined): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether a specific cell is editable, given the column's `editable` value
|
|
14
|
+
* and the row's object. Used at render time per cell.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isCellEditable<TData extends RowData>(editable: EditablePredicate<TData> | undefined, object: TData): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,YAAY,kBAAkB,cAAc,UAAU,uBAEhDA,QAAQ;;;;;;;;;AAUd,OAAO,iBAAS,yBAAyB,cAAc,SACrDC,UAAU,kBAAkB;;;;;AAS9B,OAAO,iBAAS,eAAe,cAAc,SAC3CA,UAAU,kBAAkB,oBAC5BD,QAAQ","names":["object: TData","editable: EditablePredicate<TData> | undefined"],"sources":["../../../../src/object-table/utils/editableUtils.ts"],"version":3,"file":"editableUtils.d.ts"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { EditablePredicate } from "./editableUtils.js";
|
|
1
2
|
/**
|
|
2
3
|
* Determines if a cell should be rendered as editable
|
|
3
4
|
*
|
|
@@ -6,4 +7,4 @@
|
|
|
6
7
|
* @param isInEditMode - Whether the table is currently in edit mode
|
|
7
8
|
* @returns true if the cell should be rendered with edit controls
|
|
8
9
|
*/
|
|
9
|
-
export declare function shouldShowEditableCell(editable:
|
|
10
|
+
export declare function shouldShowEditableCell<TData>(editable: EditablePredicate<TData> | undefined, onCellEdit: unknown, isInEditMode: boolean | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAgBA,cAAc,yBAAyB,oBAAqB;;;;;;;;;AAU5D,OAAO,iBAAS,uBAAuB,OACrCA,UAAU,kBAAkB,oBAC5BC,qBACAC","names":["editable: EditablePredicate<TData> | undefined","onCellEdit: unknown","isInEditMode: boolean | undefined"],"sources":["../../../../src/object-table/utils/shouldShowEditableCell.ts"],"version":3,"file":"shouldShowEditableCell.d.ts"}
|
|
@@ -129,18 +129,11 @@ type EditFieldComponent = keyof EditFieldPropsByType;
|
|
|
129
129
|
/**
|
|
130
130
|
* Configuration for an editable cell's field component.
|
|
131
131
|
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* editFieldConfig: {
|
|
135
|
-
* fieldComponent: "DROPDOWN",
|
|
136
|
-
* fieldComponentProps: {
|
|
137
|
-
* items: ["Active", "Inactive", "Pending"],
|
|
138
|
-
* },
|
|
139
|
-
* }
|
|
140
|
-
* ```
|
|
132
|
+
* `getFieldComponentProps` is called with the row's object so the configuration
|
|
133
|
+
* can vary per row (e.g. dropdown items that depend on row state).
|
|
141
134
|
*/
|
|
142
|
-
export type EditFieldConfig = { [K in EditFieldComponent] : {
|
|
135
|
+
export type EditFieldConfig<TData = unknown> = { [K in EditFieldComponent] : {
|
|
143
136
|
fieldComponent: K
|
|
144
|
-
|
|
137
|
+
getFieldComponentProps: (object: TData) => EditFieldPropsByType[K]
|
|
145
138
|
} }[EditFieldComponent];
|
|
146
139
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,gBACR;CAAE,MAAM;CAAU,UAAU;AAAM,IAClC;CAAE,MAAM;CAAU;CAAmB,YAAYA;AAAyB;AAE9E,iBAAiB;CACf,cAAc;CACd;EACA;CACA,WAAW,eAAe,aAAa,OAAO;CAC9C,aACEC,gBACAC,MAAM,aAAa,OAAO;CAE5B,sBAAsB;CACtB;CACA,eAAe;CACf,wBACED,gBACAE;CAEF,kBAAkB;CAClB,2BAA2BF;AAC5B;;;;;;;;AASD,iBAAiB,mBAAmB,aAAa;;;;CAI/C,OAAO;;;;CAKP,qBAAqBG,MAAM;;;;;CAM3B,aAAaA,MAAM;;;;;CAMnB,eAAeC,GAAG,GAAGC,GAAG;;;;;;CAOxB;;;;CAKA;;;;CAKA;AACD;;;;;;;;AASD,iBAAiB,qBAAqB;;;;CAIpC,MAAM;;;;CAKN,MAAM;;;;CAKN;;;;;CAMA;;;;CAKA;;;;;CAMA,cAAcC,MAAM;;;;;CAMpB,aAAaC,iBAAiB;AAC/B;;;;UAKS,qBAAqB;CAC7B,UAAU;CACV,aAAa;AACd;KAEI,2BAA2B
|
|
1
|
+
{"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,gBACR;CAAE,MAAM;CAAU,UAAU;AAAM,IAClC;CAAE,MAAM;CAAU;CAAmB,YAAYA;AAAyB;AAE9E,iBAAiB;CACf,cAAc;CACd;EACA;CACA,WAAW,eAAe,aAAa,OAAO;CAC9C,aACEC,gBACAC,MAAM,aAAa,OAAO;CAE5B,sBAAsB;CACtB;CACA,eAAe;CACf,wBACED,gBACAE;CAEF,kBAAkB;CAClB,2BAA2BF;AAC5B;;;;;;;;AASD,iBAAiB,mBAAmB,aAAa;;;;CAI/C,OAAO;;;;CAKP,qBAAqBG,MAAM;;;;;CAM3B,aAAaA,MAAM;;;;;CAMnB,eAAeC,GAAG,GAAGC,GAAG;;;;;;CAOxB;;;;CAKA;;;;CAKA;AACD;;;;;;;;AASD,iBAAiB,qBAAqB;;;;CAIpC,MAAM;;;;CAKN,MAAM;;;;CAKN;;;;;CAMA;;;;CAKA;;;;;CAMA,cAAcC,MAAM;;;;;CAMpB,aAAaC,iBAAiB;AAC/B;;;;UAKS,qBAAqB;CAC7B,UAAU;CACV,aAAa;AACd;KAEI,2BAA2B;;;;;;;AAQhC,YAAY,gBAAgB,sBACzB,KAAK,sBAAqB;CACzB,gBAAgB;CAChB,yBAAyBC,QAAQ,UAAU,qBAAqB;AACjE,IACD","names":["value: boolean","cellId: string","info: CellEditInfo<TData, CellValue>","error: string","item: V","a: V","b: V","date: Date","text: string","object: TData"],"sources":["../../../../src/object-table/utils/types.ts"],"version":3,"file":"types.d.ts"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# ActionForm
|
|
2
|
+
|
|
3
|
+
`ActionForm` renders and submits an OSDK action using `@osdk/react-components`.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Import](#import)
|
|
8
|
+
- [Basic Usage](#basic-usage)
|
|
9
|
+
- [Choosing ActionForm vs BaseForm](#choosing-actionform-vs-baseform)
|
|
10
|
+
- [Default Field Rendering](#default-field-rendering)
|
|
11
|
+
- [Custom Field Definitions](#custom-field-definitions)
|
|
12
|
+
- [Behavior Notes](#behavior-notes)
|
|
13
|
+
- [Examples](#examples)
|
|
14
|
+
- [Styling](#styling)
|
|
15
|
+
|
|
16
|
+
## Import
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { ActionForm } from "@osdk/react-components/experimental";
|
|
20
|
+
import type { FormFieldDefinition } from "@osdk/react-components/experimental";
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Basic Usage
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { ActionForm } from "@osdk/react-components/experimental";
|
|
27
|
+
import { updateEmployee } from "@YourApp/sdk";
|
|
28
|
+
|
|
29
|
+
function UpdateEmployeeForm() {
|
|
30
|
+
return <ActionForm actionDefinition={updateEmployee} />;
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`ActionForm` fetches action metadata, renders fields for the action parameters, validates the form, and calls the OSDK action when the user submits. The form title is hidden by default. Pass `showFormTitle={true}` to show it; the title uses `formTitle` when provided, otherwise the action display name, otherwise the action API name.
|
|
35
|
+
|
|
36
|
+
## Choosing ActionForm vs BaseForm
|
|
37
|
+
|
|
38
|
+
| Use case | Use this API |
|
|
39
|
+
| ------------------------------------------------------------------------ | ---------------------------------------- |
|
|
40
|
+
| Render a form directly from an OSDK action and submit with `applyAction` | `ActionForm` |
|
|
41
|
+
| Override generated fields for an OSDK action | `ActionForm` with `formFieldDefinitions` |
|
|
42
|
+
| Build a form from manually-authored field definitions | `BaseForm` |
|
|
43
|
+
| Compose sections, standalone fields, or custom form layouts | `BaseForm` |
|
|
44
|
+
|
|
45
|
+
## Default Field Rendering
|
|
46
|
+
|
|
47
|
+
When `formFieldDefinitions` is omitted, `ActionForm` derives one field per action parameter from action metadata.
|
|
48
|
+
|
|
49
|
+
| Action parameter type | Default field component | Default behavior |
|
|
50
|
+
| ---------------------------------------------- | ----------------------- | ---------------------------------------------- |
|
|
51
|
+
| `string` | `TEXT_INPUT` | Single-line text input |
|
|
52
|
+
| `marking`, `geohash`, `geoshape`, `objectType` | `TEXT_INPUT` | Text input fallback for string-like values |
|
|
53
|
+
| `boolean` | `RADIO_BUTTONS` | True/False radio options |
|
|
54
|
+
| `integer`, `double`, `long` | `NUMBER_INPUT` | Numeric input |
|
|
55
|
+
| `datetime`, `timestamp` | `DATETIME_PICKER` | Date picker |
|
|
56
|
+
| `attachment`, `mediaReference` | `FILE_PICKER` | File picker |
|
|
57
|
+
| `{ type: "object" }` | `OBJECT_SELECT` | Object selector for the referenced object type |
|
|
58
|
+
| `{ type: "objectSet" }` | `OBJECT_SET` | Read-only object set summary |
|
|
59
|
+
| `{ type: "interface" }`, `{ type: "struct" }` | `TEXT_INPUT` | Text input fallback |
|
|
60
|
+
|
|
61
|
+
Required validation is inferred from the action parameter's nullability. Additional validation comes from field-specific props such as `min`, `max`, `minLength`, `maxLength`, and `maxSize`.
|
|
62
|
+
|
|
63
|
+
## Custom Field Definitions
|
|
64
|
+
|
|
65
|
+
Use `formFieldDefinitions` when the default rendering for a parameter is not the UI you want. The list is a complete replacement: include every parameter that should appear in the form.
|
|
66
|
+
|
|
67
|
+
```tsx
|
|
68
|
+
const fields = [
|
|
69
|
+
{
|
|
70
|
+
fieldKey: "fullName",
|
|
71
|
+
label: "Full name",
|
|
72
|
+
fieldComponent: "TEXT_INPUT",
|
|
73
|
+
fieldComponentProps: {
|
|
74
|
+
placeholder: "Jane Doe",
|
|
75
|
+
minLength: 2,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
fieldKey: "yearsExperience",
|
|
80
|
+
label: "Years of experience",
|
|
81
|
+
fieldComponent: "NUMBER_INPUT",
|
|
82
|
+
fieldComponentProps: {
|
|
83
|
+
min: 0,
|
|
84
|
+
max: 80,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
fieldKey: "isRemote",
|
|
89
|
+
label: "Remote employee",
|
|
90
|
+
fieldComponent: "SWITCH",
|
|
91
|
+
fieldComponentProps: {},
|
|
92
|
+
},
|
|
93
|
+
] satisfies Array<FormFieldDefinition<typeof updateEmployee>>;
|
|
94
|
+
|
|
95
|
+
<ActionForm actionDefinition={updateEmployee} formFieldDefinitions={fields} />;
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For a completely custom field, use `fieldComponent: "CUSTOM"` and provide `customRenderer`:
|
|
99
|
+
|
|
100
|
+
```tsx
|
|
101
|
+
const fields = [
|
|
102
|
+
{
|
|
103
|
+
fieldKey: "approvalReason",
|
|
104
|
+
label: "Approval reason",
|
|
105
|
+
fieldComponent: "CUSTOM",
|
|
106
|
+
fieldComponentProps: {
|
|
107
|
+
customRenderer: ({ value, onChange }) => (
|
|
108
|
+
<textarea
|
|
109
|
+
value={value != null ? String(value) : ""}
|
|
110
|
+
onChange={(event) => onChange?.(event.target.value)}
|
|
111
|
+
/>
|
|
112
|
+
),
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
] satisfies Array<FormFieldDefinition<typeof approveEmployee>>;
|
|
116
|
+
|
|
117
|
+
<ActionForm actionDefinition={approveEmployee} formFieldDefinitions={fields} />;
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Behavior Notes
|
|
121
|
+
|
|
122
|
+
- `formFieldDefinitions` replaces generated fields. Passing one custom field means only that field renders.
|
|
123
|
+
- `fieldKey` must match the action parameter key; submitted form state uses the same keys.
|
|
124
|
+
- `fieldComponentProps` should not include `value`, `onChange`, or `id`; form state wiring provides those.
|
|
125
|
+
- Controlled mode requires both `formState` and `onFormStateChange`.
|
|
126
|
+
- Use `onSubmit` for custom submission behavior. If `onSubmit` is omitted, `ActionForm` calls `applyAction` and then `onSuccess`.
|
|
127
|
+
|
|
128
|
+
## Examples
|
|
129
|
+
|
|
130
|
+
### Controlled form state
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
const [formState, setFormState] = useState({
|
|
134
|
+
fullName: "Ada Lovelace",
|
|
135
|
+
isRemote: true,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
<ActionForm
|
|
139
|
+
actionDefinition={updateEmployee}
|
|
140
|
+
formState={formState}
|
|
141
|
+
onFormStateChange={setFormState}
|
|
142
|
+
/>;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Custom submit handling
|
|
146
|
+
|
|
147
|
+
```tsx
|
|
148
|
+
<ActionForm
|
|
149
|
+
actionDefinition={updateEmployee}
|
|
150
|
+
onSubmit={async (formState, applyAction) => {
|
|
151
|
+
await applyAction(formState);
|
|
152
|
+
showToast("Employee updated");
|
|
153
|
+
}}
|
|
154
|
+
/>;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Styling
|
|
158
|
+
|
|
159
|
+
`ActionForm` is built on `BaseForm`, so the form layout and field styling use the same CSS variables documented in [CSSVariables.md](./CSSVariables.md).
|
|
160
|
+
|
|
161
|
+
`ActionForm` does not add outer padding by default. Apply internal spacing by setting the form padding variables on the form or a wrapper element:
|
|
162
|
+
|
|
163
|
+
```css
|
|
164
|
+
.employeeForm {
|
|
165
|
+
--osdk-form-content-padding-inline: calc(var(--osdk-surface-spacing) * 4);
|
|
166
|
+
--osdk-form-content-padding-block: calc(var(--osdk-surface-spacing) * 4);
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
```tsx
|
|
171
|
+
<div className="employeeForm">
|
|
172
|
+
<ActionForm actionDefinition={updateEmployee} />
|
|
173
|
+
</div>;
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Use `--osdk-form-content-padding-inline` to apply shared horizontal padding to the header, fields, and footer. Use `--osdk-form-content-padding-block` to control vertical padding for the form fields section. For card-style outer spacing, apply margin, border, background, and border radius to the wrapper rather than the form itself.
|
package/docs/CSSVariables.md
CHANGED
|
@@ -252,6 +252,18 @@ Styling for button components.
|
|
|
252
252
|
| `--osdk-button-secondary-bg-hover` | `var(--osdk-surface-background-color-default-hover)` | Secondary button hover background |
|
|
253
253
|
| `--osdk-button-secondary-bg-active` | `var(--osdk-surface-background-color-default-active)` | Secondary button active background |
|
|
254
254
|
|
|
255
|
+
#### Minimal Button
|
|
256
|
+
|
|
257
|
+
| Variable | Default Value | Description |
|
|
258
|
+
| --------------------------------------- | ----------------------------------------------------- | ----------------------------------- |
|
|
259
|
+
| `--osdk-button-minimal-bg` | `transparent` | Minimal button background |
|
|
260
|
+
| `--osdk-button-minimal-bg-hover` | `var(--osdk-surface-background-color-default-hover)` | Minimal button hover background |
|
|
261
|
+
| `--osdk-button-minimal-bg-active` | `var(--osdk-surface-background-color-default-active)` | Minimal button active background |
|
|
262
|
+
| `--osdk-button-minimal-border` | `none` | Minimal button border |
|
|
263
|
+
| `--osdk-button-minimal-shadow` | `none` | Minimal button shadow |
|
|
264
|
+
| `--osdk-button-secondary-minimal-color` | `var(--osdk-typography-color-default-rest)` | Secondary minimal button text color |
|
|
265
|
+
| `--osdk-button-primary-minimal-color` | `var(--osdk-button-primary-bg)` | Primary minimal button text color |
|
|
266
|
+
|
|
255
267
|
### Checkbox
|
|
256
268
|
|
|
257
269
|
Styling for checkbox components.
|
|
@@ -547,17 +559,6 @@ Styling for file picker components.
|
|
|
547
559
|
| `--osdk-file-picker-clear-color` | `var(--osdk-typography-color-muted)` | Clear button color |
|
|
548
560
|
| `--osdk-file-picker-clear-color-hover` | `var(--osdk-typography-color-default-rest)` | Clear button hover color |
|
|
549
561
|
|
|
550
|
-
#### Browse Button
|
|
551
|
-
|
|
552
|
-
| Variable | Default Value | Description |
|
|
553
|
-
| --------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------- |
|
|
554
|
-
| `--osdk-file-picker-browse-bg` | `var(--osdk-button-secondary-bg)` | Browse button background |
|
|
555
|
-
| `--osdk-file-picker-browse-bg-hover` | `var(--osdk-button-secondary-bg-hover)` | Browse button hover background |
|
|
556
|
-
| `--osdk-file-picker-browse-bg-active` | `var(--osdk-button-secondary-bg-active)` | Browse button active background |
|
|
557
|
-
| `--osdk-file-picker-browse-color` | `var(--osdk-button-secondary-color)` | Browse button text color |
|
|
558
|
-
| `--osdk-file-picker-browse-padding` | `calc(var(--osdk-surface-spacing) * 1.5) calc(var(--osdk-surface-spacing) * 3)` | Browse button padding |
|
|
559
|
-
| `--osdk-file-picker-browse-border-left` | `var(--osdk-input-border-width) solid var(--osdk-input-border-color)` | Browse button left border |
|
|
560
|
-
|
|
561
562
|
### Filter List
|
|
562
563
|
|
|
563
564
|
Styling for filter list components including search, checkboxes, listogram, and range inputs.
|
|
@@ -923,21 +924,21 @@ Styling for form components.
|
|
|
923
924
|
|
|
924
925
|
#### Layout
|
|
925
926
|
|
|
926
|
-
| Variable
|
|
927
|
-
|
|
|
928
|
-
| `--osdk-form-
|
|
929
|
-
| `--osdk-form-
|
|
927
|
+
| Variable | Default Value | Description |
|
|
928
|
+
| ------------------------------------ | ----------------------------------------- | ------------------------------------------------ |
|
|
929
|
+
| `--osdk-form-fields-gap` | `calc(var(--osdk-surface-spacing) * 1.5)` | Gap between fields |
|
|
930
|
+
| `--osdk-form-content-padding-inline` | `0` | Shared inline padding for form regions |
|
|
931
|
+
| `--osdk-form-content-padding-block` | `0` | Content block padding for the form fields region |
|
|
930
932
|
|
|
931
933
|
#### Header
|
|
932
934
|
|
|
933
|
-
| Variable
|
|
934
|
-
|
|
|
935
|
-
| `--osdk-form-header-border-color`
|
|
936
|
-
| `--osdk-form-header-font-size`
|
|
937
|
-
| `--osdk-form-header-font-weight`
|
|
938
|
-
| `--osdk-form-header-color`
|
|
939
|
-
| `--osdk-form-header-block-padding`
|
|
940
|
-
| `--osdk-form-header-inline-padding` | `var(--osdk-form-content-padding)` | Header inline padding |
|
|
935
|
+
| Variable | Default Value | Description |
|
|
936
|
+
| ---------------------------------- | ------------------------------------------- | -------------------- |
|
|
937
|
+
| `--osdk-form-header-border-color` | `var(--osdk-surface-border-color-default)` | Header border color |
|
|
938
|
+
| `--osdk-form-header-font-size` | `var(--osdk-typography-size-body-large)` | Header font size |
|
|
939
|
+
| `--osdk-form-header-font-weight` | `var(--osdk-typography-weight-bold)` | Header font weight |
|
|
940
|
+
| `--osdk-form-header-color` | `var(--osdk-typography-color-default-rest)` | Header text color |
|
|
941
|
+
| `--osdk-form-header-block-padding` | `calc(var(--osdk-surface-spacing) * 2)` | Header block padding |
|
|
941
942
|
|
|
942
943
|
#### Footer
|
|
943
944
|
|
|
@@ -949,12 +950,12 @@ Styling for form components.
|
|
|
949
950
|
|
|
950
951
|
#### Labels
|
|
951
952
|
|
|
952
|
-
| Variable | Default Value | Description
|
|
953
|
-
| ------------------------------- | ------------------------------------------- |
|
|
954
|
-
| `--osdk-form-label-font-size` | `var(--osdk-typography-size-body-medium)` | Label font size
|
|
955
|
-
| `--osdk-form-label-font-weight` | `var(--osdk-typography-weight-bold)` | Label font weight
|
|
956
|
-
| `--osdk-form-label-color` | `var(--osdk-typography-color-default-rest)` | Label text color
|
|
957
|
-
| `--osdk-form-
|
|
953
|
+
| Variable | Default Value | Description |
|
|
954
|
+
| ------------------------------- | ------------------------------------------- | ---------------------------- |
|
|
955
|
+
| `--osdk-form-label-font-size` | `var(--osdk-typography-size-body-medium)` | Label font size |
|
|
956
|
+
| `--osdk-form-label-font-weight` | `var(--osdk-typography-weight-bold)` | Label font weight |
|
|
957
|
+
| `--osdk-form-label-color` | `var(--osdk-typography-color-default-rest)` | Label text color |
|
|
958
|
+
| `--osdk-form-field-gap` | `var(--osdk-surface-spacing)` | Gap between items in a field |
|
|
958
959
|
|
|
959
960
|
#### Validation
|
|
960
961
|
|
|
@@ -1293,7 +1294,7 @@ To create a custom theme, override the tokens at the appropriate level. You can
|
|
|
1293
1294
|
--osdk-table-header-bg: #f0f0f0;
|
|
1294
1295
|
--osdk-table-row-bg-default: white;
|
|
1295
1296
|
--osdk-table-border-color: #e0e0e0;
|
|
1296
|
-
|
|
1297
|
+
|
|
1297
1298
|
/* Customize editable table styling */
|
|
1298
1299
|
--osdk-table-cell-editable-border: 1px solid #3b82f6;
|
|
1299
1300
|
--osdk-table-cell-edited-border: 2px solid #10b981;
|