@lavalogic/scoria 0.11.14 → 0.12.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/Action.svelte +7 -32
- package/dist/Components/Action.svelte.d.ts +1 -27
- package/dist/Components/ActionProps.d.ts +27 -0
- package/dist/Components/ActionProps.js +1 -0
- package/dist/Components/AlertModal.svelte +7 -5
- package/dist/Components/Base/ContextWrapper.svelte +4 -9
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +1 -5
- package/dist/Components/Base/ContextWrapperProps.d.ts +5 -0
- package/dist/Components/Base/ContextWrapperProps.js +1 -0
- package/dist/Components/Base/Pagination.svelte +22 -31
- package/dist/Components/Base/Pagination.svelte.d.ts +1 -12
- package/dist/Components/Base/PaginationProps.d.ts +12 -0
- package/dist/Components/Base/PaginationProps.js +1 -0
- package/dist/Components/BigRadioSet.svelte +4 -11
- package/dist/Components/BigRadioSet.svelte.d.ts +1 -6
- package/dist/Components/BigRadioSetProps.d.ts +6 -0
- package/dist/Components/BigRadioSetProps.js +1 -0
- package/dist/Components/Bubble.svelte +4 -21
- package/dist/Components/Bubble.svelte.d.ts +1 -18
- package/dist/Components/BubbleColour.d.ts +5 -0
- package/dist/Components/BubbleColour.js +1 -0
- package/dist/Components/BubbleProps.d.ts +14 -0
- package/dist/Components/BubbleProps.js +1 -0
- package/dist/Components/Button.svelte +21 -48
- package/dist/Components/Button.svelte.d.ts +1 -29
- package/dist/Components/ButtonProps.d.ts +29 -0
- package/dist/Components/ButtonProps.js +1 -0
- package/dist/Components/Checkbox.svelte +4 -21
- package/dist/Components/Checkbox.svelte.d.ts +2 -2
- package/dist/Components/CollapsibleCard.svelte +3 -15
- package/dist/Components/CollapsibleCard.svelte.d.ts +2 -10
- package/dist/Components/CollapsibleCardProps.d.ts +9 -0
- package/dist/Components/CollapsibleCardProps.js +1 -0
- package/dist/Components/Contexts/ContextMenu.svelte +14 -11
- package/dist/Components/Contexts/ContextMenuOption.svelte +2 -11
- package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +1 -7
- package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +7 -0
- package/dist/Components/Contexts/ContextMenuOptionProps.js +1 -0
- package/dist/Components/Contexts/Toast.svelte +1 -6
- package/dist/Components/Contexts/Toast.svelte.d.ts +1 -5
- package/dist/Components/Contexts/ToastContainer.svelte +4 -1
- package/dist/Components/Contexts/ToastProps.d.ts +5 -0
- package/dist/Components/Contexts/ToastProps.js +1 -0
- package/dist/Components/Contexts/Tooltip.svelte +1 -4
- package/dist/Components/DataMatrixIcon.svelte +3 -11
- package/dist/Components/DataMatrixIcon.svelte.d.ts +1 -6
- package/dist/Components/DataMatrixIconProps.d.ts +6 -0
- package/dist/Components/DataMatrixIconProps.js +1 -0
- package/dist/Components/DateInput.svelte +3 -42
- package/dist/Components/DateInput.svelte.d.ts +1 -40
- package/dist/Components/DateInputProps.d.ts +3 -0
- package/dist/Components/DateInputProps.js +1 -0
- package/dist/Components/DateOnlyInputProps.d.ts +21 -0
- package/dist/Components/DateOnlyInputProps.js +1 -0
- package/dist/Components/DatePicker.svelte +26 -36
- package/dist/Components/DatePicker.svelte.d.ts +1 -8
- package/dist/Components/DatePickerProps.d.ts +8 -0
- package/dist/Components/DatePickerProps.js +1 -0
- package/dist/Components/DateTimeInputProps.d.ts +21 -0
- package/dist/Components/DateTimeInputProps.js +1 -0
- package/dist/Components/DesktopModal.svelte +3 -25
- package/dist/Components/DesktopModal.svelte.d.ts +1 -20
- package/dist/Components/DesktopModalProps.d.ts +20 -0
- package/dist/Components/DesktopModalProps.js +1 -0
- package/dist/Components/Dial.svelte +2 -18
- package/dist/Components/Dial.svelte.d.ts +1 -13
- package/dist/Components/DialProps.d.ts +13 -0
- package/dist/Components/DialProps.js +1 -0
- package/dist/Components/DimensionInput.svelte +21 -48
- package/dist/Components/DimensionInput.svelte.d.ts +1 -29
- package/dist/Components/DimensionInputProps.d.ts +29 -0
- package/dist/Components/DimensionInputProps.js +1 -0
- package/dist/Components/DragMenu/DragMenuHolder.svelte +10 -57
- package/dist/Components/DragMenu/DragMenuHolder.svelte.d.ts +1 -17
- package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +10 -0
- package/dist/Components/DragMenu/DragMenuHolderProps.js +1 -0
- package/dist/Components/DragMenu/Draggable.d.ts +8 -0
- package/dist/Components/DragMenu/Draggable.js +1 -0
- package/dist/Components/DragMenu/DraggableCard.svelte +6 -14
- package/dist/Components/DragMenu/DraggableCard.svelte.d.ts +1 -9
- package/dist/Components/DragMenu/DraggableCardProps.d.ts +9 -0
- package/dist/Components/DragMenu/DraggableCardProps.js +1 -0
- package/dist/Components/FileCard.svelte +1 -7
- package/dist/Components/FileCard.svelte.d.ts +1 -4
- package/dist/Components/FileCardProps.d.ts +4 -0
- package/dist/Components/FileCardProps.js +1 -0
- package/dist/Components/FileUpload.svelte +9 -31
- package/dist/Components/FileUpload.svelte.d.ts +1 -24
- package/dist/Components/FileUploadProps.d.ts +24 -0
- package/dist/Components/FileUploadProps.js +1 -0
- package/dist/Components/GridInput.svelte +30 -28
- package/dist/Components/GridInput.svelte.d.ts +1 -6
- package/dist/Components/GridInputProps.d.ts +7 -0
- package/dist/Components/GridInputProps.js +1 -0
- package/dist/Components/GridInputSet.svelte +2 -11
- package/dist/Components/GridInputSet.svelte.d.ts +1 -6
- package/dist/Components/GridInputSetProps.d.ts +7 -0
- package/dist/Components/GridInputSetProps.js +1 -0
- package/dist/Components/HorizontalTabGroup.svelte +3 -16
- package/dist/Components/HorizontalTabGroup.svelte.d.ts +2 -11
- package/dist/Components/HorizontalTabGroupButton.svelte +11 -15
- package/dist/Components/HorizontalTabGroupButton.svelte.d.ts +2 -6
- package/dist/Components/HorizontalTabGroupProps.d.ts +10 -0
- package/dist/Components/HorizontalTabGroupProps.js +1 -0
- package/dist/Components/Icon.svelte +5 -1257
- package/dist/Components/Icon.svelte.d.ts +1 -884
- package/dist/Components/IconProps.d.ts +24 -0
- package/dist/Components/IconProps.js +1 -0
- package/dist/Components/Icons.d.ts +858 -0
- package/dist/Components/Icons.js +1222 -0
- package/dist/Components/InputProps.d.ts +15 -0
- package/dist/Components/InputProps.js +1 -0
- package/dist/Components/LoadingModal.svelte +2 -2
- package/dist/Components/Modal.svelte +24 -25
- package/dist/Components/Modal.svelte.d.ts +3 -6
- package/dist/Components/MultiSelect.svelte +35 -73
- package/dist/Components/MultiSelect.svelte.d.ts +14 -37
- package/dist/Components/MultiSelectCommonProps.d.ts +16 -0
- package/dist/Components/MultiSelectCommonProps.js +1 -0
- package/dist/Components/MultiSelectProps.d.ts +4 -0
- package/dist/Components/MultiSelectProps.js +1 -0
- package/dist/Components/MultiSelectPropsAsObject.d.ts +6 -0
- package/dist/Components/MultiSelectPropsAsObject.js +1 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.js +1 -0
- package/dist/Components/NumberInput.svelte +8 -37
- package/dist/Components/NumberInput.svelte.d.ts +1 -29
- package/dist/Components/NumberInputProps.d.ts +29 -0
- package/dist/Components/NumberInputProps.js +1 -0
- package/dist/Components/PartialIconProps.d.ts +4 -0
- package/dist/Components/PartialIconProps.js +1 -0
- package/dist/Components/PasswordInput.svelte +4 -22
- package/dist/Components/PasswordInput.svelte.d.ts +1 -15
- package/dist/Components/Portal.svelte +3 -9
- package/dist/Components/Portal.svelte.d.ts +1 -5
- package/dist/Components/PortalProps.d.ts +5 -0
- package/dist/Components/PortalProps.js +1 -0
- package/dist/Components/ProgressBubble.svelte +20 -22
- package/dist/Components/ProgressBubble.svelte.d.ts +2 -6
- package/dist/Components/ProgressBubbleProps.d.ts +5 -0
- package/dist/Components/ProgressBubbleProps.js +1 -0
- package/dist/Components/QuerySelect.svelte +70 -49
- package/dist/Components/QuerySelect.svelte.d.ts +3 -3
- package/dist/Components/SingleSelect.svelte +28 -71
- package/dist/Components/SingleSelect.svelte.d.ts +2 -37
- package/dist/Components/SingleSelectCommonProps.d.ts +27 -0
- package/dist/Components/SingleSelectCommonProps.js +1 -0
- package/dist/Components/SingleSelectProps.d.ts +4 -0
- package/dist/Components/SingleSelectProps.js +1 -0
- package/dist/Components/SingleSelectPropsAsObject.d.ts +6 -0
- package/dist/Components/SingleSelectPropsAsObject.js +1 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.js +1 -0
- package/dist/Components/Switch.svelte +2 -13
- package/dist/Components/Switch.svelte.d.ts +1 -9
- package/dist/Components/SwitchProps.d.ts +9 -0
- package/dist/Components/SwitchProps.js +1 -0
- package/dist/Components/TabGroupButtonProps.d.ts +5 -0
- package/dist/Components/TabGroupButtonProps.js +1 -0
- package/dist/Components/Table/Body/HeightData.d.ts +6 -0
- package/dist/Components/Table/Body/HeightData.js +1 -0
- package/dist/Components/Table/Body/QuickSearchCell.svelte +59 -82
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +1 -6
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/QuickSearchCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +4 -9
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +1 -5
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +5 -10
- package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +1 -3
- package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +3 -0
- package/dist/Components/Table/Body/Rows/ColumnListProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +15 -25
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +7 -11
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +39 -48
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ActionsCellProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +26 -25
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +11 -18
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte.d.ts +13 -19
- package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.d.ts +7 -0
- package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +10 -16
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +1 -6
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +22 -15
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +7 -20
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +1 -9
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +17 -20
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +38 -22
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +41 -34
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +67 -46
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +93 -105
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +4 -2
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +78 -65
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +82 -59
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +10 -15
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +38 -31
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +1 -8
- package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/TableRowProps.js +1 -0
- package/dist/Components/Table/Body/TableBody.svelte +10 -21
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/TableBodyProps.d.ts +8 -0
- package/dist/Components/Table/Body/TableBodyProps.js +1 -0
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +2 -4
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +159 -161
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +8 -5
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +1 -1
- package/dist/Components/Table/Headers/TableHead.svelte +29 -18
- package/dist/Components/Table/Misc/ColumnPanel.svelte +4 -4
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +5 -10
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +1 -3
- package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +3 -0
- package/dist/Components/Table/Misc/ColumnPanelModalProps.js +1 -0
- package/dist/Components/Table/Misc/FilterInput.svelte +75 -145
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +1 -16
- package/dist/Components/Table/Misc/FilterInputProps.d.ts +6 -0
- package/dist/Components/Table/Misc/FilterInputProps.js +1 -0
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +2 -5
- package/dist/Components/Table/Misc/TableFooter.svelte +22 -21
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +7 -5
- package/dist/Components/Table/Misc/TableSidebar.svelte +2 -2
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +2 -7
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +1 -3
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +3 -0
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.js +1 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +5 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +13 -0
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +5 -0
- package/dist/Components/Table/Misc/stringFilterTypes.js +15 -0
- package/dist/Components/Table/NestedTable.svelte +5 -3
- package/dist/Components/Table/NestedTable.svelte.d.ts +1 -1
- package/dist/Components/Table/Table.svelte +72 -40
- package/dist/Components/Table/Table.svelte.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Column.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/DateColumn.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +1 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +2 -0
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +3 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +6 -7
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +4 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +3 -2
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +1 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +4 -3
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +2 -1
- package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +1 -1
- package/dist/Components/Table/Types/Context/ITable.d.ts +8 -8
- package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +1 -1
- package/dist/Components/Table/Types/Context/Row.d.ts +4 -4
- package/dist/Components/Table/Types/Context/RowModel.d.ts +1 -1
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +13 -17
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +260 -304
- package/dist/Components/Table/Types/Context/TableSettings.d.ts +8 -0
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +6 -6
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +10 -8
- package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +5 -5
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +5 -3
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +1 -1
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +1 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +3 -2
- package/dist/Components/TextArea.svelte +2 -30
- package/dist/Components/TextArea.svelte.d.ts +1 -26
- package/dist/Components/TextAreaProps.d.ts +26 -0
- package/dist/Components/TextAreaProps.js +1 -0
- package/dist/Components/TextInput.svelte +6 -40
- package/dist/Components/TextInput.svelte.d.ts +1 -31
- package/dist/Components/TextInputProps.d.ts +31 -0
- package/dist/Components/TextInputProps.js +1 -0
- package/dist/Components/ThreeStateRadio.svelte +4 -23
- package/dist/Components/ThreeStateRadio.svelte.d.ts +1 -19
- package/dist/Components/ThreeStateRadioProps.d.ts +19 -0
- package/dist/Components/ThreeStateRadioProps.js +1 -0
- package/dist/Components/Touch/BoolCard.svelte +3 -2
- package/dist/Components/Touch/DateModal.svelte +23 -11
- package/dist/Components/Touch/DefaultTimer.d.ts +5 -0
- package/dist/Components/Touch/DefaultTimer.js +1 -0
- package/dist/Components/Touch/EditCard.svelte +3 -17
- package/dist/Components/Touch/EditCard.svelte.d.ts +1 -12
- package/dist/Components/Touch/EditCardProps.d.ts +12 -0
- package/dist/Components/Touch/EditCardProps.js +1 -0
- package/dist/Components/Touch/InfoCard.svelte +3 -12
- package/dist/Components/Touch/InfoCard.svelte.d.ts +1 -8
- package/dist/Components/Touch/InfoCardProps.d.ts +8 -0
- package/dist/Components/Touch/InfoCardProps.js +1 -0
- package/dist/Components/Touch/InfoTextCard.svelte +3 -12
- package/dist/Components/Touch/InfoTextCard.svelte.d.ts +1 -7
- package/dist/Components/Touch/InfoTextCardProps.d.ts +7 -0
- package/dist/Components/Touch/InfoTextCardProps.js +1 -0
- package/dist/Components/Touch/KeyValuePair.d.ts +4 -0
- package/dist/Components/Touch/KeyValuePair.js +1 -0
- package/dist/Components/Touch/NumberKeyboard.svelte +54 -37
- package/dist/Components/Touch/NumberKeyboard.svelte.d.ts +1 -11
- package/dist/Components/Touch/NumberKeyboardProps.d.ts +11 -0
- package/dist/Components/Touch/NumberKeyboardProps.js +1 -0
- package/dist/Components/Touch/NumberModal.svelte +19 -26
- package/dist/Components/Touch/NumberModal.svelte.d.ts +1 -15
- package/dist/Components/Touch/NumberModalProps.d.ts +15 -0
- package/dist/Components/Touch/NumberModalProps.js +1 -0
- package/dist/Components/Touch/PlusMinusCard.svelte +6 -2
- package/dist/Components/Touch/SelectModal.svelte +26 -27
- package/dist/Components/Touch/SelectModal.svelte.d.ts +1 -8
- package/dist/Components/Touch/SelectModalProps.d.ts +8 -0
- package/dist/Components/Touch/SelectModalProps.js +1 -0
- package/dist/Components/Touch/SummaryCard.svelte +3 -20
- package/dist/Components/Touch/SummaryCard.svelte.d.ts +1 -15
- package/dist/Components/Touch/SummaryCardProps.d.ts +12 -0
- package/dist/Components/Touch/SummaryCardProps.js +1 -0
- package/dist/Components/Touch/TextAreaModal.svelte +20 -23
- package/dist/Components/Touch/TextAreaModal.svelte.d.ts +1 -12
- package/dist/Components/Touch/TextAreaModalProps.d.ts +12 -0
- package/dist/Components/Touch/TextAreaModalProps.js +1 -0
- package/dist/Components/Touch/TextModal.svelte +24 -33
- package/dist/Components/Touch/TextModal.svelte.d.ts +1 -19
- package/dist/Components/Touch/TextModalProps.d.ts +19 -0
- package/dist/Components/Touch/TextModalProps.js +1 -0
- package/dist/Components/Touch/TouchCard.svelte +2 -11
- package/dist/Components/Touch/TouchCard.svelte.d.ts +1 -6
- package/dist/Components/Touch/TouchCardProps.d.ts +6 -0
- package/dist/Components/Touch/TouchCardProps.js +1 -0
- package/dist/Components/Touch/TouchModal.svelte +14 -46
- package/dist/Components/Touch/TouchModal.svelte.d.ts +1 -31
- package/dist/Components/Touch/TouchModalProps.d.ts +27 -0
- package/dist/Components/Touch/TouchModalProps.js +1 -0
- package/dist/Components/Touch/UtilityButton.svelte +5 -23
- package/dist/Components/Touch/UtilityButton.svelte.d.ts +1 -20
- package/dist/Components/Touch/UtilityButtonProps.d.ts +20 -0
- package/dist/Components/Touch/UtilityButtonProps.js +1 -0
- package/dist/Components/VerticalTabGroup.svelte +2 -12
- package/dist/Components/VerticalTabGroup.svelte.d.ts +1 -10
- package/dist/Components/VerticalTabGroupButton.svelte +18 -20
- package/dist/Components/VerticalTabGroupButton.svelte.d.ts +23 -6
- package/dist/Components/VerticalTabGroupProps.d.ts +10 -0
- package/dist/Components/VerticalTabGroupProps.js +1 -0
- package/dist/Contexts/ContextMenuContext.svelte.d.ts +3 -3
- package/dist/Contexts/ToastContext.svelte.d.ts +1 -1
- package/dist/Contexts/ToastContext.svelte.js +4 -2
- package/dist/Contexts/UntypedInputContext.svelte.d.ts +2 -2
- package/dist/Contexts/UntypedInputContext.svelte.js +10 -12
- package/dist/Helpers/Datamatrix.d.ts +1 -2
- package/dist/Helpers/Helpers.svelte.d.ts +8 -3
- package/dist/Helpers/Helpers.svelte.js +44 -8
- package/dist/Types/Examples/ExampleItem.d.ts +1 -1
- package/dist/Types/Examples/ExampleModal.svelte +1 -1
- package/dist/Types/Internal/AttributeOperation.js +0 -2
- package/dist/Types/Internal/CallbackButton.d.ts +1 -1
- package/dist/Types/Internal/GridItem.d.ts +1 -1
- package/dist/Types/Internal/GridMultiSelectItem.d.ts +2 -2
- package/dist/Types/Internal/GridSelectItem.d.ts +1 -1
- package/dist/Types/Internal/TabOption.d.ts +1 -1
- package/dist/index.d.ts +158 -73
- package/dist/index.js +80 -51
- package/package.json +15 -14
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
import TouchModal from '../../Touch/TouchModal.svelte';
|
|
6
6
|
import { Size } from '../../../Types/Internal/Size.js';
|
|
7
7
|
import { Variant } from '../../../Types/Internal/Variant.js';
|
|
8
|
+
import { getContext } from 'svelte';
|
|
8
9
|
import { TableContext } from '../Types/Context/TableContext.svelte.js';
|
|
9
10
|
import FilterInput from './FilterInput.svelte';
|
|
10
|
-
import { getContext } from 'svelte';
|
|
11
11
|
|
|
12
12
|
export interface FilterPanelModalProps {
|
|
13
13
|
onclose?: () => void;
|
|
@@ -18,13 +18,10 @@
|
|
|
18
18
|
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
19
19
|
|
|
20
20
|
const { onclose }: FilterPanelModalProps = $props();
|
|
21
|
-
const refs: FilterInput<T
|
|
21
|
+
const refs: Array<FilterInput<T>> = $state([]);
|
|
22
22
|
|
|
23
23
|
function reset() {
|
|
24
24
|
tableContext.paginationRepo?.resetFilters();
|
|
25
|
-
refs.forEach((ref) => {
|
|
26
|
-
ref.reset();
|
|
27
|
-
});
|
|
28
25
|
}
|
|
29
26
|
</script>
|
|
30
27
|
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
import NumberInput from '../../NumberInput.svelte';
|
|
8
8
|
import SingleSelect from '../../SingleSelect.svelte';
|
|
9
9
|
import { AlertContext } from '../../../Contexts/AlertContext.svelte.js';
|
|
10
|
-
import { autoPluralise } from '../../../Helpers/Helpers.svelte.js';
|
|
10
|
+
import { autoPluralise, devCatch } from '../../../Helpers/Helpers.svelte.js';
|
|
11
11
|
import { Colour, ColourSet } from '../../../scss/colours.js';
|
|
12
|
+
import type { SelectOption } from '../../../Types/Internal/SelectOption.js';
|
|
12
13
|
import { Side } from '../../../Types/Internal/Side.js';
|
|
13
14
|
import { Size } from '../../../Types/Internal/Size.js';
|
|
14
15
|
import { Variant } from '../../../Types/Internal/Variant.js';
|
|
15
16
|
import { getContext, tick } from 'svelte';
|
|
16
17
|
import { TableContext } from '../Types/Context/TableContext.svelte.js';
|
|
17
18
|
import { FilterType } from '../Types/Filtering/FilterType.js';
|
|
18
|
-
import type { SelectOption } from '../../../Types/Internal/SelectOption.js';
|
|
19
19
|
|
|
20
20
|
export interface TableFooterProps {
|
|
21
21
|
onkeydown?: (e: KeyboardEvent) => void;
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
29
29
|
const alertContext = getContext<AlertContext>(AlertContext.identifier);
|
|
30
30
|
|
|
31
|
-
const pageSizes: SelectOption<number
|
|
31
|
+
const pageSizes: Array<SelectOption<number>> = $state([
|
|
32
32
|
{ label: '20', value: 20 },
|
|
33
33
|
{ label: '40', value: 40 },
|
|
34
34
|
{ label: '60', value: 60 },
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
$effect.pre(() => {
|
|
49
49
|
if (tableContext.paginationRepo) {
|
|
50
50
|
const found = pageSizes.find(
|
|
51
|
-
(size) => size.value === tableContext.paginationRepo
|
|
51
|
+
(size) => size.value === tableContext.paginationRepo?.paginationState.pageSize
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
if (found) {
|
|
@@ -73,14 +73,16 @@
|
|
|
73
73
|
clearTimeout(debounceTimeout);
|
|
74
74
|
if (!isNaN(page)) {
|
|
75
75
|
debounceTimeout = setTimeout(() => {
|
|
76
|
-
tableContext.paginationRepo?.setPage
|
|
77
|
-
tick()
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
pageValue
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
tableContext.paginationRepo?.setPage(page);
|
|
77
|
+
tick()
|
|
78
|
+
.then(() => {
|
|
79
|
+
//force rerender
|
|
80
|
+
if (pageValue == (tableContext.paginationRepo?.paginationState.pageIndex ?? 0) + 1) {
|
|
81
|
+
pageValue = 0;
|
|
82
|
+
pageValue = (tableContext.paginationRepo?.paginationState.pageIndex ?? 0) + 1;
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
.catch(devCatch);
|
|
84
86
|
}, 400) as unknown as number;
|
|
85
87
|
}
|
|
86
88
|
}
|
|
@@ -89,7 +91,7 @@
|
|
|
89
91
|
pageValue = (tableContext.paginationRepo?.paginationState.pageIndex ?? 0) + 1;
|
|
90
92
|
});
|
|
91
93
|
|
|
92
|
-
let pageButtons: number
|
|
94
|
+
let pageButtons: Array<number> = $state([]);
|
|
93
95
|
|
|
94
96
|
$effect(() => {
|
|
95
97
|
if (tableContext.paginationRepo?.paginationState.pageIndex == null) {
|
|
@@ -101,7 +103,7 @@
|
|
|
101
103
|
);
|
|
102
104
|
const pageToStartWith = Math.max(1, Math.min(startingPage, tableContext.lastPage - 4));
|
|
103
105
|
|
|
104
|
-
pageButtons = new Array(Math.min(tableContext.lastPage, 5))
|
|
106
|
+
pageButtons = new Array<number>(Math.min(tableContext.lastPage, 5))
|
|
105
107
|
.fill(pageToStartWith)
|
|
106
108
|
.map((item, index) => item + index);
|
|
107
109
|
}
|
|
@@ -124,7 +126,7 @@
|
|
|
124
126
|
>
|
|
125
127
|
<div class="block">
|
|
126
128
|
<span
|
|
127
|
-
>Actioning: {tableContext.dataRepo
|
|
129
|
+
>Actioning: {tableContext.dataRepo.filterType === FilterType.Real ? 'Loaded' : 'All'} Records</span
|
|
128
130
|
>
|
|
129
131
|
</div>
|
|
130
132
|
|
|
@@ -189,7 +191,7 @@
|
|
|
189
191
|
name="Page Size"
|
|
190
192
|
borderless
|
|
191
193
|
creatable
|
|
192
|
-
createFilter={(value) => {
|
|
194
|
+
createFilter={(value: string) => {
|
|
193
195
|
const parsed = parseInt(value);
|
|
194
196
|
return !(parsed >= 1 && parsed <= 500);
|
|
195
197
|
}}
|
|
@@ -206,15 +208,14 @@
|
|
|
206
208
|
|
|
207
209
|
tableContext.paginationRepo?.setPageSize(newSize.value);
|
|
208
210
|
}}
|
|
209
|
-
virtual
|
|
210
211
|
value={currentSize}
|
|
211
|
-
options={pageSizes
|
|
212
|
+
options={pageSizes}
|
|
212
213
|
labelProp="label"
|
|
213
214
|
valueProp="value"
|
|
214
215
|
valueAsObject
|
|
215
|
-
onchange={(newSelection) => {
|
|
216
|
+
onchange={(newSelection: SelectOption<number> | null) => {
|
|
216
217
|
if (newSelection?.value) {
|
|
217
|
-
tableContext.paginationRepo?.setPageSize(newSelection
|
|
218
|
+
tableContext.paginationRepo?.setPageSize(newSelection.value);
|
|
218
219
|
}
|
|
219
220
|
}}
|
|
220
221
|
/>
|
|
@@ -287,7 +288,7 @@
|
|
|
287
288
|
tableContext.paginationRepo?.nextPage();
|
|
288
289
|
}}
|
|
289
290
|
disabled={tableContext.showSelectedOnly ||
|
|
290
|
-
tableContext.paginationRepo
|
|
291
|
+
tableContext.paginationRepo.paginationState.pageIndex + 1 >= tableContext.lastPage}
|
|
291
292
|
iconRight={{
|
|
292
293
|
name: 'right-close',
|
|
293
294
|
size: Size.FillHeight
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
import { TableContext } from '../Types/Context/TableContext.svelte.js';
|
|
10
10
|
import { ExpandedPanel } from '../Types/ExpandedPanel.js';
|
|
11
11
|
import ColumnPanelModal from './ColumnPanelModal.svelte';
|
|
12
|
-
import
|
|
13
|
-
|
|
12
|
+
import {
|
|
13
|
+
default as FilterPanelModal,
|
|
14
|
+
default as ToolboxPanelModal
|
|
15
|
+
} from './FilterPanelModal.svelte';
|
|
14
16
|
|
|
15
17
|
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
16
18
|
|
|
@@ -88,12 +90,12 @@
|
|
|
88
90
|
name: 'category'
|
|
89
91
|
}}>My Tool Box</Button
|
|
90
92
|
>
|
|
91
|
-
{#if tableContext.dataRepo
|
|
93
|
+
{#if tableContext.dataRepo.addEmptyRow}
|
|
92
94
|
<Button
|
|
93
95
|
size={Size.Small}
|
|
94
96
|
side={Side.Bottom}
|
|
95
97
|
onclick={() => {
|
|
96
|
-
tableContext.dataRepo
|
|
98
|
+
tableContext.dataRepo.addEmptyRow?.();
|
|
97
99
|
}}
|
|
98
100
|
variant={Variant.Toolbar}
|
|
99
101
|
iconTop={{
|
|
@@ -109,7 +111,7 @@
|
|
|
109
111
|
onclick={() => {
|
|
110
112
|
tableContext.paginationRepo?.reload?.();
|
|
111
113
|
}}
|
|
112
|
-
toggled={tableContext.dataRepo
|
|
114
|
+
toggled={tableContext.dataRepo.isLoading}
|
|
113
115
|
size={Size.Small}
|
|
114
116
|
disabled={!tableContext.allowQuickFiltering}
|
|
115
117
|
variant={Variant.Toolbar}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import { ToolbarPosition } from '../Types/Toolbar/ToolbarPosition.js';
|
|
12
12
|
import ColumnPanel from './ColumnPanel.svelte';
|
|
13
13
|
import FilterPanel from './FilterPanel.svelte';
|
|
14
|
-
import ToolboxPanel from './ToolboxPanel.svelte';
|
|
15
14
|
import SidePanel from './SidePanel.svelte';
|
|
15
|
+
import ToolboxPanel from './ToolboxPanel.svelte';
|
|
16
16
|
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
17
17
|
|
|
18
18
|
const panels = {
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
}}
|
|
125
125
|
disabled={!tableContext.allowQuickFiltering}
|
|
126
126
|
variant={Variant.Toolbar}
|
|
127
|
-
toggled={tableContext.dataRepo
|
|
127
|
+
toggled={tableContext.dataRepo.isLoading}
|
|
128
128
|
iconTop={{
|
|
129
129
|
// colour: Colour.$alt,
|
|
130
130
|
name: 'refresh',
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts" module>
|
|
4
|
-
export interface ToolboxPanelModalProps {
|
|
5
|
-
onclose?: () => void;
|
|
6
|
-
}
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
3
|
<script lang="ts" generics="T extends object">
|
|
10
4
|
import Checkbox from '../../Checkbox.svelte';
|
|
5
|
+
import DesktopModal from '../../DesktopModal.svelte';
|
|
11
6
|
import { getContext } from 'svelte';
|
|
12
7
|
import { TableContext } from '../Types/Context/TableContext.svelte.js';
|
|
13
|
-
import
|
|
8
|
+
import type { ToolboxPanelModalProps } from './ToolboxPanelModalProps.js';
|
|
14
9
|
|
|
15
10
|
let { onclose }: ToolboxPanelModalProps = $props();
|
|
16
11
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { NumberDateFilterMode } from '../Types/Filtering/NumberDateFilterMode.js';
|
|
2
|
+
export const numberDateFilterTypes = [
|
|
3
|
+
{ value: NumberDateFilterMode.Equals, label: 'Equals' },
|
|
4
|
+
{ value: NumberDateFilterMode.NotEquals, label: 'Does not equal' },
|
|
5
|
+
{ value: NumberDateFilterMode.LessThan, label: 'Less Than' },
|
|
6
|
+
{ value: NumberDateFilterMode.LessThanOrEqual, label: 'Less than or equal to' },
|
|
7
|
+
{ value: NumberDateFilterMode.GreaterThan, label: 'Greater than' },
|
|
8
|
+
{ value: NumberDateFilterMode.GreaterThanOrEqual, label: 'Greater than or equal to' },
|
|
9
|
+
{ value: NumberDateFilterMode.Between, label: 'Between' },
|
|
10
|
+
{ value: NumberDateFilterMode.In, label: 'In' },
|
|
11
|
+
{ value: NumberDateFilterMode.NotIn, label: 'Not in' },
|
|
12
|
+
{ value: NumberDateFilterMode.null, label: 'Is null' }
|
|
13
|
+
];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StringFilterMode } from '../Types/Filtering/StringFilterMode.js';
|
|
2
|
+
export const stringFilterTypes = [
|
|
3
|
+
{ value: StringFilterMode.Equals, label: 'Equals' },
|
|
4
|
+
{ value: StringFilterMode.NotEquals, label: 'Does not equal' },
|
|
5
|
+
{ value: StringFilterMode.Contains, label: 'Contains' },
|
|
6
|
+
{ value: StringFilterMode.NotContains, label: 'Does not contain' },
|
|
7
|
+
{ value: StringFilterMode.StartsWith, label: 'Starts With' },
|
|
8
|
+
{ value: StringFilterMode.NotStartsWith, label: 'Does not start with' },
|
|
9
|
+
{ value: StringFilterMode.EndsWith, label: 'Ends With' },
|
|
10
|
+
{ value: StringFilterMode.NotEndsWith, label: 'Does not end with' },
|
|
11
|
+
{ value: StringFilterMode.In, label: 'In' },
|
|
12
|
+
{ value: StringFilterMode.NotIn, label: 'Not in' },
|
|
13
|
+
{ value: StringFilterMode.Empty, label: 'Empty' },
|
|
14
|
+
{ value: StringFilterMode.null, label: 'Is null' }
|
|
15
|
+
];
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
export interface NestedTableProps<T extends object> {
|
|
22
22
|
tableName: string;
|
|
23
|
-
data: T
|
|
23
|
+
data: Array<T>;
|
|
24
24
|
columnDefWrapper: DefsWrapper<T>;
|
|
25
25
|
options: Pick<TableInitOptions<T>, 'selectionExtractor'> & Partial<TableInitOptions<T>>;
|
|
26
26
|
oncontextmenu?: (e: MouseEvent) => void;
|
|
@@ -49,13 +49,15 @@
|
|
|
49
49
|
root?.closest('.flex_table')?.getBoundingClientRect().width
|
|
50
50
|
);
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
// NOTE known limitation: These are passed as wrappers, and they should never require reassignment. They are deeply reactive
|
|
53
|
+
const dataRepo = $state(new LocalTableDataRepository(tableName, wrapper, () => getUserId()));
|
|
53
54
|
|
|
55
|
+
// NOTE known limitation: These are passed as wrappers, and they should never require reassignment. They are deeply reactive
|
|
54
56
|
const tableContext: TableContext<T> | undefined = $state(
|
|
55
57
|
TableContext.init<T>(columnDefWrapper, tableName, dataRepo, {
|
|
56
58
|
...defaultOptions,
|
|
57
59
|
...options,
|
|
58
|
-
getUserId
|
|
60
|
+
getUserId: () => getUserId()
|
|
59
61
|
})
|
|
60
62
|
);
|
|
61
63
|
</script>
|
|
@@ -2,7 +2,7 @@ import type { DefsWrapper } from './Types/Columns/DefsWrapper.js';
|
|
|
2
2
|
import type { TableInitOptions } from './Types/Context/TableInitOptions.js';
|
|
3
3
|
export interface NestedTableProps<T extends object> {
|
|
4
4
|
tableName: string;
|
|
5
|
-
data: T
|
|
5
|
+
data: Array<T>;
|
|
6
6
|
columnDefWrapper: DefsWrapper<T>;
|
|
7
7
|
options: Pick<TableInitOptions<T>, 'selectionExtractor'> & Partial<TableInitOptions<T>>;
|
|
8
8
|
oncontextmenu?: (e: MouseEvent) => void;
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
ContextMenuContext,
|
|
6
6
|
type IContextMenuOption
|
|
7
7
|
} from '../../Contexts/ContextMenuContext.svelte.js';
|
|
8
|
-
import { refWrapper } from '../../Helpers/Helpers.svelte.js';
|
|
8
|
+
import { devCatch, refWrapper } from '../../Helpers/Helpers.svelte.js';
|
|
9
|
+
import type { RefWrapper } from '../../Types/Internal/RefWrapper.js';
|
|
9
10
|
import { getContext, onMount, setContext, tick, untrack } from 'svelte';
|
|
10
11
|
import LoadingOverlay from '../LoadingOverlay.svelte';
|
|
12
|
+
import type { HeightData } from './Body/HeightData.js';
|
|
11
13
|
import { shownPopup } from './Body/Rows/Columns/ActionsCell.svelte';
|
|
12
|
-
import TableBody
|
|
14
|
+
import TableBody from './Body/TableBody.svelte';
|
|
13
15
|
import TableHead from './Headers/TableHead.svelte';
|
|
14
16
|
import TableFooter from './Misc/TableFooter.svelte';
|
|
15
17
|
import TableHorizontalBar from './Misc/TableHorizontalBar.svelte';
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
export interface TableProps<T extends object> {
|
|
30
|
-
tableContext: TableContext<T>;
|
|
32
|
+
readonly tableContext: TableContext<T>;
|
|
31
33
|
nested?: boolean;
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -39,6 +41,7 @@
|
|
|
39
41
|
<script lang="ts" generics="T extends object">
|
|
40
42
|
const { nested = false, tableContext }: TableProps<T> = $props();
|
|
41
43
|
|
|
44
|
+
// NOTE: known limitation. This is passed as a wrapper, and they should never require reassignment. It is deeply reactive
|
|
42
45
|
setContext(TableContext.identifier, tableContext);
|
|
43
46
|
|
|
44
47
|
// const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
@@ -53,18 +56,20 @@
|
|
|
53
56
|
setContext(quickFilterContextIdentifier, openedQuickFilterSelect);
|
|
54
57
|
|
|
55
58
|
$effect(() => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
void tableContext.focusStart;
|
|
60
|
+
void ref;
|
|
61
|
+
untrack(() => {
|
|
62
|
+
if (tableContext.focusStart && ref) {
|
|
63
|
+
const { row, column: index } = tableContext.focusStart;
|
|
64
|
+
let element = ref.querySelector(
|
|
60
65
|
`#${tableContext.tableName}-cell-${row}-${tableContext.columnDefs[index].id}`
|
|
61
66
|
) as HTMLElement | undefined;
|
|
62
67
|
|
|
63
68
|
if (element?.tabIndex == -1) {
|
|
64
69
|
const td = element;
|
|
65
|
-
element = td.querySelector('button') as HTMLElement;
|
|
70
|
+
element = td.querySelector('button') as HTMLElement | undefined;
|
|
66
71
|
if (!element) {
|
|
67
|
-
element = td.querySelector('input') as HTMLElement;
|
|
72
|
+
element = td.querySelector('input') as HTMLElement | undefined;
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
75
|
|
|
@@ -74,8 +79,8 @@
|
|
|
74
79
|
block: 'nearest',
|
|
75
80
|
inline: 'nearest'
|
|
76
81
|
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
79
84
|
});
|
|
80
85
|
|
|
81
86
|
$effect(() => {
|
|
@@ -95,7 +100,7 @@
|
|
|
95
100
|
|
|
96
101
|
$effect(() => {
|
|
97
102
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
98
|
-
tableContext.dataRepo
|
|
103
|
+
tableContext.dataRepo.data.length;
|
|
99
104
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
100
105
|
tableContext.selectedItems;
|
|
101
106
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
@@ -137,21 +142,30 @@
|
|
|
137
142
|
}
|
|
138
143
|
}
|
|
139
144
|
|
|
145
|
+
// this may not exist in http contexts
|
|
146
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
140
147
|
if (tableContext.allowCopy && window.Clipboard) {
|
|
141
148
|
e.preventDefault();
|
|
142
149
|
|
|
143
|
-
const options: IContextMenuOption
|
|
144
|
-
{
|
|
150
|
+
const options: Array<IContextMenuOption> = [
|
|
151
|
+
{
|
|
152
|
+
callback: () => {
|
|
153
|
+
tableContext.copyDataToClipboard().catch(devCatch);
|
|
154
|
+
},
|
|
155
|
+
text: 'Copy Selection'
|
|
156
|
+
}
|
|
145
157
|
];
|
|
146
158
|
|
|
147
159
|
if (tableContext.hasHighlightedItems) {
|
|
148
160
|
options.push({
|
|
149
|
-
callback: () =>
|
|
161
|
+
callback: () => {
|
|
162
|
+
tableContext.copyHighlightedRowsToClipboard().catch(devCatch);
|
|
163
|
+
},
|
|
150
164
|
text: 'Copy Highlighted Rows'
|
|
151
165
|
});
|
|
152
166
|
}
|
|
153
167
|
|
|
154
|
-
_openContextMenu(e, options);
|
|
168
|
+
_openContextMenu(e, options).catch(devCatch);
|
|
155
169
|
}
|
|
156
170
|
}
|
|
157
171
|
|
|
@@ -163,7 +177,8 @@
|
|
|
163
177
|
}
|
|
164
178
|
|
|
165
179
|
if (target.closest('div.slot-wrapper') == null) {
|
|
166
|
-
|
|
180
|
+
// svelte type gen/eslint miscommunication
|
|
181
|
+
(shownPopup as RefWrapper<symbol | undefined>).value = undefined;
|
|
167
182
|
}
|
|
168
183
|
}
|
|
169
184
|
}
|
|
@@ -192,8 +207,7 @@
|
|
|
192
207
|
remPxRatio = parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
193
208
|
});
|
|
194
209
|
|
|
195
|
-
|
|
196
|
-
function addOverrideResizeHandler(e: MouseEvent) {
|
|
210
|
+
function addOverrideResizeHandler() {
|
|
197
211
|
isResizing = true;
|
|
198
212
|
window.addEventListener('mousemove', onResize);
|
|
199
213
|
}
|
|
@@ -216,19 +230,21 @@
|
|
|
216
230
|
const shouldUnfocusRemote = $derived(
|
|
217
231
|
usesLoading &&
|
|
218
232
|
tableContext.paginationRepo?.isLoading === false &&
|
|
219
|
-
tableContext.paginationRepo
|
|
233
|
+
tableContext.paginationRepo.paginationState.pageIndex !==
|
|
220
234
|
tableContext.paginationRepo.previouslyViewedPage
|
|
221
235
|
);
|
|
222
236
|
|
|
223
237
|
const shouldUnfocusLocal = $derived(
|
|
224
|
-
!usesLoading && tableContext.paginationRepo?.paginationState
|
|
238
|
+
!usesLoading && tableContext.paginationRepo?.paginationState.pageIndex
|
|
225
239
|
);
|
|
226
240
|
|
|
227
241
|
$effect(() => {
|
|
228
242
|
if ((shouldUnfocusRemote || shouldUnfocusLocal) && unfocusRef) {
|
|
229
|
-
untrack(() =>
|
|
243
|
+
untrack(() => {
|
|
244
|
+
tableContext.unfocus();
|
|
245
|
+
});
|
|
230
246
|
unfocusRef.scrollTop = 0;
|
|
231
|
-
} else if (usesLoading && tableContext.paginationRepo
|
|
247
|
+
} else if (usesLoading && tableContext.paginationRepo?.isLoading === false) {
|
|
232
248
|
// refocus same element after a reload
|
|
233
249
|
// this does not break mutifocus
|
|
234
250
|
untrack(() => {
|
|
@@ -238,15 +254,27 @@
|
|
|
238
254
|
}
|
|
239
255
|
const idToFocusTo = `#${tableContext.tableName}-cell-${fs.row}-${fs.id}`;
|
|
240
256
|
|
|
241
|
-
tick()
|
|
242
|
-
|
|
243
|
-
(
|
|
244
|
-
|
|
245
|
-
|
|
257
|
+
tick()
|
|
258
|
+
.then(() => {
|
|
259
|
+
if (idToFocusTo) {
|
|
260
|
+
(document.querySelector(idToFocusTo) as HTMLTableCellElement | undefined)?.focus();
|
|
261
|
+
}
|
|
262
|
+
})
|
|
263
|
+
.catch(devCatch);
|
|
246
264
|
});
|
|
247
265
|
}
|
|
248
266
|
});
|
|
249
267
|
|
|
268
|
+
$effect(() => {
|
|
269
|
+
void tableContext.dataRepo.data;
|
|
270
|
+
untrack(() => {
|
|
271
|
+
if (tableContext.paginationRepo?.paginationState.pageIndex != undefined) {
|
|
272
|
+
tableContext.updateSelectedItems().catch(devCatch);
|
|
273
|
+
tableContext.resetHighlightedRows();
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
|
|
250
278
|
const leftTotalSize = $derived(tableContext.table.getLeftTotalSize());
|
|
251
279
|
const centreTotalSize = $derived(tableContext.table.getCenterTotalSize());
|
|
252
280
|
const rightTotalSize = $derived(tableContext.table.getRightTotalSize());
|
|
@@ -258,16 +286,20 @@
|
|
|
258
286
|
const appropriateSide = $derived.by(() => {
|
|
259
287
|
if (leftColumns.length > 0) {
|
|
260
288
|
return 'left';
|
|
261
|
-
} else if (
|
|
289
|
+
} else if (rightColumns.length != tableContext.columnDefs.length) {
|
|
262
290
|
return 'centre';
|
|
263
291
|
} else {
|
|
264
292
|
return 'right';
|
|
265
293
|
}
|
|
266
294
|
});
|
|
267
295
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
296
|
+
type SvelteTableElement = {
|
|
297
|
+
rowHeights: RefWrapper<Array<number>>;
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
let leftTable: SvelteTableElement | undefined = $state();
|
|
301
|
+
let centreTable: SvelteTableElement | undefined = $state();
|
|
302
|
+
let rightTable: SvelteTableElement | undefined = $state();
|
|
271
303
|
|
|
272
304
|
const totalRowSizes: Array<HeightData<T>> = $derived.by(() => {
|
|
273
305
|
if (!leftTable || !centreTable || !rightTable) {
|
|
@@ -276,7 +308,7 @@
|
|
|
276
308
|
const centre = centreTable.rowHeights.value;
|
|
277
309
|
const right = rightTable.rowHeights.value;
|
|
278
310
|
|
|
279
|
-
return leftTable
|
|
311
|
+
return leftTable.rowHeights.value.map((_leftHeight, index) => {
|
|
280
312
|
const leftHeight = _leftHeight || 0;
|
|
281
313
|
const centreHeight = centre[index] || 0;
|
|
282
314
|
const rightHeight = right[index] || 0;
|
|
@@ -304,13 +336,13 @@
|
|
|
304
336
|
</script>
|
|
305
337
|
|
|
306
338
|
<svelte:window
|
|
307
|
-
onmouseup={(e) => {
|
|
339
|
+
onmouseup={(e: MouseEvent) => {
|
|
308
340
|
if (
|
|
309
341
|
// if it's not a click on an item in the context menu
|
|
310
|
-
!(e.target as HTMLElement | undefined)?.classList
|
|
342
|
+
!(e.target as HTMLElement | undefined)?.classList.contains('context-menu-item') &&
|
|
311
343
|
// if it's outside the table or inside the empty space of the table
|
|
312
344
|
(e.target === unfocusRef ||
|
|
313
|
-
((e.target as HTMLElement | undefined)?.closest
|
|
345
|
+
((e.target as HTMLElement | undefined)?.closest('.table-wrapper') == null &&
|
|
314
346
|
mousedDownEmptySpace))
|
|
315
347
|
) {
|
|
316
348
|
tableContext.unfocus();
|
|
@@ -323,17 +355,17 @@
|
|
|
323
355
|
|
|
324
356
|
removeOverrideResizeHandler();
|
|
325
357
|
}}
|
|
326
|
-
onclick={(e) => {
|
|
358
|
+
onclick={(e: MouseEvent) => {
|
|
327
359
|
handleClickOutside(e);
|
|
328
360
|
}}
|
|
329
|
-
onmousedown={(e) => {
|
|
361
|
+
onmousedown={(e: MouseEvent) => {
|
|
330
362
|
mousedDownEmptySpace =
|
|
331
363
|
e.target === unfocusRef || (e.target as HTMLElement).closest('.table-wrapper') == null;
|
|
332
364
|
}}
|
|
333
365
|
/>
|
|
334
366
|
|
|
335
367
|
<div class="grid" class:nested>
|
|
336
|
-
{#if tableContext.dataRepo
|
|
368
|
+
{#if tableContext.dataRepo.isLoading}
|
|
337
369
|
<LoadingOverlay absolute borderRadius="4px" />
|
|
338
370
|
{/if}
|
|
339
371
|
|
|
@@ -434,7 +466,7 @@
|
|
|
434
466
|
class="resizer"
|
|
435
467
|
onmousedown={(e) => {
|
|
436
468
|
e.preventDefault();
|
|
437
|
-
addOverrideResizeHandler(
|
|
469
|
+
addOverrideResizeHandler();
|
|
438
470
|
}}
|
|
439
471
|
></div>
|
|
440
472
|
{/if}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
2
2
|
export interface Column<T extends object> {
|
|
3
3
|
id: string;
|
|
4
|
-
columnDef: ColumnDef<T,
|
|
4
|
+
columnDef: ColumnDef<T, never>;
|
|
5
5
|
getCanSort: () => boolean;
|
|
6
6
|
getToggleSortingHandler: () => ((e: MouseEvent) => void) | undefined;
|
|
7
7
|
getIsSorted: () => 'asc' | 'desc' | 'none';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { BoolFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type CheckboxDefProps<T extends object> = AccessorDefProps<T, BoolFilterValueType>;
|
|
6
5
|
export declare class CheckboxDef<T extends object> extends AccessorDef<T, BoolFilterValueType> {
|
|
7
6
|
readonly accessorType: "Checkbox";
|
|
8
7
|
constructor(props: CheckboxDefProps<T>);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AccessorDef } from './AccessorDef.svelte.js';
|
|
2
2
|
import { AccessorType } from './AccessorType.js';
|
|
3
|
+
// export interface CheckboxDefProps<T extends object>
|
|
4
|
+
// extends AccessorDefProps<T, BoolFilterValueType> {}
|
|
3
5
|
export class CheckboxDef extends AccessorDef {
|
|
4
6
|
accessorType = AccessorType.Checkbox;
|
|
5
7
|
constructor(props) {
|
|
@@ -2,14 +2,14 @@ import type { ColourSet } from '../../../../../../scss/colours.js';
|
|
|
2
2
|
import type { TableActionButton } from '../../TableActionButton.js';
|
|
3
3
|
import { ColumnDef } from '../ColumnDef.svelte.js';
|
|
4
4
|
export interface ActionsDefProps<T extends object> {
|
|
5
|
-
actions: TableActionButton<T
|
|
5
|
+
actions: Array<TableActionButton<T>>;
|
|
6
6
|
isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
|
|
7
7
|
getColourSet?: (item: T, index: number, button: TableActionButton<T>) => ColourSet;
|
|
8
8
|
}
|
|
9
9
|
export declare class ActionsDef<T extends object> extends ColumnDef<T> {
|
|
10
10
|
constructor(props: ActionsDefProps<T>);
|
|
11
11
|
readonly columnType: "Actions";
|
|
12
|
-
readonly actions: TableActionButton<T
|
|
12
|
+
readonly actions: Array<TableActionButton<T>>;
|
|
13
13
|
readonly isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
|
|
14
14
|
readonly getColourSet?: (item: T, index: number, button: TableActionButton<T>) => ColourSet;
|
|
15
15
|
readonly filterFn: undefined;
|