@lavalogic/scoria 0.11.15 → 0.12.1
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/AccessorDef.svelte.d.ts +2 -2
- 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 +2 -2
- 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 +2 -4
- 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 +300 -354
- 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,9 +1,9 @@
|
|
|
1
1
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
2
2
|
import type { AccessorType } from './AccessorType.js';
|
|
3
|
-
export interface AccessorDefProps<T extends object, FilterFnType> extends ColumnDefProps<T, FilterFnType> {
|
|
3
|
+
export interface AccessorDefProps<T extends object, FilterFnType = undefined> extends ColumnDefProps<T, FilterFnType> {
|
|
4
4
|
readonly id: string & keyof T;
|
|
5
5
|
}
|
|
6
|
-
export declare abstract class AccessorDef<T extends object, FilterFnType> extends ColumnDef<T, FilterFnType> {
|
|
6
|
+
export declare abstract class AccessorDef<T extends object, FilterFnType = undefined> extends ColumnDef<T, FilterFnType> {
|
|
7
7
|
readonly columnType: "Accessor";
|
|
8
8
|
abstract readonly accessorType: AccessorType;
|
|
9
9
|
}
|
|
@@ -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) {
|