@lavalogic/scoria 0.36.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/AccordionGroup.svelte +6 -2
- package/dist/Components/AccordionGroupButton.svelte +78 -78
- package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
- package/dist/Components/AccordionGroupProps.d.ts +10 -2
- package/dist/Components/Action.svelte +31 -33
- package/dist/Components/ActionProps.d.ts +23 -3
- package/dist/Components/AlertModal.svelte +90 -39
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
- package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
- package/dist/Components/Base/BaseModal.svelte +172 -0
- package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
- package/dist/Components/Base/BaseModalProps.d.ts +73 -0
- package/dist/Components/Base/BaseModalProps.js +1 -0
- package/dist/Components/Base/ContextWrapper.svelte +37 -15
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
- package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
- package/dist/Components/Base/Pagination.svelte +70 -62
- package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
- package/dist/Components/Base/PaginationProps.d.ts +60 -3
- package/dist/Components/Base/Snippets.svelte +7 -0
- package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
- package/dist/Components/BigRadioSet.svelte +18 -9
- package/dist/Components/BigRadioSetProps.d.ts +17 -1
- package/dist/Components/Bubble.svelte +67 -34
- package/dist/Components/Bubble.svelte.d.ts +23 -2
- package/dist/Components/BubbleProps.d.ts +55 -4
- package/dist/Components/Button.svelte +50 -38
- package/dist/Components/ButtonProps.d.ts +66 -1
- package/dist/Components/Checkbox.svelte +57 -29
- package/dist/Components/Checkbox.svelte.d.ts +1 -12
- package/dist/Components/CheckboxProps.d.ts +27 -0
- package/dist/Components/CheckboxProps.js +1 -0
- package/dist/Components/CollapsibleCard.svelte +53 -22
- package/dist/Components/CollapsibleCardProps.d.ts +22 -1
- package/dist/Components/Contexts/ContextMenu.svelte +53 -32
- package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
- package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
- package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
- package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
- package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
- package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
- package/dist/Components/Contexts/Toast.svelte +28 -4
- package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastContainer.svelte +30 -11
- package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
- package/dist/Components/Contexts/ToastProps.d.ts +14 -1
- package/dist/Components/Contexts/Tooltip.svelte +21 -10
- package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
- package/dist/Components/DataMatrixIcon.svelte +82 -11
- package/dist/Components/DataMatrixIconProps.d.ts +73 -1
- package/dist/Components/DateInput.svelte +64 -29
- package/dist/Components/DateInput.svelte.d.ts +1 -1
- package/dist/Components/DateOnlyInputProps.d.ts +31 -5
- package/dist/Components/DatePicker.svelte +96 -108
- package/dist/Components/DatePickerProps.d.ts +18 -1
- package/dist/Components/DateTimeInputProps.d.ts +30 -5
- package/dist/Components/DesktopModal.svelte +14 -43
- package/dist/Components/DesktopModalProps.d.ts +5 -4
- package/dist/Components/Dial.svelte +103 -41
- package/dist/Components/DialProps.d.ts +74 -2
- package/dist/Components/DimensionInput.svelte +50 -64
- package/dist/Components/DimensionInput.svelte.d.ts +1 -1
- package/dist/Components/DimensionInputProps.d.ts +39 -4
- package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
- package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
- package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
- package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
- package/dist/Components/FileCard.svelte +6 -2
- package/dist/Components/FileCardProps.d.ts +17 -1
- package/dist/Components/FileUpload.svelte +82 -42
- package/dist/Components/FileUploadProps.d.ts +34 -4
- package/dist/Components/GridInput.svelte +27 -17
- package/dist/Components/GridInput.svelte.d.ts +5 -5
- package/dist/Components/GridInputProps.d.ts +4 -1
- package/dist/Components/GridInputSet.svelte +12 -5
- package/dist/Components/GridInputSet.svelte.d.ts +5 -5
- package/dist/Components/GridInputSetProps.d.ts +4 -2
- package/dist/Components/HorizontalTabGroup.svelte +13 -11
- package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
- package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
- package/dist/Components/Icon.svelte +62 -21
- package/dist/Components/IconProps.d.ts +54 -6
- package/dist/Components/Icons.d.ts +8 -0
- package/dist/Components/Icons.js +234 -215
- package/dist/Components/LoadingAnimation.svelte +18 -18
- package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
- package/dist/Components/LoadingAnimationProps.d.ts +16 -0
- package/dist/Components/LoadingAnimationProps.js +1 -0
- package/dist/Components/LoadingModal.svelte +18 -20
- package/dist/Components/LoadingModal.svelte.d.ts +1 -4
- package/dist/Components/LoadingModalProps.d.ts +17 -0
- package/dist/Components/LoadingModalProps.js +1 -0
- package/dist/Components/LoadingOverlay.svelte +11 -13
- package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
- package/dist/Components/LoadingOverlayProps.d.ts +28 -0
- package/dist/Components/LoadingOverlayProps.js +1 -0
- package/dist/Components/Modal.svelte +77 -82
- package/dist/Components/Modal.svelte.d.ts +1 -25
- package/dist/Components/ModalProps.d.ts +65 -0
- package/dist/Components/ModalProps.js +1 -0
- package/dist/Components/MultiSelect.svelte +88 -76
- package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
- package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
- package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
- package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
- package/dist/Components/Nav/Nav.svelte +35 -30
- package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavProps.d.ts +50 -3
- package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
- package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
- package/dist/Components/Nav/NavTab.svelte +19 -48
- package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
- package/dist/Components/Nav/NavTabProps.d.ts +16 -2
- package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
- package/dist/Components/Nav/ServicesNav.svelte +60 -34
- package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
- package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
- package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
- package/dist/Components/NumberInput.svelte +37 -27
- package/dist/Components/NumberInputProps.d.ts +37 -0
- package/dist/Components/PageHeading.svelte +2 -13
- package/dist/Components/PageHeading.svelte.d.ts +1 -6
- package/dist/Components/PageHeadingProps.d.ts +23 -0
- package/dist/Components/PageHeadingProps.js +1 -0
- package/dist/Components/PasswordInput.svelte +27 -15
- package/dist/Components/PasswordInput.svelte.d.ts +2 -2
- package/dist/Components/PasswordInputProps.d.ts +21 -0
- package/dist/Components/PasswordInputProps.js +1 -0
- package/dist/Components/Portal.svelte +14 -3
- package/dist/Components/PortalProps.d.ts +20 -1
- package/dist/Components/ProgressBubble.svelte +98 -53
- package/dist/Components/ProgressBubbleProps.d.ts +23 -2
- package/dist/Components/QuerySelect.svelte +103 -159
- package/dist/Components/QuerySelect.svelte.d.ts +2 -29
- package/dist/Components/QuerySelectProps.d.ts +66 -0
- package/dist/Components/QuerySelectProps.js +1 -0
- package/dist/Components/SingleSelect.svelte +86 -108
- package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
- package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
- package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
- package/dist/Components/StepButton.svelte +19 -69
- package/dist/Components/StepForm.svelte +52 -52
- package/dist/Components/StepFormProps.d.ts +16 -2
- package/dist/Components/Switch.svelte +68 -31
- package/dist/Components/Switch.svelte.d.ts +1 -1
- package/dist/Components/SwitchProps.d.ts +46 -0
- package/dist/Components/Table/Body/HeightData.d.ts +1 -6
- package/dist/Components/Table/Body/HeightData.js +8 -0
- package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
- package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
- package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +424 -91
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
- package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +47 -24
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
- package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
- package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
- package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +23 -13
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
- package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
- package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
- package/dist/Components/Table/Body/TableBody.svelte +170 -53
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
- package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
- package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
- package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
- package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
- package/dist/Components/Table/Headers/TableHead.svelte +340 -200
- package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
- package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
- package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
- package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
- package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
- package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
- package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
- package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
- package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
- package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
- package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
- package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
- package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
- package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
- package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
- package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
- package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
- package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
- package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
- package/dist/Components/Table/NestedTable.svelte +85 -41
- package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
- package/dist/Components/Table/NestedTableProps.d.ts +25 -0
- package/dist/Components/Table/NestedTableProps.js +1 -0
- package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
- package/dist/Components/Table/SubApis.svelte.js +359 -0
- package/dist/Components/Table/Table.svelte +347 -172
- package/dist/Components/Table/Table.svelte.d.ts +24 -1
- package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
- package/dist/Components/Table/TableHelpers.svelte.js +88 -0
- package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
- package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
- package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
- package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
- package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
- package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
- package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
- package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
- package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
- package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
- package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
- package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
- package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
- package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
- package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
- package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
- package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
- package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
- package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
- package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
- package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
- package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
- package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
- package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
- package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
- package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
- package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
- package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
- package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
- package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
- package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
- package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
- package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
- package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
- package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
- package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
- package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
- package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
- package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
- package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
- package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
- package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
- package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
- package/dist/Components/Table/Types/Header.d.ts +8 -0
- package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
- package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
- package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
- package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
- package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
- package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
- package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
- package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
- package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
- package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
- package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
- package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
- package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
- package/dist/Components/Table/Types/Public/RowSource.js +1 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
- package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
- package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
- package/dist/Components/Table/Types/Public/Table.js +1 -0
- package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
- package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
- package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
- package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
- package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
- package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
- package/dist/Components/Table/Types/Public/index.d.ts +20 -0
- package/dist/Components/Table/Types/Public/index.js +8 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
- package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
- package/dist/Components/Table/createTable.svelte.d.ts +53 -0
- package/dist/Components/Table/createTable.svelte.js +269 -0
- package/dist/Components/TextArea.svelte +37 -18
- package/dist/Components/TextAreaProps.d.ts +37 -0
- package/dist/Components/TextInput.svelte +41 -22
- package/dist/Components/TextInputProps.d.ts +58 -1
- package/dist/Components/ThreeStateRadio.svelte +61 -64
- package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
- package/dist/Components/Touch/BoolCard.svelte +8 -15
- package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
- package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
- package/dist/Components/Touch/BoolCardProps.js +1 -0
- package/dist/Components/Touch/DateModal.svelte +17 -25
- package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
- package/dist/Components/Touch/DateModalProps.d.ts +36 -0
- package/dist/Components/Touch/DateModalProps.js +1 -0
- package/dist/Components/Touch/EditCard.svelte +10 -3
- package/dist/Components/Touch/EditCardProps.d.ts +21 -0
- package/dist/Components/Touch/InfoCard.svelte +14 -7
- package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
- package/dist/Components/Touch/InfoTextCard.svelte +9 -2
- package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
- package/dist/Components/Touch/ModalExplanation.svelte +9 -12
- package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
- package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
- package/dist/Components/Touch/ModalExplanationProps.js +1 -0
- package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
- package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
- package/dist/Components/Touch/NumberModal.svelte +16 -6
- package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
- package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
- package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
- package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
- package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
- package/dist/Components/Touch/SelectModal.svelte +33 -15
- package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
- package/dist/Components/Touch/SummaryCard.svelte +56 -14
- package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
- package/dist/Components/Touch/TextAreaModal.svelte +18 -9
- package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
- package/dist/Components/Touch/TextModal.svelte +15 -32
- package/dist/Components/Touch/TextModalProps.d.ts +28 -1
- package/dist/Components/Touch/TouchCard.svelte +9 -47
- package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
- package/dist/Components/Touch/TouchModal.svelte +105 -99
- package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
- package/dist/Components/Touch/UtilityButton.svelte +36 -18
- package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
- package/dist/Components/VerticalTabGroup.svelte +18 -40
- package/dist/Components/VerticalTabGroupButton.svelte +11 -50
- package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
- package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
- package/dist/Contexts/AlertContext.svelte.js +69 -6
- package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
- package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
- package/dist/Contexts/TestContext.svelte.d.ts +27 -1
- package/dist/Contexts/TestContext.svelte.js +29 -1
- package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
- package/dist/Contexts/ToastContext.svelte.js +93 -24
- package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
- package/dist/Contexts/TooltipContext.svelte.js +70 -7
- package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
- package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
- package/dist/Delay/Delay.js +1 -1
- package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
- package/dist/Helpers/AsyncFlag.svelte.js +72 -0
- package/dist/Helpers/Datamatrix.d.ts +10 -1
- package/dist/Helpers/Datamatrix.js +290 -1
- package/dist/Helpers/Helpers.svelte.d.ts +252 -18
- package/dist/Helpers/Helpers.svelte.js +271 -75
- package/dist/Helpers/INamed.d.ts +6 -0
- package/dist/Helpers/Storage.d.ts +67 -0
- package/dist/Helpers/Storage.js +138 -0
- package/dist/Helpers/dropdownPortal.d.ts +52 -0
- package/dist/Helpers/dropdownPortal.js +232 -0
- package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
- package/dist/Helpers/dropdownPortal.svelte.js +5 -0
- package/dist/Helpers/memoiseByRow.d.ts +45 -0
- package/dist/Helpers/memoiseByRow.js +78 -0
- package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
- package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
- package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
- package/dist/Helpers/useTooltip.svelte.js +62 -0
- package/dist/Types/Examples/ExampleModal.svelte +2 -1
- package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
- package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
- package/dist/Types/Internal/AsyncFlag.js +1 -0
- package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
- package/dist/Types/Internal/ButtonProp.d.ts +24 -2
- package/dist/Types/Internal/CallbackButton.d.ts +12 -0
- package/dist/Types/Internal/DateChange.d.ts +8 -0
- package/dist/Types/Internal/DatePickerType.d.ts +5 -0
- package/dist/Types/Internal/DatePickerType.js +6 -1
- package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
- package/dist/Types/Internal/InputVariant.d.ts +5 -0
- package/dist/Types/Internal/InputVariant.js +6 -1
- package/dist/Types/Internal/Misc.d.ts +91 -0
- package/dist/Types/Internal/RefWrapper.d.ts +6 -0
- package/dist/Types/Internal/SelectOption.d.ts +8 -0
- package/dist/Types/Internal/Shape.d.ts +1 -0
- package/dist/Types/Internal/Shape.js +2 -1
- package/dist/Types/Internal/Side.d.ts +1 -0
- package/dist/Types/Internal/Side.js +2 -1
- package/dist/Types/Internal/Size.d.ts +5 -0
- package/dist/Types/Internal/Size.js +6 -1
- package/dist/Types/Internal/TabOption.d.ts +15 -5
- package/dist/Types/Internal/Ternary.d.ts +6 -0
- package/dist/Types/Internal/Ternary.js +7 -1
- package/dist/Types/Internal/ToastMessage.d.ts +28 -0
- package/dist/Types/Internal/Validity.d.ts +6 -0
- package/dist/Types/Internal/Validity.js +7 -1
- package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
- package/dist/Types/Internal/Variant.d.ts +5 -0
- package/dist/Types/Internal/Variant.js +6 -1
- package/dist/index.d.ts +27 -82
- package/dist/index.js +24 -62
- package/dist/scss/_mixins.scss +451 -167
- package/dist/scss/_motion.scss +57 -0
- package/dist/scss/_sizing.scss +16 -0
- package/dist/scss/colours.js +2 -2
- package/dist/scss/sizing.d.ts +9 -0
- package/dist/scss/sizing.js +10 -1
- package/package.json +35 -31
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
4
|
-
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="V extends object, VP extends ValueProp<V>"
|
|
6
|
+
>
|
|
7
|
+
import { autoPluralise, generateWeakId, vowels } from '../Helpers/Helpers.svelte.js';
|
|
8
|
+
import { attachDropdownPortal } from '../Helpers/dropdownPortal.js';
|
|
5
9
|
import { Colour, ColourSet } from '../scss/colours.js';
|
|
6
10
|
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
7
11
|
import { Size } from '../Types/Internal/Size.js';
|
|
8
12
|
import Svelecte from 'svelecte';
|
|
13
|
+
import { SvelteSet } from 'svelte/reactivity';
|
|
9
14
|
import { onMount } from 'svelte';
|
|
10
15
|
import Action from './Action.svelte';
|
|
11
16
|
import Icon from './Icon.svelte';
|
|
12
17
|
import type { MultiSelectProps } from './MultiSelectProps.js';
|
|
13
18
|
|
|
14
|
-
//
|
|
15
|
-
|
|
19
|
+
// NOTE selectedValues is mutated by svelecte without asking, so we sometimes have to reverse it without a callback (side effects)
|
|
20
|
+
const {
|
|
16
21
|
label,
|
|
17
|
-
inputId =
|
|
22
|
+
inputId = generateWeakId(),
|
|
18
23
|
options,
|
|
19
24
|
labelProp,
|
|
20
25
|
valueProp,
|
|
@@ -27,24 +32,37 @@
|
|
|
27
32
|
name = 'Item',
|
|
28
33
|
disabled,
|
|
29
34
|
required,
|
|
30
|
-
invalid
|
|
35
|
+
invalid,
|
|
31
36
|
}: MultiSelectProps<V, VP> = $props();
|
|
32
37
|
|
|
33
38
|
const an = $derived(name && vowels.has(name.at(0)?.toLocaleLowerCase() ?? '') ? 'an' : 'a');
|
|
34
39
|
|
|
35
|
-
|
|
40
|
+
// Pre-computed set of selected primitive keys. Used in the option snippet
|
|
41
|
+
// to avoid an O(n*m) findIndex sweep per render.
|
|
42
|
+
const selectedKeys = $derived.by(() => {
|
|
43
|
+
const s = new SvelteSet<V[VP]>();
|
|
44
|
+
if (valueAsObject) {
|
|
45
|
+
for (const v of selectedValues as Array<V>) {
|
|
46
|
+
s.add(v[valueProp]);
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
for (const v of selectedValues as Array<V[VP]>) {
|
|
50
|
+
s.add(v);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return s;
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
let isExpanded = $state(false);
|
|
36
57
|
|
|
37
58
|
onMount(() => {
|
|
38
59
|
const input = document.getElementById(inputId);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// input?.addEventListener('blur', () => {
|
|
43
|
-
// hidden = false;
|
|
44
|
-
// });
|
|
60
|
+
const svelecteRoot = input?.closest('div.svelecte') as HTMLElement | null;
|
|
61
|
+
const dropdownRef =
|
|
62
|
+
(svelecteRoot?.querySelector('.sv_dropdown') as HTMLElement | null) ?? undefined;
|
|
45
63
|
|
|
46
|
-
// HACK callback for is-open on/off
|
|
47
|
-
|
|
64
|
+
// HACK callback for is-open on/off; drives the chevron rotation
|
|
65
|
+
// in the action snippet further down.
|
|
48
66
|
const observer = new MutationObserver((mutations: Array<MutationRecord>) => {
|
|
49
67
|
for (let i = mutations.length - 1; i > -1; i--) {
|
|
50
68
|
const mutation = mutations[i];
|
|
@@ -58,22 +76,24 @@
|
|
|
58
76
|
observer.observe(dropdownRef, { attributes: true });
|
|
59
77
|
}
|
|
60
78
|
|
|
79
|
+
// Teleport the Svelecte dropdown to `document.body` while open
|
|
80
|
+
// so it escapes every ancestor `overflow` / `transform` /
|
|
81
|
+
// `z-index` stacking context. See `Helpers/dropdownPortal.ts`
|
|
82
|
+
// for the rationale and behaviour (auto-flip upwards on tight
|
|
83
|
+
// viewports, scroll-aware repositioning, viewport-bounded
|
|
84
|
+
// max-height).
|
|
85
|
+
const detachPortal = attachDropdownPortal({
|
|
86
|
+
getTrigger: () => svelecteRoot,
|
|
87
|
+
getDropdown: () => dropdownRef,
|
|
88
|
+
});
|
|
89
|
+
|
|
61
90
|
return () => {
|
|
62
91
|
observer.disconnect();
|
|
92
|
+
detachPortal();
|
|
63
93
|
};
|
|
64
94
|
});
|
|
65
95
|
|
|
66
|
-
let isExpanded = $state(false);
|
|
67
|
-
|
|
68
96
|
const isInvalid = $derived((required && !selectedValues.length) || invalid);
|
|
69
|
-
|
|
70
|
-
function usesValuesAsObjects(_values: Array<V> | Array<V[VP]>): _values is Array<V> {
|
|
71
|
-
return valueAsObject;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function usesValuesAsPrimitives(_values: Array<V> | Array<V[VP]>): _values is Array<V[VP]> {
|
|
75
|
-
return !valueAsObject;
|
|
76
|
-
}
|
|
77
97
|
</script>
|
|
78
98
|
|
|
79
99
|
<div
|
|
@@ -99,7 +119,16 @@
|
|
|
99
119
|
searchable
|
|
100
120
|
value={selectedValues}
|
|
101
121
|
onChange={(e: Array<V>) => {
|
|
102
|
-
|
|
122
|
+
// svelecte always emits the full option objects; normalise to the
|
|
123
|
+
// shape the variant promised: primitives for AsPrimitive,
|
|
124
|
+
// objects for AsObject. This is what the discriminated
|
|
125
|
+
// `onchange` typing now guarantees to consumers.
|
|
126
|
+
if (valueAsObject) {
|
|
127
|
+
void (onchange as (v: Array<V>) => void | Promise<void>)(e);
|
|
128
|
+
} else {
|
|
129
|
+
const primitives = e.map((it) => it[valueProp]);
|
|
130
|
+
void (onchange as (v: Array<V[VP]>) => void | Promise<void>)(primitives);
|
|
131
|
+
}
|
|
103
132
|
}}
|
|
104
133
|
{name}
|
|
105
134
|
selectOnTab
|
|
@@ -117,21 +146,19 @@
|
|
|
117
146
|
<span class="dropdown-item">
|
|
118
147
|
<div
|
|
119
148
|
class="toggle-icon"
|
|
120
|
-
class:yes={
|
|
121
|
-
? selectedValues.findIndex((v) => v[valueProp] === option[valueProp]) > -1
|
|
122
|
-
: usesValuesAsPrimitives(selectedValues)
|
|
123
|
-
? (selectedValues as Array<V[VP]>).findIndex((v: V[VP]) => v === option[valueProp]) >
|
|
124
|
-
-1
|
|
125
|
-
: false}
|
|
149
|
+
class:yes={selectedKeys.has(option[valueProp])}
|
|
126
150
|
>
|
|
127
|
-
<Icon
|
|
151
|
+
<Icon
|
|
152
|
+
name="tick"
|
|
153
|
+
size={Size.MediumSmall}
|
|
154
|
+
/>
|
|
128
155
|
</div>
|
|
129
156
|
{option[labelProp]}</span
|
|
130
157
|
>
|
|
131
158
|
{/snippet}
|
|
132
159
|
|
|
133
160
|
{#snippet collapsedSelection(selectedOptions: Array<object> /*_i18n*/)}
|
|
134
|
-
<span class="selection"
|
|
161
|
+
<span class="selection"
|
|
135
162
|
>{#if selectedOptions.length}{selectedOptions.length}
|
|
136
163
|
{#if name}{autoPluralise(name, selectedOptions.length)}{/if} Selected
|
|
137
164
|
{:else}Please Select {#if name}
|
|
@@ -153,14 +180,18 @@
|
|
|
153
180
|
}
|
|
154
181
|
|
|
155
182
|
if (selectedValues.length) {
|
|
156
|
-
|
|
183
|
+
// Empty array satisfies both Array<V> and Array<V[VP]>.
|
|
184
|
+
void (onchange as (v: Array<V> | Array<V[VP]>) => void | Promise<void>)([]);
|
|
185
|
+
} else if (valueAsObject) {
|
|
186
|
+
void (onchange as (v: Array<V>) => void | Promise<void>)(options.concat());
|
|
157
187
|
} else {
|
|
158
|
-
|
|
188
|
+
const primitives = options.map((it) => it[valueProp]);
|
|
189
|
+
void (onchange as (v: Array<V[VP]>) => void | Promise<void>)(primitives);
|
|
159
190
|
}
|
|
160
191
|
}}
|
|
161
192
|
icon={{
|
|
162
193
|
name: selectedValues.length ? 'close-menu-cross' : 'manage-product-group',
|
|
163
|
-
colour: Colour['$ui-blue-10']
|
|
194
|
+
colour: Colour['$ui-blue-10'],
|
|
164
195
|
}}
|
|
165
196
|
/>
|
|
166
197
|
|
|
@@ -171,26 +202,18 @@
|
|
|
171
202
|
colourSet={ColourSet.Auxiliary}
|
|
172
203
|
icon={{
|
|
173
204
|
name: isExpanded ? 'chevron-up' : 'chevron-down',
|
|
174
|
-
colour: Colour['$ui-blue-10']
|
|
205
|
+
colour: Colour['$ui-blue-10'],
|
|
175
206
|
}}
|
|
176
207
|
/>
|
|
177
208
|
</div>
|
|
178
209
|
{/snippet}
|
|
179
210
|
{#snippet toggleIcon()}
|
|
180
211
|
<div class="nothing"></div>
|
|
181
|
-
<!-- <div class="icon-bg">
|
|
182
|
-
<Icon name="chevron-down" size={Size.MediumSmall} />
|
|
183
|
-
</div> -->
|
|
184
212
|
{/snippet}
|
|
185
213
|
</Svelecte>
|
|
186
214
|
|
|
187
215
|
{#snippet selection(/*_selectedOptions: Array<unknown>*/)}
|
|
188
|
-
<!--
|
|
189
|
-
<span class="selection" class:hidden
|
|
190
|
-
>Please Select {#if objectName}
|
|
191
|
-
{an} {objectName}{/if}</span
|
|
192
|
-
>
|
|
193
|
-
{/if} -->
|
|
216
|
+
<!-- collapsed selection rendered above -->
|
|
194
217
|
{/snippet}
|
|
195
218
|
</div>
|
|
196
219
|
|
|
@@ -262,24 +285,13 @@
|
|
|
262
285
|
max-height: 100%;
|
|
263
286
|
box-sizing: border-box;
|
|
264
287
|
}
|
|
265
|
-
.select-wrapper :global(.sv-item--content) {
|
|
266
|
-
font-size: 0.875rem;
|
|
267
|
-
}
|
|
268
|
-
.select-wrapper :global(.sv-item--wrap.in-dropdown) {
|
|
269
|
-
cursor: pointer;
|
|
270
|
-
min-height: 40px;
|
|
271
|
-
align-items: center;
|
|
272
|
-
}
|
|
273
|
-
.select-wrapper :global(.sv-item--content) {
|
|
274
|
-
min-height: 1.2rem;
|
|
275
|
-
}
|
|
276
288
|
.select-wrapper :global(.sv-btn-indicator) {
|
|
277
289
|
cursor: pointer;
|
|
278
290
|
}
|
|
279
291
|
.select-wrapper.no-border {
|
|
280
292
|
--sv-border: none;
|
|
281
293
|
}
|
|
282
|
-
.select-wrapper
|
|
294
|
+
.select-wrapper.force-upwards :global .sv_dropdown.is-open {
|
|
283
295
|
bottom: var(--dropdown-bottom);
|
|
284
296
|
}
|
|
285
297
|
.select-wrapper :global .sv-control {
|
|
@@ -300,32 +312,18 @@
|
|
|
300
312
|
.select-wrapper :global .svelecte.svelecte-control {
|
|
301
313
|
cursor: pointer;
|
|
302
314
|
}
|
|
303
|
-
.select-wrapper :global .sv-item--wrap.in-dropdown {
|
|
304
|
-
cursor: pointer;
|
|
305
|
-
min-height: 40px;
|
|
306
|
-
align-items: center;
|
|
307
|
-
}
|
|
308
|
-
.select-wrapper :global .sv-item--content {
|
|
309
|
-
min-height: 1.2rem;
|
|
310
|
-
}
|
|
311
315
|
.select-wrapper :global span {
|
|
312
316
|
transition: border-color ease-out 0.15s 0s, background-color ease-out 0.15s 0s, color ease-out 0.15s 0s, fill ease-out 0.15s 0s;
|
|
313
317
|
}
|
|
314
318
|
.select-wrapper :global .sv-control {
|
|
315
319
|
transition: border-color ease-out 0.15s 0s, background-color ease-out 0.15s 0s, color ease-out 0.15s 0s, fill ease-out 0.15s 0s;
|
|
316
320
|
}
|
|
317
|
-
.select-wrapper :global div.sv_dropdown.is-open {
|
|
318
|
-
z-index: 99;
|
|
319
|
-
}
|
|
320
321
|
.select-wrapper div.nothing {
|
|
321
322
|
height: 0;
|
|
322
323
|
width: 0;
|
|
323
324
|
}
|
|
324
|
-
.select-wrapper .dropdown-item,
|
|
325
325
|
.select-wrapper .selection {
|
|
326
326
|
font-size: 0.875rem;
|
|
327
|
-
}
|
|
328
|
-
.select-wrapper .selection {
|
|
329
327
|
padding-left: 0.5rem;
|
|
330
328
|
white-space: nowrap;
|
|
331
329
|
display: flex;
|
|
@@ -349,22 +347,36 @@ div.icons {
|
|
|
349
347
|
box-sizing: border-box;
|
|
350
348
|
}
|
|
351
349
|
|
|
352
|
-
.
|
|
350
|
+
:global .sv-item--wrap.in-dropdown {
|
|
351
|
+
cursor: pointer;
|
|
352
|
+
min-height: 40px;
|
|
353
|
+
align-items: center;
|
|
354
|
+
}
|
|
355
|
+
:global .sv-item--content {
|
|
356
|
+
font-size: 0.875rem;
|
|
357
|
+
min-height: 1.2rem;
|
|
358
|
+
}
|
|
359
|
+
:global div.sv_dropdown.is-open {
|
|
360
|
+
z-index: 99;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
:global(.dropdown-item) {
|
|
353
364
|
display: flex;
|
|
354
365
|
flex-flow: row nowrap;
|
|
355
366
|
width: 100%;
|
|
356
367
|
overflow: hidden;
|
|
357
368
|
text-overflow: ellipsis;
|
|
358
369
|
gap: 1rem;
|
|
370
|
+
font-size: 0.875rem;
|
|
359
371
|
fill: #259fc7;
|
|
360
372
|
}
|
|
361
|
-
.dropdown-item .toggle-icon {
|
|
373
|
+
:global(.dropdown-item) .toggle-icon {
|
|
362
374
|
display: flex;
|
|
363
375
|
align-items: center;
|
|
364
376
|
justify-content: center;
|
|
365
377
|
flex-flow: column nowrap;
|
|
366
378
|
opacity: 0;
|
|
367
379
|
}
|
|
368
|
-
.dropdown-item .toggle-icon.yes {
|
|
380
|
+
:global(.dropdown-item) .toggle-icon.yes {
|
|
369
381
|
opacity: 1;
|
|
370
382
|
}</style>
|
|
@@ -1,16 +1,45 @@
|
|
|
1
|
-
import type { NonNullableKey, ValueProp } from '../Types/Internal/Misc.js';
|
|
1
|
+
import type { CssLength, NonNullableKey, ValueProp } from '../Types/Internal/Misc.js';
|
|
2
|
+
/**
|
|
3
|
+
* Keys of `V` whose value is a string. Re-exported for callers that want
|
|
4
|
+
* a tighter constraint than `NonNullableKey<V>`. Currently aliased to
|
|
5
|
+
* `NonNullableKey<V>` to avoid cascading into Table subtree consumers
|
|
6
|
+
* (see workorder MultiSelect P1).
|
|
7
|
+
*/
|
|
8
|
+
export type StringValuedKey<V> = NonNullableKey<V>;
|
|
2
9
|
export interface MultiSelectCommonProps<V extends object, VP extends ValueProp<V>> {
|
|
10
|
+
/** Available options to choose from. */
|
|
3
11
|
options: Array<V>;
|
|
12
|
+
/** Singular display name of the entity. */
|
|
4
13
|
name?: string;
|
|
14
|
+
/** Key of `V` whose value is the human-readable label. */
|
|
5
15
|
labelProp: NonNullableKey<V>;
|
|
16
|
+
/** Key of `V` whose value is the unique identifier. */
|
|
6
17
|
valueProp: VP;
|
|
18
|
+
/** Disable the input. */
|
|
7
19
|
disabled?: boolean;
|
|
20
|
+
/** Whether at least one selection is required. */
|
|
8
21
|
required?: boolean;
|
|
22
|
+
/** Force the invalid visual state. */
|
|
9
23
|
invalid?: boolean;
|
|
24
|
+
/** Top label. */
|
|
10
25
|
label?: string;
|
|
26
|
+
/** DOM id of the underlying svelecte input. */
|
|
11
27
|
inputId?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
28
|
+
/**
|
|
29
|
+
* CSS width override. Interpolated into a CSS custom property.
|
|
30
|
+
*
|
|
31
|
+
* BREAKING (Phase 7.7): was `string`; now requires the `CssLength`
|
|
32
|
+
* brand. Use the `cssLength('...')` helper to mark intentional CSS
|
|
33
|
+
* length strings.
|
|
34
|
+
*/
|
|
35
|
+
width?: CssLength;
|
|
36
|
+
/**
|
|
37
|
+
* CSS height override. Interpolated into a CSS custom property.
|
|
38
|
+
*
|
|
39
|
+
* BREAKING (Phase 7.7): was `string`; now requires the `CssLength`
|
|
40
|
+
* brand. Use the `cssLength('...')` helper.
|
|
41
|
+
*/
|
|
42
|
+
height?: CssLength;
|
|
43
|
+
/** When true, render a summary instead of chips. */
|
|
15
44
|
collapseSelection?: boolean;
|
|
16
45
|
}
|
|
@@ -3,4 +3,9 @@ import type { MultiSelectCommonProps } from './MultiSelectCommonProps.js';
|
|
|
3
3
|
export interface MultiSelectPropsAsObject<V extends object, VP extends ValueProp<V>> extends MultiSelectCommonProps<V, VP> {
|
|
4
4
|
valueAsObject: true;
|
|
5
5
|
selectedValues: Array<V>;
|
|
6
|
+
/**
|
|
7
|
+
* Called when the selection changes. Receives an array of the full
|
|
8
|
+
* option objects because `valueAsObject` is `true`.
|
|
9
|
+
*/
|
|
10
|
+
onchange: (newValues: Array<V>) => void | Promise<void>;
|
|
6
11
|
}
|
|
@@ -3,4 +3,10 @@ import type { MultiSelectCommonProps } from './MultiSelectCommonProps.js';
|
|
|
3
3
|
export interface MultiSelectPropsAsPrimitive<V extends object, VP extends ValueProp<V>> extends MultiSelectCommonProps<V, VP> {
|
|
4
4
|
valueAsObject: false;
|
|
5
5
|
selectedValues: Array<V[VP]>;
|
|
6
|
+
/**
|
|
7
|
+
* Called when the selection changes. Receives an array of the
|
|
8
|
+
* primitive key values (`V[VP]`) because `valueAsObject` is `false`.
|
|
9
|
+
* Do NOT read `.value` off the items -- they are already primitives.
|
|
10
|
+
*/
|
|
11
|
+
onchange: (newValues: Array<V[VP]>) => void | Promise<void>;
|
|
6
12
|
}
|
|
@@ -1,22 +1,43 @@
|
|
|
1
1
|
import type { Pathname } from '$app/types';
|
|
2
2
|
import type { IconProps } from '../IconProps.js';
|
|
3
|
+
import type { AsyncFlag } from '../../Types/Internal/AsyncFlag.js';
|
|
4
|
+
/**
|
|
5
|
+
* Either a path-bearing nav button or a callback-bearing nav button.
|
|
6
|
+
*
|
|
7
|
+
* Modelled as a proper discriminated union so that providing both
|
|
8
|
+
* `path` and `callback` is a compile error. Each member uses
|
|
9
|
+
* `?: never` on the absent discriminant; this is the recommended
|
|
10
|
+
* template across scoria for "either A or B" prop shapes.
|
|
11
|
+
*/
|
|
3
12
|
export type CallbackButtonWithIcon = CallbackButtonWithPath | CallbackButtonWithCallback;
|
|
13
|
+
/** Fields common to every nav button variant. */
|
|
4
14
|
export interface NavButtonPartial {
|
|
15
|
+
/** Name of the icon to render to the left of the label. */
|
|
5
16
|
iconName?: IconProps['name'];
|
|
17
|
+
/** Visible label shown next to the icon. */
|
|
6
18
|
label: string;
|
|
19
|
+
/** Tooltip text displayed on hover. */
|
|
7
20
|
hoverLabel?: string;
|
|
21
|
+
/** Optional second line shown below the label. */
|
|
8
22
|
subtitle?: string;
|
|
9
|
-
|
|
23
|
+
/**
|
|
24
|
+
* AsyncFlag of a boolean. Nav button is hidden when this resolves
|
|
25
|
+
* to false. Defaults to true.
|
|
26
|
+
*/
|
|
27
|
+
visible?: AsyncFlag<boolean>;
|
|
10
28
|
}
|
|
29
|
+
/** Convenience alias used by some consumers that build `NavButton` directly. */
|
|
11
30
|
export type NavButton = NavButtonPartial & ({
|
|
12
31
|
path: Pathname;
|
|
13
32
|
} | {
|
|
14
33
|
callback: () => void;
|
|
15
34
|
});
|
|
35
|
+
/** Nav button that navigates to a SvelteKit route. */
|
|
16
36
|
export interface CallbackButtonWithPath extends NavButtonPartial {
|
|
17
37
|
path: Pathname;
|
|
18
38
|
callback?: never;
|
|
19
39
|
}
|
|
40
|
+
/** Nav button that fires a callback when clicked. */
|
|
20
41
|
export interface CallbackButtonWithCallback extends NavButtonPartial {
|
|
21
42
|
path?: never;
|
|
22
43
|
callback: () => void;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T"
|
|
6
|
+
>
|
|
4
7
|
import { Size } from '../../Types/Internal/Size.js';
|
|
5
8
|
import Icon from '../Icon.svelte';
|
|
6
9
|
import type { NavProps } from './NavProps.js';
|
|
7
10
|
import ServicesNav from './ServicesNav.svelte';
|
|
8
11
|
|
|
9
|
-
const {
|
|
12
|
+
const {
|
|
13
|
+
userName,
|
|
14
|
+
extras,
|
|
15
|
+
userDialog,
|
|
16
|
+
serviceTabs,
|
|
17
|
+
selectedServiceTab,
|
|
18
|
+
brand,
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments
|
|
20
|
+
}: NavProps<T> = $props();
|
|
10
21
|
|
|
11
22
|
const userIcon = $derived.by(() => {
|
|
12
23
|
const names = userName.split(' ');
|
|
@@ -23,14 +34,11 @@
|
|
|
23
34
|
</script>
|
|
24
35
|
|
|
25
36
|
<nav class="main-navigation">
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
>
|
|
32
|
-
FloWMS
|
|
33
|
-
</a> -->
|
|
37
|
+
{#if typeof brand === 'string'}
|
|
38
|
+
<span class="nav-link brand">{brand}</span>
|
|
39
|
+
{:else if brand}
|
|
40
|
+
<span class="nav-link brand">{@render brand()}</span>
|
|
41
|
+
{/if}
|
|
34
42
|
|
|
35
43
|
<div class="nav-link">
|
|
36
44
|
<button
|
|
@@ -58,13 +66,7 @@
|
|
|
58
66
|
{/if}
|
|
59
67
|
</div>
|
|
60
68
|
|
|
61
|
-
<div class="nav-search-container">
|
|
62
|
-
<!-- <TextInput
|
|
63
|
-
bind:value={searchParam}
|
|
64
|
-
placeholder="Search for anything"
|
|
65
|
-
leftIcon={{ name: 'search-1' }}
|
|
66
|
-
/> -->
|
|
67
|
-
</div>
|
|
69
|
+
<div class="nav-search-container"></div>
|
|
68
70
|
{#if extras}
|
|
69
71
|
<div class="nav-link spaced selects">
|
|
70
72
|
{@render extras()}
|
|
@@ -104,8 +106,8 @@
|
|
|
104
106
|
background-color: rgba(0, 0, 0, 0.2);
|
|
105
107
|
}
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
span.brand {
|
|
110
|
+
font-weight: 600;
|
|
109
111
|
}
|
|
110
112
|
|
|
111
113
|
div.user {
|
|
@@ -142,18 +144,22 @@ nav button {
|
|
|
142
144
|
width: 100%;
|
|
143
145
|
}
|
|
144
146
|
nav button:hover {
|
|
145
|
-
background-color:
|
|
147
|
+
background-color: #f4f7f9;
|
|
146
148
|
cursor: pointer;
|
|
147
149
|
}
|
|
148
150
|
|
|
151
|
+
.nav-search-container {
|
|
152
|
+
flex: 1;
|
|
153
|
+
}
|
|
154
|
+
|
|
149
155
|
.spaced {
|
|
150
|
-
gap:
|
|
156
|
+
gap: 1.5rem;
|
|
151
157
|
}
|
|
152
158
|
|
|
153
159
|
.user-icon {
|
|
154
160
|
background-color: #dae0e5;
|
|
155
161
|
padding: 0.5rem;
|
|
156
|
-
border-radius:
|
|
162
|
+
border-radius: 4px;
|
|
157
163
|
opacity: 0;
|
|
158
164
|
font-weight: 600;
|
|
159
165
|
}
|
|
@@ -161,8 +167,8 @@ nav button:hover {
|
|
|
161
167
|
opacity: 1;
|
|
162
168
|
}
|
|
163
169
|
.user-icon.single-letter {
|
|
164
|
-
padding: 0.
|
|
165
|
-
border-radius:
|
|
170
|
+
padding: 0.375rem 0.75rem;
|
|
171
|
+
border-radius: 4px;
|
|
166
172
|
}
|
|
167
173
|
|
|
168
174
|
.main-navigation > *:nth-child(even) {
|
|
@@ -171,16 +177,16 @@ nav button:hover {
|
|
|
171
177
|
.main-navigation > *:nth-child(even)::before {
|
|
172
178
|
content: "";
|
|
173
179
|
height: 1.5rem;
|
|
174
|
-
border-left: solid 1px #
|
|
175
|
-
border-radius:
|
|
180
|
+
border-left: solid 1px #e9ecf1;
|
|
181
|
+
border-radius: 5px;
|
|
176
182
|
left: 0;
|
|
177
183
|
position: absolute;
|
|
178
184
|
}
|
|
179
185
|
.main-navigation > *:nth-child(even)::after {
|
|
180
186
|
content: "";
|
|
181
187
|
height: 1.5rem;
|
|
182
|
-
border-right: solid 1px #
|
|
183
|
-
border-radius:
|
|
188
|
+
border-right: solid 1px #e9ecf1;
|
|
189
|
+
border-radius: 5px;
|
|
184
190
|
position: absolute;
|
|
185
191
|
right: 0;
|
|
186
192
|
}
|
|
@@ -197,14 +203,13 @@ nav button:hover {
|
|
|
197
203
|
justify-content: center;
|
|
198
204
|
flex-flow: row;
|
|
199
205
|
align-items: center;
|
|
200
|
-
/* flex-grow: 1; */
|
|
201
206
|
min-width: 7.5rem;
|
|
202
207
|
transition: background-color 200ms ease 0s;
|
|
203
208
|
}
|
|
204
209
|
.nav-link.padded {
|
|
205
210
|
padding-left: 1rem;
|
|
206
211
|
padding-right: 1rem;
|
|
207
|
-
gap:
|
|
212
|
+
gap: 1.5rem;
|
|
208
213
|
}
|
|
209
214
|
|
|
210
215
|
div.delimited {
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import type { NavProps } from './NavProps.js';
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function $$render<T>(): {
|
|
3
|
+
props: NavProps<T>;
|
|
4
|
+
exports: {};
|
|
5
|
+
bindings: "";
|
|
6
|
+
slots: {};
|
|
7
|
+
events: {};
|
|
8
|
+
};
|
|
9
|
+
declare class __sveltets_Render<T> {
|
|
10
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
13
|
+
bindings(): "";
|
|
14
|
+
exports(): {};
|
|
15
|
+
}
|
|
16
|
+
interface $$IsomorphicComponent {
|
|
17
|
+
new <T>(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>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
+
}
|
|
23
|
+
declare const Nav: $$IsomorphicComponent;
|
|
24
|
+
type Nav<T> = InstanceType<typeof Nav<T>>;
|
|
4
25
|
export default Nav;
|
|
@@ -1,9 +1,56 @@
|
|
|
1
1
|
import type { TabOption } from '../../Types/Internal/TabOption.js';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Generic `T` parameterises the `TabOption<T>.args` payload type carried by
|
|
5
|
+
* each entry in {@link serviceTabs} / {@link selectedServiceTab}. Defaults
|
|
6
|
+
* to `unknown` so existing untyped consumers continue to compile unchanged;
|
|
7
|
+
* consumers that want a typed `args` payload (e.g. a discriminated union of
|
|
8
|
+
* service identifiers) can pass it explicitly: `Nav<MyServiceArgs>`.
|
|
9
|
+
*/
|
|
10
|
+
export interface NavProps<T = unknown> {
|
|
11
|
+
/**
|
|
12
|
+
* The name of the currently signed-in user. The component derives an
|
|
13
|
+
* initials badge from this value (first letter of the first one or two
|
|
14
|
+
* space-separated tokens) and renders the full name beside it.
|
|
15
|
+
*/
|
|
4
16
|
userName: string;
|
|
17
|
+
/**
|
|
18
|
+
* Snippet rendered when the user clicks the user badge. Receives a
|
|
19
|
+
* `closeUserDialog` callback that the snippet must invoke to dismiss
|
|
20
|
+
* the dialog (the component does not auto-dismiss on outside click).
|
|
21
|
+
*/
|
|
5
22
|
userDialog: Snippet<[closeUserDialog: () => void]>;
|
|
6
|
-
|
|
7
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The set of service tabs presented in the services dialog. Each tab
|
|
25
|
+
* is a `TabOption` whose `args` payload is opaque to scoria; consumers
|
|
26
|
+
* may carry whatever shape they need through `unknown`.
|
|
27
|
+
*/
|
|
28
|
+
serviceTabs: ReadonlyArray<TabOption<T>>;
|
|
29
|
+
/**
|
|
30
|
+
* The currently selected service tab, or `undefined` if no tab is
|
|
31
|
+
* selected. Must reference one of `serviceTabs` by identity for the
|
|
32
|
+
* selection styling to apply.
|
|
33
|
+
*/
|
|
34
|
+
selectedServiceTab: TabOption<T> | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Optional brand label rendered as the first item in the navigation
|
|
37
|
+
* bar.
|
|
38
|
+
*
|
|
39
|
+
* Accepts either a plain string (rendered as text inside the brand
|
|
40
|
+
* container) or a `Snippet` for rich brand rendering such as a logo
|
|
41
|
+
* image, a link, or a custom layout. When omitted the brand slot
|
|
42
|
+
* renders nothing, which keeps the component free of consumer
|
|
43
|
+
* specific branding by default.
|
|
44
|
+
*
|
|
45
|
+
* Consumer apps that previously relied on the historic hard-coded
|
|
46
|
+
* "FloWMS" string must now pass `brand="FloWMS"` (or a Snippet) to
|
|
47
|
+
* preserve the previous visual.
|
|
48
|
+
*/
|
|
49
|
+
brand?: string | Snippet;
|
|
50
|
+
/**
|
|
51
|
+
* Optional snippet rendered between the services button and the user
|
|
52
|
+
* badge. Typically used to host context-dependent selects such as
|
|
53
|
+
* warehouse and depot pickers.
|
|
54
|
+
*/
|
|
8
55
|
extras?: Snippet;
|
|
9
56
|
}
|