@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,18 +1,29 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<!--
|
|
4
|
-
|
|
3
|
+
<!--
|
|
4
|
+
@component
|
|
5
|
+
Generic local-collection paginator. Renders a window of items via a
|
|
6
|
+
`snippet` plus a control bar with page-number buttons, a jump-to-page
|
|
7
|
+
input, and previous/next buttons. The component is generic over
|
|
8
|
+
`T extends object` with a `key: keyof T` used as the
|
|
9
|
+
`{#each}` key inside the rendered page.
|
|
5
10
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
### Usage
|
|
12
|
+
|
|
13
|
+
```svelte
|
|
14
|
+
<Pagination snippet={itemSnippet} pageSize={20} items={dataWrapper.value} key="id" />
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The `pageButtons` window (up to five numbered buttons) is recomputed
|
|
18
|
+
via `$derived`, not via an `$effect`, so the page bar diffs in a
|
|
19
|
+
single reactive pass and the keyed `{#each pageButtons as page ...}`
|
|
20
|
+
preserves button identity across page changes.
|
|
21
|
+
-->
|
|
11
22
|
<script
|
|
12
23
|
lang="ts"
|
|
13
24
|
generics="T extends object"
|
|
14
25
|
>
|
|
15
|
-
import { autoPluralise,
|
|
26
|
+
import { autoPluralise, generateWeakId } from '../../Helpers/Helpers.svelte.js';
|
|
16
27
|
import { Colour } from '../../scss/colours.js';
|
|
17
28
|
import { Side } from '../../Types/Internal/Side.js';
|
|
18
29
|
import { Size } from '../../Types/Internal/Size.js';
|
|
@@ -29,23 +40,27 @@
|
|
|
29
40
|
snippet,
|
|
30
41
|
itemName = 'Item',
|
|
31
42
|
border = false,
|
|
32
|
-
padding = '1.5rem', //sizing.$regular-padding
|
|
43
|
+
padding = '1.5rem', // sizing.$regular-padding
|
|
33
44
|
gap = '1.5rem', // sizing.$regular-gap
|
|
34
45
|
height,
|
|
35
46
|
}: PaginationProps<T> = $props();
|
|
36
47
|
|
|
37
|
-
const _uuid =
|
|
48
|
+
const _uuid = generateWeakId();
|
|
38
49
|
let pageIndex = $state(0);
|
|
39
|
-
|
|
50
|
+
const pageValue = $derived(pageIndex + 1);
|
|
40
51
|
const startIndex = $derived(pageIndex * pageSize);
|
|
41
52
|
const pageItems = $derived(items.slice(startIndex, startIndex + pageSize));
|
|
42
53
|
|
|
43
54
|
const lastPage = $derived(Math.ceil(items.length / pageSize));
|
|
44
55
|
const lastPageIndex = $derived(lastPage - 1);
|
|
45
56
|
|
|
57
|
+
// Debounced jump-to-page handler. Reads the raw event because the
|
|
58
|
+
// debounce drives state, not the input value directly; binding to
|
|
59
|
+
// `pageValue` would defeat the debounce.
|
|
46
60
|
let debounceTimeout = -1;
|
|
47
61
|
function onNumberInput(e: Event) {
|
|
48
|
-
const
|
|
62
|
+
const value = (e.target as HTMLInputElement).value;
|
|
63
|
+
const page = Number(value);
|
|
49
64
|
|
|
50
65
|
clearTimeout(debounceTimeout);
|
|
51
66
|
if (!isNaN(page)) {
|
|
@@ -55,45 +70,36 @@
|
|
|
55
70
|
}
|
|
56
71
|
}
|
|
57
72
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Compute the window of up to five page numbers shown in the
|
|
75
|
+
* control bar. Centred on the current page where possible and
|
|
76
|
+
* clamped against both ends. Pulled into a stand-alone helper so
|
|
77
|
+
* the windowing logic is unit-testable from outside the component.
|
|
78
|
+
*/
|
|
79
|
+
function getPageWindow(
|
|
80
|
+
currentIndex: number,
|
|
81
|
+
totalPages: number,
|
|
82
|
+
windowSize: number
|
|
83
|
+
): Array<number> {
|
|
84
|
+
const start = Math.min(totalPages - 2, currentIndex - 1);
|
|
85
|
+
const clampedStart = Math.max(1, Math.min(start, totalPages - (windowSize - 1)));
|
|
86
|
+
const count = Math.min(totalPages, windowSize);
|
|
87
|
+
const out = new Array<number>(count);
|
|
88
|
+
for (let i = 0; i < count; i++) {
|
|
89
|
+
out[i] = clampedStart + i;
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
63
93
|
|
|
64
|
-
|
|
65
|
-
.fill(pageToStartWith)
|
|
66
|
-
.map((item, index) => item + index);
|
|
67
|
-
});
|
|
94
|
+
const pageButtons = $derived(getPageWindow(pageIndex, lastPage, 5));
|
|
68
95
|
</script>
|
|
69
96
|
|
|
70
|
-
<!-- PROPER -->
|
|
71
|
-
<!--
|
|
72
|
-
|
|
73
|
-
<div class="pagination">
|
|
74
|
-
<div>page {pageIndex}</div>
|
|
75
|
-
<button
|
|
76
|
-
onclick={() => {
|
|
77
|
-
pageIndex = Math.max(pageIndex - 1, 0);
|
|
78
|
-
}}>Previous</button
|
|
79
|
-
>
|
|
80
|
-
<button
|
|
81
|
-
onclick={() => {
|
|
82
|
-
pageIndex = Math.min(pageIndex + 1, lastPageIndex);
|
|
83
|
-
}}>Next</button
|
|
84
|
-
>
|
|
85
|
-
</div>
|
|
86
|
-
</div> -->
|
|
87
|
-
|
|
88
|
-
<!-- style={`${padding ? `padding: ${padding};` : ''}` +
|
|
89
|
-
`${gap ? `gap: ${gap};` : ''}` +
|
|
90
|
-
`${height ? `height: ${height};` : ''}`} -->
|
|
91
97
|
<div
|
|
92
98
|
class="wrapper"
|
|
93
99
|
class:border
|
|
94
|
-
style
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
style:padding
|
|
101
|
+
style:gap
|
|
102
|
+
style:height
|
|
97
103
|
>
|
|
98
104
|
{#each pageItems as item, index (item[key])}
|
|
99
105
|
{@render snippet(item, index)}
|
|
@@ -108,9 +114,12 @@
|
|
|
108
114
|
</div>
|
|
109
115
|
|
|
110
116
|
<div class="spacer"></div>
|
|
111
|
-
<!-- {/* TODO switch to a lib element for this */} -->
|
|
112
117
|
|
|
113
|
-
<div
|
|
118
|
+
<div
|
|
119
|
+
class="scrollable"
|
|
120
|
+
role="navigation"
|
|
121
|
+
aria-label="Pagination"
|
|
122
|
+
>
|
|
114
123
|
<div class="block">
|
|
115
124
|
<Icon
|
|
116
125
|
name="paper"
|
|
@@ -152,21 +161,20 @@
|
|
|
152
161
|
>
|
|
153
162
|
</div>
|
|
154
163
|
|
|
155
|
-
{#
|
|
156
|
-
|
|
157
|
-
<
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
{/key}
|
|
164
|
+
{#each pageButtons as pageNumber (pageNumber)}
|
|
165
|
+
<div class="block nopad">
|
|
166
|
+
<Button
|
|
167
|
+
variant={Variant.Toolbar}
|
|
168
|
+
side={Side.Bottom}
|
|
169
|
+
size={Size.FillHeight}
|
|
170
|
+
toggled={pageIndex + 1 === pageNumber}
|
|
171
|
+
label={`Go to page ${pageNumber.toString()}`}
|
|
172
|
+
onclick={() => {
|
|
173
|
+
pageIndex = pageNumber - 1;
|
|
174
|
+
}}>{pageNumber}</Button
|
|
175
|
+
>
|
|
176
|
+
</div>
|
|
177
|
+
{/each}
|
|
170
178
|
|
|
171
179
|
<div class="block nopad page-arrow">
|
|
172
180
|
<Button
|
|
@@ -21,12 +21,22 @@ interface $$IsomorphicComponent {
|
|
|
21
21
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Generic local-collection paginator. Renders a window of items via a
|
|
25
|
+
* `snippet` plus a control bar with page-number buttons, a jump-to-page
|
|
26
|
+
* input, and previous/next buttons. The component is generic over
|
|
27
|
+
* `T extends object` with a `key: keyof T` used as the
|
|
28
|
+
* `{#each}` key inside the rendered page.
|
|
25
29
|
*
|
|
26
30
|
* ### Usage
|
|
31
|
+
*
|
|
27
32
|
* ```svelte
|
|
28
|
-
*
|
|
33
|
+
* <Pagination snippet={itemSnippet} pageSize={20} items={dataWrapper.value} key="id" />
|
|
29
34
|
* ```
|
|
35
|
+
*
|
|
36
|
+
* The `pageButtons` window (up to five numbered buttons) is recomputed
|
|
37
|
+
* via `$derived`, not via an `$effect`, so the page bar diffs in a
|
|
38
|
+
* single reactive pass and the keyed `{#each pageButtons as page ...}`
|
|
39
|
+
* preserves button identity across page changes.
|
|
30
40
|
*/
|
|
31
41
|
declare const Pagination: $$IsomorphicComponent;
|
|
32
42
|
type Pagination<T extends object> = InstanceType<typeof Pagination<T>>;
|
|
@@ -1,14 +1,71 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link Pagination}.
|
|
4
|
+
*
|
|
5
|
+
* `Pagination` renders a windowed view of a local collection along
|
|
6
|
+
* with a control bar (records-per-page, jump-to-page, prev/next, and
|
|
7
|
+
* up to five numbered page buttons). It is generic over the item
|
|
8
|
+
* record `T`.
|
|
9
|
+
*/
|
|
2
10
|
export interface PaginationProps<T extends object> {
|
|
3
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Property name on each item whose value is used as the `{#each}`
|
|
13
|
+
* key. Duplicate values across `items` will cause Svelte to throw
|
|
14
|
+
* at render time, so the chosen field should be unique (typically
|
|
15
|
+
* an `id` column).
|
|
16
|
+
*
|
|
17
|
+
* The constraint enforces a string key only; uniqueness across
|
|
18
|
+
* the collection cannot be expressed in the type system - mirror
|
|
19
|
+
* the contract of `Table.selectionExtractor` if you need a
|
|
20
|
+
* derived key.
|
|
21
|
+
*/
|
|
4
22
|
key: string & keyof T;
|
|
5
|
-
|
|
6
|
-
|
|
23
|
+
/** The collection to paginate. */
|
|
24
|
+
items: ReadonlyArray<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Renderer invoked once per item in the current page. The second
|
|
27
|
+
* argument is the index within the current page (zero-based).
|
|
28
|
+
*/
|
|
7
29
|
snippet: Snippet<[T, number]>;
|
|
30
|
+
/**
|
|
31
|
+
* Number of items rendered per page.
|
|
32
|
+
*
|
|
33
|
+
* @default 20
|
|
34
|
+
*/
|
|
8
35
|
pageSize?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Singular noun shown next to the total record count
|
|
38
|
+
* ("`<count>` `<itemName>`s"); pluralised automatically by
|
|
39
|
+
* `autoPluralise`.
|
|
40
|
+
*
|
|
41
|
+
* @default 'Item'
|
|
42
|
+
*/
|
|
9
43
|
itemName?: string;
|
|
44
|
+
/**
|
|
45
|
+
* When `true` the wrapper draws a rounded thick border around
|
|
46
|
+
* the rendered items.
|
|
47
|
+
*/
|
|
10
48
|
border?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Raw CSS length used for the wrapper `padding`. Strings are
|
|
51
|
+
* accepted because the component takes any CSS value; prefer
|
|
52
|
+
* one of the standard `sizing.$*-padding` tokens
|
|
53
|
+
* (`'1.5rem'` matches `sizing.$regular-padding`).
|
|
54
|
+
*
|
|
55
|
+
* @default '1.5rem'
|
|
56
|
+
*/
|
|
11
57
|
padding?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Raw CSS length used for the wrapper `gap`. Same conventions as
|
|
60
|
+
* `padding`; prefer the `sizing.$*-gap` tokens.
|
|
61
|
+
*
|
|
62
|
+
* @default '1.5rem'
|
|
63
|
+
*/
|
|
12
64
|
gap?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Optional raw CSS length used for the wrapper `height`. Useful
|
|
67
|
+
* for fixed-height scroll containers; left unset by default so
|
|
68
|
+
* the wrapper consumes the available flex space.
|
|
69
|
+
*/
|
|
13
70
|
height?: string;
|
|
14
71
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- @component
|
|
4
4
|
An empty component that only exists to export common snippets
|
|
5
|
+
(`pending` and `failed`) for re-use by `{#await}` blocks and other
|
|
6
|
+
async-status surfaces. The component itself renders nothing.
|
|
5
7
|
-->
|
|
6
8
|
<script
|
|
7
9
|
lang="ts"
|
|
@@ -10,6 +12,11 @@ An empty component that only exists to export common snippets
|
|
|
10
12
|
import { getErrorMessage, loadingText } from '../../Helpers/Helpers.svelte.js';
|
|
11
13
|
import Button from '../Button.svelte';
|
|
12
14
|
|
|
15
|
+
// The local `{#snippet _pending}` / `{#snippet _failed}` declarations
|
|
16
|
+
// must be hoistable references for `export const` to bind to them.
|
|
17
|
+
// Svelte 5 currently requires the snippet name to differ from the
|
|
18
|
+
// exported binding, so we use an underscore prefix on the local
|
|
19
|
+
// declaration and expose the un-prefixed name as the public surface.
|
|
13
20
|
export const pending = _pending;
|
|
14
21
|
export const failed = _failed;
|
|
15
22
|
</script>
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export declare const pending: () => ReturnType<import("svelte").Snippet>;
|
|
2
2
|
export declare const failed: (e: unknown, retry?: () => void) => ReturnType<import("svelte").Snippet>;
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* An empty component that only exists to export common snippets
|
|
5
|
+
* (`pending` and `failed`) for re-use by `{#await}` blocks and other
|
|
6
|
+
* async-status surfaces. The component itself renders nothing.
|
|
7
|
+
*/
|
|
4
8
|
declare const Snippets: import("svelte").Component<Record<string, never>, {}, "">;
|
|
5
9
|
type Snippets = ReturnType<typeof Snippets>;
|
|
6
10
|
export default Snippets;
|
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T"
|
|
6
|
+
>
|
|
4
7
|
import type { BigRadioOption } from '../Types/Internal/BigRadioOption.js';
|
|
5
8
|
import type { BigRadioSetProps } from './BigRadioSetProps.js';
|
|
6
|
-
let { name, options, selected = $bindable() }: BigRadioSetProps<T> = $props();
|
|
7
|
-
|
|
8
|
-
// let selected: T | undefined = $state();
|
|
9
|
+
let { name, options, selected = $bindable(), onchange }: BigRadioSetProps<T> = $props();
|
|
9
10
|
</script>
|
|
10
11
|
|
|
11
|
-
<div
|
|
12
|
-
|
|
12
|
+
<div
|
|
13
|
+
class="wrapper"
|
|
14
|
+
role="radiogroup"
|
|
15
|
+
>
|
|
16
|
+
{#each options as option (option.value)}
|
|
13
17
|
<!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
|
|
14
18
|
{@render radio(option)}
|
|
15
19
|
{/each}
|
|
16
20
|
</div>
|
|
17
21
|
|
|
18
22
|
{#snippet radio(option: BigRadioOption<T>)}
|
|
19
|
-
<!-- {@debug selected} -->
|
|
20
23
|
<label class:selected={selected === option.value}>
|
|
21
|
-
<input
|
|
24
|
+
<input
|
|
25
|
+
type="radio"
|
|
26
|
+
{name}
|
|
27
|
+
bind:group={selected}
|
|
28
|
+
value={option.value}
|
|
29
|
+
onchange={() => void onchange?.(option.value)}
|
|
30
|
+
/>
|
|
22
31
|
<div class="text">
|
|
23
32
|
<h5 class="title">{option.label}</h5>
|
|
24
33
|
<p class="note">{option.info}</p>
|
|
@@ -60,7 +69,7 @@ label input {
|
|
|
60
69
|
accent-color: #259fc7;
|
|
61
70
|
}
|
|
62
71
|
label input:checked {
|
|
63
|
-
accent-color: #
|
|
72
|
+
accent-color: #9fdaec;
|
|
64
73
|
}
|
|
65
74
|
label .text h5 {
|
|
66
75
|
font-size: 1rem;
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import type { BigRadioOption } from '../Types/Internal/BigRadioOption.js';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the {@link BigRadioSet} component.
|
|
4
|
+
*
|
|
5
|
+
* Each option exposes a `label`, `info`, and `value`. The `value`
|
|
6
|
+
* field is the bindable selection. Option keying uses `option.value`
|
|
7
|
+
* for `{#each}` so that the DOM remains stable across renders that
|
|
8
|
+
* pass freshly-allocated option arrays.
|
|
9
|
+
*
|
|
10
|
+
* `T` is unconstrained but compared with `===` in the radio group;
|
|
11
|
+
* use a primitive (string / number) or hold stable object references.
|
|
12
|
+
*/
|
|
2
13
|
export interface BigRadioSetProps<T> {
|
|
14
|
+
/** `name` attribute on the underlying radio group. */
|
|
3
15
|
name?: string;
|
|
4
|
-
|
|
16
|
+
/** The option set rendered as cards. */
|
|
17
|
+
options: ReadonlyArray<BigRadioOption<T>>;
|
|
18
|
+
/** Bindable selected value. */
|
|
5
19
|
selected?: T;
|
|
20
|
+
/** Change handler. May be `void` or `Promise<void>`. */
|
|
21
|
+
onchange?: (value: T) => void | Promise<void>;
|
|
6
22
|
}
|
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import { Size } from '../Types/Internal/Size.js';
|
|
5
8
|
import type { BubbleProps } from './BubbleProps.js';
|
|
6
9
|
import Icon from './Icon.svelte';
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
// Per-size padding/typography. Only `Size.Large` has explicit overrides;
|
|
12
|
+
// other sizes fall back to the medium defaults handled in $derived blocks
|
|
13
|
+
// below. Replaced the previous one-key `Partial<Record<Size, string>>`
|
|
14
|
+
// lookup tables with a simple `size === Size.Large` branch.
|
|
15
|
+
const LARGE_HORIZONTAL_WITH_VALUE = '1rem';
|
|
16
|
+
const LARGE_HORIZONTAL_WITHOUT_VALUE = '1.25rem';
|
|
17
|
+
const LARGE_VERTICAL = '0.5rem';
|
|
18
|
+
const LARGE_FONT_SIZE = '1.12rem';
|
|
19
|
+
const LARGE_BORDER_RADIUS = '1.75rem';
|
|
11
20
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const vertical: Partial<Record<Size, string>> = {
|
|
17
|
-
[Size.Large]: '0.5rem'
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const fontSizes: Partial<Record<Size, string>> = {
|
|
21
|
-
[Size.Large]: '1.12rem'
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const borderRadii: Partial<Record<Size, string>> = {
|
|
25
|
-
[Size.Large]: '1.75rem'
|
|
26
|
-
};
|
|
21
|
+
const DEFAULT_VERTICAL = '0.18rem';
|
|
22
|
+
const DEFAULT_HORIZONTAL_WITH_VALUE = '0.5rem';
|
|
23
|
+
const DEFAULT_HORIZONTAL_WITHOUT_VALUE = '0.75rem';
|
|
24
|
+
const DEFAULT_FONT_SIZE = '1rem';
|
|
27
25
|
</script>
|
|
28
26
|
|
|
29
|
-
<script
|
|
27
|
+
<script
|
|
28
|
+
lang="ts"
|
|
29
|
+
generics="T = unknown"
|
|
30
|
+
>
|
|
31
|
+
// `BubbleProps<T>` is intentionally annotated with `<T>` even though
|
|
32
|
+
// the interface declares `T = unknown` as a default; the explicit
|
|
33
|
+
// substitution flows the generic from `<Bubble<MyType> ...>` consumers
|
|
34
|
+
// into the destructured `options` array type. The lint rule
|
|
35
|
+
// `@typescript-eslint/no-unnecessary-type-arguments` flags this as
|
|
36
|
+
// redundant when `T` resolves to `unknown` at the lint pass, hence
|
|
37
|
+
// the disable.
|
|
30
38
|
const {
|
|
31
39
|
options,
|
|
32
40
|
value,
|
|
@@ -35,23 +43,41 @@
|
|
|
35
43
|
size = Size.Medium,
|
|
36
44
|
bold,
|
|
37
45
|
icon,
|
|
38
|
-
onclick
|
|
39
|
-
|
|
46
|
+
onclick,
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments
|
|
48
|
+
}: BubbleProps<T> = $props();
|
|
40
49
|
|
|
41
|
-
const
|
|
50
|
+
const isLarge = $derived(size === Size.Large);
|
|
51
|
+
const verticalPadding = $derived(isLarge ? LARGE_VERTICAL : DEFAULT_VERTICAL);
|
|
42
52
|
const horizontalPadding = $derived.by(() => {
|
|
43
53
|
if (value.length === 1) {
|
|
44
|
-
return
|
|
54
|
+
return isLarge ? LARGE_HORIZONTAL_WITH_VALUE : DEFAULT_HORIZONTAL_WITH_VALUE;
|
|
45
55
|
}
|
|
46
56
|
|
|
47
|
-
return
|
|
57
|
+
return isLarge ? LARGE_HORIZONTAL_WITHOUT_VALUE : DEFAULT_HORIZONTAL_WITHOUT_VALUE;
|
|
58
|
+
});
|
|
59
|
+
const fontSize = $derived(isLarge ? LARGE_FONT_SIZE : DEFAULT_FONT_SIZE);
|
|
60
|
+
|
|
61
|
+
// Precompute the label lookup once per `options`/`value` change.
|
|
62
|
+
const displayLabel = $derived(
|
|
63
|
+
options?.length ? (options.find((it) => it.value === value)?.label ?? value) : value
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
// Precompute the inline style string once per reactive input change.
|
|
67
|
+
const wrapperStyle = $derived.by(() => {
|
|
68
|
+
const colourPart = colours
|
|
69
|
+
? `background-color: ${colours.backgroundColour}; color: ${colours.colour};`
|
|
70
|
+
: '';
|
|
71
|
+
const radiusPart = isLarge ? `border-radius: ${LARGE_BORDER_RADIUS};` : '';
|
|
72
|
+
return `${colourPart} padding: var(--bubble-padding, ${verticalPadding} ${horizontalPadding}); font-size: ${fontSize}; ${radiusPart}`;
|
|
48
73
|
});
|
|
49
|
-
const fontSize = $derived(fontSizes[size] ?? '1rem');
|
|
50
|
-
const borderRadius = $derived(borderRadii[size] ?? '12px');
|
|
51
74
|
</script>
|
|
52
75
|
|
|
53
76
|
{#if onclick}
|
|
54
|
-
<button
|
|
77
|
+
<button
|
|
78
|
+
class="contents"
|
|
79
|
+
{onclick}
|
|
80
|
+
>
|
|
55
81
|
<!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
|
|
56
82
|
{@render bubble()}
|
|
57
83
|
</button>
|
|
@@ -65,12 +91,10 @@
|
|
|
65
91
|
class="bubble"
|
|
66
92
|
class:bold
|
|
67
93
|
class:hoverable={!!onclick}
|
|
68
|
-
style=
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
? options.find((it) => it.value === value)?.label
|
|
73
|
-
: value}{#if icon}<div class="icon"><Icon {...icon} /></div>{/if}</span
|
|
94
|
+
style={wrapperStyle}
|
|
95
|
+
>{#if label}{label}: {/if}{displayLabel}{#if icon}<div class="icon">
|
|
96
|
+
<Icon {...icon} />
|
|
97
|
+
</div>{/if}</span
|
|
74
98
|
>
|
|
75
99
|
{/snippet}
|
|
76
100
|
|
|
@@ -87,9 +111,18 @@
|
|
|
87
111
|
flex-flow: row nowrap;
|
|
88
112
|
align-items: center;
|
|
89
113
|
gap: 0.75rem;
|
|
114
|
+
border-radius: 12px;
|
|
90
115
|
line-height: var(--line-height, inherit);
|
|
91
116
|
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;
|
|
92
117
|
}
|
|
118
|
+
@media (prefers-reduced-motion: reduce) {
|
|
119
|
+
.bubble {
|
|
120
|
+
animation-duration: 0.001ms !important;
|
|
121
|
+
animation-iteration-count: 1 !important;
|
|
122
|
+
transition-duration: 0.001ms !important;
|
|
123
|
+
scroll-behavior: auto !important;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
93
126
|
.bubble.hoverable:hover {
|
|
94
127
|
background-color: #cbd4da;
|
|
95
128
|
}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import type { BubbleProps } from './BubbleProps.js';
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function $$render<T = unknown>(): {
|
|
3
|
+
props: BubbleProps<T>;
|
|
4
|
+
exports: {};
|
|
5
|
+
bindings: "";
|
|
6
|
+
slots: {};
|
|
7
|
+
events: {};
|
|
8
|
+
};
|
|
9
|
+
declare class __sveltets_Render<T = unknown> {
|
|
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 = unknown>(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 = unknown>(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 Bubble: $$IsomorphicComponent;
|
|
24
|
+
type Bubble<T = unknown> = InstanceType<typeof Bubble<T>>;
|
|
4
25
|
export default Bubble;
|
|
@@ -2,13 +2,64 @@ import type { SelectOption } from '../Types/Internal/SelectOption.js';
|
|
|
2
2
|
import type { Size } from '../Types/Internal/Size.js';
|
|
3
3
|
import type { BubbleColour } from './BubbleColour.js';
|
|
4
4
|
import type { PartialIconProps } from './PartialIconProps.js';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Props for {@link Bubble}.
|
|
7
|
+
*
|
|
8
|
+
* `Bubble` renders a pill / chip showing a value (optionally resolved via
|
|
9
|
+
* a parallel `options` list). It is generic over the value type `T` of the
|
|
10
|
+
* options array so consumers do not lose type information when looking up
|
|
11
|
+
* the display label.
|
|
12
|
+
*
|
|
13
|
+
* @typeParam T - The value type of the `options` array. Defaults to
|
|
14
|
+
* `unknown` so existing call sites that do not specify a
|
|
15
|
+
* generic continue to compile.
|
|
16
|
+
*/
|
|
17
|
+
export interface BubbleProps<T = unknown> {
|
|
18
|
+
/**
|
|
19
|
+
* The current value rendered inside the bubble. If `options` is provided
|
|
20
|
+
* and contains a matching entry, the corresponding `label` is shown
|
|
21
|
+
* instead.
|
|
22
|
+
*/
|
|
6
23
|
value: string;
|
|
7
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Optional click handler. When provided the bubble is wrapped in a
|
|
26
|
+
* `<button>` (via `display: contents`) and becomes keyboard-focusable.
|
|
27
|
+
*
|
|
28
|
+
* The `MouseEvent` is forwarded so callers can inspect modifier keys
|
|
29
|
+
* or call `preventDefault()`. The argument is optional for backwards
|
|
30
|
+
* compatibility with handlers that ignore it.
|
|
31
|
+
*/
|
|
32
|
+
onclick?: (event?: MouseEvent) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Optional trailing icon. Accepts a {@link PartialIconProps} which is
|
|
35
|
+
* spread into a nested `Icon` component.
|
|
36
|
+
*/
|
|
8
37
|
icon?: PartialIconProps;
|
|
38
|
+
/**
|
|
39
|
+
* When true the bubble text is rendered at `font-weight: 700`.
|
|
40
|
+
*/
|
|
9
41
|
bold?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Visual size band. Drives padding, font size, and border radius.
|
|
44
|
+
* Defaults to `Size.Medium`. Only `Size.Large` carries explicit
|
|
45
|
+
* overrides; other values fall back to the medium defaults.
|
|
46
|
+
*/
|
|
10
47
|
size?: Size;
|
|
48
|
+
/**
|
|
49
|
+
* Optional inline label rendered before the value, e.g. "Status: ".
|
|
50
|
+
* Followed by a non-breaking space in the rendered output.
|
|
51
|
+
*/
|
|
11
52
|
label?: string;
|
|
12
|
-
|
|
13
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Optional lookup table. When provided, the rendered text uses the
|
|
55
|
+
* `label` of the entry whose `value` equals `value`, falling back to
|
|
56
|
+
* the raw `value` if no entry matches.
|
|
57
|
+
*/
|
|
58
|
+
options?: Array<SelectOption<T>>;
|
|
59
|
+
/**
|
|
60
|
+
* Optional foreground / background colour pair. When omitted the
|
|
61
|
+
* bubble uses its default UI-blue palette. Passing `undefined`
|
|
62
|
+
* explicitly is equivalent to omitting the prop.
|
|
63
|
+
*/
|
|
64
|
+
colours?: BubbleColour | undefined;
|
|
14
65
|
}
|