@lavalogic/scoria 0.11.14 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/Action.svelte +7 -32
- package/dist/Components/Action.svelte.d.ts +1 -27
- package/dist/Components/ActionProps.d.ts +27 -0
- package/dist/Components/ActionProps.js +1 -0
- package/dist/Components/AlertModal.svelte +7 -5
- package/dist/Components/Base/ContextWrapper.svelte +4 -9
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +1 -5
- package/dist/Components/Base/ContextWrapperProps.d.ts +5 -0
- package/dist/Components/Base/ContextWrapperProps.js +1 -0
- package/dist/Components/Base/Pagination.svelte +22 -31
- package/dist/Components/Base/Pagination.svelte.d.ts +1 -12
- package/dist/Components/Base/PaginationProps.d.ts +12 -0
- package/dist/Components/Base/PaginationProps.js +1 -0
- package/dist/Components/BigRadioSet.svelte +4 -11
- package/dist/Components/BigRadioSet.svelte.d.ts +1 -6
- package/dist/Components/BigRadioSetProps.d.ts +6 -0
- package/dist/Components/BigRadioSetProps.js +1 -0
- package/dist/Components/Bubble.svelte +4 -21
- package/dist/Components/Bubble.svelte.d.ts +1 -18
- package/dist/Components/BubbleColour.d.ts +5 -0
- package/dist/Components/BubbleColour.js +1 -0
- package/dist/Components/BubbleProps.d.ts +14 -0
- package/dist/Components/BubbleProps.js +1 -0
- package/dist/Components/Button.svelte +21 -48
- package/dist/Components/Button.svelte.d.ts +1 -29
- package/dist/Components/ButtonProps.d.ts +29 -0
- package/dist/Components/ButtonProps.js +1 -0
- package/dist/Components/Checkbox.svelte +4 -21
- package/dist/Components/Checkbox.svelte.d.ts +2 -2
- package/dist/Components/CollapsibleCard.svelte +3 -15
- package/dist/Components/CollapsibleCard.svelte.d.ts +2 -10
- package/dist/Components/CollapsibleCardProps.d.ts +9 -0
- package/dist/Components/CollapsibleCardProps.js +1 -0
- package/dist/Components/Contexts/ContextMenu.svelte +14 -11
- package/dist/Components/Contexts/ContextMenuOption.svelte +2 -11
- package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +1 -7
- package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +7 -0
- package/dist/Components/Contexts/ContextMenuOptionProps.js +1 -0
- package/dist/Components/Contexts/Toast.svelte +1 -6
- package/dist/Components/Contexts/Toast.svelte.d.ts +1 -5
- package/dist/Components/Contexts/ToastContainer.svelte +4 -1
- package/dist/Components/Contexts/ToastProps.d.ts +5 -0
- package/dist/Components/Contexts/ToastProps.js +1 -0
- package/dist/Components/Contexts/Tooltip.svelte +1 -4
- package/dist/Components/DataMatrixIcon.svelte +3 -11
- package/dist/Components/DataMatrixIcon.svelte.d.ts +1 -6
- package/dist/Components/DataMatrixIconProps.d.ts +6 -0
- package/dist/Components/DataMatrixIconProps.js +1 -0
- package/dist/Components/DateInput.svelte +3 -42
- package/dist/Components/DateInput.svelte.d.ts +1 -40
- package/dist/Components/DateInputProps.d.ts +3 -0
- package/dist/Components/DateInputProps.js +1 -0
- package/dist/Components/DateOnlyInputProps.d.ts +21 -0
- package/dist/Components/DateOnlyInputProps.js +1 -0
- package/dist/Components/DatePicker.svelte +26 -36
- package/dist/Components/DatePicker.svelte.d.ts +1 -8
- package/dist/Components/DatePickerProps.d.ts +8 -0
- package/dist/Components/DatePickerProps.js +1 -0
- package/dist/Components/DateTimeInputProps.d.ts +21 -0
- package/dist/Components/DateTimeInputProps.js +1 -0
- package/dist/Components/DesktopModal.svelte +3 -25
- package/dist/Components/DesktopModal.svelte.d.ts +1 -20
- package/dist/Components/DesktopModalProps.d.ts +20 -0
- package/dist/Components/DesktopModalProps.js +1 -0
- package/dist/Components/Dial.svelte +2 -18
- package/dist/Components/Dial.svelte.d.ts +1 -13
- package/dist/Components/DialProps.d.ts +13 -0
- package/dist/Components/DialProps.js +1 -0
- package/dist/Components/DimensionInput.svelte +21 -48
- package/dist/Components/DimensionInput.svelte.d.ts +1 -29
- package/dist/Components/DimensionInputProps.d.ts +29 -0
- package/dist/Components/DimensionInputProps.js +1 -0
- package/dist/Components/DragMenu/DragMenuHolder.svelte +10 -57
- package/dist/Components/DragMenu/DragMenuHolder.svelte.d.ts +1 -17
- package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +10 -0
- package/dist/Components/DragMenu/DragMenuHolderProps.js +1 -0
- package/dist/Components/DragMenu/Draggable.d.ts +8 -0
- package/dist/Components/DragMenu/Draggable.js +1 -0
- package/dist/Components/DragMenu/DraggableCard.svelte +6 -14
- package/dist/Components/DragMenu/DraggableCard.svelte.d.ts +1 -9
- package/dist/Components/DragMenu/DraggableCardProps.d.ts +9 -0
- package/dist/Components/DragMenu/DraggableCardProps.js +1 -0
- package/dist/Components/FileCard.svelte +1 -7
- package/dist/Components/FileCard.svelte.d.ts +1 -4
- package/dist/Components/FileCardProps.d.ts +4 -0
- package/dist/Components/FileCardProps.js +1 -0
- package/dist/Components/FileUpload.svelte +9 -31
- package/dist/Components/FileUpload.svelte.d.ts +1 -24
- package/dist/Components/FileUploadProps.d.ts +24 -0
- package/dist/Components/FileUploadProps.js +1 -0
- package/dist/Components/GridInput.svelte +30 -28
- package/dist/Components/GridInput.svelte.d.ts +1 -6
- package/dist/Components/GridInputProps.d.ts +7 -0
- package/dist/Components/GridInputProps.js +1 -0
- package/dist/Components/GridInputSet.svelte +2 -11
- package/dist/Components/GridInputSet.svelte.d.ts +1 -6
- package/dist/Components/GridInputSetProps.d.ts +7 -0
- package/dist/Components/GridInputSetProps.js +1 -0
- package/dist/Components/HorizontalTabGroup.svelte +3 -16
- package/dist/Components/HorizontalTabGroup.svelte.d.ts +2 -11
- package/dist/Components/HorizontalTabGroupButton.svelte +11 -15
- package/dist/Components/HorizontalTabGroupButton.svelte.d.ts +2 -6
- package/dist/Components/HorizontalTabGroupProps.d.ts +10 -0
- package/dist/Components/HorizontalTabGroupProps.js +1 -0
- package/dist/Components/Icon.svelte +5 -1257
- package/dist/Components/Icon.svelte.d.ts +1 -884
- package/dist/Components/IconProps.d.ts +24 -0
- package/dist/Components/IconProps.js +1 -0
- package/dist/Components/Icons.d.ts +858 -0
- package/dist/Components/Icons.js +1222 -0
- package/dist/Components/InputProps.d.ts +15 -0
- package/dist/Components/InputProps.js +1 -0
- package/dist/Components/LoadingModal.svelte +2 -2
- package/dist/Components/Modal.svelte +24 -25
- package/dist/Components/Modal.svelte.d.ts +3 -6
- package/dist/Components/MultiSelect.svelte +35 -73
- package/dist/Components/MultiSelect.svelte.d.ts +14 -37
- package/dist/Components/MultiSelectCommonProps.d.ts +16 -0
- package/dist/Components/MultiSelectCommonProps.js +1 -0
- package/dist/Components/MultiSelectProps.d.ts +4 -0
- package/dist/Components/MultiSelectProps.js +1 -0
- package/dist/Components/MultiSelectPropsAsObject.d.ts +6 -0
- package/dist/Components/MultiSelectPropsAsObject.js +1 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.js +1 -0
- package/dist/Components/NumberInput.svelte +8 -37
- package/dist/Components/NumberInput.svelte.d.ts +1 -29
- package/dist/Components/NumberInputProps.d.ts +29 -0
- package/dist/Components/NumberInputProps.js +1 -0
- package/dist/Components/PartialIconProps.d.ts +4 -0
- package/dist/Components/PartialIconProps.js +1 -0
- package/dist/Components/PasswordInput.svelte +4 -22
- package/dist/Components/PasswordInput.svelte.d.ts +1 -15
- package/dist/Components/Portal.svelte +3 -9
- package/dist/Components/Portal.svelte.d.ts +1 -5
- package/dist/Components/PortalProps.d.ts +5 -0
- package/dist/Components/PortalProps.js +1 -0
- package/dist/Components/ProgressBubble.svelte +20 -22
- package/dist/Components/ProgressBubble.svelte.d.ts +2 -6
- package/dist/Components/ProgressBubbleProps.d.ts +5 -0
- package/dist/Components/ProgressBubbleProps.js +1 -0
- package/dist/Components/QuerySelect.svelte +70 -49
- package/dist/Components/QuerySelect.svelte.d.ts +3 -3
- package/dist/Components/SingleSelect.svelte +28 -71
- package/dist/Components/SingleSelect.svelte.d.ts +2 -37
- package/dist/Components/SingleSelectCommonProps.d.ts +27 -0
- package/dist/Components/SingleSelectCommonProps.js +1 -0
- package/dist/Components/SingleSelectProps.d.ts +4 -0
- package/dist/Components/SingleSelectProps.js +1 -0
- package/dist/Components/SingleSelectPropsAsObject.d.ts +6 -0
- package/dist/Components/SingleSelectPropsAsObject.js +1 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.js +1 -0
- package/dist/Components/Switch.svelte +2 -13
- package/dist/Components/Switch.svelte.d.ts +1 -9
- package/dist/Components/SwitchProps.d.ts +9 -0
- package/dist/Components/SwitchProps.js +1 -0
- package/dist/Components/TabGroupButtonProps.d.ts +5 -0
- package/dist/Components/TabGroupButtonProps.js +1 -0
- package/dist/Components/Table/Body/HeightData.d.ts +6 -0
- package/dist/Components/Table/Body/HeightData.js +1 -0
- package/dist/Components/Table/Body/QuickSearchCell.svelte +59 -82
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +1 -6
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/QuickSearchCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +4 -9
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +1 -5
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +5 -10
- package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +1 -3
- package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +3 -0
- package/dist/Components/Table/Body/Rows/ColumnListProps.js +1 -0
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +15 -25
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +7 -11
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +39 -48
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ActionsCellProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +26 -25
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +11 -18
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte.d.ts +13 -19
- package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.d.ts +7 -0
- package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +10 -16
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +1 -6
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +22 -15
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +7 -20
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +1 -9
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +17 -20
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +38 -22
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +41 -34
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +67 -46
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +93 -105
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +4 -2
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +78 -65
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +82 -59
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +10 -15
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte.d.ts +1 -4
- package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.d.ts +4 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +38 -31
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +1 -8
- package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/TableRowProps.js +1 -0
- package/dist/Components/Table/Body/TableBody.svelte +10 -21
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +1 -12
- package/dist/Components/Table/Body/TableBodyProps.d.ts +8 -0
- package/dist/Components/Table/Body/TableBodyProps.js +1 -0
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +2 -4
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +159 -161
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +8 -5
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +1 -1
- package/dist/Components/Table/Headers/TableHead.svelte +29 -18
- package/dist/Components/Table/Misc/ColumnPanel.svelte +4 -4
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +5 -10
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +1 -3
- package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +3 -0
- package/dist/Components/Table/Misc/ColumnPanelModalProps.js +1 -0
- package/dist/Components/Table/Misc/FilterInput.svelte +75 -145
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +1 -16
- package/dist/Components/Table/Misc/FilterInputProps.d.ts +6 -0
- package/dist/Components/Table/Misc/FilterInputProps.js +1 -0
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +2 -5
- package/dist/Components/Table/Misc/TableFooter.svelte +22 -21
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +7 -5
- package/dist/Components/Table/Misc/TableSidebar.svelte +2 -2
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +2 -7
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +1 -3
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +3 -0
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.js +1 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +5 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +13 -0
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +5 -0
- package/dist/Components/Table/Misc/stringFilterTypes.js +15 -0
- package/dist/Components/Table/NestedTable.svelte +5 -3
- package/dist/Components/Table/NestedTable.svelte.d.ts +1 -1
- package/dist/Components/Table/Table.svelte +72 -40
- package/dist/Components/Table/Table.svelte.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Column.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/DateColumn.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +1 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +2 -0
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +3 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +6 -7
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +4 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +3 -2
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +1 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +4 -3
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +2 -1
- package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +1 -1
- package/dist/Components/Table/Types/Context/ITable.d.ts +8 -8
- package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +1 -1
- package/dist/Components/Table/Types/Context/Row.d.ts +4 -4
- package/dist/Components/Table/Types/Context/RowModel.d.ts +1 -1
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +13 -17
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +260 -304
- package/dist/Components/Table/Types/Context/TableSettings.d.ts +8 -0
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +6 -6
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +10 -8
- package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +5 -5
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +5 -3
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +1 -1
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +1 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +3 -2
- package/dist/Components/TextArea.svelte +2 -30
- package/dist/Components/TextArea.svelte.d.ts +1 -26
- package/dist/Components/TextAreaProps.d.ts +26 -0
- package/dist/Components/TextAreaProps.js +1 -0
- package/dist/Components/TextInput.svelte +6 -40
- package/dist/Components/TextInput.svelte.d.ts +1 -31
- package/dist/Components/TextInputProps.d.ts +31 -0
- package/dist/Components/TextInputProps.js +1 -0
- package/dist/Components/ThreeStateRadio.svelte +4 -23
- package/dist/Components/ThreeStateRadio.svelte.d.ts +1 -19
- package/dist/Components/ThreeStateRadioProps.d.ts +19 -0
- package/dist/Components/ThreeStateRadioProps.js +1 -0
- package/dist/Components/Touch/BoolCard.svelte +3 -2
- package/dist/Components/Touch/DateModal.svelte +23 -11
- package/dist/Components/Touch/DefaultTimer.d.ts +5 -0
- package/dist/Components/Touch/DefaultTimer.js +1 -0
- package/dist/Components/Touch/EditCard.svelte +3 -17
- package/dist/Components/Touch/EditCard.svelte.d.ts +1 -12
- package/dist/Components/Touch/EditCardProps.d.ts +12 -0
- package/dist/Components/Touch/EditCardProps.js +1 -0
- package/dist/Components/Touch/InfoCard.svelte +3 -12
- package/dist/Components/Touch/InfoCard.svelte.d.ts +1 -8
- package/dist/Components/Touch/InfoCardProps.d.ts +8 -0
- package/dist/Components/Touch/InfoCardProps.js +1 -0
- package/dist/Components/Touch/InfoTextCard.svelte +3 -12
- package/dist/Components/Touch/InfoTextCard.svelte.d.ts +1 -7
- package/dist/Components/Touch/InfoTextCardProps.d.ts +7 -0
- package/dist/Components/Touch/InfoTextCardProps.js +1 -0
- package/dist/Components/Touch/KeyValuePair.d.ts +4 -0
- package/dist/Components/Touch/KeyValuePair.js +1 -0
- package/dist/Components/Touch/NumberKeyboard.svelte +54 -37
- package/dist/Components/Touch/NumberKeyboard.svelte.d.ts +1 -11
- package/dist/Components/Touch/NumberKeyboardProps.d.ts +11 -0
- package/dist/Components/Touch/NumberKeyboardProps.js +1 -0
- package/dist/Components/Touch/NumberModal.svelte +19 -26
- package/dist/Components/Touch/NumberModal.svelte.d.ts +1 -15
- package/dist/Components/Touch/NumberModalProps.d.ts +15 -0
- package/dist/Components/Touch/NumberModalProps.js +1 -0
- package/dist/Components/Touch/PlusMinusCard.svelte +6 -2
- package/dist/Components/Touch/SelectModal.svelte +26 -27
- package/dist/Components/Touch/SelectModal.svelte.d.ts +1 -8
- package/dist/Components/Touch/SelectModalProps.d.ts +8 -0
- package/dist/Components/Touch/SelectModalProps.js +1 -0
- package/dist/Components/Touch/SummaryCard.svelte +3 -20
- package/dist/Components/Touch/SummaryCard.svelte.d.ts +1 -15
- package/dist/Components/Touch/SummaryCardProps.d.ts +12 -0
- package/dist/Components/Touch/SummaryCardProps.js +1 -0
- package/dist/Components/Touch/TextAreaModal.svelte +20 -23
- package/dist/Components/Touch/TextAreaModal.svelte.d.ts +1 -12
- package/dist/Components/Touch/TextAreaModalProps.d.ts +12 -0
- package/dist/Components/Touch/TextAreaModalProps.js +1 -0
- package/dist/Components/Touch/TextModal.svelte +24 -33
- package/dist/Components/Touch/TextModal.svelte.d.ts +1 -19
- package/dist/Components/Touch/TextModalProps.d.ts +19 -0
- package/dist/Components/Touch/TextModalProps.js +1 -0
- package/dist/Components/Touch/TouchCard.svelte +2 -11
- package/dist/Components/Touch/TouchCard.svelte.d.ts +1 -6
- package/dist/Components/Touch/TouchCardProps.d.ts +6 -0
- package/dist/Components/Touch/TouchCardProps.js +1 -0
- package/dist/Components/Touch/TouchModal.svelte +14 -46
- package/dist/Components/Touch/TouchModal.svelte.d.ts +1 -31
- package/dist/Components/Touch/TouchModalProps.d.ts +27 -0
- package/dist/Components/Touch/TouchModalProps.js +1 -0
- package/dist/Components/Touch/UtilityButton.svelte +5 -23
- package/dist/Components/Touch/UtilityButton.svelte.d.ts +1 -20
- package/dist/Components/Touch/UtilityButtonProps.d.ts +20 -0
- package/dist/Components/Touch/UtilityButtonProps.js +1 -0
- package/dist/Components/VerticalTabGroup.svelte +2 -12
- package/dist/Components/VerticalTabGroup.svelte.d.ts +1 -10
- package/dist/Components/VerticalTabGroupButton.svelte +18 -20
- package/dist/Components/VerticalTabGroupButton.svelte.d.ts +23 -6
- package/dist/Components/VerticalTabGroupProps.d.ts +10 -0
- package/dist/Components/VerticalTabGroupProps.js +1 -0
- package/dist/Contexts/ContextMenuContext.svelte.d.ts +3 -3
- package/dist/Contexts/ToastContext.svelte.d.ts +1 -1
- package/dist/Contexts/ToastContext.svelte.js +4 -2
- package/dist/Contexts/UntypedInputContext.svelte.d.ts +2 -2
- package/dist/Contexts/UntypedInputContext.svelte.js +10 -12
- package/dist/Helpers/Datamatrix.d.ts +1 -2
- package/dist/Helpers/Helpers.svelte.d.ts +8 -3
- package/dist/Helpers/Helpers.svelte.js +44 -8
- package/dist/Types/Examples/ExampleItem.d.ts +1 -1
- package/dist/Types/Examples/ExampleModal.svelte +1 -1
- package/dist/Types/Internal/AttributeOperation.js +0 -2
- package/dist/Types/Internal/CallbackButton.d.ts +1 -1
- package/dist/Types/Internal/GridItem.d.ts +1 -1
- package/dist/Types/Internal/GridMultiSelectItem.d.ts +2 -2
- package/dist/Types/Internal/GridSelectItem.d.ts +1 -1
- package/dist/Types/Internal/TabOption.d.ts +1 -1
- package/dist/index.d.ts +158 -73
- package/dist/index.js +80 -51
- package/package.json +15 -14
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { FocusEventHandler, KeyboardEventHandler } from 'svelte/elements';
|
|
3
|
-
export interface InputProps {
|
|
4
|
-
value?: string;
|
|
5
|
-
label?: string;
|
|
6
|
-
placeholder?: string;
|
|
7
|
-
required?: boolean;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
showInput?: boolean;
|
|
10
|
-
leftIcon?: PartialIconProps;
|
|
11
|
-
inputRef?: HTMLInputElement | undefined;
|
|
12
|
-
onblur?: FocusEventHandler<HTMLInputElement>;
|
|
13
|
-
onfocus?: FocusEventHandler<HTMLInputElement>;
|
|
14
|
-
onkeydown?: KeyboardEventHandler<HTMLInputElement>;
|
|
15
|
-
}
|
|
1
|
+
import type { InputProps } from './InputProps.js';
|
|
16
2
|
declare const PasswordInput: import("svelte").Component<InputProps, {}, "value" | "inputRef" | "showInput">;
|
|
17
3
|
type PasswordInput = ReturnType<typeof PasswordInput>;
|
|
18
4
|
export default PasswordInput;
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts" module>
|
|
4
|
-
export interface PortalProps {
|
|
5
|
-
target?: HTMLElement;
|
|
6
|
-
children: Snippet;
|
|
7
|
-
}
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
3
|
<script lang="ts">
|
|
11
|
-
import {
|
|
4
|
+
import { browser } from '$app/environment';
|
|
5
|
+
import type { PortalProps } from './PortalProps.js';
|
|
12
6
|
|
|
13
|
-
let { target = globalThis.document
|
|
7
|
+
let { target = browser ? globalThis.document.body : undefined, children }: PortalProps = $props();
|
|
14
8
|
|
|
15
9
|
let ref: HTMLElement | undefined = $state();
|
|
16
10
|
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
target?: HTMLElement;
|
|
3
|
-
children: Snippet;
|
|
4
|
-
}
|
|
5
|
-
import { type Snippet } from 'svelte';
|
|
1
|
+
import type { PortalProps } from './PortalProps.js';
|
|
6
2
|
declare const Portal: import("svelte").Component<PortalProps, {}, "">;
|
|
7
3
|
type Portal = ReturnType<typeof Portal>;
|
|
8
4
|
export default Portal;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts"
|
|
4
|
-
import { getCanvasContext } from '../Helpers/Helpers.svelte.js';
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { devCatch, getCanvasContext } from '../Helpers/Helpers.svelte.js';
|
|
5
5
|
import { tick } from 'svelte';
|
|
6
|
-
import type { BubbleColour } from './
|
|
7
|
-
|
|
8
|
-
export interface BubbleProps {
|
|
9
|
-
value: [number, number];
|
|
6
|
+
import type { BubbleColour } from './BubbleColour.js';
|
|
7
|
+
import type { ProgressBubbleProps } from './ProgressBubbleProps.js';
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<script lang="ts">
|
|
16
|
-
let { value, colours }: BubbleProps = $props();
|
|
9
|
+
let { value, colours }: ProgressBubbleProps = $props();
|
|
17
10
|
|
|
18
11
|
let current = $derived(value[0]);
|
|
19
12
|
// let current = $derived(37)
|
|
@@ -27,16 +20,18 @@
|
|
|
27
20
|
$effect(() => {
|
|
28
21
|
if (progress && progressBarRef) {
|
|
29
22
|
const oldRef = progressBarRef;
|
|
30
|
-
tick()
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
tick()
|
|
24
|
+
.then(() => {
|
|
25
|
+
if (oldRef === progressBarRef) {
|
|
26
|
+
const textWidth = getCanvasContext()?.measureText(`__${progress}__`).width ?? 0;
|
|
27
|
+
const progresValueWidth = progressBarRef.getBoundingClientRect().width;
|
|
34
28
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
fitsInProgressBar = progresValueWidth > textWidth;
|
|
30
|
+
} else {
|
|
31
|
+
fitsInProgressBar = false;
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
.catch(devCatch);
|
|
40
35
|
}
|
|
41
36
|
});
|
|
42
37
|
|
|
@@ -49,7 +44,10 @@
|
|
|
49
44
|
.then((c) => {
|
|
50
45
|
awaitedColours = c;
|
|
51
46
|
})
|
|
52
|
-
.catch((
|
|
47
|
+
.catch((e: unknown) => {
|
|
48
|
+
devCatch(e);
|
|
49
|
+
awaitedColours = undefined;
|
|
50
|
+
});
|
|
53
51
|
} else {
|
|
54
52
|
awaitedColours = colours;
|
|
55
53
|
}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
value: [number, number];
|
|
4
|
-
colours?: BubbleColour | Promise<BubbleColour> | undefined;
|
|
5
|
-
}
|
|
6
|
-
declare const ProgressBubble: import("svelte").Component<BubbleProps, {}, "">;
|
|
1
|
+
import type { ProgressBubbleProps } from './ProgressBubbleProps.js';
|
|
2
|
+
declare const ProgressBubble: import("svelte").Component<ProgressBubbleProps, {}, "">;
|
|
7
3
|
type ProgressBubble = ReturnType<typeof ProgressBubble>;
|
|
8
4
|
export default ProgressBubble;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
labelProp: NonNullableKey<V>;
|
|
6
6
|
valueProp: VP;
|
|
7
7
|
|
|
8
|
-
query: (value: string) => Promise<V
|
|
8
|
+
query: (value: string) => Promise<Array<V>>;
|
|
9
9
|
onchange: (newValue: V | null) => void;
|
|
10
10
|
|
|
11
|
-
options?: V
|
|
11
|
+
options?: Array<V>;
|
|
12
12
|
name?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
width?: string;
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
> extends QuerySelectPropsAsObjectCommonProps<V, VP> {
|
|
38
38
|
valueAsObject: false;
|
|
39
39
|
value: V[VP] | null;
|
|
40
|
-
options: V
|
|
40
|
+
options: Array<V>;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export type QuerySelectProps<V extends object, VP extends ValueProp<V>> =
|
|
@@ -49,19 +49,21 @@
|
|
|
49
49
|
<script lang="ts" generics="V extends object, VP extends ValueProp<V>">
|
|
50
50
|
import { ToastContext } from '../Contexts/ToastContext.svelte.js';
|
|
51
51
|
|
|
52
|
+
import { dev } from '$app/environment';
|
|
52
53
|
import {
|
|
54
|
+
devCatch,
|
|
53
55
|
generateShortUUID,
|
|
54
56
|
getErrorMessage,
|
|
55
57
|
isErrorResponse,
|
|
56
58
|
vowels
|
|
57
59
|
} from '../Helpers/Helpers.svelte.js';
|
|
58
60
|
import { Colour, ColourSet } from '../scss/colours.js';
|
|
59
|
-
import
|
|
60
|
-
import { getContext, onMount, tick, untrack } from 'svelte';
|
|
61
|
-
import Action from './Action.svelte';
|
|
61
|
+
import type { NonNullableKey, ValueProp } from '../Types/Internal/Misc.js';
|
|
62
62
|
import { Size } from '../Types/Internal/Size.js';
|
|
63
63
|
import { Validity } from '../Types/Internal/Validity.js';
|
|
64
|
-
import
|
|
64
|
+
import Svelecte from 'svelecte';
|
|
65
|
+
import { getContext, onMount, type Snippet, tick, untrack } from 'svelte';
|
|
66
|
+
import Action from './Action.svelte';
|
|
65
67
|
|
|
66
68
|
let {
|
|
67
69
|
label,
|
|
@@ -79,7 +81,7 @@
|
|
|
79
81
|
focusOnLoad = false,
|
|
80
82
|
inputId = generateShortUUID(),
|
|
81
83
|
value: selectedValue,
|
|
82
|
-
options = $bindable<V
|
|
84
|
+
options = $bindable<Array<V>>([]),
|
|
83
85
|
isValid,
|
|
84
86
|
onchange,
|
|
85
87
|
onfocus
|
|
@@ -92,9 +94,9 @@
|
|
|
92
94
|
const searchValue = (input as HTMLInputElement).value;
|
|
93
95
|
|
|
94
96
|
const currentHandler = (timeoutHandler = setTimeout(() => {
|
|
95
|
-
tryQuery(currentHandler, searchValue);
|
|
97
|
+
tryQuery(currentHandler, searchValue).catch(devCatch);
|
|
96
98
|
}, 500) as unknown as number);
|
|
97
|
-
tryQuery(currentHandler, searchValue);
|
|
99
|
+
tryQuery(currentHandler, searchValue).catch(devCatch);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
let ref: Svelecte | undefined = $state();
|
|
@@ -103,18 +105,29 @@
|
|
|
103
105
|
let isLoading = $state(false);
|
|
104
106
|
let hasRegisteredListeners = $state(false);
|
|
105
107
|
|
|
108
|
+
function isObjectValue(value: unknown): value is V {
|
|
109
|
+
return value !== null && typeof value == 'object' && labelProp in value && valueProp in value;
|
|
110
|
+
}
|
|
111
|
+
|
|
106
112
|
$effect.pre(() => {
|
|
107
113
|
void selectedValue;
|
|
108
114
|
untrack(() => {
|
|
109
115
|
if (selectedValue != null) {
|
|
110
116
|
if (valueAsObject) {
|
|
111
|
-
if (
|
|
112
|
-
options.
|
|
117
|
+
if (isObjectValue(selectedValue)) {
|
|
118
|
+
if (!options.some((opt: V) => opt[valueProp] === selectedValue[valueProp])) {
|
|
119
|
+
options.push(selectedValue);
|
|
120
|
+
}
|
|
121
|
+
} else if (dev) {
|
|
122
|
+
console.warn(`valueAsObject is true but the value doesn't match`, selectedValue);
|
|
123
|
+
return;
|
|
113
124
|
}
|
|
114
125
|
} else if (!options.some((opt: V) => opt[valueProp] === selectedValue)) {
|
|
115
126
|
options.push({
|
|
127
|
+
//best-effort solution. Not a good one
|
|
128
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
116
129
|
[labelProp]: selectedValue.toString(),
|
|
117
|
-
[valueProp
|
|
130
|
+
[valueProp]: selectedValue
|
|
118
131
|
} as V);
|
|
119
132
|
}
|
|
120
133
|
}
|
|
@@ -137,7 +150,7 @@
|
|
|
137
150
|
if (focusOnLoad && !hasAutoFocused) {
|
|
138
151
|
hasAutoFocused = true;
|
|
139
152
|
|
|
140
|
-
const input = e
|
|
153
|
+
const input = e;
|
|
141
154
|
|
|
142
155
|
input.click();
|
|
143
156
|
|
|
@@ -161,12 +174,20 @@
|
|
|
161
174
|
}
|
|
162
175
|
}
|
|
163
176
|
|
|
177
|
+
// HACK svelecte type shenanigans
|
|
178
|
+
function isFocusable(ref: unknown): ref is HTMLInputElement {
|
|
179
|
+
return ref != null;
|
|
180
|
+
}
|
|
181
|
+
|
|
164
182
|
onMount(() => {
|
|
165
183
|
if (focusOnLoad) {
|
|
166
|
-
tick()
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
184
|
+
tick()
|
|
185
|
+
.then(() => {
|
|
186
|
+
if (isFocusable(ref)) {
|
|
187
|
+
ref.focus();
|
|
188
|
+
}
|
|
189
|
+
})
|
|
190
|
+
.catch(devCatch);
|
|
170
191
|
}
|
|
171
192
|
|
|
172
193
|
const input = document.getElementById(inputId);
|
|
@@ -179,16 +200,14 @@
|
|
|
179
200
|
|
|
180
201
|
// HACK callback for is-open on/off
|
|
181
202
|
const dropdownRef = input?.closest('div.svelecte')?.querySelector('.sv_dropdown') ?? undefined;
|
|
182
|
-
const observer = new MutationObserver(
|
|
183
|
-
(mutations
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
isExpanded = dropdownRef?.classList?.contains('is-open') ?? false;
|
|
188
|
-
}
|
|
203
|
+
const observer = new MutationObserver((mutations: Array<MutationRecord>) => {
|
|
204
|
+
for (let i = mutations.length - 1; i > -1; i--) {
|
|
205
|
+
const mutation = mutations[i];
|
|
206
|
+
if (mutation.attributeName === 'class') {
|
|
207
|
+
isExpanded = dropdownRef?.classList.contains('is-open') ?? false;
|
|
189
208
|
}
|
|
190
209
|
}
|
|
191
|
-
);
|
|
210
|
+
});
|
|
192
211
|
|
|
193
212
|
if (dropdownRef) {
|
|
194
213
|
observer.observe(dropdownRef, { attributes: true });
|
|
@@ -203,7 +222,7 @@
|
|
|
203
222
|
|
|
204
223
|
$effect(() => {
|
|
205
224
|
if (loadingDiv && isLoading) {
|
|
206
|
-
loadingDiv
|
|
225
|
+
loadingDiv.classList.add('is-loading');
|
|
207
226
|
} else {
|
|
208
227
|
loadingDiv?.classList.remove('is-loading');
|
|
209
228
|
}
|
|
@@ -215,12 +234,12 @@
|
|
|
215
234
|
|
|
216
235
|
const inputElement = e;
|
|
217
236
|
|
|
218
|
-
loadingDiv = inputElement
|
|
237
|
+
loadingDiv = inputElement.parentElement?.parentElement?.nextElementSibling as
|
|
219
238
|
| HTMLDivElement
|
|
220
239
|
| undefined;
|
|
221
240
|
|
|
222
241
|
const currentHandler = (timeoutHandler = setTimeout(() => {
|
|
223
|
-
tryQuery(currentHandler, '');
|
|
242
|
+
tryQuery(currentHandler, '').catch(devCatch);
|
|
224
243
|
}, 500) as unknown as number);
|
|
225
244
|
|
|
226
245
|
inputElement.addEventListener('input', (e) => {
|
|
@@ -229,23 +248,25 @@
|
|
|
229
248
|
const searchValue = (e.target as HTMLInputElement).value;
|
|
230
249
|
|
|
231
250
|
const currentHandler = (timeoutHandler = setTimeout(() => {
|
|
232
|
-
tryQuery(currentHandler, searchValue);
|
|
251
|
+
tryQuery(currentHandler, searchValue).catch(devCatch);
|
|
233
252
|
}, 500) as unknown as number);
|
|
234
253
|
});
|
|
235
254
|
|
|
236
255
|
inputElement.addEventListener('keydown', (e) => {
|
|
237
256
|
if (e.key === 'Enter') {
|
|
238
|
-
tick()
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
257
|
+
tick()
|
|
258
|
+
.then(() => {
|
|
259
|
+
const searchValue = (e.target as HTMLInputElement).value;
|
|
260
|
+
if (searchValue) {
|
|
261
|
+
// dispatch('search', { value: inputElement.value });
|
|
262
|
+
clearTimeout(timeoutHandler);
|
|
263
|
+
|
|
264
|
+
const currentHandler = (timeoutHandler = setTimeout(() => {
|
|
265
|
+
tryQuery(currentHandler, searchValue, true).catch(devCatch);
|
|
266
|
+
}, 1) as unknown as number);
|
|
267
|
+
}
|
|
268
|
+
})
|
|
269
|
+
.catch(devCatch);
|
|
249
270
|
}
|
|
250
271
|
});
|
|
251
272
|
}
|
|
@@ -283,8 +304,8 @@
|
|
|
283
304
|
}
|
|
284
305
|
}
|
|
285
306
|
|
|
286
|
-
const an = $derived(vowels.has(name[0]
|
|
287
|
-
|
|
307
|
+
const an = $derived(vowels.has(name[0].toLocaleLowerCase()) ? 'an' : 'a');
|
|
308
|
+
|
|
288
309
|
let isExpanded = $state(false);
|
|
289
310
|
</script>
|
|
290
311
|
|
|
@@ -328,13 +349,13 @@
|
|
|
328
349
|
lazyDropdown
|
|
329
350
|
{valueAsObject}
|
|
330
351
|
{options}
|
|
331
|
-
value={selectedValue as
|
|
352
|
+
value={selectedValue as Array<unknown>}
|
|
332
353
|
{onChange}
|
|
333
354
|
selectOnTab
|
|
334
355
|
deselectMode={required && !clearable ? 'none' : 'toggle'}
|
|
335
356
|
keepSelectionInList
|
|
336
357
|
{name}
|
|
337
|
-
{selection}
|
|
358
|
+
selection={selection as (selectedOptions: Array<object>) => ReturnType<Snippet>}
|
|
338
359
|
{append}
|
|
339
360
|
>
|
|
340
361
|
{#snippet toggleIcon()}
|
|
@@ -353,7 +374,7 @@
|
|
|
353
374
|
noTabIndex
|
|
354
375
|
colourSet={ColourSet.Auxiliary}
|
|
355
376
|
size={Size.Small}
|
|
356
|
-
onclick={(e) => {
|
|
377
|
+
onclick={(e: MouseEvent) => {
|
|
357
378
|
if (isExpanded) {
|
|
358
379
|
e.stopPropagation();
|
|
359
380
|
}
|
|
@@ -380,11 +401,11 @@
|
|
|
380
401
|
</div>
|
|
381
402
|
{/snippet}
|
|
382
403
|
|
|
383
|
-
{#snippet selection(selectedOptions: Array<
|
|
404
|
+
{#snippet selection(selectedOptions: Array<V>)}
|
|
384
405
|
{#if selectedOptions.length == 0}
|
|
385
|
-
<span class="selection"
|
|
406
|
+
<span class="selection">Please Select {an} {name}</span>
|
|
386
407
|
{:else}
|
|
387
|
-
<span class="selection">{
|
|
408
|
+
<span class="selection">{selectedOptions[0][labelProp]}</span>
|
|
388
409
|
{/if}
|
|
389
410
|
{/snippet}
|
|
390
411
|
</div>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
interface QuerySelectPropsAsObjectCommonProps<V extends object, VP extends ValueProp<V>> {
|
|
2
2
|
labelProp: NonNullableKey<V>;
|
|
3
3
|
valueProp: VP;
|
|
4
|
-
query: (value: string) => Promise<V
|
|
4
|
+
query: (value: string) => Promise<Array<V>>;
|
|
5
5
|
onchange: (newValue: V | null) => void;
|
|
6
|
-
options?: V
|
|
6
|
+
options?: Array<V>;
|
|
7
7
|
name?: string;
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
width?: string;
|
|
@@ -24,7 +24,7 @@ export interface QuerySelectPropsAsObject<V extends object, VP extends ValueProp
|
|
|
24
24
|
export interface QuerySelectPropsAsPrimitive<V extends object, VP extends ValueProp<V>> extends QuerySelectPropsAsObjectCommonProps<V, VP> {
|
|
25
25
|
valueAsObject: false;
|
|
26
26
|
value: V[VP] | null;
|
|
27
|
-
options: V
|
|
27
|
+
options: Array<V>;
|
|
28
28
|
}
|
|
29
29
|
export type QuerySelectProps<V extends object, VP extends ValueProp<V>> = QuerySelectPropsAsObject<V, VP> | QuerySelectPropsAsPrimitive<V, VP>;
|
|
30
30
|
import type { NonNullableKey, ValueProp } from '../Types/Internal/Misc.js';
|
|
@@ -1,64 +1,15 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts"
|
|
4
|
-
import { generateShortUUID, vowels } from '../Helpers/Helpers.svelte.js';
|
|
3
|
+
<script lang="ts" generics="V extends object, VP extends ValueProp<V>">
|
|
4
|
+
import { devCatch, generateShortUUID, vowels } from '../Helpers/Helpers.svelte.js';
|
|
5
5
|
import { Colour, ColourSet } from '../scss/colours.js';
|
|
6
|
-
import type {
|
|
6
|
+
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
7
7
|
import { Size } from '../Types/Internal/Size.js';
|
|
8
8
|
import Svelecte from 'svelecte';
|
|
9
9
|
import { onMount, tick } from 'svelte';
|
|
10
10
|
import Action from './Action.svelte';
|
|
11
|
+
import type { SingleSelectProps } from './SingleSelectProps.js';
|
|
11
12
|
|
|
12
|
-
interface SingleSelectCommonProps<V extends object, VP extends ValueProp<V>> {
|
|
13
|
-
options: V[];
|
|
14
|
-
|
|
15
|
-
labelProp: NonNullableKey<V>;
|
|
16
|
-
valueProp: VP;
|
|
17
|
-
// value: V | V[VP] | null;
|
|
18
|
-
|
|
19
|
-
onchange: (newValue: V | null) => void;
|
|
20
|
-
|
|
21
|
-
name?: string;
|
|
22
|
-
width?: string;
|
|
23
|
-
height?: string;
|
|
24
|
-
label?: string;
|
|
25
|
-
minHeight?: string;
|
|
26
|
-
focusOnLoad?: boolean;
|
|
27
|
-
searchable?: boolean;
|
|
28
|
-
creatable?: boolean;
|
|
29
|
-
onCreateOption?: (option: V) => void;
|
|
30
|
-
virtual?: boolean;
|
|
31
|
-
clearable?: boolean;
|
|
32
|
-
disabled?: boolean;
|
|
33
|
-
borderless?: boolean;
|
|
34
|
-
forceUpwards?: boolean;
|
|
35
|
-
lazyDropdown?: boolean;
|
|
36
|
-
required?: boolean;
|
|
37
|
-
invalid?: boolean;
|
|
38
|
-
inputId?: string;
|
|
39
|
-
createFilter?: (value: string) => boolean;
|
|
40
|
-
onkeydown?: (e: KeyboardEvent) => void;
|
|
41
|
-
onfocus?: (target: HTMLInputElement) => void;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface SingleSelectPropsAsObject<V extends object, VP extends ValueProp<V>>
|
|
45
|
-
extends SingleSelectCommonProps<V, VP> {
|
|
46
|
-
valueAsObject: true;
|
|
47
|
-
value: V | null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface SingleSelectPropsAsPrimitive<V extends object, VP extends ValueProp<V>>
|
|
51
|
-
extends SingleSelectCommonProps<V, VP> {
|
|
52
|
-
valueAsObject: false;
|
|
53
|
-
value: V[VP] | null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export type SingleSelectProps<V extends object, VP extends ValueProp<V>> =
|
|
57
|
-
| SingleSelectPropsAsPrimitive<V, VP>
|
|
58
|
-
| SingleSelectPropsAsObject<V, VP>;
|
|
59
|
-
</script>
|
|
60
|
-
|
|
61
|
-
<script lang="ts" generics="V extends object, VP extends ValueProp<V>">
|
|
62
13
|
const {
|
|
63
14
|
label,
|
|
64
15
|
options,
|
|
@@ -67,7 +18,7 @@
|
|
|
67
18
|
focusOnLoad = false,
|
|
68
19
|
searchable = true,
|
|
69
20
|
creatable = false,
|
|
70
|
-
|
|
21
|
+
|
|
71
22
|
createFilter,
|
|
72
23
|
disabled,
|
|
73
24
|
width,
|
|
@@ -84,14 +35,15 @@
|
|
|
84
35
|
inputId = generateShortUUID(),
|
|
85
36
|
value: selectedValue,
|
|
86
37
|
onchange,
|
|
87
|
-
onkeydown,
|
|
38
|
+
// onkeydown, // TODO
|
|
88
39
|
onfocus,
|
|
89
40
|
onCreateOption
|
|
90
41
|
}: SingleSelectProps<V, VP> = $props();
|
|
91
42
|
|
|
92
43
|
// FIXME this in combination with the effect may trigger a double assignment on mount. We will need to test it.
|
|
93
|
-
|
|
94
|
-
let
|
|
44
|
+
|
|
45
|
+
let currentValue = $derived(selectedValue);
|
|
46
|
+
let ref = $state<Svelecte | undefined>();
|
|
95
47
|
let wrapperRef: HTMLDivElement | undefined = $state();
|
|
96
48
|
|
|
97
49
|
$effect.pre(() => {
|
|
@@ -113,7 +65,7 @@
|
|
|
113
65
|
// }
|
|
114
66
|
// });
|
|
115
67
|
|
|
116
|
-
const an = $derived(name && vowels.has(name
|
|
68
|
+
const an = $derived(name && vowels.has(name.at(0)?.toLocaleLowerCase() ?? '') ? 'an' : 'a');
|
|
117
69
|
|
|
118
70
|
const isInvalid = $derived((required && !currentValue) || invalid);
|
|
119
71
|
|
|
@@ -152,10 +104,11 @@
|
|
|
152
104
|
|
|
153
105
|
onMount(() => {
|
|
154
106
|
if (focusOnLoad) {
|
|
155
|
-
tick()
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
107
|
+
tick()
|
|
108
|
+
.then(() => {
|
|
109
|
+
(ref as HTMLSelectElement | undefined)?.focus();
|
|
110
|
+
})
|
|
111
|
+
.catch(devCatch);
|
|
159
112
|
}
|
|
160
113
|
|
|
161
114
|
const input = document.getElementById(inputId);
|
|
@@ -168,11 +121,11 @@
|
|
|
168
121
|
|
|
169
122
|
// HACK callback for is-open on/off
|
|
170
123
|
const dropdownRef = input?.closest('div.svelecte')?.querySelector('.sv_dropdown') ?? undefined;
|
|
171
|
-
const observer = new MutationObserver((mutations: MutationRecord
|
|
124
|
+
const observer = new MutationObserver((mutations: Array<MutationRecord>) => {
|
|
172
125
|
for (let i = mutations.length - 1; i > -1; i--) {
|
|
173
126
|
const mutation = mutations[i];
|
|
174
127
|
if (mutation.attributeName === 'class') {
|
|
175
|
-
isExpanded = dropdownRef?.classList
|
|
128
|
+
isExpanded = dropdownRef?.classList.contains('is-open') ?? false;
|
|
176
129
|
}
|
|
177
130
|
}
|
|
178
131
|
});
|
|
@@ -194,12 +147,16 @@
|
|
|
194
147
|
// currentValue = selectedValue;
|
|
195
148
|
// }
|
|
196
149
|
// }
|
|
150
|
+
|
|
151
|
+
function isObject(value: SingleSelectProps<V, VP>['value']): value is V | null {
|
|
152
|
+
return typeof value == 'object';
|
|
153
|
+
}
|
|
197
154
|
</script>
|
|
198
155
|
|
|
199
156
|
<div
|
|
200
157
|
class="select-wrapper"
|
|
201
158
|
class:no-border={borderless}
|
|
202
|
-
style={`${width ? `--input-width: ${width};` : ''}${height ? `--input-height: ${height};` : ''}--dropdown-bottom: calc(${dropdownBottom}px + 1px)
|
|
159
|
+
style={`${width ? `--input-width: ${width};` : ''}${height ? `--input-height: ${height};` : ''} --dropdown-bottom: calc(${dropdownBottom}px + 1px); --sv-min-height: ${minHeight ?? '2rem'};`}
|
|
203
160
|
class:invalid={isInvalid}
|
|
204
161
|
class:force-upwards={forceUpwards}
|
|
205
162
|
bind:this={wrapperRef}
|
|
@@ -237,7 +194,7 @@
|
|
|
237
194
|
placeholder="Please Select {name ? `${an} ${name}` : ''}"
|
|
238
195
|
{lazyDropdown}
|
|
239
196
|
value={// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
240
|
-
currentValue as any
|
|
197
|
+
currentValue as Array<any>}
|
|
241
198
|
onChange={onchange}
|
|
242
199
|
{searchable}
|
|
243
200
|
selectOnTab
|
|
@@ -251,7 +208,7 @@
|
|
|
251
208
|
{#if clearable && currentValue}
|
|
252
209
|
<Action
|
|
253
210
|
noTabIndex
|
|
254
|
-
onclick={(e) => {
|
|
211
|
+
onclick={(e: MouseEvent) => {
|
|
255
212
|
if (isExpanded) {
|
|
256
213
|
e.stopPropagation();
|
|
257
214
|
}
|
|
@@ -286,13 +243,13 @@
|
|
|
286
243
|
<Icon name="chevron-down" size={Size.MediumSmall} />
|
|
287
244
|
</div> -->
|
|
288
245
|
{/snippet}
|
|
289
|
-
|
|
290
|
-
{#snippet selection(
|
|
246
|
+
|
|
247
|
+
{#snippet selection(/*_selectedOptions: Array<any>*/)}
|
|
291
248
|
<!-- <span class="selection">hello</span> -->
|
|
292
249
|
|
|
293
250
|
<span class="selection" class:invalid={isInvalid}>
|
|
294
|
-
{#if
|
|
295
|
-
{
|
|
251
|
+
{#if isObject(selectedValue)}
|
|
252
|
+
{selectedValue?.[labelProp]}
|
|
296
253
|
{:else}
|
|
297
254
|
{options.find((it) => it[valueProp] === selectedValue)?.[labelProp]}
|
|
298
255
|
{/if}
|
|
@@ -1,40 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
options: V[];
|
|
4
|
-
labelProp: NonNullableKey<V>;
|
|
5
|
-
valueProp: VP;
|
|
6
|
-
onchange: (newValue: V | null) => void;
|
|
7
|
-
name?: string;
|
|
8
|
-
width?: string;
|
|
9
|
-
height?: string;
|
|
10
|
-
label?: string;
|
|
11
|
-
minHeight?: string;
|
|
12
|
-
focusOnLoad?: boolean;
|
|
13
|
-
searchable?: boolean;
|
|
14
|
-
creatable?: boolean;
|
|
15
|
-
onCreateOption?: (option: V) => void;
|
|
16
|
-
virtual?: boolean;
|
|
17
|
-
clearable?: boolean;
|
|
18
|
-
disabled?: boolean;
|
|
19
|
-
borderless?: boolean;
|
|
20
|
-
forceUpwards?: boolean;
|
|
21
|
-
lazyDropdown?: boolean;
|
|
22
|
-
required?: boolean;
|
|
23
|
-
invalid?: boolean;
|
|
24
|
-
inputId?: string;
|
|
25
|
-
createFilter?: (value: string) => boolean;
|
|
26
|
-
onkeydown?: (e: KeyboardEvent) => void;
|
|
27
|
-
onfocus?: (target: HTMLInputElement) => void;
|
|
28
|
-
}
|
|
29
|
-
export interface SingleSelectPropsAsObject<V extends object, VP extends ValueProp<V>> extends SingleSelectCommonProps<V, VP> {
|
|
30
|
-
valueAsObject: true;
|
|
31
|
-
value: V | null;
|
|
32
|
-
}
|
|
33
|
-
export interface SingleSelectPropsAsPrimitive<V extends object, VP extends ValueProp<V>> extends SingleSelectCommonProps<V, VP> {
|
|
34
|
-
valueAsObject: false;
|
|
35
|
-
value: V[VP] | null;
|
|
36
|
-
}
|
|
37
|
-
export type SingleSelectProps<V extends object, VP extends ValueProp<V>> = SingleSelectPropsAsPrimitive<V, VP> | SingleSelectPropsAsObject<V, VP>;
|
|
1
|
+
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
2
|
+
import type { SingleSelectProps } from './SingleSelectProps.js';
|
|
38
3
|
declare function $$render<V extends object, VP extends ValueProp<V>>(): {
|
|
39
4
|
props: SingleSelectProps<V, VP>;
|
|
40
5
|
exports: {};
|