@lavalogic/scoria 0.36.0 → 0.37.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/dist/Components/AccordionGroup.svelte +6 -2
- package/dist/Components/AccordionGroupButton.svelte +78 -78
- package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
- package/dist/Components/AccordionGroupProps.d.ts +10 -2
- package/dist/Components/Action.svelte +31 -33
- package/dist/Components/ActionProps.d.ts +23 -3
- package/dist/Components/AlertModal.svelte +90 -39
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
- package/dist/Components/Base/BaseModal.svelte +172 -0
- package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
- package/dist/Components/Base/BaseModalProps.d.ts +73 -0
- package/dist/Components/Base/BaseModalProps.js +1 -0
- package/dist/Components/Base/ContextWrapper.svelte +37 -15
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
- package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
- package/dist/Components/Base/Pagination.svelte +70 -62
- package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
- package/dist/Components/Base/PaginationProps.d.ts +60 -3
- package/dist/Components/Base/Snippets.svelte +7 -0
- package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
- package/dist/Components/BigRadioSet.svelte +18 -9
- package/dist/Components/BigRadioSetProps.d.ts +17 -1
- package/dist/Components/Bubble.svelte +67 -34
- package/dist/Components/Bubble.svelte.d.ts +23 -2
- package/dist/Components/BubbleProps.d.ts +55 -4
- package/dist/Components/Button.svelte +50 -38
- package/dist/Components/ButtonProps.d.ts +66 -1
- package/dist/Components/Checkbox.svelte +57 -29
- package/dist/Components/Checkbox.svelte.d.ts +1 -12
- package/dist/Components/CheckboxProps.d.ts +27 -0
- package/dist/Components/CheckboxProps.js +1 -0
- package/dist/Components/CollapsibleCard.svelte +53 -22
- package/dist/Components/CollapsibleCardProps.d.ts +22 -1
- package/dist/Components/Contexts/ContextMenu.svelte +53 -32
- package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
- package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
- package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
- package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
- package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
- package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
- package/dist/Components/Contexts/Toast.svelte +28 -4
- package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastContainer.svelte +30 -11
- package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastProps.d.ts +14 -1
- package/dist/Components/Contexts/Tooltip.svelte +21 -10
- package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
- package/dist/Components/DataMatrixIcon.svelte +82 -11
- package/dist/Components/DataMatrixIconProps.d.ts +73 -1
- package/dist/Components/DateInput.svelte +64 -29
- package/dist/Components/DateInput.svelte.d.ts +1 -1
- package/dist/Components/DateOnlyInputProps.d.ts +31 -5
- package/dist/Components/DatePicker.svelte +96 -108
- package/dist/Components/DatePickerProps.d.ts +18 -1
- package/dist/Components/DateTimeInputProps.d.ts +30 -5
- package/dist/Components/DesktopModal.svelte +14 -43
- package/dist/Components/DesktopModalProps.d.ts +5 -4
- package/dist/Components/Dial.svelte +103 -41
- package/dist/Components/DialProps.d.ts +74 -2
- package/dist/Components/DimensionInput.svelte +50 -64
- package/dist/Components/DimensionInput.svelte.d.ts +1 -1
- package/dist/Components/DimensionInputProps.d.ts +39 -4
- package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
- package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
- package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
- package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
- package/dist/Components/FileCard.svelte +6 -2
- package/dist/Components/FileCardProps.d.ts +17 -1
- package/dist/Components/FileUpload.svelte +82 -42
- package/dist/Components/FileUploadProps.d.ts +34 -4
- package/dist/Components/GridInput.svelte +27 -17
- package/dist/Components/GridInput.svelte.d.ts +5 -5
- package/dist/Components/GridInputProps.d.ts +4 -1
- package/dist/Components/GridInputSet.svelte +12 -5
- package/dist/Components/GridInputSet.svelte.d.ts +5 -5
- package/dist/Components/GridInputSetProps.d.ts +4 -2
- package/dist/Components/HorizontalTabGroup.svelte +13 -11
- package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
- package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
- package/dist/Components/Icon.svelte +62 -21
- package/dist/Components/IconProps.d.ts +54 -6
- package/dist/Components/Icons.d.ts +8 -0
- package/dist/Components/Icons.js +234 -215
- package/dist/Components/LoadingAnimation.svelte +18 -18
- package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
- package/dist/Components/LoadingAnimationProps.d.ts +16 -0
- package/dist/Components/LoadingAnimationProps.js +1 -0
- package/dist/Components/LoadingModal.svelte +18 -20
- package/dist/Components/LoadingModal.svelte.d.ts +1 -4
- package/dist/Components/LoadingModalProps.d.ts +17 -0
- package/dist/Components/LoadingModalProps.js +1 -0
- package/dist/Components/LoadingOverlay.svelte +11 -13
- package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
- package/dist/Components/LoadingOverlayProps.d.ts +28 -0
- package/dist/Components/LoadingOverlayProps.js +1 -0
- package/dist/Components/Modal.svelte +77 -82
- package/dist/Components/Modal.svelte.d.ts +1 -25
- package/dist/Components/ModalProps.d.ts +65 -0
- package/dist/Components/ModalProps.js +1 -0
- package/dist/Components/MultiSelect.svelte +88 -76
- package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
- package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
- package/dist/Components/Nav/Nav.svelte +35 -30
- package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavProps.d.ts +50 -3
- package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
- package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
- package/dist/Components/Nav/NavTab.svelte +19 -48
- package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavTabProps.d.ts +16 -2
- package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
- package/dist/Components/Nav/ServicesNav.svelte +60 -34
- package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
- package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
- package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
- package/dist/Components/NumberInput.svelte +37 -27
- package/dist/Components/NumberInputProps.d.ts +37 -0
- package/dist/Components/PageHeading.svelte +2 -13
- package/dist/Components/PageHeading.svelte.d.ts +1 -6
- package/dist/Components/PageHeadingProps.d.ts +23 -0
- package/dist/Components/PageHeadingProps.js +1 -0
- package/dist/Components/PasswordInput.svelte +27 -15
- package/dist/Components/PasswordInput.svelte.d.ts +2 -2
- package/dist/Components/PasswordInputProps.d.ts +21 -0
- package/dist/Components/PasswordInputProps.js +1 -0
- package/dist/Components/Portal.svelte +14 -3
- package/dist/Components/PortalProps.d.ts +20 -1
- package/dist/Components/ProgressBubble.svelte +98 -53
- package/dist/Components/ProgressBubbleProps.d.ts +23 -2
- package/dist/Components/QuerySelect.svelte +103 -159
- package/dist/Components/QuerySelect.svelte.d.ts +2 -29
- package/dist/Components/QuerySelectProps.d.ts +66 -0
- package/dist/Components/QuerySelectProps.js +1 -0
- package/dist/Components/SingleSelect.svelte +86 -108
- package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
- package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
- package/dist/Components/StepButton.svelte +19 -69
- package/dist/Components/StepForm.svelte +52 -52
- package/dist/Components/StepFormProps.d.ts +16 -2
- package/dist/Components/Switch.svelte +68 -31
- package/dist/Components/Switch.svelte.d.ts +1 -1
- package/dist/Components/SwitchProps.d.ts +46 -0
- package/dist/Components/Table/Body/HeightData.d.ts +1 -6
- package/dist/Components/Table/Body/HeightData.js +8 -0
- package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
- package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +424 -91
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +47 -24
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +23 -13
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
- package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
- package/dist/Components/Table/Body/TableBody.svelte +170 -53
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
- package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
- package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
- package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/TableHead.svelte +340 -200
- package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
- package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
- package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
- package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
- package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
- package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
- package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
- package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
- package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
- package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
- package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
- package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
- package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
- package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
- package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
- package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
- package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
- package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
- package/dist/Components/Table/NestedTable.svelte +85 -41
- package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
- package/dist/Components/Table/NestedTableProps.d.ts +25 -0
- package/dist/Components/Table/NestedTableProps.js +1 -0
- package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
- package/dist/Components/Table/SubApis.svelte.js +359 -0
- package/dist/Components/Table/Table.svelte +347 -172
- package/dist/Components/Table/Table.svelte.d.ts +24 -1
- package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
- package/dist/Components/Table/TableHelpers.svelte.js +88 -0
- package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
- package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
- package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
- package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
- package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
- package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
- package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
- package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
- package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
- package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
- package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
- package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
- package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
- package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
- package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
- package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
- package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
- package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
- package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
- package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
- package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
- package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
- package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
- package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
- package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
- package/dist/Components/Table/Types/Header.d.ts +8 -0
- package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
- package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
- package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
- package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
- package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
- package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
- package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
- package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
- package/dist/Components/Table/Types/Public/RowSource.js +1 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
- package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
- package/dist/Components/Table/Types/Public/Table.js +1 -0
- package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
- package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
- package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
- package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
- package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
- package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
- package/dist/Components/Table/Types/Public/index.d.ts +20 -0
- package/dist/Components/Table/Types/Public/index.js +8 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
- package/dist/Components/Table/createTable.svelte.d.ts +53 -0
- package/dist/Components/Table/createTable.svelte.js +269 -0
- package/dist/Components/TextArea.svelte +37 -18
- package/dist/Components/TextAreaProps.d.ts +37 -0
- package/dist/Components/TextInput.svelte +41 -22
- package/dist/Components/TextInputProps.d.ts +58 -1
- package/dist/Components/ThreeStateRadio.svelte +61 -64
- package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
- package/dist/Components/Touch/BoolCard.svelte +8 -15
- package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
- package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
- package/dist/Components/Touch/BoolCardProps.js +1 -0
- package/dist/Components/Touch/DateModal.svelte +17 -25
- package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
- package/dist/Components/Touch/DateModalProps.d.ts +36 -0
- package/dist/Components/Touch/DateModalProps.js +1 -0
- package/dist/Components/Touch/EditCard.svelte +10 -3
- package/dist/Components/Touch/EditCardProps.d.ts +21 -0
- package/dist/Components/Touch/InfoCard.svelte +14 -7
- package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
- package/dist/Components/Touch/InfoTextCard.svelte +9 -2
- package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
- package/dist/Components/Touch/ModalExplanation.svelte +9 -12
- package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
- package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
- package/dist/Components/Touch/ModalExplanationProps.js +1 -0
- package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
- package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
- package/dist/Components/Touch/NumberModal.svelte +16 -6
- package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
- package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
- package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
- package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
- package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
- package/dist/Components/Touch/SelectModal.svelte +33 -15
- package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
- package/dist/Components/Touch/SummaryCard.svelte +56 -14
- package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
- package/dist/Components/Touch/TextAreaModal.svelte +18 -9
- package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
- package/dist/Components/Touch/TextModal.svelte +15 -32
- package/dist/Components/Touch/TextModalProps.d.ts +28 -1
- package/dist/Components/Touch/TouchCard.svelte +9 -47
- package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
- package/dist/Components/Touch/TouchModal.svelte +105 -99
- package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
- package/dist/Components/Touch/UtilityButton.svelte +36 -18
- package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
- package/dist/Components/VerticalTabGroup.svelte +18 -40
- package/dist/Components/VerticalTabGroupButton.svelte +11 -50
- package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
- package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
- package/dist/Contexts/AlertContext.svelte.js +69 -6
- package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
- package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
- package/dist/Contexts/TestContext.svelte.d.ts +27 -1
- package/dist/Contexts/TestContext.svelte.js +29 -1
- package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
- package/dist/Contexts/ToastContext.svelte.js +93 -24
- package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
- package/dist/Contexts/TooltipContext.svelte.js +70 -7
- package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
- package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
- package/dist/Delay/Delay.js +1 -1
- package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
- package/dist/Helpers/AsyncFlag.svelte.js +72 -0
- package/dist/Helpers/Datamatrix.d.ts +10 -1
- package/dist/Helpers/Datamatrix.js +290 -1
- package/dist/Helpers/Helpers.svelte.d.ts +252 -18
- package/dist/Helpers/Helpers.svelte.js +271 -75
- package/dist/Helpers/INamed.d.ts +6 -0
- package/dist/Helpers/Storage.d.ts +67 -0
- package/dist/Helpers/Storage.js +138 -0
- package/dist/Helpers/dropdownPortal.d.ts +52 -0
- package/dist/Helpers/dropdownPortal.js +232 -0
- package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
- package/dist/Helpers/dropdownPortal.svelte.js +5 -0
- package/dist/Helpers/memoiseByRow.d.ts +45 -0
- package/dist/Helpers/memoiseByRow.js +78 -0
- package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
- package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
- package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
- package/dist/Helpers/useTooltip.svelte.js +62 -0
- package/dist/Types/Examples/ExampleModal.svelte +2 -1
- package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
- package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
- package/dist/Types/Internal/AsyncFlag.js +1 -0
- package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
- package/dist/Types/Internal/ButtonProp.d.ts +24 -2
- package/dist/Types/Internal/CallbackButton.d.ts +12 -0
- package/dist/Types/Internal/DateChange.d.ts +8 -0
- package/dist/Types/Internal/DatePickerType.d.ts +5 -0
- package/dist/Types/Internal/DatePickerType.js +6 -1
- package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
- package/dist/Types/Internal/InputVariant.d.ts +5 -0
- package/dist/Types/Internal/InputVariant.js +6 -1
- package/dist/Types/Internal/Misc.d.ts +91 -0
- package/dist/Types/Internal/RefWrapper.d.ts +6 -0
- package/dist/Types/Internal/SelectOption.d.ts +8 -0
- package/dist/Types/Internal/Shape.d.ts +1 -0
- package/dist/Types/Internal/Shape.js +2 -1
- package/dist/Types/Internal/Side.d.ts +1 -0
- package/dist/Types/Internal/Side.js +2 -1
- package/dist/Types/Internal/Size.d.ts +5 -0
- package/dist/Types/Internal/Size.js +6 -1
- package/dist/Types/Internal/TabOption.d.ts +15 -5
- package/dist/Types/Internal/Ternary.d.ts +6 -0
- package/dist/Types/Internal/Ternary.js +7 -1
- package/dist/Types/Internal/ToastMessage.d.ts +28 -0
- package/dist/Types/Internal/Validity.d.ts +6 -0
- package/dist/Types/Internal/Validity.js +7 -1
- package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
- package/dist/Types/Internal/Variant.d.ts +5 -0
- package/dist/Types/Internal/Variant.js +6 -1
- package/dist/index.d.ts +27 -82
- package/dist/index.js +24 -62
- package/dist/scss/_mixins.scss +451 -167
- package/dist/scss/_motion.scss +57 -0
- package/dist/scss/_sizing.scss +16 -0
- package/dist/scss/colours.js +2 -2
- package/dist/scss/sizing.d.ts +9 -0
- package/dist/scss/sizing.js +10 -1
- package/package.json +35 -31
|
@@ -7,10 +7,33 @@ declare global {
|
|
|
7
7
|
}>;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Top-level orchestrator props. Accepts either:
|
|
12
|
+
*
|
|
13
|
+
* - `table`: the structured `Table` instance returned by `createTable(...)`.
|
|
14
|
+
* This is the consumer-facing form.
|
|
15
|
+
* - `tableContext`: the underlying `TableContext`. Used internally by
|
|
16
|
+
* `NestedTable` which constructs a context directly for each
|
|
17
|
+
* expansion. Not intended for consumer use.
|
|
18
|
+
*
|
|
19
|
+
* Exactly one of the two must be supplied; a runtime guard inside the
|
|
20
|
+
* component throws if both are missing. The reference passed in is
|
|
21
|
+
* captured at mount via `setContext` and should not be reassigned
|
|
22
|
+
* afterwards.
|
|
23
|
+
*/
|
|
10
24
|
export interface TableProps<T extends object, IdType extends Primitive> {
|
|
11
|
-
readonly
|
|
25
|
+
readonly table?: {
|
|
26
|
+
readonly _context: TableContext<T, IdType>;
|
|
27
|
+
};
|
|
28
|
+
readonly tableContext?: TableContext<T, IdType>;
|
|
12
29
|
nested?: boolean;
|
|
13
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Symbol used to share the currently-open quick-filter select across
|
|
33
|
+
* every header in a single Table tree. Stored via `setContext` on
|
|
34
|
+
* the same component that hosts the Table tree so multiple
|
|
35
|
+
* independent tables on a page each own their own popup state.
|
|
36
|
+
*/
|
|
14
37
|
export declare const quickFilterContextIdentifier: symbol;
|
|
15
38
|
declare function $$render<T extends object, IdType extends Primitive>(): {
|
|
16
39
|
props: TableProps<T, IdType>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { DefsWrapper } from './Types/Columns/DefsWrapper.js';
|
|
2
|
+
import { TableContext } from './Types/Context/TableContext.svelte.js';
|
|
3
|
+
import type { Primitive } from './Types/Context/TableInitOptions.js';
|
|
4
|
+
import type { CustomFilter } from './Types/Filtering/CustomFilter.js';
|
|
5
|
+
import type { RefWrapper } from '../../Types/Internal/RefWrapper.js';
|
|
6
|
+
/**
|
|
7
|
+
* Argument object passed to {@link createLocalTable}.
|
|
8
|
+
*
|
|
9
|
+
* Lives under `Components/Table/` because it references Table-internal types
|
|
10
|
+
* ({@link DefsWrapper}, {@link Primitive}) that callers outside the Table
|
|
11
|
+
* subtree should not need to know about. Re-exported from the library entry
|
|
12
|
+
* point for public consumption.
|
|
13
|
+
*/
|
|
14
|
+
export interface ICreateTableArgs<T extends object, RowIdType extends Primitive> {
|
|
15
|
+
name: string;
|
|
16
|
+
defs: DefsWrapper<T>;
|
|
17
|
+
data: RefWrapper<Array<T>>;
|
|
18
|
+
getUserId: () => string | undefined;
|
|
19
|
+
selectionExtractor: (item: T) => RowIdType | Promise<RowIdType>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Convenience factory that wires up a {@link TableContext} backed by a
|
|
23
|
+
* {@link LocalTableDataRepository} (in-memory, `$state`-backed data).
|
|
24
|
+
*
|
|
25
|
+
* Co-located with the Table subtree it serves: previously this lived in the
|
|
26
|
+
* generic `Helpers.svelte.ts`, which forced every consumer of unrelated
|
|
27
|
+
* helpers (such as `getErrorMessage` or `asyncMap`) to drag the entire Table
|
|
28
|
+
* subtree into their dependency graph and broke tree-shaking. Moving the
|
|
29
|
+
* factory here breaks the structural cycle
|
|
30
|
+
* `Helpers <-> TableContext <-> RowSelectionDef` while keeping the public
|
|
31
|
+
* `@lavalogic/scoria` surface unchanged via re-export from `src/lib/index.ts`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createLocalTable<T extends object, RowIdType extends Primitive>(args: ICreateTableArgs<T, RowIdType>): TableContext<T, RowIdType>;
|
|
34
|
+
/**
|
|
35
|
+
* Typeguard narrowing a {@link CustomFilter} to a Select-typed filter that
|
|
36
|
+
* carries a non-null `query` function. Useful inside column definitions and
|
|
37
|
+
* filter panel components that need to differentiate query-driven select
|
|
38
|
+
* filters from value-list select filters before invoking the async loader.
|
|
39
|
+
*
|
|
40
|
+
* Belongs under `Components/Table/` because it is meaningful only for the
|
|
41
|
+
* {@link CustomFilter}/{@link CustomFilterType} discriminated union owned by
|
|
42
|
+
* the Table subtree.
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasQuery<FilterValueType>(customFilter: CustomFilter<FilterValueType> | undefined): customFilter is CustomFilter<FilterValueType> & Required<Pick<CustomFilter<FilterValueType>, 'query'>>;
|
|
45
|
+
/**
|
|
46
|
+
* Builds a stable two-row comparator for an arbitrary accessor function,
|
|
47
|
+
* honouring an ascending/descending flag. Used by Table sorting paths that
|
|
48
|
+
* need to sort raw rows (rather than column-aware cell values) by an
|
|
49
|
+
* extracted scalar.
|
|
50
|
+
*
|
|
51
|
+
* Nullish accessor results always sort last regardless of direction, mirroring
|
|
52
|
+
* the rendering convention that empty cells trail populated cells.
|
|
53
|
+
*
|
|
54
|
+
* Lives under `Components/Table/` because it is only meaningful in the
|
|
55
|
+
* context of Table sorting; the broader `Helpers` module deliberately does
|
|
56
|
+
* not depend on any Table type.
|
|
57
|
+
*/
|
|
58
|
+
export declare function getAccessorSortingFn<T, V>(accessorFn: (item: T) => V, desc: boolean): (a: T, b: T) => 1 | 0 | -1;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { TableContext } from './Types/Context/TableContext.svelte.js';
|
|
2
|
+
import { LocalTableDataRepository } from './Types/DataRepository/LocalTableDataRepository.svelte.js';
|
|
3
|
+
import { CustomFilterType } from './Types/Filtering/CustomFilterType.js';
|
|
4
|
+
/**
|
|
5
|
+
* Convenience factory that wires up a {@link TableContext} backed by a
|
|
6
|
+
* {@link LocalTableDataRepository} (in-memory, `$state`-backed data).
|
|
7
|
+
*
|
|
8
|
+
* Co-located with the Table subtree it serves: previously this lived in the
|
|
9
|
+
* generic `Helpers.svelte.ts`, which forced every consumer of unrelated
|
|
10
|
+
* helpers (such as `getErrorMessage` or `asyncMap`) to drag the entire Table
|
|
11
|
+
* subtree into their dependency graph and broke tree-shaking. Moving the
|
|
12
|
+
* factory here breaks the structural cycle
|
|
13
|
+
* `Helpers <-> TableContext <-> RowSelectionDef` while keeping the public
|
|
14
|
+
* `@lavalogic/scoria` surface unchanged via re-export from `src/lib/index.ts`.
|
|
15
|
+
*/
|
|
16
|
+
export function createLocalTable(args) {
|
|
17
|
+
const localRepo = new LocalTableDataRepository(args.name, args.data, args.getUserId);
|
|
18
|
+
return TableContext.init(args.defs, args.name, localRepo, {
|
|
19
|
+
selectionExtractor: args.selectionExtractor,
|
|
20
|
+
getUserId: args.getUserId,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Typeguard narrowing a {@link CustomFilter} to a Select-typed filter that
|
|
25
|
+
* carries a non-null `query` function. Useful inside column definitions and
|
|
26
|
+
* filter panel components that need to differentiate query-driven select
|
|
27
|
+
* filters from value-list select filters before invoking the async loader.
|
|
28
|
+
*
|
|
29
|
+
* Belongs under `Components/Table/` because it is meaningful only for the
|
|
30
|
+
* {@link CustomFilter}/{@link CustomFilterType} discriminated union owned by
|
|
31
|
+
* the Table subtree.
|
|
32
|
+
*/
|
|
33
|
+
export function hasQuery(customFilter) {
|
|
34
|
+
return (!!customFilter &&
|
|
35
|
+
customFilter.type == CustomFilterType.Select &&
|
|
36
|
+
!!customFilter.query &&
|
|
37
|
+
typeof customFilter.query == 'function');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Builds a stable two-row comparator for an arbitrary accessor function,
|
|
41
|
+
* honouring an ascending/descending flag. Used by Table sorting paths that
|
|
42
|
+
* need to sort raw rows (rather than column-aware cell values) by an
|
|
43
|
+
* extracted scalar.
|
|
44
|
+
*
|
|
45
|
+
* Nullish accessor results always sort last regardless of direction, mirroring
|
|
46
|
+
* the rendering convention that empty cells trail populated cells.
|
|
47
|
+
*
|
|
48
|
+
* Lives under `Components/Table/` because it is only meaningful in the
|
|
49
|
+
* context of Table sorting; the broader `Helpers` module deliberately does
|
|
50
|
+
* not depend on any Table type.
|
|
51
|
+
*/
|
|
52
|
+
export function getAccessorSortingFn(accessorFn, desc) {
|
|
53
|
+
return desc
|
|
54
|
+
? (_a, _b) => {
|
|
55
|
+
const a = accessorFn(_a);
|
|
56
|
+
const b = accessorFn(_b);
|
|
57
|
+
if (a == undefined && b != undefined) {
|
|
58
|
+
return 1;
|
|
59
|
+
}
|
|
60
|
+
if (b == undefined && a != undefined) {
|
|
61
|
+
return -1;
|
|
62
|
+
}
|
|
63
|
+
if (a < b) {
|
|
64
|
+
return 1;
|
|
65
|
+
}
|
|
66
|
+
if (a > b) {
|
|
67
|
+
return -1;
|
|
68
|
+
}
|
|
69
|
+
return 0;
|
|
70
|
+
}
|
|
71
|
+
: (_a, _b) => {
|
|
72
|
+
const a = accessorFn(_a);
|
|
73
|
+
const b = accessorFn(_b);
|
|
74
|
+
if (a == undefined && b != undefined) {
|
|
75
|
+
return 1;
|
|
76
|
+
}
|
|
77
|
+
if (b == undefined && a != undefined) {
|
|
78
|
+
return -1;
|
|
79
|
+
}
|
|
80
|
+
if (a < b) {
|
|
81
|
+
return -1;
|
|
82
|
+
}
|
|
83
|
+
if (a > b) {
|
|
84
|
+
return 1;
|
|
85
|
+
}
|
|
86
|
+
return 0;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
2
|
+
/**
|
|
3
|
+
* Header / body view of one column. Wraps the underlying `ColumnDef`
|
|
4
|
+
* with view-layer affordances such as sort toggling, resizing, and
|
|
5
|
+
* visibility lookup.
|
|
6
|
+
*
|
|
7
|
+
* `id` is a bare `string` rather than `string & keyof T` because synthetic
|
|
8
|
+
* columns (actions, expand, row-selection) carry generated ids that are not
|
|
9
|
+
* properties of `T`. Tightening this to a union of accessor-keys and
|
|
10
|
+
* synthetic-prefixed brands is deferred (see workorder `ColumnDef` finding 1).
|
|
11
|
+
*/
|
|
2
12
|
export interface Column<T extends object, in FilterFnType = never, out FilterOptionsType = unknown> {
|
|
3
13
|
id: string;
|
|
4
14
|
columnDef: ColumnDef<T, FilterFnType, FilterOptionsType>;
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime shape of the column-pinning state held by `TableContext`. Each map
|
|
3
|
+
* keys a column id to the width (in pixels) at which the column is currently
|
|
4
|
+
* pinned. A column id absent from both maps is unpinned (centre group).
|
|
5
|
+
*
|
|
6
|
+
* The widths are kept as bare numbers rather than `Pixels` brands because the
|
|
7
|
+
* resize handler and header code does arithmetic on them; brand promotion is
|
|
8
|
+
* tracked in the cross-cutting Pixels review.
|
|
9
|
+
*
|
|
10
|
+
* The matching serialisable shape is `JSONColumnPinningState`, which stores
|
|
11
|
+
* the same data as `Array<[id, width]>` pairs for `JSON.stringify`.
|
|
12
|
+
*/
|
|
1
13
|
export interface ColumnPinningState {
|
|
2
14
|
left?: ReadonlyMap<string, number>;
|
|
3
15
|
right?: ReadonlyMap<string, number>;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime shape of the per-column width state held by `TableContext`. Keyed
|
|
3
|
+
* by column id, valued by current width in pixels. Persisted to localStorage
|
|
4
|
+
* as-is (it is already a JSON-friendly record).
|
|
5
|
+
*
|
|
6
|
+
* Width is a bare `number` rather than a `Pixels` brand; brand promotion is
|
|
7
|
+
* tracked in the cross-cutting Pixels review.
|
|
8
|
+
*/
|
|
1
9
|
export type ColumnSizingState = Record<string, number>;
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level taxonomy for column definitions. Every `ColumnDef` subclass sets
|
|
3
|
+
* `columnType` to one of these literals; the table context uses it to route
|
|
4
|
+
* cells to the correct cell component (`AccessorComponent`, `DisplayCell`,
|
|
5
|
+
* `ExpandCell`, etc.).
|
|
6
|
+
*
|
|
7
|
+
* - `Accessor` - data-backed column (text, number, date, select, query,
|
|
8
|
+
* checkbox).
|
|
9
|
+
* - `Display` - read-only display column with no underlying accessor value
|
|
10
|
+
* (bubble, progress, validity, plain display).
|
|
11
|
+
* - `Custom` - consumer-supplied column with a bespoke cell component.
|
|
12
|
+
* - `Expand` - master-detail expand control.
|
|
13
|
+
* - `RowSelect` - row-selection checkbox column.
|
|
14
|
+
* - `Actions` - action-button column.
|
|
15
|
+
* - `FilterOnly` - column that appears only in the filter panel; not rendered
|
|
16
|
+
* in the body or header.
|
|
17
|
+
*/
|
|
1
18
|
export declare const ColumnType: {
|
|
2
19
|
readonly Accessor: "Accessor";
|
|
3
20
|
readonly Display: "Display";
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level taxonomy for column definitions. Every `ColumnDef` subclass sets
|
|
3
|
+
* `columnType` to one of these literals; the table context uses it to route
|
|
4
|
+
* cells to the correct cell component (`AccessorComponent`, `DisplayCell`,
|
|
5
|
+
* `ExpandCell`, etc.).
|
|
6
|
+
*
|
|
7
|
+
* - `Accessor` - data-backed column (text, number, date, select, query,
|
|
8
|
+
* checkbox).
|
|
9
|
+
* - `Display` - read-only display column with no underlying accessor value
|
|
10
|
+
* (bubble, progress, validity, plain display).
|
|
11
|
+
* - `Custom` - consumer-supplied column with a bespoke cell component.
|
|
12
|
+
* - `Expand` - master-detail expand control.
|
|
13
|
+
* - `RowSelect` - row-selection checkbox column.
|
|
14
|
+
* - `Actions` - action-button column.
|
|
15
|
+
* - `FilterOnly` - column that appears only in the filter panel; not rendered
|
|
16
|
+
* in the body or header.
|
|
17
|
+
*/
|
|
1
18
|
export const ColumnType = {
|
|
2
19
|
Accessor: 'Accessor',
|
|
3
20
|
Display: 'Display',
|
|
@@ -5,6 +22,6 @@ export const ColumnType = {
|
|
|
5
22
|
Expand: 'Expand',
|
|
6
23
|
RowSelect: 'RowSelect',
|
|
7
24
|
Actions: 'Actions',
|
|
8
|
-
FilterOnly: 'Filter Only'
|
|
25
|
+
FilterOnly: 'Filter Only',
|
|
9
26
|
};
|
|
10
27
|
Object.freeze(ColumnType);
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { DateInputDef } from './Definitions/Accessors/DateInputDef.svelte.js';
|
|
2
|
+
/**
|
|
3
|
+
* Narrowed `Column<T>` whose `columnDef` is a `DateInputDef`. Currently
|
|
4
|
+
* declares its own shape rather than `extends Column<T, F, S>`; collapsing to
|
|
5
|
+
* an extension is deferred (see workorder Types-Columns finding 10) because
|
|
6
|
+
* the interface compatibility shift is consumer-facing.
|
|
7
|
+
*/
|
|
2
8
|
export interface DateColumn<T extends object, in FilterValueType, out SelectValueType> {
|
|
3
9
|
id: string;
|
|
4
10
|
columnDef: DateInputDef<T, FilterValueType, SelectValueType>;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { Row } from '../Context/Row.js';
|
|
2
2
|
import type { DateColumn } from './DateColumn.js';
|
|
3
|
+
/**
|
|
4
|
+
* Narrowed `TableCell<T>` for date columns. `getValue` is still typed
|
|
5
|
+
* `unknown` because the canonical signature on `TableCell<T>` is also
|
|
6
|
+
* `unknown`; tightening to `Date | null | undefined | Promise<Date | null
|
|
7
|
+
* | undefined>` is deferred to the `TableCell.getValue` workorder so the
|
|
8
|
+
* tightening happens in one place rather than per cell variant.
|
|
9
|
+
*/
|
|
3
10
|
export interface DateTableCell<T extends object, in FilterValueType, out SelectValueType> {
|
|
4
11
|
column: DateColumn<T, FilterValueType, SelectValueType>;
|
|
5
12
|
row: Row<T>;
|
|
@@ -1 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AccessorFn<T, TValue>` projects a row value out of `T` for a given column.
|
|
3
|
+
*
|
|
4
|
+
* The default `TValue = unknown` is retained for backwards compatibility:
|
|
5
|
+
* call sites that hold an `AccessorFn<T>` without a narrower second argument
|
|
6
|
+
* (notably `ColumnDef.accessorFn`) still compile unchanged.
|
|
7
|
+
*
|
|
8
|
+
* Concrete `ColumnDef` subclasses are expected to narrow `TValue` to the
|
|
9
|
+
* column's natural type (`boolean` for `CheckboxDef`, `number | string |
|
|
10
|
+
* null` for `NumberInputDef`, `string | null` for `TextInputDef`, etc.). This
|
|
11
|
+
* narrowing flows into the matching `TableCell` so that `cell.getValue()`
|
|
12
|
+
* returns the column's declared shape rather than `unknown`.
|
|
13
|
+
*/
|
|
1
14
|
export type AccessorFn<T extends object, TValue = unknown> = (originalRow: T, index: number) => TValue;
|
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
2
2
|
import type { AccessorType } from './AccessorType.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Construction-time props for every `AccessorDef` subclass. Narrows
|
|
5
|
+
* `id` to `string & keyof T` so the column id can be used as a literal
|
|
6
|
+
* accessor on `T` (e.g. `row.original[def.id]`).
|
|
7
|
+
*
|
|
8
|
+
* The `TValue` generic is threaded down from `ColumnDef` so subclasses
|
|
9
|
+
* (`CheckboxDef`, `NumberInputDef`, etc.) can pin it to their natural
|
|
10
|
+
* runtime shape.
|
|
11
|
+
*/
|
|
12
|
+
export interface AccessorDefProps<T extends object, in FilterValueType, out FilterOptionsType, TValue = unknown> extends ColumnDefProps<T, FilterValueType, FilterOptionsType, TValue> {
|
|
4
13
|
readonly id: string & keyof T;
|
|
5
14
|
}
|
|
6
|
-
|
|
7
|
-
|
|
15
|
+
/**
|
|
16
|
+
* `AccessorDef<T, FilterValueType, FilterOptionsType, TValue>` is the
|
|
17
|
+
* base for every data-backed column definition. Discriminates as
|
|
18
|
+
* `ColumnType.Accessor` and exposes a further `accessorType` literal
|
|
19
|
+
* that each leaf subclass narrows (`Checkbox`, `Number`, `Text`,
|
|
20
|
+
* `Date`, `Select`, `Query`).
|
|
21
|
+
*
|
|
22
|
+
* The `TValue` generic is threaded down from `ColumnDef`; subclasses
|
|
23
|
+
* such as `CheckboxDef`, `NumberInputDef`, `TextInputDef`, and
|
|
24
|
+
* `DateInputDef` set it to their natural runtime shape so that the
|
|
25
|
+
* matching `TableCell.getValue()` returns the correct narrow type
|
|
26
|
+
* rather than `unknown`.
|
|
27
|
+
*/
|
|
28
|
+
export declare abstract class AccessorDef<T extends object, in FilterValueType, out FilterOptionsType, TValue = unknown> extends ColumnDef<T, FilterValueType, FilterOptionsType, TValue> {
|
|
29
|
+
constructor(props: AccessorDefProps<T, FilterValueType, FilterOptionsType, TValue>);
|
|
30
|
+
/** Discriminator literal pinning every `AccessorDef` subclass to the
|
|
31
|
+
* `Accessor` column kind. Subclasses further narrow via `accessorType`. */
|
|
8
32
|
readonly columnType: "Accessor";
|
|
33
|
+
/** Inner discriminator literal narrowed by each leaf subclass. */
|
|
9
34
|
abstract readonly accessorType: AccessorType;
|
|
10
35
|
}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { ColumnType } from '../../ColumnType.js';
|
|
2
2
|
import { ColumnDef } from '../ColumnDef.svelte.js';
|
|
3
|
+
/**
|
|
4
|
+
* `AccessorDef<T, FilterValueType, FilterOptionsType, TValue>` is the
|
|
5
|
+
* base for every data-backed column definition. Discriminates as
|
|
6
|
+
* `ColumnType.Accessor` and exposes a further `accessorType` literal
|
|
7
|
+
* that each leaf subclass narrows (`Checkbox`, `Number`, `Text`,
|
|
8
|
+
* `Date`, `Select`, `Query`).
|
|
9
|
+
*
|
|
10
|
+
* The `TValue` generic is threaded down from `ColumnDef`; subclasses
|
|
11
|
+
* such as `CheckboxDef`, `NumberInputDef`, `TextInputDef`, and
|
|
12
|
+
* `DateInputDef` set it to their natural runtime shape so that the
|
|
13
|
+
* matching `TableCell.getValue()` returns the correct narrow type
|
|
14
|
+
* rather than `unknown`.
|
|
15
|
+
*/
|
|
3
16
|
export class AccessorDef extends ColumnDef {
|
|
4
17
|
// NOTE: constructor in place to enforce that we're using AccessorDefProps
|
|
5
18
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
6
19
|
constructor(props) {
|
|
7
20
|
super(props);
|
|
8
21
|
}
|
|
22
|
+
/** Discriminator literal pinning every `AccessorDef` subclass to the
|
|
23
|
+
* `Accessor` column kind. Subclasses further narrow via `accessorType`. */
|
|
9
24
|
columnType = ColumnType.Accessor;
|
|
10
25
|
}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-taxonomy for `Accessor`-typed columns. Selects which editor cell
|
|
3
|
+
* component the body renders for editable cells (`TableTextInput`,
|
|
4
|
+
* `TableNumberInput`, `TableDatePicker`, `TableSelect`, `TableQuerySelect`,
|
|
5
|
+
* `TableCheckbox`).
|
|
6
|
+
*
|
|
7
|
+
* Note: the value space deliberately overlaps with `DisplayType` (`'Date'`,
|
|
8
|
+
* `'Number'`). The unions never mix at the same call site because
|
|
9
|
+
* `ColumnType` discriminates between `Accessor` and `Display` first.
|
|
10
|
+
*/
|
|
1
11
|
export declare const AccessorType: {
|
|
2
12
|
readonly Text: "Text";
|
|
3
13
|
readonly Number: "Number";
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-taxonomy for `Accessor`-typed columns. Selects which editor cell
|
|
3
|
+
* component the body renders for editable cells (`TableTextInput`,
|
|
4
|
+
* `TableNumberInput`, `TableDatePicker`, `TableSelect`, `TableQuerySelect`,
|
|
5
|
+
* `TableCheckbox`).
|
|
6
|
+
*
|
|
7
|
+
* Note: the value space deliberately overlaps with `DisplayType` (`'Date'`,
|
|
8
|
+
* `'Number'`). The unions never mix at the same call site because
|
|
9
|
+
* `ColumnType` discriminates between `Accessor` and `Display` first.
|
|
10
|
+
*/
|
|
1
11
|
export const AccessorType = {
|
|
2
12
|
Text: 'Text',
|
|
3
13
|
Number: 'Number',
|
|
4
14
|
Date: 'Date',
|
|
5
15
|
Select: 'Select',
|
|
6
16
|
Query: 'Query',
|
|
7
|
-
Checkbox: 'Checkbox'
|
|
17
|
+
Checkbox: 'Checkbox',
|
|
8
18
|
};
|
|
9
19
|
Object.freeze(AccessorType);
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import type { BoolFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
|
|
2
2
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Construction-time props for `CheckboxDef`. The `TValue` generic is
|
|
5
|
+
* pinned to `boolean` so `cell.getValue()` returns the narrow type.
|
|
6
|
+
*
|
|
7
|
+
* Notes:
|
|
8
|
+
* - `in FilterValueType` / `out SelectValueType` are unused by the
|
|
9
|
+
* checkbox UI today but retained so the shape parallels every other
|
|
10
|
+
* `AccessorDef` subclass.
|
|
11
|
+
* - The base interface is extended without adding fields; the marker
|
|
12
|
+
* exists for symmetry and so future checkbox-specific props can be
|
|
13
|
+
* added without a breaking-change rename.
|
|
14
|
+
*/
|
|
15
|
+
export interface CheckboxDefProps<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType, boolean> {
|
|
4
16
|
}
|
|
5
|
-
|
|
17
|
+
/**
|
|
18
|
+
* `CheckboxDef<T, FilterValueType, SelectValueType>` is an `AccessorDef`
|
|
19
|
+
* whose declared value is a `boolean`. The fixed `TValue = boolean`
|
|
20
|
+
* narrows `cell.getValue()` to `boolean | Promise<boolean>` at the cell
|
|
21
|
+
* layer.
|
|
22
|
+
*/
|
|
23
|
+
export declare class CheckboxDef<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType, boolean> {
|
|
24
|
+
/** Inner discriminator literal. */
|
|
6
25
|
readonly accessorType: "Checkbox";
|
|
7
26
|
constructor(props: CheckboxDefProps<T, FilterValueType, SelectValueType>);
|
|
8
27
|
private _filterFn;
|
|
28
|
+
/** Filter predicate. Reassignable so consumers can swap the filter
|
|
29
|
+
* function post-construction. */
|
|
9
30
|
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
10
31
|
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
11
32
|
}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { AccessorDef } from './AccessorDef.svelte.js';
|
|
2
2
|
import { AccessorType } from './AccessorType.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* `CheckboxDef<T, FilterValueType, SelectValueType>` is an `AccessorDef`
|
|
5
|
+
* whose declared value is a `boolean`. The fixed `TValue = boolean`
|
|
6
|
+
* narrows `cell.getValue()` to `boolean | Promise<boolean>` at the cell
|
|
7
|
+
* layer.
|
|
8
|
+
*/
|
|
5
9
|
export class CheckboxDef extends AccessorDef {
|
|
10
|
+
/** Inner discriminator literal. */
|
|
6
11
|
accessorType = AccessorType.Checkbox;
|
|
7
12
|
constructor(props) {
|
|
8
13
|
super(props);
|
|
9
14
|
this._filterFn = $state(props.filterFn);
|
|
10
15
|
}
|
|
11
16
|
_filterFn;
|
|
17
|
+
/** Filter predicate. Reassignable so consumers can swap the filter
|
|
18
|
+
* function post-construction. */
|
|
12
19
|
get filterFn() {
|
|
13
20
|
return this._filterFn;
|
|
14
21
|
}
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
import type { DateFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
|
|
2
2
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Construction-time props for `DateInputDef`. The `TValue` generic is
|
|
5
|
+
* pinned to `Date | null`.
|
|
6
|
+
*
|
|
7
|
+
* Notes:
|
|
8
|
+
* - `showTime` controls whether the input renders a time picker.
|
|
9
|
+
* - The third generic (`SelectValueType`) is unused by the date input
|
|
10
|
+
* today but retained so the shape parallels every other
|
|
11
|
+
* `AccessorDef` subclass.
|
|
12
|
+
*/
|
|
13
|
+
export interface DateInputDefProps<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType, Date | null> {
|
|
14
|
+
/** Whether to render a time picker alongside the date picker. Defaults to false. */
|
|
4
15
|
showTime?: boolean;
|
|
5
16
|
}
|
|
6
|
-
|
|
17
|
+
/**
|
|
18
|
+
* `DateInputDef<T, FilterValueType, SelectValueType>` fixes its
|
|
19
|
+
* declared value type at `Date | null` so cell consumers can drop the
|
|
20
|
+
* bespoke cast on `cell.getValue()`.
|
|
21
|
+
*/
|
|
22
|
+
export declare class DateInputDef<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType, Date | null> {
|
|
23
|
+
/** Inner discriminator literal. */
|
|
7
24
|
readonly accessorType: "Date";
|
|
8
25
|
constructor(props: DateInputDefProps<T, FilterValueType, SelectValueType>);
|
|
9
26
|
private _filterFn;
|
|
27
|
+
/** Filter predicate. Reassignable. */
|
|
10
28
|
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
11
29
|
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
30
|
+
/** Whether to render a time picker. */
|
|
12
31
|
readonly showTime: boolean;
|
|
13
32
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { AccessorDef } from './AccessorDef.svelte.js';
|
|
2
2
|
import { AccessorType } from './AccessorType.js';
|
|
3
|
+
/**
|
|
4
|
+
* `DateInputDef<T, FilterValueType, SelectValueType>` fixes its
|
|
5
|
+
* declared value type at `Date | null` so cell consumers can drop the
|
|
6
|
+
* bespoke cast on `cell.getValue()`.
|
|
7
|
+
*/
|
|
3
8
|
export class DateInputDef extends AccessorDef {
|
|
9
|
+
/** Inner discriminator literal. */
|
|
4
10
|
accessorType = AccessorType.Date;
|
|
5
11
|
constructor(props) {
|
|
6
12
|
super(props);
|
|
@@ -8,11 +14,13 @@ export class DateInputDef extends AccessorDef {
|
|
|
8
14
|
this._filterFn = $state(props.filterFn);
|
|
9
15
|
}
|
|
10
16
|
_filterFn;
|
|
17
|
+
/** Filter predicate. Reassignable. */
|
|
11
18
|
get filterFn() {
|
|
12
19
|
return this._filterFn;
|
|
13
20
|
}
|
|
14
21
|
set filterFn(v) {
|
|
15
22
|
this._filterFn = v;
|
|
16
23
|
}
|
|
24
|
+
/** Whether to render a time picker. */
|
|
17
25
|
showTime;
|
|
18
26
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts
CHANGED
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
2
2
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Construction-time props for `NumberInputDef`. The `TValue` generic is
|
|
5
|
+
* pinned to `number | string | null` - the widened union accepts the
|
|
6
|
+
* historic cell behaviour where a `string` may be parsed at render time
|
|
7
|
+
* and a `null` is interpreted as "no value".
|
|
8
|
+
*
|
|
9
|
+
* Notes:
|
|
10
|
+
* - `min` / `max` are not enforced at the definition layer; the input
|
|
11
|
+
* widget clamps at render time. Tracked in the workorder.
|
|
12
|
+
* - The third generic (now `OptionsValueType`, previously misspelled
|
|
13
|
+
* `OptionssValueType`) is unused by the number input today but
|
|
14
|
+
* retained so the shape parallels every other `AccessorDef` subclass.
|
|
15
|
+
*/
|
|
16
|
+
export interface NumberInputDefProps<T extends object, in FilterValueType = NumberFilterValueType, out OptionsValueType = NumberFilterValueType> extends AccessorDefProps<T, FilterValueType, OptionsValueType, number | string | null> {
|
|
17
|
+
/** Minimum value accepted by the input widget. */
|
|
4
18
|
min: number;
|
|
19
|
+
/** Maximum value accepted by the input widget. */
|
|
5
20
|
max: number;
|
|
6
21
|
}
|
|
7
|
-
|
|
22
|
+
/**
|
|
23
|
+
* `NumberInputDef<T, FilterValueType, OptionsValueType>` fixes its
|
|
24
|
+
* declared value type at `number | string | null`. The widened union
|
|
25
|
+
* accepts the historic cell behaviour where a `string` may be parsed
|
|
26
|
+
* at render time and a `null` is interpreted as "no value". Cell
|
|
27
|
+
* consumers can drop the `as number` cast on `cell.getValue()`.
|
|
28
|
+
*/
|
|
29
|
+
export declare class NumberInputDef<T extends object, in FilterValueType = NumberFilterValueType, out OptionsValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType, OptionsValueType, number | string | null> {
|
|
30
|
+
/** Inner discriminator literal. */
|
|
8
31
|
readonly accessorType: "Number";
|
|
9
|
-
constructor(props: NumberInputDefProps<T, FilterValueType,
|
|
32
|
+
constructor(props: NumberInputDefProps<T, FilterValueType, OptionsValueType>);
|
|
33
|
+
/** Minimum value accepted by the input widget. */
|
|
10
34
|
readonly min: number;
|
|
35
|
+
/** Maximum value accepted by the input widget. */
|
|
11
36
|
readonly max: number;
|
|
12
37
|
private _filterFn;
|
|
38
|
+
/** Filter predicate. Reassignable. */
|
|
13
39
|
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
14
40
|
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
15
41
|
}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { AccessorDef } from './AccessorDef.svelte.js';
|
|
2
2
|
import { AccessorType } from './AccessorType.js';
|
|
3
|
+
/**
|
|
4
|
+
* `NumberInputDef<T, FilterValueType, OptionsValueType>` fixes its
|
|
5
|
+
* declared value type at `number | string | null`. The widened union
|
|
6
|
+
* accepts the historic cell behaviour where a `string` may be parsed
|
|
7
|
+
* at render time and a `null` is interpreted as "no value". Cell
|
|
8
|
+
* consumers can drop the `as number` cast on `cell.getValue()`.
|
|
9
|
+
*/
|
|
3
10
|
export class NumberInputDef extends AccessorDef {
|
|
11
|
+
/** Inner discriminator literal. */
|
|
4
12
|
accessorType = AccessorType.Number;
|
|
5
13
|
constructor(props) {
|
|
6
14
|
super(props);
|
|
@@ -8,9 +16,12 @@ export class NumberInputDef extends AccessorDef {
|
|
|
8
16
|
this.max = $derived(props.max);
|
|
9
17
|
this._filterFn = $state(props.filterFn);
|
|
10
18
|
}
|
|
19
|
+
/** Minimum value accepted by the input widget. */
|
|
11
20
|
min;
|
|
21
|
+
/** Maximum value accepted by the input widget. */
|
|
12
22
|
max;
|
|
13
23
|
_filterFn;
|
|
24
|
+
/** Filter predicate. Reassignable. */
|
|
14
25
|
get filterFn() {
|
|
15
26
|
return this._filterFn;
|
|
16
27
|
}
|