@lavalogic/scoria 0.40.1 → 0.40.2
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/README.md +58 -58
- package/dist/Components/AccordionGroup.svelte +46 -46
- package/dist/Components/AccordionGroupButton.svelte +76 -76
- package/dist/Components/Action.svelte +136 -136
- package/dist/Components/AlertModal.svelte +195 -195
- package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +729 -729
- package/dist/Components/Base/BaseModal.svelte +125 -125
- package/dist/Components/Base/ContextWrapper.svelte +72 -72
- package/dist/Components/Base/Pagination.svelte +198 -198
- package/dist/Components/Base/Snippets.svelte +36 -36
- package/dist/Components/BigRadioSet.svelte +38 -38
- package/dist/Components/Bubble.svelte +101 -101
- package/dist/Components/Button.svelte +209 -209
- package/dist/Components/Checkbox.svelte +86 -86
- package/dist/Components/CollapsibleCard.svelte +78 -78
- package/dist/Components/Contexts/ContextMenu.svelte +164 -164
- package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -15
- package/dist/Components/Contexts/ContextMenuOption.svelte +60 -60
- package/dist/Components/Contexts/Toast.svelte +86 -86
- package/dist/Components/Contexts/ToastContainer.svelte +65 -65
- package/dist/Components/Contexts/Tooltip.svelte +37 -37
- package/dist/Components/DataMatrixIcon.svelte +112 -112
- package/dist/Components/DateInput.svelte +148 -148
- package/dist/Components/DatePicker.svelte +300 -300
- package/dist/Components/DesktopModal.svelte +90 -90
- package/dist/Components/Dial.svelte +204 -204
- package/dist/Components/DimensionInput.svelte +170 -170
- package/dist/Components/DragMenu/DragMenuHolder.svelte +119 -119
- package/dist/Components/DragMenu/DraggableCard.svelte +77 -77
- package/dist/Components/FileCard.svelte +24 -24
- package/dist/Components/FileUpload.svelte +236 -236
- package/dist/Components/GridInput.svelte +196 -196
- package/dist/Components/GridInputSet.svelte +29 -29
- package/dist/Components/HorizontalTabGroup.svelte +82 -82
- package/dist/Components/HorizontalTabGroupButton.svelte +44 -44
- package/dist/Components/Icon.svelte +128 -128
- package/dist/Components/Icons.js +357 -357
- package/dist/Components/InfoAlert.svelte +35 -35
- package/dist/Components/LoadingAnimation.svelte +29 -29
- package/dist/Components/LoadingModal.svelte +45 -45
- package/dist/Components/LoadingOverlay.svelte +25 -25
- package/dist/Components/Modal.svelte +258 -258
- package/dist/Components/MultiSelect.svelte +220 -220
- package/dist/Components/Nav/Nav.svelte +110 -110
- package/dist/Components/Nav/NavServiceMenuList.svelte +43 -43
- package/dist/Components/Nav/NavTab.svelte +62 -62
- package/dist/Components/Nav/ServiceMenuItem.svelte +112 -112
- package/dist/Components/Nav/ServicesNav.svelte +80 -80
- package/dist/Components/NumberInput.svelte +157 -157
- package/dist/Components/PageHeading.svelte +25 -25
- package/dist/Components/PasswordInput.svelte +88 -88
- package/dist/Components/Portal.svelte +36 -36
- package/dist/Components/ProgressBubble.svelte +107 -107
- package/dist/Components/QuerySelect.svelte +366 -366
- package/dist/Components/SingleSelect.svelte +250 -250
- package/dist/Components/StepButton.svelte +70 -70
- package/dist/Components/StepForm.svelte +140 -140
- package/dist/Components/Switch.svelte +69 -69
- package/dist/Components/Table/ARCHITECTURE.md +298 -298
- package/dist/Components/Table/Body/QuickSearchCell.svelte +679 -679
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +51 -51
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +59 -59
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +454 -454
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +79 -79
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +185 -185
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +124 -124
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +131 -120
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +234 -234
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +105 -105
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +87 -87
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +126 -126
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +159 -159
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +246 -246
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +216 -216
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +252 -252
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +179 -179
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +221 -221
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +197 -197
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +190 -190
- package/dist/Components/Table/Body/Rows/TableRow.svelte +290 -290
- package/dist/Components/Table/Body/TableBody.svelte +155 -155
- package/dist/Components/Table/ColumnFactory.svelte.js +1 -0
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +41 -41
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +30 -30
- package/dist/Components/Table/Headers/TableHead.svelte +415 -415
- package/dist/Components/Table/Misc/ColumnPanel.svelte +39 -39
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +39 -39
- package/dist/Components/Table/Misc/FilterInput.svelte +641 -641
- package/dist/Components/Table/Misc/FilterPanel.svelte +190 -190
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +31 -31
- package/dist/Components/Table/Misc/ShareViewModal.svelte +291 -291
- package/dist/Components/Table/Misc/SidePanel.svelte +35 -35
- package/dist/Components/Table/Misc/TableConfigurationModal.svelte +644 -644
- package/dist/Components/Table/Misc/TableFooter.svelte +340 -340
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +140 -140
- package/dist/Components/Table/Misc/TableSidebar.svelte +200 -200
- package/dist/Components/Table/Misc/TableViewDropdown.svelte +105 -105
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +100 -100
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +107 -107
- package/dist/Components/Table/Misc/UpdateViewOptionsModal.svelte +192 -192
- package/dist/Components/Table/NestedTable.svelte +130 -130
- package/dist/Components/Table/Table.svelte +692 -692
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +5 -0
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +3 -0
- package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +10 -0
- package/dist/Components/Test/TestContextConsumer.svelte +13 -13
- package/dist/Components/TextArea.svelte +130 -130
- package/dist/Components/TextInput.svelte +176 -176
- package/dist/Components/ThreeStateRadio.svelte +131 -131
- package/dist/Components/Touch/BoolCard.svelte +45 -45
- package/dist/Components/Touch/DateModal.svelte +209 -209
- package/dist/Components/Touch/EditCard.svelte +59 -59
- package/dist/Components/Touch/InfoCard.svelte +31 -31
- package/dist/Components/Touch/InfoTextCard.svelte +28 -28
- package/dist/Components/Touch/ModalExplanation.svelte +17 -17
- package/dist/Components/Touch/NumberKeyboard.svelte +225 -225
- package/dist/Components/Touch/NumberModal.svelte +79 -79
- package/dist/Components/Touch/PlusMinusCard.svelte +46 -46
- package/dist/Components/Touch/SelectModal.svelte +127 -127
- package/dist/Components/Touch/SummaryCard.svelte +93 -93
- package/dist/Components/Touch/TextAreaModal.svelte +95 -95
- package/dist/Components/Touch/TextModal.svelte +106 -106
- package/dist/Components/Touch/TouchCard.svelte +33 -33
- package/dist/Components/Touch/TouchModal.svelte +274 -274
- package/dist/Components/Touch/UtilityButton.svelte +109 -109
- package/dist/Components/VerticalTabGroup.svelte +79 -79
- package/dist/Components/VerticalTabGroupButton.svelte +58 -58
- package/dist/Helpers/Datamatrix.d.ts +19 -19
- package/dist/Helpers/Datamatrix.js +291 -291
- package/dist/Types/Examples/ExampleModal.svelte +35 -35
- package/dist/scss/_basics.scss +12 -12
- package/dist/scss/_colours.scss +134 -134
- package/dist/scss/_mixins.scss +3392 -3392
- package/dist/scss/_motion.scss +57 -57
- package/dist/scss/_sizing.scss +85 -85
- package/dist/scss/_transitions.scss +8 -8
- package/package.json +1 -1
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
<svelte:options runes />
|
|
2
|
-
|
|
3
|
-
<script
|
|
4
|
-
lang="ts"
|
|
5
|
-
generics="T extends object, IdType extends Primitive"
|
|
6
|
-
>
|
|
7
|
-
import Action from '../../../Action.svelte';
|
|
8
|
-
import { Colour } from '../../../../scss/colours.js';
|
|
9
|
-
import { Size } from '../../../../Types/Internal/Size.js';
|
|
10
|
-
import { getContext } from 'svelte';
|
|
11
|
-
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
12
|
-
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
13
|
-
import type { ColumnHighlightProps } from './ColumnHighlightProps.js';
|
|
14
|
-
|
|
15
|
-
const { rowIndex, highlighted, toggleHighlightedRow }: ColumnHighlightProps = $props();
|
|
16
|
-
|
|
17
|
-
const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
|
|
18
|
-
|
|
19
|
-
const backgroundColour = $derived(highlighted ? Colour['$brand-primary'] : Colour['$ui-white']);
|
|
20
|
-
|
|
21
|
-
// Cell id is prefixed with the owning table name to avoid duplicate `id`
|
|
22
|
-
// attributes when multiple tables share the page (workorder P2).
|
|
23
|
-
const cellId = $derived(`${tableContext.tableName}-tagger-row-${rowIndex}`);
|
|
24
|
-
const label = $derived(
|
|
25
|
-
`${highlighted ? 'Unhighlight' : 'Highlight'} row ${(rowIndex + 1).toString()}`
|
|
26
|
-
);
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<!-- Toggle semantics: `aria-pressed` is communicated through the Action's label
|
|
30
|
-
which reads either "Highlight row N" or "Unhighlight row N" depending on state. -->
|
|
31
|
-
<div
|
|
32
|
-
id={cellId}
|
|
33
|
-
class="highlight-content"
|
|
34
|
-
>
|
|
35
|
-
<div class="wrapper">
|
|
36
|
-
<Action
|
|
37
|
-
{backgroundColour}
|
|
38
|
-
hoverBackgroundColour={Colour['$brand-dark']}
|
|
39
|
-
size={Size.FillWidth}
|
|
40
|
-
{label}
|
|
41
|
-
icon={{
|
|
42
|
-
name: 'nothing',
|
|
43
|
-
}}
|
|
44
|
-
onclick={() => {
|
|
45
|
-
toggleHighlightedRow();
|
|
46
|
-
}}
|
|
47
|
-
/>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
|
|
1
|
+
<svelte:options runes />
|
|
2
|
+
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object, IdType extends Primitive"
|
|
6
|
+
>
|
|
7
|
+
import Action from '../../../Action.svelte';
|
|
8
|
+
import { Colour } from '../../../../scss/colours.js';
|
|
9
|
+
import { Size } from '../../../../Types/Internal/Size.js';
|
|
10
|
+
import { getContext } from 'svelte';
|
|
11
|
+
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
12
|
+
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
13
|
+
import type { ColumnHighlightProps } from './ColumnHighlightProps.js';
|
|
14
|
+
|
|
15
|
+
const { rowIndex, highlighted, toggleHighlightedRow }: ColumnHighlightProps = $props();
|
|
16
|
+
|
|
17
|
+
const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
|
|
18
|
+
|
|
19
|
+
const backgroundColour = $derived(highlighted ? Colour['$brand-primary'] : Colour['$ui-white']);
|
|
20
|
+
|
|
21
|
+
// Cell id is prefixed with the owning table name to avoid duplicate `id`
|
|
22
|
+
// attributes when multiple tables share the page (workorder P2).
|
|
23
|
+
const cellId = $derived(`${tableContext.tableName}-tagger-row-${rowIndex}`);
|
|
24
|
+
const label = $derived(
|
|
25
|
+
`${highlighted ? 'Unhighlight' : 'Highlight'} row ${(rowIndex + 1).toString()}`
|
|
26
|
+
);
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<!-- Toggle semantics: `aria-pressed` is communicated through the Action's label
|
|
30
|
+
which reads either "Highlight row N" or "Unhighlight row N" depending on state. -->
|
|
31
|
+
<div
|
|
32
|
+
id={cellId}
|
|
33
|
+
class="highlight-content"
|
|
34
|
+
>
|
|
35
|
+
<div class="wrapper">
|
|
36
|
+
<Action
|
|
37
|
+
{backgroundColour}
|
|
38
|
+
hoverBackgroundColour={Colour['$brand-dark']}
|
|
39
|
+
size={Size.FillWidth}
|
|
40
|
+
{label}
|
|
41
|
+
icon={{
|
|
42
|
+
name: 'nothing',
|
|
43
|
+
}}
|
|
44
|
+
onclick={() => {
|
|
45
|
+
toggleHighlightedRow();
|
|
46
|
+
}}
|
|
47
|
+
/>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
51
|
<style>.focusable,
|
|
52
52
|
.checkbox-cell,
|
|
53
53
|
.input-cell,
|
|
@@ -94,4 +94,4 @@ div.wrapper {
|
|
|
94
94
|
|
|
95
95
|
.wrapper {
|
|
96
96
|
overflow: hidden;
|
|
97
|
-
}</style>
|
|
97
|
+
}</style>
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
<svelte:options runes />
|
|
2
|
-
|
|
3
|
-
<script
|
|
4
|
-
lang="ts"
|
|
5
|
-
generics="T extends object, IdType extends Primitive"
|
|
6
|
-
>
|
|
7
|
-
import { ColumnType } from '../../Types/Columns/ColumnType.js';
|
|
8
|
-
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
9
|
-
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
10
|
-
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
11
|
-
import { getContext } from 'svelte';
|
|
12
|
-
import type { ColumnListProps } from './ColumnListProps.js';
|
|
13
|
-
import ColumnListRow from './ColumnListRow.svelte';
|
|
14
|
-
|
|
15
|
-
const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
|
|
16
|
-
|
|
17
|
-
const { searchValue }: ColumnListProps = $props();
|
|
18
|
-
|
|
19
|
-
const visibleColumns: Array<ColumnDef<T>> = $derived.by(() => {
|
|
20
|
-
const lowercasedSearchValue = searchValue.toLocaleLowerCase();
|
|
21
|
-
return tableContext.columnDefs.filter(
|
|
22
|
-
(it) =>
|
|
23
|
-
it.columnType !== ColumnType.FilterOnly &&
|
|
24
|
-
(it.id.toLowerCase().includes(lowercasedSearchValue) ||
|
|
25
|
-
(typeof it.header === 'string' &&
|
|
26
|
-
it.header.toLowerCase().includes(lowercasedSearchValue)))
|
|
27
|
-
);
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
function onDrop(e: DragEvent) {
|
|
31
|
-
if (!tableContext.dragTarget) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const dropTarget = (e.target as HTMLElement | undefined)?.closest('li');
|
|
36
|
-
|
|
37
|
-
if (dropTarget) {
|
|
38
|
-
tableContext.reorderColumn(dropTarget);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
</script>
|
|
42
|
-
|
|
43
|
-
<ul
|
|
44
|
-
class="column-list"
|
|
45
|
-
ondrop={onDrop}
|
|
46
|
-
>
|
|
47
|
-
<!-- HACK this is used as an anchor for dragging rows to the top -->
|
|
48
|
-
<ColumnListRow columnDef={null} />
|
|
49
|
-
|
|
50
|
-
{#each visibleColumns as columnDef (columnDef.id)}
|
|
51
|
-
<ColumnListRow {columnDef} />
|
|
52
|
-
{:else}
|
|
53
|
-
{#if searchValue.length > 0}
|
|
54
|
-
<li class="empty-state">No columns match “{searchValue}”</li>
|
|
55
|
-
{/if}
|
|
56
|
-
{/each}
|
|
57
|
-
</ul>
|
|
58
|
-
|
|
1
|
+
<svelte:options runes />
|
|
2
|
+
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object, IdType extends Primitive"
|
|
6
|
+
>
|
|
7
|
+
import { ColumnType } from '../../Types/Columns/ColumnType.js';
|
|
8
|
+
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
9
|
+
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
10
|
+
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
11
|
+
import { getContext } from 'svelte';
|
|
12
|
+
import type { ColumnListProps } from './ColumnListProps.js';
|
|
13
|
+
import ColumnListRow from './ColumnListRow.svelte';
|
|
14
|
+
|
|
15
|
+
const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
|
|
16
|
+
|
|
17
|
+
const { searchValue }: ColumnListProps = $props();
|
|
18
|
+
|
|
19
|
+
const visibleColumns: Array<ColumnDef<T>> = $derived.by(() => {
|
|
20
|
+
const lowercasedSearchValue = searchValue.toLocaleLowerCase();
|
|
21
|
+
return tableContext.columnDefs.filter(
|
|
22
|
+
(it) =>
|
|
23
|
+
it.columnType !== ColumnType.FilterOnly &&
|
|
24
|
+
(it.id.toLowerCase().includes(lowercasedSearchValue) ||
|
|
25
|
+
(typeof it.header === 'string' &&
|
|
26
|
+
it.header.toLowerCase().includes(lowercasedSearchValue)))
|
|
27
|
+
);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
function onDrop(e: DragEvent) {
|
|
31
|
+
if (!tableContext.dragTarget) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const dropTarget = (e.target as HTMLElement | undefined)?.closest('li');
|
|
36
|
+
|
|
37
|
+
if (dropTarget) {
|
|
38
|
+
tableContext.reorderColumn(dropTarget);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<ul
|
|
44
|
+
class="column-list"
|
|
45
|
+
ondrop={onDrop}
|
|
46
|
+
>
|
|
47
|
+
<!-- HACK this is used as an anchor for dragging rows to the top -->
|
|
48
|
+
<ColumnListRow columnDef={null} />
|
|
49
|
+
|
|
50
|
+
{#each visibleColumns as columnDef (columnDef.id)}
|
|
51
|
+
<ColumnListRow {columnDef} />
|
|
52
|
+
{:else}
|
|
53
|
+
{#if searchValue.length > 0}
|
|
54
|
+
<li class="empty-state">No columns match “{searchValue}”</li>
|
|
55
|
+
{/if}
|
|
56
|
+
{/each}
|
|
57
|
+
</ul>
|
|
58
|
+
|
|
59
59
|
<style>ul {
|
|
60
60
|
list-style: none;
|
|
61
61
|
background-color: #ffffff;
|
|
@@ -75,4 +75,4 @@
|
|
|
75
75
|
text-align: center;
|
|
76
76
|
color: #8096a5;
|
|
77
77
|
font-style: italic;
|
|
78
|
-
}</style>
|
|
78
|
+
}</style>
|