@lavalogic/scoria 0.36.0 → 0.37.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/AccordionGroup.svelte +6 -2
- package/dist/Components/AccordionGroupButton.svelte +78 -78
- package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
- package/dist/Components/AccordionGroupProps.d.ts +10 -2
- package/dist/Components/Action.svelte +31 -33
- package/dist/Components/ActionProps.d.ts +23 -3
- package/dist/Components/AlertModal.svelte +90 -39
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
- package/dist/Components/Base/BaseModal.svelte +172 -0
- package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
- package/dist/Components/Base/BaseModalProps.d.ts +73 -0
- package/dist/Components/Base/BaseModalProps.js +1 -0
- package/dist/Components/Base/ContextWrapper.svelte +37 -15
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
- package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
- package/dist/Components/Base/Pagination.svelte +70 -62
- package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
- package/dist/Components/Base/PaginationProps.d.ts +60 -3
- package/dist/Components/Base/Snippets.svelte +7 -0
- package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
- package/dist/Components/BigRadioSet.svelte +18 -9
- package/dist/Components/BigRadioSetProps.d.ts +17 -1
- package/dist/Components/Bubble.svelte +67 -34
- package/dist/Components/Bubble.svelte.d.ts +23 -2
- package/dist/Components/BubbleProps.d.ts +55 -4
- package/dist/Components/Button.svelte +50 -38
- package/dist/Components/ButtonProps.d.ts +66 -1
- package/dist/Components/Checkbox.svelte +57 -29
- package/dist/Components/Checkbox.svelte.d.ts +1 -12
- package/dist/Components/CheckboxProps.d.ts +27 -0
- package/dist/Components/CheckboxProps.js +1 -0
- package/dist/Components/CollapsibleCard.svelte +53 -22
- package/dist/Components/CollapsibleCardProps.d.ts +22 -1
- package/dist/Components/Contexts/ContextMenu.svelte +53 -32
- package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
- package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
- package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
- package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
- package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
- package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
- package/dist/Components/Contexts/Toast.svelte +28 -4
- package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastContainer.svelte +30 -11
- package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastProps.d.ts +14 -1
- package/dist/Components/Contexts/Tooltip.svelte +21 -10
- package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
- package/dist/Components/DataMatrixIcon.svelte +82 -11
- package/dist/Components/DataMatrixIconProps.d.ts +73 -1
- package/dist/Components/DateInput.svelte +64 -29
- package/dist/Components/DateInput.svelte.d.ts +1 -1
- package/dist/Components/DateOnlyInputProps.d.ts +31 -5
- package/dist/Components/DatePicker.svelte +96 -108
- package/dist/Components/DatePickerProps.d.ts +18 -1
- package/dist/Components/DateTimeInputProps.d.ts +30 -5
- package/dist/Components/DesktopModal.svelte +14 -43
- package/dist/Components/DesktopModalProps.d.ts +5 -4
- package/dist/Components/Dial.svelte +103 -41
- package/dist/Components/DialProps.d.ts +74 -2
- package/dist/Components/DimensionInput.svelte +50 -64
- package/dist/Components/DimensionInput.svelte.d.ts +1 -1
- package/dist/Components/DimensionInputProps.d.ts +39 -4
- package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
- package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
- package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
- package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
- package/dist/Components/FileCard.svelte +6 -2
- package/dist/Components/FileCardProps.d.ts +17 -1
- package/dist/Components/FileUpload.svelte +82 -42
- package/dist/Components/FileUploadProps.d.ts +34 -4
- package/dist/Components/GridInput.svelte +27 -17
- package/dist/Components/GridInput.svelte.d.ts +5 -5
- package/dist/Components/GridInputProps.d.ts +4 -1
- package/dist/Components/GridInputSet.svelte +12 -5
- package/dist/Components/GridInputSet.svelte.d.ts +5 -5
- package/dist/Components/GridInputSetProps.d.ts +4 -2
- package/dist/Components/HorizontalTabGroup.svelte +13 -11
- package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
- package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
- package/dist/Components/Icon.svelte +62 -21
- package/dist/Components/IconProps.d.ts +54 -6
- package/dist/Components/Icons.d.ts +8 -0
- package/dist/Components/Icons.js +234 -215
- package/dist/Components/LoadingAnimation.svelte +18 -18
- package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
- package/dist/Components/LoadingAnimationProps.d.ts +16 -0
- package/dist/Components/LoadingAnimationProps.js +1 -0
- package/dist/Components/LoadingModal.svelte +18 -20
- package/dist/Components/LoadingModal.svelte.d.ts +1 -4
- package/dist/Components/LoadingModalProps.d.ts +17 -0
- package/dist/Components/LoadingModalProps.js +1 -0
- package/dist/Components/LoadingOverlay.svelte +11 -13
- package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
- package/dist/Components/LoadingOverlayProps.d.ts +28 -0
- package/dist/Components/LoadingOverlayProps.js +1 -0
- package/dist/Components/Modal.svelte +77 -82
- package/dist/Components/Modal.svelte.d.ts +1 -25
- package/dist/Components/ModalProps.d.ts +65 -0
- package/dist/Components/ModalProps.js +1 -0
- package/dist/Components/MultiSelect.svelte +88 -76
- package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
- package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
- package/dist/Components/Nav/Nav.svelte +35 -30
- package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavProps.d.ts +50 -3
- package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
- package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
- package/dist/Components/Nav/NavTab.svelte +19 -48
- package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavTabProps.d.ts +16 -2
- package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
- package/dist/Components/Nav/ServicesNav.svelte +60 -34
- package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
- package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
- package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
- package/dist/Components/NumberInput.svelte +37 -27
- package/dist/Components/NumberInputProps.d.ts +37 -0
- package/dist/Components/PageHeading.svelte +2 -13
- package/dist/Components/PageHeading.svelte.d.ts +1 -6
- package/dist/Components/PageHeadingProps.d.ts +23 -0
- package/dist/Components/PageHeadingProps.js +1 -0
- package/dist/Components/PasswordInput.svelte +27 -15
- package/dist/Components/PasswordInput.svelte.d.ts +2 -2
- package/dist/Components/PasswordInputProps.d.ts +21 -0
- package/dist/Components/PasswordInputProps.js +1 -0
- package/dist/Components/Portal.svelte +14 -3
- package/dist/Components/PortalProps.d.ts +20 -1
- package/dist/Components/ProgressBubble.svelte +98 -53
- package/dist/Components/ProgressBubbleProps.d.ts +23 -2
- package/dist/Components/QuerySelect.svelte +103 -159
- package/dist/Components/QuerySelect.svelte.d.ts +2 -29
- package/dist/Components/QuerySelectProps.d.ts +66 -0
- package/dist/Components/QuerySelectProps.js +1 -0
- package/dist/Components/SingleSelect.svelte +86 -108
- package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
- package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
- package/dist/Components/StepButton.svelte +19 -69
- package/dist/Components/StepForm.svelte +52 -52
- package/dist/Components/StepFormProps.d.ts +16 -2
- package/dist/Components/Switch.svelte +68 -31
- package/dist/Components/Switch.svelte.d.ts +1 -1
- package/dist/Components/SwitchProps.d.ts +46 -0
- package/dist/Components/Table/Body/HeightData.d.ts +1 -6
- package/dist/Components/Table/Body/HeightData.js +8 -0
- package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
- package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +437 -91
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +133 -26
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +46 -23
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
- package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
- package/dist/Components/Table/Body/TableBody.svelte +170 -53
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
- package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +2 -2
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
- package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
- package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/TableHead.svelte +340 -200
- package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
- package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
- package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
- package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
- package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
- package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
- package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
- package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
- package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
- package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
- package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
- package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
- package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
- package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
- package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
- package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
- package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
- package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
- package/dist/Components/Table/NestedTable.svelte +85 -41
- package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
- package/dist/Components/Table/NestedTableProps.d.ts +25 -0
- package/dist/Components/Table/NestedTableProps.js +1 -0
- package/dist/Components/Table/SubApis.svelte.d.ts +24 -0
- package/dist/Components/Table/SubApis.svelte.js +380 -0
- package/dist/Components/Table/Table.svelte +345 -172
- package/dist/Components/Table/Table.svelte.d.ts +24 -1
- package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
- package/dist/Components/Table/TableHelpers.svelte.js +88 -0
- package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
- package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
- package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +30 -9
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +14 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
- package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
- package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
- package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
- package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
- package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
- package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +580 -58
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +984 -1278
- package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
- package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
- package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
- package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
- package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
- package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
- package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
- package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
- package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
- package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
- package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
- package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
- package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
- package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
- package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
- package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
- package/dist/Components/Table/Types/Header.d.ts +8 -0
- package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
- package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
- package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
- package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
- package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
- package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
- package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +244 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
- package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
- package/dist/Components/Table/Types/Public/RowSource.js +1 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
- package/dist/Components/Table/Types/Public/Table.d.ts +40 -0
- package/dist/Components/Table/Types/Public/Table.js +1 -0
- package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
- package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
- package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
- package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
- package/dist/Components/Table/Types/Public/TableSubApis.d.ts +190 -0
- package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
- package/dist/Components/Table/Types/Public/index.d.ts +20 -0
- package/dist/Components/Table/Types/Public/index.js +8 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
- package/dist/Components/Table/createTable.svelte.d.ts +53 -0
- package/dist/Components/Table/createTable.svelte.js +270 -0
- package/dist/Components/TextArea.svelte +37 -18
- package/dist/Components/TextAreaProps.d.ts +37 -0
- package/dist/Components/TextInput.svelte +41 -22
- package/dist/Components/TextInputProps.d.ts +58 -1
- package/dist/Components/ThreeStateRadio.svelte +61 -64
- package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
- package/dist/Components/Touch/BoolCard.svelte +8 -15
- package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
- package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
- package/dist/Components/Touch/BoolCardProps.js +1 -0
- package/dist/Components/Touch/DateModal.svelte +17 -25
- package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
- package/dist/Components/Touch/DateModalProps.d.ts +36 -0
- package/dist/Components/Touch/DateModalProps.js +1 -0
- package/dist/Components/Touch/EditCard.svelte +10 -3
- package/dist/Components/Touch/EditCardProps.d.ts +21 -0
- package/dist/Components/Touch/InfoCard.svelte +14 -7
- package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
- package/dist/Components/Touch/InfoTextCard.svelte +9 -2
- package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
- package/dist/Components/Touch/ModalExplanation.svelte +9 -12
- package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
- package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
- package/dist/Components/Touch/ModalExplanationProps.js +1 -0
- package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
- package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
- package/dist/Components/Touch/NumberModal.svelte +16 -6
- package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
- package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
- package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
- package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
- package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
- package/dist/Components/Touch/SelectModal.svelte +33 -15
- package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
- package/dist/Components/Touch/SummaryCard.svelte +56 -14
- package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
- package/dist/Components/Touch/TextAreaModal.svelte +18 -9
- package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
- package/dist/Components/Touch/TextModal.svelte +15 -32
- package/dist/Components/Touch/TextModalProps.d.ts +28 -1
- package/dist/Components/Touch/TouchCard.svelte +9 -47
- package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
- package/dist/Components/Touch/TouchModal.svelte +105 -99
- package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
- package/dist/Components/Touch/UtilityButton.svelte +36 -18
- package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
- package/dist/Components/VerticalTabGroup.svelte +18 -40
- package/dist/Components/VerticalTabGroupButton.svelte +11 -50
- package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
- package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
- package/dist/Contexts/AlertContext.svelte.js +69 -6
- package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
- package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
- package/dist/Contexts/TestContext.svelte.d.ts +27 -1
- package/dist/Contexts/TestContext.svelte.js +29 -1
- package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
- package/dist/Contexts/ToastContext.svelte.js +93 -24
- package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
- package/dist/Contexts/TooltipContext.svelte.js +70 -7
- package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
- package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
- package/dist/Delay/Delay.js +1 -1
- package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
- package/dist/Helpers/AsyncFlag.svelte.js +72 -0
- package/dist/Helpers/Datamatrix.d.ts +10 -1
- package/dist/Helpers/Datamatrix.js +290 -1
- package/dist/Helpers/Helpers.svelte.d.ts +252 -18
- package/dist/Helpers/Helpers.svelte.js +271 -75
- package/dist/Helpers/INamed.d.ts +6 -0
- package/dist/Helpers/Storage.d.ts +67 -0
- package/dist/Helpers/Storage.js +138 -0
- package/dist/Helpers/dropdownPortal.d.ts +52 -0
- package/dist/Helpers/dropdownPortal.js +232 -0
- package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
- package/dist/Helpers/dropdownPortal.svelte.js +5 -0
- package/dist/Helpers/memoiseByRow.d.ts +45 -0
- package/dist/Helpers/memoiseByRow.js +78 -0
- package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
- package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
- package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
- package/dist/Helpers/useTooltip.svelte.js +62 -0
- package/dist/Types/Examples/ExampleModal.svelte +12 -11
- package/dist/Types/Examples/ExampleModal.svelte.d.ts +2 -2
- package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
- package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
- package/dist/Types/Internal/AsyncFlag.js +1 -0
- package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
- package/dist/Types/Internal/ButtonProp.d.ts +24 -2
- package/dist/Types/Internal/CallbackButton.d.ts +12 -0
- package/dist/Types/Internal/DateChange.d.ts +8 -0
- package/dist/Types/Internal/DatePickerType.d.ts +5 -0
- package/dist/Types/Internal/DatePickerType.js +6 -1
- package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
- package/dist/Types/Internal/InputVariant.d.ts +5 -0
- package/dist/Types/Internal/InputVariant.js +6 -1
- package/dist/Types/Internal/Misc.d.ts +91 -0
- package/dist/Types/Internal/RefWrapper.d.ts +6 -0
- package/dist/Types/Internal/SelectOption.d.ts +8 -0
- package/dist/Types/Internal/Shape.d.ts +1 -0
- package/dist/Types/Internal/Shape.js +2 -1
- package/dist/Types/Internal/Side.d.ts +1 -0
- package/dist/Types/Internal/Side.js +2 -1
- package/dist/Types/Internal/Size.d.ts +5 -0
- package/dist/Types/Internal/Size.js +6 -1
- package/dist/Types/Internal/TabOption.d.ts +15 -5
- package/dist/Types/Internal/Ternary.d.ts +6 -0
- package/dist/Types/Internal/Ternary.js +7 -1
- package/dist/Types/Internal/ToastMessage.d.ts +28 -0
- package/dist/Types/Internal/Validity.d.ts +6 -0
- package/dist/Types/Internal/Validity.js +7 -1
- package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
- package/dist/Types/Internal/Variant.d.ts +5 -0
- package/dist/Types/Internal/Variant.js +6 -1
- package/dist/index.d.ts +27 -82
- package/dist/index.js +24 -62
- package/dist/scss/_mixins.scss +451 -167
- package/dist/scss/_motion.scss +57 -0
- package/dist/scss/_sizing.scss +16 -0
- package/dist/scss/colours.js +2 -2
- package/dist/scss/sizing.d.ts +9 -0
- package/dist/scss/sizing.js +10 -1
- package/package.json +35 -31
|
@@ -2,21 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
<script
|
|
4
4
|
lang="ts"
|
|
5
|
-
generics="T extends object"
|
|
5
|
+
generics="T extends object, IdType extends Primitive"
|
|
6
6
|
>
|
|
7
|
+
import Action from '../../../Action.svelte';
|
|
7
8
|
import Checkbox from '../../../Checkbox.svelte';
|
|
8
|
-
import
|
|
9
|
+
import ThreeStateRadio from '../../../ThreeStateRadio.svelte';
|
|
10
|
+
import { ColumnType } from '../../Types/Columns/ColumnType.js';
|
|
9
11
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
12
|
+
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
10
13
|
import { Size } from '../../../../Types/Internal/Size.js';
|
|
14
|
+
import { Ternary } from '../../../../Types/Internal/Ternary.js';
|
|
11
15
|
import { getContext } from 'svelte';
|
|
12
16
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
13
|
-
const tableContext = getContext<TableContext<T,
|
|
17
|
+
const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
|
|
14
18
|
|
|
15
19
|
const { columnDef }: ColumnListRowProps<T> = $props();
|
|
16
20
|
|
|
17
|
-
const isExpandColumn = $derived(columnDef?.columnType ===
|
|
21
|
+
const isExpandColumn = $derived(columnDef?.columnType === ColumnType.Expand);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Position of this column inside the sorted column list, used to
|
|
25
|
+
* drive the disabled state of the "move up" / "move down" buttons
|
|
26
|
+
* (and to know which target index to pass `moveColumnTo`). The
|
|
27
|
+
* underlying `index` property is a stable identity for layout
|
|
28
|
+
* pinning, so we sort by it rather than relying on iteration
|
|
29
|
+
* order from the `columnDefs` array.
|
|
30
|
+
*/
|
|
31
|
+
const sortedColumns = $derived(tableContext.columnDefs.slice().sort((a, b) => a.index - b.index));
|
|
32
|
+
const currentIndex = $derived(
|
|
33
|
+
columnDef == null ? -1 : sortedColumns.findIndex((it) => it.id === columnDef.id)
|
|
34
|
+
);
|
|
35
|
+
const isAtTop = $derived(currentIndex <= 0);
|
|
36
|
+
const isAtBottom = $derived(currentIndex === -1 || currentIndex >= sortedColumns.length - 1);
|
|
37
|
+
|
|
38
|
+
function moveUp(): void {
|
|
39
|
+
if (columnDef == null || isAtTop) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
preserveListScroll(() => {
|
|
43
|
+
tableContext.moveColumnTo(currentIndex, currentIndex - 1);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function moveDown(): void {
|
|
48
|
+
if (columnDef == null || isAtBottom) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
preserveListScroll(() => {
|
|
52
|
+
tableContext.moveColumnTo(currentIndex, currentIndex + 1);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
18
55
|
|
|
19
56
|
let isBeingTargeted = $state(false);
|
|
57
|
+
/** Bound `<li>` element used by `preserveListScroll` to find the
|
|
58
|
+
* enclosing `.column-list` even when the event target is the
|
|
59
|
+
* visibility checkbox's hidden `<input>` (which is
|
|
60
|
+
* `position: absolute` with no positioned ancestor and therefore
|
|
61
|
+
* drifts away from the row in the layout tree). */
|
|
62
|
+
let rowEl: HTMLLIElement | undefined = $state();
|
|
20
63
|
|
|
21
64
|
function disableDragVisual() {
|
|
22
65
|
isBeingTargeted = false;
|
|
@@ -25,59 +68,172 @@
|
|
|
25
68
|
function makeKVPairs(item: string, index: number): readonly [string, number] {
|
|
26
69
|
return [item, index];
|
|
27
70
|
}
|
|
28
|
-
function togglePinLeft() {
|
|
29
|
-
if (columnDef == null) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
71
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Pre-click scroll snapshot. The key insight: when the user
|
|
74
|
+
* clicks a checkbox label, the browser fires a synthetic click
|
|
75
|
+
* on the associated hidden `<input>` *before* `onchange` fires.
|
|
76
|
+
* The synthetic click focuses the input, and the focus side
|
|
77
|
+
* effect already scrolls the column-list (and sometimes the
|
|
78
|
+
* window) to bring the 1x1px, `clip-path`-ed input's bounding
|
|
79
|
+
* box into view. By the time our `onchange` handler runs, the
|
|
80
|
+
* scroll has already happened, so reading `scrollTop` at that
|
|
81
|
+
* point gives us the *post-jump* position - "restoring" to it
|
|
82
|
+
* just freezes the list at the wrong spot.
|
|
83
|
+
*
|
|
84
|
+
* Snapshotting on `mousedown` (which fires before the focus
|
|
85
|
+
* step) captures the genuine pre-click position. We then use
|
|
86
|
+
* that snapshot to restore at multiple time points after the
|
|
87
|
+
* mutation so any further focus / layout shift gets undone.
|
|
88
|
+
*/
|
|
89
|
+
let preClickListScroll = 0;
|
|
90
|
+
let preClickWindowScrollX = 0;
|
|
91
|
+
let preClickWindowScrollY = 0;
|
|
92
|
+
/** Milliseconds `Date.now()` stamp of the last `snapshotScrollPosition`
|
|
93
|
+
* call. Lets `preserveListScroll` tell apart "click triggered toggle
|
|
94
|
+
* whose mousedown just snapshotted real pre-click state" from
|
|
95
|
+
* "keyboard or other path where the mousedown snapshot is stale". */
|
|
96
|
+
let lastSnapshotAt = 0;
|
|
41
97
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
98
|
+
/** Stale snapshots more than this many ms old are ignored. Tuned
|
|
99
|
+
* loose enough to survive any focus / click latency the browser
|
|
100
|
+
* might insert, but tight enough that an old click from minutes
|
|
101
|
+
* ago can't poison a later keyboard toggle. */
|
|
102
|
+
const SNAPSHOT_FRESHNESS_MS = 500;
|
|
103
|
+
|
|
104
|
+
function snapshotScrollPosition(): void {
|
|
105
|
+
const list = rowEl?.closest('.column-list') as HTMLElement | null;
|
|
106
|
+
preClickListScroll = list?.scrollTop ?? 0;
|
|
107
|
+
preClickWindowScrollX = typeof window !== 'undefined' ? window.scrollX : 0;
|
|
108
|
+
preClickWindowScrollY = typeof window !== 'undefined' ? window.scrollY : 0;
|
|
109
|
+
lastSnapshotAt = Date.now();
|
|
53
110
|
}
|
|
54
111
|
|
|
55
|
-
function
|
|
56
|
-
|
|
57
|
-
|
|
112
|
+
function restoreScrollPosition(): void {
|
|
113
|
+
const list = rowEl?.closest('.column-list') as HTMLElement | null;
|
|
114
|
+
if (list != null) {
|
|
115
|
+
list.scrollTop = preClickListScroll;
|
|
116
|
+
}
|
|
117
|
+
if (typeof window !== 'undefined') {
|
|
118
|
+
window.scrollTo(preClickWindowScrollX, preClickWindowScrollY);
|
|
58
119
|
}
|
|
120
|
+
}
|
|
59
121
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Run `mutate` and then re-apply the pre-click scroll snapshot
|
|
124
|
+
* aggressively across the next ~400ms so any deferred focus /
|
|
125
|
+
* layout work that fights us at the tail of the event loop still
|
|
126
|
+
* ends up at the user's original scroll position.
|
|
127
|
+
*
|
|
128
|
+
* The snapshot itself is taken in capture phase from the row's
|
|
129
|
+
* `{@attach}` listener below, *before* the focus side effect has
|
|
130
|
+
* a chance to scroll us. If `preserveListScroll` is invoked
|
|
131
|
+
* without a recent mousedown (keyboard toggle, programmatic
|
|
132
|
+
* call) we take a fresh snapshot here.
|
|
133
|
+
*
|
|
134
|
+
* In addition to the discrete `rAF` / `setTimeout` restores, a
|
|
135
|
+
* temporary scroll listener installed on the list and the
|
|
136
|
+
* window forcibly reverts any scroll event during the lock
|
|
137
|
+
* window. The listener short-circuits when `scrollTop` is
|
|
138
|
+
* already at the snapshot value, so it doesn't loop.
|
|
139
|
+
*
|
|
140
|
+
* The active hidden input is also blurred immediately after the
|
|
141
|
+
* mutation so the browser stops treating it as the "currently
|
|
142
|
+
* focused element to keep visible" on subsequent layout passes.
|
|
143
|
+
*/
|
|
144
|
+
function preserveListScroll(mutate: () => void): void {
|
|
145
|
+
if (Date.now() - lastSnapshotAt > SNAPSHOT_FRESHNESS_MS) {
|
|
146
|
+
snapshotScrollPosition();
|
|
147
|
+
}
|
|
148
|
+
const focused =
|
|
149
|
+
typeof document !== 'undefined' && document.activeElement instanceof HTMLElement
|
|
150
|
+
? document.activeElement
|
|
151
|
+
: null;
|
|
152
|
+
const list = rowEl?.closest('.column-list') as HTMLElement | null;
|
|
153
|
+
mutate();
|
|
154
|
+
if (focused != null && rowEl?.contains(focused) === true) {
|
|
155
|
+
focused.blur();
|
|
156
|
+
}
|
|
157
|
+
if (typeof requestAnimationFrame !== 'undefined') {
|
|
158
|
+
requestAnimationFrame(restoreScrollPosition);
|
|
159
|
+
}
|
|
160
|
+
setTimeout(restoreScrollPosition, 0);
|
|
161
|
+
setTimeout(restoreScrollPosition, 60);
|
|
162
|
+
setTimeout(restoreScrollPosition, 120);
|
|
163
|
+
setTimeout(restoreScrollPosition, 240);
|
|
63
164
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
165
|
+
// Scroll-lock: forcibly revert any rogue scroll for the next
|
|
166
|
+
// ~400ms. Anything inside this window that scrolls the list
|
|
167
|
+
// or the page (focus auto-scroll, scrollIntoView from a
|
|
168
|
+
// deferred reactive effect, etc.) is snapped back to the
|
|
169
|
+
// pre-click snapshot. The handler is a no-op when the value
|
|
170
|
+
// is already at the snapshot, so the restore call inside it
|
|
171
|
+
// does not retrigger.
|
|
172
|
+
if (list != null && typeof window !== 'undefined') {
|
|
173
|
+
const lockListHandler = (): void => {
|
|
174
|
+
if (list.scrollTop !== preClickListScroll) {
|
|
175
|
+
list.scrollTop = preClickListScroll;
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const lockWindowHandler = (): void => {
|
|
179
|
+
if (window.scrollX !== preClickWindowScrollX || window.scrollY !== preClickWindowScrollY) {
|
|
180
|
+
window.scrollTo(preClickWindowScrollX, preClickWindowScrollY);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
list.addEventListener('scroll', lockListHandler, { passive: true });
|
|
184
|
+
window.addEventListener('scroll', lockWindowHandler, { passive: true });
|
|
185
|
+
setTimeout(() => {
|
|
186
|
+
list.removeEventListener('scroll', lockListHandler);
|
|
187
|
+
window.removeEventListener('scroll', lockWindowHandler);
|
|
188
|
+
}, 400);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
69
191
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
192
|
+
/**
|
|
193
|
+
* Current pin state of this column expressed as a `Ternary` so the
|
|
194
|
+
* three states (`pinned-left` / `unpinned` / `pinned-right`) map
|
|
195
|
+
* cleanly onto `ThreeStateRadio`:
|
|
196
|
+
*
|
|
197
|
+
* - `Ternary.False` → pinned to the LEFT side (leftmost segment)
|
|
198
|
+
* - `Ternary.Neutral` → unpinned (middle segment)
|
|
199
|
+
* - `Ternary.True` → pinned to the RIGHT side (rightmost segment)
|
|
200
|
+
*/
|
|
201
|
+
const pinSide: Ternary = $derived(
|
|
202
|
+
columnDef == null
|
|
203
|
+
? Ternary.Neutral
|
|
204
|
+
: tableContext.columnPinning.left?.has(columnDef.id)
|
|
205
|
+
? Ternary.False
|
|
206
|
+
: tableContext.columnPinning.right?.has(columnDef.id)
|
|
207
|
+
? Ternary.True
|
|
208
|
+
: Ternary.Neutral
|
|
209
|
+
);
|
|
75
210
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
211
|
+
/**
|
|
212
|
+
* Set this column's pin state from a `Ternary`. The previous
|
|
213
|
+
* side (if any) is removed first so the column is never pinned
|
|
214
|
+
* to both sides. Wrapped in `preserveListScroll` to keep the
|
|
215
|
+
* column-list scroll position pinned across any focus side
|
|
216
|
+
* effect inside the ThreeStateRadio's hidden inputs.
|
|
217
|
+
*/
|
|
218
|
+
function setPin(next: Ternary): void {
|
|
219
|
+
if (columnDef == null) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
preserveListScroll(() => {
|
|
223
|
+
tableContext.setColumnPinning((pinning) => {
|
|
224
|
+
const leftKeys = [...(pinning.left?.keys() ?? [])].filter((id) => id !== columnDef.id);
|
|
225
|
+
const rightKeys = [...(pinning.right?.keys() ?? [])].filter((id) => id !== columnDef.id);
|
|
226
|
+
if (next === Ternary.False) {
|
|
227
|
+
leftKeys.push(columnDef.id);
|
|
228
|
+
} else if (next === Ternary.True) {
|
|
229
|
+
rightKeys.push(columnDef.id);
|
|
230
|
+
}
|
|
231
|
+
return {
|
|
232
|
+
...pinning,
|
|
233
|
+
left: new Map(leftKeys.map(makeKVPairs)),
|
|
234
|
+
right: new Map(rightKeys.map(makeKVPairs)),
|
|
235
|
+
};
|
|
236
|
+
});
|
|
81
237
|
});
|
|
82
238
|
}
|
|
83
239
|
|
|
@@ -87,19 +243,118 @@
|
|
|
87
243
|
|
|
88
244
|
return;
|
|
89
245
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
246
|
+
const checked = (e.target as HTMLInputElement).checked;
|
|
247
|
+
preserveListScroll(() => {
|
|
248
|
+
tableContext.updateVisibility((defs) => {
|
|
249
|
+
defs[columnDef.id] = checked;
|
|
250
|
+
return defs;
|
|
251
|
+
});
|
|
93
252
|
});
|
|
94
253
|
};
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Keyboard reorder support for power users. Arrow keys nudge the
|
|
257
|
+
* column up / down, Home / End jump to the ends. Bound on the row
|
|
258
|
+
* itself so any focusable child (eye, pin selector, move buttons)
|
|
259
|
+
* lets the user reorder without having to seek out a dedicated
|
|
260
|
+
* "drag handle" - the affordance is now the explicit up / down
|
|
261
|
+
* buttons in the row's right gutter.
|
|
262
|
+
*
|
|
263
|
+
* `Alt` is required as the modifier so plain arrow keys still
|
|
264
|
+
* navigate radio groups inside the row (ThreeStateRadio) and the
|
|
265
|
+
* row's own scroll container.
|
|
266
|
+
*/
|
|
267
|
+
function onRowKeydown(e: KeyboardEvent) {
|
|
268
|
+
if (!columnDef || !tableContext.allowColumnReordering) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (!e.altKey) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
if (currentIndex === -1) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const lastIndex = sortedColumns.length - 1;
|
|
279
|
+
let targetIndex: number;
|
|
280
|
+
|
|
281
|
+
switch (e.key) {
|
|
282
|
+
case 'ArrowUp':
|
|
283
|
+
targetIndex = Math.max(0, currentIndex - 1);
|
|
284
|
+
break;
|
|
285
|
+
case 'ArrowDown':
|
|
286
|
+
targetIndex = Math.min(lastIndex, currentIndex + 1);
|
|
287
|
+
break;
|
|
288
|
+
case 'Home':
|
|
289
|
+
targetIndex = 0;
|
|
290
|
+
break;
|
|
291
|
+
case 'End':
|
|
292
|
+
targetIndex = lastIndex;
|
|
293
|
+
break;
|
|
294
|
+
default:
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (targetIndex === currentIndex) {
|
|
299
|
+
e.preventDefault();
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
e.preventDefault();
|
|
304
|
+
preserveListScroll(() => {
|
|
305
|
+
tableContext.moveColumnTo(currentIndex, targetIndex);
|
|
306
|
+
});
|
|
307
|
+
}
|
|
95
308
|
</script>
|
|
96
309
|
|
|
97
310
|
{#if columnDef}
|
|
311
|
+
{@const reorderLabel = typeof columnDef.header === 'string' ? columnDef.header : columnDef.id}
|
|
312
|
+
<!--
|
|
313
|
+
The `<li>` is a structural container for the eye, pin selector,
|
|
314
|
+
label, and reorder buttons - none of which the user activates by
|
|
315
|
+
clicking the `<li>` itself. The `onkeydown` here only captures
|
|
316
|
+
Alt+ArrowUp / Alt+ArrowDown / Alt+Home / Alt+End bubbling up from
|
|
317
|
+
whichever inner control has focus, to drive the reorder shortcut;
|
|
318
|
+
it never makes the `<li>` itself a focusable interactive widget.
|
|
319
|
+
Giving the row a `role` like `treeitem` or `option` would
|
|
320
|
+
mis-describe the structure (this is a free-form list of cards,
|
|
321
|
+
not a tree or listbox), so the right call is to silence the
|
|
322
|
+
warning here rather than fake the semantics.
|
|
323
|
+
-->
|
|
324
|
+
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
|
|
98
325
|
<li
|
|
326
|
+
bind:this={rowEl}
|
|
99
327
|
class="single-column"
|
|
100
328
|
class:targeted={isBeingTargeted}
|
|
329
|
+
class:draggable={tableContext.allowColumnReordering}
|
|
101
330
|
id="{tableContext.tableName}-column-settings-{columnDef.id}"
|
|
102
331
|
draggable={tableContext.allowColumnReordering}
|
|
332
|
+
onkeydown={onRowKeydown}
|
|
333
|
+
{@attach (node: HTMLLIElement) => {
|
|
334
|
+
// Capture-phase listeners for `mousedown` and
|
|
335
|
+
// `pointerdown`. Both must fire BEFORE the synthetic
|
|
336
|
+
// click on the visibility / pin checkbox focuses its
|
|
337
|
+
// hidden input (which is what causes the browser to
|
|
338
|
+
// auto-scroll the column list to bring that input's
|
|
339
|
+
// 1x1px clip-pathed box into view). Capture phase runs
|
|
340
|
+
// before target / bubble phases, so this listener
|
|
341
|
+
// reliably snapshots the user's actual pre-click scroll
|
|
342
|
+
// position before any focus side effect lands.
|
|
343
|
+
//
|
|
344
|
+
// Both event types are wired because some browsers
|
|
345
|
+
// dispatch `pointerdown` before `mousedown` and others
|
|
346
|
+
// the reverse; whichever fires first wins (the second
|
|
347
|
+
// is a cheap no-op snapshot of the same state).
|
|
348
|
+
const snapshot = (): void => {
|
|
349
|
+
snapshotScrollPosition();
|
|
350
|
+
};
|
|
351
|
+
node.addEventListener('pointerdown', snapshot, { capture: true });
|
|
352
|
+
node.addEventListener('mousedown', snapshot, { capture: true });
|
|
353
|
+
return () => {
|
|
354
|
+
node.removeEventListener('pointerdown', snapshot, { capture: true });
|
|
355
|
+
node.removeEventListener('mousedown', snapshot, { capture: true });
|
|
356
|
+
};
|
|
357
|
+
}}
|
|
103
358
|
ondragstart={() => {
|
|
104
359
|
tableContext.dragTarget = columnDef;
|
|
105
360
|
}}
|
|
@@ -113,50 +368,85 @@
|
|
|
113
368
|
ondragleave={disableDragVisual}
|
|
114
369
|
ondrop={disableDragVisual}
|
|
115
370
|
>
|
|
116
|
-
<
|
|
117
|
-
icon={{ name: 'assessment' }}
|
|
118
|
-
id={`is-visible-${tableContext.tableName}-${columnDef.id}`}
|
|
119
|
-
value={tableContext.columnVisibility[columnDef.id] !== false}
|
|
120
|
-
onchange={onVisibilityChange}
|
|
121
|
-
/>
|
|
122
|
-
|
|
123
|
-
{#if tableContext.allowColumnReordering}
|
|
124
|
-
<!-- value={tableContext.columnPinning.left?.has(columnDef.id) ?? false} -->
|
|
371
|
+
<div class="visibility-wrapper">
|
|
125
372
|
<Checkbox
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
id={`is-
|
|
129
|
-
value={tableContext.
|
|
130
|
-
onchange={
|
|
131
|
-
togglePinLeft();
|
|
132
|
-
}}
|
|
133
|
-
/>
|
|
134
|
-
<!-- value={tableContext.columnPinning.right?.has(columnDef.id) ?? false} -->
|
|
135
|
-
<Checkbox
|
|
136
|
-
disabled={isExpandColumn}
|
|
137
|
-
icon={{ name: 'pin-right' }}
|
|
138
|
-
id={`is-pinned-right-${tableContext.tableName}-${columnDef.id}`}
|
|
139
|
-
value={tableContext.columnPinning.right?.has(columnDef.id) || false}
|
|
140
|
-
onchange={() => {
|
|
141
|
-
togglePinRight();
|
|
142
|
-
}}
|
|
373
|
+
icon={{ name: 'assessment', size: Size.Medium }}
|
|
374
|
+
size={Size.FillWidth}
|
|
375
|
+
id={`is-visible-${tableContext.tableName}-${columnDef.id}`}
|
|
376
|
+
value={tableContext.columnVisibility[columnDef.id] !== false}
|
|
377
|
+
onchange={onVisibilityChange}
|
|
143
378
|
/>
|
|
379
|
+
</div>
|
|
380
|
+
|
|
381
|
+
{#if tableContext.allowColumnReordering}
|
|
382
|
+
<!--
|
|
383
|
+
Tri-state pin selector rendered via `ThreeStateRadio`,
|
|
384
|
+
matching the visual segmented-control used elsewhere in
|
|
385
|
+
the table (filter Active state, etc.). The three
|
|
386
|
+
`Ternary` slots map to:
|
|
387
|
+
False → pinned LEFT (pin-left icon, leftmost)
|
|
388
|
+
Neutral → unpinned (circle-cross icon, middle)
|
|
389
|
+
True → pinned RIGHT (pin-right icon, rightmost)
|
|
390
|
+
Expand columns can never be pinned, so the group goes
|
|
391
|
+
fully disabled for them.
|
|
392
|
+
-->
|
|
144
393
|
<div
|
|
145
|
-
|
|
146
|
-
|
|
394
|
+
class="pin-selector"
|
|
395
|
+
class:disabled={isExpandColumn}
|
|
147
396
|
>
|
|
148
|
-
<
|
|
149
|
-
|
|
150
|
-
|
|
397
|
+
<ThreeStateRadio
|
|
398
|
+
value={pinSide}
|
|
399
|
+
disabled={isExpandColumn}
|
|
400
|
+
noLabel="Pin to left"
|
|
401
|
+
neutralLabel="Unpinned"
|
|
402
|
+
yesLabel="Pin to right"
|
|
403
|
+
noIcon={{ name: 'pin-left', size: Size.Medium }}
|
|
404
|
+
neutralIcon={{ name: 'circle-cross', size: Size.Medium }}
|
|
405
|
+
yesIcon={{ name: 'pin-right', size: Size.Medium }}
|
|
406
|
+
onchange={(next: Ternary) => {
|
|
407
|
+
setPin(next);
|
|
408
|
+
}}
|
|
151
409
|
/>
|
|
152
410
|
</div>
|
|
153
411
|
{/if}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
{
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
412
|
+
|
|
413
|
+
<span class="column-label">
|
|
414
|
+
{#if typeof columnDef.header === 'function'}
|
|
415
|
+
<!-- FIXME this needs testing -->
|
|
416
|
+
{@render columnDef.header()}
|
|
417
|
+
{:else}
|
|
418
|
+
{columnDef.header}
|
|
419
|
+
{/if}
|
|
420
|
+
</span>
|
|
421
|
+
|
|
422
|
+
{#if tableContext.allowColumnReordering}
|
|
423
|
+
<!--
|
|
424
|
+
Up / down "move" buttons make column reordering
|
|
425
|
+
discoverable without relying on the user noticing a
|
|
426
|
+
drag-cursor. The row remains draggable too (whole row
|
|
427
|
+
is the drag target now that the dedicated handle is
|
|
428
|
+
gone), so power users keep the drag-and-drop path.
|
|
429
|
+
Buttons disable at the list boundaries so we never
|
|
430
|
+
dispatch a no-op `moveColumnTo`.
|
|
431
|
+
-->
|
|
432
|
+
<div class="reorder-buttons">
|
|
433
|
+
<Action
|
|
434
|
+
icon={{ name: 'chevron-up', size: Size.Medium }}
|
|
435
|
+
size={Size.Medium}
|
|
436
|
+
paddingSize={Size.Small}
|
|
437
|
+
label="Move {reorderLabel} up"
|
|
438
|
+
disabled={isAtTop}
|
|
439
|
+
onclick={moveUp}
|
|
440
|
+
/>
|
|
441
|
+
<Action
|
|
442
|
+
icon={{ name: 'chevron-down', size: Size.Medium }}
|
|
443
|
+
size={Size.Medium}
|
|
444
|
+
paddingSize={Size.Small}
|
|
445
|
+
label="Move {reorderLabel} down"
|
|
446
|
+
disabled={isAtBottom}
|
|
447
|
+
onclick={moveDown}
|
|
448
|
+
/>
|
|
449
|
+
</div>
|
|
160
450
|
{/if}
|
|
161
451
|
</li>
|
|
162
452
|
{:else}
|
|
@@ -186,9 +476,65 @@ li.targeted {
|
|
|
186
476
|
border-bottom: solid 2px #259fc7;
|
|
187
477
|
}
|
|
188
478
|
|
|
189
|
-
li.single-column {
|
|
479
|
+
li.single-column:not(.anchor) {
|
|
190
480
|
display: flex;
|
|
191
|
-
gap:
|
|
192
|
-
padding: 0.5rem 0.
|
|
481
|
+
gap: 0.75rem;
|
|
482
|
+
padding: 0.5rem 0.75rem;
|
|
483
|
+
margin-bottom: 0.5rem;
|
|
193
484
|
align-items: center;
|
|
485
|
+
background-color: #ffffff;
|
|
486
|
+
border: solid 1px #cbd4da;
|
|
487
|
+
border-radius: 4px;
|
|
488
|
+
position: relative;
|
|
489
|
+
}
|
|
490
|
+
li.single-column:not(.anchor).draggable {
|
|
491
|
+
cursor: grab;
|
|
492
|
+
}
|
|
493
|
+
li.single-column:not(.anchor).targeted {
|
|
494
|
+
border-color: #259fc7;
|
|
495
|
+
border-bottom-width: 2px;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
li.single-column:not(.anchor):last-of-type {
|
|
499
|
+
margin-bottom: 0;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.visibility-wrapper {
|
|
503
|
+
width: 3rem;
|
|
504
|
+
height: 3rem;
|
|
505
|
+
display: flex;
|
|
506
|
+
flex-shrink: 0;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.pin-selector {
|
|
510
|
+
--input-height: 3rem;
|
|
511
|
+
--input-width: auto;
|
|
512
|
+
flex-shrink: 0;
|
|
513
|
+
display: flex;
|
|
514
|
+
flex-flow: row nowrap;
|
|
515
|
+
align-items: center;
|
|
516
|
+
}
|
|
517
|
+
.pin-selector.disabled {
|
|
518
|
+
opacity: 0.5;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.column-label {
|
|
522
|
+
flex: 1 1 auto;
|
|
523
|
+
min-width: 0;
|
|
524
|
+
overflow: hidden;
|
|
525
|
+
text-overflow: ellipsis;
|
|
526
|
+
white-space: nowrap;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.reorder-buttons {
|
|
530
|
+
flex-shrink: 0;
|
|
531
|
+
display: flex;
|
|
532
|
+
flex-flow: column nowrap;
|
|
533
|
+
align-items: center;
|
|
534
|
+
gap: 0.125rem;
|
|
535
|
+
}
|
|
536
|
+
.reorder-buttons :global(button[disabled]) {
|
|
537
|
+
--colour: #1f81a0;
|
|
538
|
+
color: #1f81a0;
|
|
539
|
+
background-color: transparent;
|
|
194
540
|
}</style>
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
+
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
1
2
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
2
|
-
declare function $$render<T extends object>(): {
|
|
3
|
+
declare function $$render<T extends object, IdType extends Primitive>(): {
|
|
3
4
|
props: ColumnListRowProps<T>;
|
|
4
5
|
exports: {};
|
|
5
6
|
bindings: "";
|
|
6
7
|
slots: {};
|
|
7
8
|
events: {};
|
|
8
9
|
};
|
|
9
|
-
declare class __sveltets_Render<T extends object> {
|
|
10
|
-
props(): ReturnType<typeof $$render<T>>['props'];
|
|
11
|
-
events(): ReturnType<typeof $$render<T>>['events'];
|
|
12
|
-
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
10
|
+
declare class __sveltets_Render<T extends object, IdType extends Primitive> {
|
|
11
|
+
props(): ReturnType<typeof $$render<T, IdType>>['props'];
|
|
12
|
+
events(): ReturnType<typeof $$render<T, IdType>>['events'];
|
|
13
|
+
slots(): ReturnType<typeof $$render<T, IdType>>['slots'];
|
|
13
14
|
bindings(): "";
|
|
14
15
|
exports(): {};
|
|
15
16
|
}
|
|
16
17
|
interface $$IsomorphicComponent {
|
|
17
|
-
new <T extends object>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
19
|
-
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
20
|
-
<T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
18
|
+
new <T extends object, IdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, IdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, IdType>['props']>, ReturnType<__sveltets_Render<T, IdType>['events']>, ReturnType<__sveltets_Render<T, IdType>['slots']>> & {
|
|
19
|
+
$$bindings?: ReturnType<__sveltets_Render<T, IdType>['bindings']>;
|
|
20
|
+
} & ReturnType<__sveltets_Render<T, IdType>['exports']>;
|
|
21
|
+
<T extends object, IdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, IdType>['props']> & {}): ReturnType<__sveltets_Render<T, IdType>['exports']>;
|
|
22
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
22
23
|
}
|
|
23
24
|
declare const ColumnListRow: $$IsomorphicComponent;
|
|
24
|
-
type ColumnListRow<T extends object> = InstanceType<typeof ColumnListRow<T>>;
|
|
25
|
+
type ColumnListRow<T extends object, IdType extends Primitive> = InstanceType<typeof ColumnListRow<T, IdType>>;
|
|
25
26
|
export default ColumnListRow;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
2
2
|
export interface ColumnListRowProps<T extends object> {
|
|
3
|
+
/**
|
|
4
|
+
* The column definition rendered as a row in the column-settings list.
|
|
5
|
+
* Pass `null` to render the placeholder top-anchor `<li>` used as a
|
|
6
|
+
* drop target for "drag column to the top".
|
|
7
|
+
*/
|
|
3
8
|
columnDef: ColumnDef<T> | null;
|
|
4
9
|
}
|