@lavalogic/scoria 0.33.0 → 0.35.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.
Files changed (130) hide show
  1. package/README.md +58 -58
  2. package/dist/Components/AccordionGroup.svelte +44 -63
  3. package/dist/Components/AccordionGroup.svelte.d.ts +2 -25
  4. package/dist/Components/AccordionGroupButton.svelte +106 -114
  5. package/dist/Components/AccordionGroupButton.svelte.d.ts +2 -2
  6. package/dist/Components/AccordionGroupButtonProps.d.ts +21 -0
  7. package/dist/Components/AccordionGroupButtonProps.js +1 -0
  8. package/dist/Components/Action.svelte +138 -138
  9. package/dist/Components/AlertModal.svelte +125 -125
  10. package/dist/Components/Base/ContextWrapper.svelte +50 -50
  11. package/dist/Components/Base/Pagination.svelte +190 -190
  12. package/dist/Components/Base/Snippets.svelte +29 -29
  13. package/dist/Components/BigRadioSet.svelte +29 -29
  14. package/dist/Components/Bubble.svelte +77 -77
  15. package/dist/Components/Button.svelte +197 -197
  16. package/dist/Components/Checkbox.svelte +68 -68
  17. package/dist/Components/CollapsibleCard.svelte +70 -70
  18. package/dist/Components/Contexts/ContextMenu.svelte +157 -157
  19. package/dist/Components/Contexts/ContextMenuDivider.svelte +11 -11
  20. package/dist/Components/Contexts/ContextMenuOption.svelte +52 -52
  21. package/dist/Components/Contexts/Toast.svelte +61 -61
  22. package/dist/Components/Contexts/ToastContainer.svelte +46 -46
  23. package/dist/Components/Contexts/Tooltip.svelte +26 -26
  24. package/dist/Components/DataMatrixIcon.svelte +41 -41
  25. package/dist/Components/DateInput.svelte +109 -109
  26. package/dist/Components/DatePicker.svelte +312 -312
  27. package/dist/Components/DesktopModal.svelte +106 -106
  28. package/dist/Components/Dial.svelte +151 -151
  29. package/dist/Components/DimensionInput.svelte +184 -184
  30. package/dist/Components/DragMenu/DragMenuHolder.svelte +106 -106
  31. package/dist/Components/DragMenu/DraggableCard.svelte +41 -41
  32. package/dist/Components/FileCard.svelte +20 -20
  33. package/dist/Components/FileUpload.svelte +196 -196
  34. package/dist/Components/GridInput.svelte +190 -190
  35. package/dist/Components/GridInputSet.svelte +22 -22
  36. package/dist/Components/HorizontalTabGroup.svelte +78 -78
  37. package/dist/Components/HorizontalTabGroupButton.svelte +96 -96
  38. package/dist/Components/Icon.svelte +97 -97
  39. package/dist/Components/Icons.js +357 -357
  40. package/dist/Components/LoadingAnimation.svelte +32 -32
  41. package/dist/Components/LoadingModal.svelte +47 -47
  42. package/dist/Components/LoadingOverlay.svelte +27 -27
  43. package/dist/Components/Modal.svelte +251 -251
  44. package/dist/Components/MultiSelect.svelte +197 -197
  45. package/dist/Components/Nav/Nav.svelte +97 -97
  46. package/dist/Components/Nav/NavServiceMenuList.svelte +34 -34
  47. package/dist/Components/Nav/NavTab.svelte +91 -91
  48. package/dist/Components/Nav/ServiceMenuItem.svelte +91 -91
  49. package/dist/Components/Nav/ServicesNav.svelte +53 -53
  50. package/dist/Components/NumberInput.svelte +144 -144
  51. package/dist/Components/PageHeading.svelte +36 -36
  52. package/dist/Components/PasswordInput.svelte +73 -73
  53. package/dist/Components/Portal.svelte +25 -25
  54. package/dist/Components/ProgressBubble.svelte +80 -80
  55. package/dist/Components/QuerySelect.svelte +411 -411
  56. package/dist/Components/SingleSelect.svelte +261 -261
  57. package/dist/Components/StepButton.svelte +120 -120
  58. package/dist/Components/StepForm.svelte +108 -108
  59. package/dist/Components/Switch.svelte +36 -36
  60. package/dist/Components/Table/Body/QuickSearchCell.svelte +632 -632
  61. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +30 -30
  62. package/dist/Components/Table/Body/Rows/ColumnList.svelte +56 -56
  63. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +179 -179
  64. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +49 -49
  65. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +180 -180
  66. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +102 -102
  67. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +119 -119
  68. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +114 -114
  69. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +96 -96
  70. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +72 -72
  71. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +131 -131
  72. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +144 -144
  73. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +238 -238
  74. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +358 -358
  75. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +338 -338
  76. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +183 -183
  77. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +309 -309
  78. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +369 -369
  79. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +170 -170
  80. package/dist/Components/Table/Body/Rows/TableRow.svelte +259 -259
  81. package/dist/Components/Table/Body/TableBody.svelte +67 -67
  82. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +39 -39
  83. package/dist/Components/Table/Headers/SelectAllHeader.svelte +28 -28
  84. package/dist/Components/Table/Headers/TableHead.svelte +260 -260
  85. package/dist/Components/Table/Misc/ColumnPanel.svelte +78 -78
  86. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +99 -99
  87. package/dist/Components/Table/Misc/FilterInput.svelte +556 -556
  88. package/dist/Components/Table/Misc/FilterPanel.svelte +46 -46
  89. package/dist/Components/Table/Misc/FilterPanelModal.svelte +67 -67
  90. package/dist/Components/Table/Misc/SidePanel.svelte +32 -32
  91. package/dist/Components/Table/Misc/TableFooter.svelte +304 -304
  92. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +156 -156
  93. package/dist/Components/Table/Misc/TableSidebar.svelte +176 -176
  94. package/dist/Components/Table/Misc/ToolboxPanel.svelte +77 -77
  95. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +91 -91
  96. package/dist/Components/Table/NestedTable.svelte +84 -84
  97. package/dist/Components/Table/Table.svelte +492 -492
  98. package/dist/Components/Test/TestContextConsumer.svelte +13 -13
  99. package/dist/Components/TextArea.svelte +108 -108
  100. package/dist/Components/TextInput.svelte +147 -147
  101. package/dist/Components/ThreeStateRadio.svelte +124 -124
  102. package/dist/Components/Touch/BoolCard.svelte +52 -52
  103. package/dist/Components/Touch/DateModal.svelte +217 -217
  104. package/dist/Components/Touch/EditCard.svelte +52 -52
  105. package/dist/Components/Touch/InfoCard.svelte +24 -24
  106. package/dist/Components/Touch/InfoTextCard.svelte +21 -21
  107. package/dist/Components/Touch/ModalExplanation.svelte +20 -20
  108. package/dist/Components/Touch/NumberKeyboard.svelte +268 -268
  109. package/dist/Components/Touch/NumberModal.svelte +69 -69
  110. package/dist/Components/Touch/PlusMinusCard.svelte +50 -50
  111. package/dist/Components/Touch/SelectModal.svelte +105 -105
  112. package/dist/Components/Touch/SummaryCard.svelte +65 -65
  113. package/dist/Components/Touch/TextAreaModal.svelte +86 -86
  114. package/dist/Components/Touch/TextModal.svelte +123 -123
  115. package/dist/Components/Touch/TouchCard.svelte +28 -28
  116. package/dist/Components/Touch/TouchModal.svelte +259 -259
  117. package/dist/Components/Touch/UtilityButton.svelte +91 -91
  118. package/dist/Components/VerticalTabGroup.svelte +66 -66
  119. package/dist/Components/VerticalTabGroupButton.svelte +97 -97
  120. package/dist/Helpers/Datamatrix.d.ts +10 -10
  121. package/dist/Helpers/Datamatrix.js +1 -1
  122. package/dist/Helpers/Helpers.svelte.js +6 -4
  123. package/dist/Types/Examples/ExampleModal.svelte +34 -34
  124. package/dist/index.d.ts +1 -0
  125. package/dist/scss/_basics.scss +12 -12
  126. package/dist/scss/_colours.scss +134 -134
  127. package/dist/scss/_mixins.scss +3016 -3016
  128. package/dist/scss/_sizing.scss +69 -69
  129. package/dist/scss/_transitions.scss +8 -8
  130. package/package.json +2 -2
@@ -1,126 +1,126 @@
1
- <svelte:options runes />
2
-
3
- <script lang="ts" module>
4
- import { Colour, ColourSet } from '../scss/colours.js';
5
- import { Ternary } from '../Types/Internal/Ternary.js';
6
- import { untrack } from 'svelte';
7
- import Action from './Action.svelte';
8
- import type { ThreeStateRadioProps } from './ThreeStateRadioProps.js';
9
- </script>
10
-
11
- <script lang="ts">
12
- let {
13
- value = $bindable(Ternary.Neutral),
14
- // id = generateShortUUID(),
15
- label,
16
- disabled,
17
- isValid,
18
- onchange,
19
- noDisabled = false,
20
- yesDisabled = false,
21
- neutralDisabled = false,
22
- noLabel,
23
- yesLabel,
24
- neutralLabel,
25
- noIcon,
26
- yesIcon,
27
- neutralIcon
28
- }: ThreeStateRadioProps = $props();
29
-
30
- let textValue = $state('');
31
-
32
- $effect(() => {
33
- void value;
34
- untrack(() => {
35
- if (value === Ternary.False && textValue !== '0') {
36
- textValue = '0';
37
- } else if (value === Ternary.Neutral && textValue !== '-1') {
38
- textValue = '-1';
39
- } else if (value === Ternary.True && textValue !== '1') {
40
- textValue = '1';
41
- }
42
- });
43
- });
44
-
45
- $effect(() => {
46
- void textValue;
47
- untrack(() => {
48
- if (textValue === '0' && value !== Ternary.False) {
49
- value = Ternary.False;
50
- onchange?.(Ternary.False);
51
- } else if (textValue === '-1' && value !== Ternary.Neutral) {
52
- value = Ternary.Neutral;
53
- onchange?.(Ternary.Neutral);
54
- } else if (textValue === '1' && value !== Ternary.True) {
55
- value = Ternary.True;
56
- onchange?.(Ternary.True);
57
- }
58
- });
59
- });
60
- </script>
61
-
62
- <div class="text-label" class:invalid={isValid === false}>
63
- {#if label != undefined}
64
- <span>{label}</span>
65
- {/if}
66
-
67
- <div class="radios">
68
- <label>
69
- <Action
70
- disabled={disabled || noDisabled}
71
- colourSet={value === Ternary.False ? ColourSet.Primary : ColourSet.Auxiliary}
72
- icon={{
73
- name: 'circle-cross',
74
- ...noIcon,
75
- colour: value === Ternary.False ? undefined : Colour['$ui-blue-5']
76
- }}
77
- label={noLabel ?? 'No'}
78
- onclick={() => {
79
- textValue = '0';
80
- }}
81
- />
82
- <input disabled={disabled || noDisabled} type="radio" bind:group={textValue} value="0" />
83
- </label>
84
- <label>
85
- <Action
86
- disabled={disabled || neutralDisabled}
87
- colourSet={value === Ternary.Neutral ? ColourSet.Primary : ColourSet.Auxiliary}
88
- icon={{
89
- name: 'database',
90
- ...neutralIcon,
91
- colour: value === Ternary.Neutral ? undefined : Colour['$ui-blue-5']
92
- }}
93
- label={neutralLabel ?? 'Allow system to decide'}
94
- onclick={() => {
95
- textValue = '-1';
96
- }}
97
- />
98
- <input
99
- disabled={disabled || neutralDisabled}
100
- type="radio"
101
- bind:group={textValue}
102
- value="-1"
103
- />
104
- </label>
105
- <label>
106
- <Action
107
- disabled={disabled || yesDisabled}
108
- colourSet={value === Ternary.True ? ColourSet.Primary : ColourSet.Auxiliary}
109
- icon={{
110
- name: 'circle-tick',
111
- ...yesIcon,
112
- colour: value === Ternary.True ? undefined : Colour['$ui-blue-5']
113
- }}
114
- label={yesLabel ?? 'Yes'}
115
- onclick={() => {
116
- textValue = '1';
117
- }}
118
- />
119
- <input disabled={disabled || yesDisabled} type="radio" bind:group={textValue} value="1" />
120
- </label>
121
- </div>
122
- </div>
123
-
1
+ <svelte:options runes />
2
+
3
+ <script lang="ts" module>
4
+ import { Colour, ColourSet } from '../scss/colours.js';
5
+ import { Ternary } from '../Types/Internal/Ternary.js';
6
+ import { untrack } from 'svelte';
7
+ import Action from './Action.svelte';
8
+ import type { ThreeStateRadioProps } from './ThreeStateRadioProps.js';
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ let {
13
+ value = $bindable(Ternary.Neutral),
14
+ // id = generateShortUUID(),
15
+ label,
16
+ disabled,
17
+ isValid,
18
+ onchange,
19
+ noDisabled = false,
20
+ yesDisabled = false,
21
+ neutralDisabled = false,
22
+ noLabel,
23
+ yesLabel,
24
+ neutralLabel,
25
+ noIcon,
26
+ yesIcon,
27
+ neutralIcon
28
+ }: ThreeStateRadioProps = $props();
29
+
30
+ let textValue = $state('');
31
+
32
+ $effect(() => {
33
+ void value;
34
+ untrack(() => {
35
+ if (value === Ternary.False && textValue !== '0') {
36
+ textValue = '0';
37
+ } else if (value === Ternary.Neutral && textValue !== '-1') {
38
+ textValue = '-1';
39
+ } else if (value === Ternary.True && textValue !== '1') {
40
+ textValue = '1';
41
+ }
42
+ });
43
+ });
44
+
45
+ $effect(() => {
46
+ void textValue;
47
+ untrack(() => {
48
+ if (textValue === '0' && value !== Ternary.False) {
49
+ value = Ternary.False;
50
+ onchange?.(Ternary.False);
51
+ } else if (textValue === '-1' && value !== Ternary.Neutral) {
52
+ value = Ternary.Neutral;
53
+ onchange?.(Ternary.Neutral);
54
+ } else if (textValue === '1' && value !== Ternary.True) {
55
+ value = Ternary.True;
56
+ onchange?.(Ternary.True);
57
+ }
58
+ });
59
+ });
60
+ </script>
61
+
62
+ <div class="text-label" class:invalid={isValid === false}>
63
+ {#if label != undefined}
64
+ <span>{label}</span>
65
+ {/if}
66
+
67
+ <div class="radios">
68
+ <label>
69
+ <Action
70
+ disabled={disabled || noDisabled}
71
+ colourSet={value === Ternary.False ? ColourSet.Primary : ColourSet.Auxiliary}
72
+ icon={{
73
+ name: 'circle-cross',
74
+ ...noIcon,
75
+ colour: value === Ternary.False ? undefined : Colour['$ui-blue-5']
76
+ }}
77
+ label={noLabel ?? 'No'}
78
+ onclick={() => {
79
+ textValue = '0';
80
+ }}
81
+ />
82
+ <input disabled={disabled || noDisabled} type="radio" bind:group={textValue} value="0" />
83
+ </label>
84
+ <label>
85
+ <Action
86
+ disabled={disabled || neutralDisabled}
87
+ colourSet={value === Ternary.Neutral ? ColourSet.Primary : ColourSet.Auxiliary}
88
+ icon={{
89
+ name: 'database',
90
+ ...neutralIcon,
91
+ colour: value === Ternary.Neutral ? undefined : Colour['$ui-blue-5']
92
+ }}
93
+ label={neutralLabel ?? 'Allow system to decide'}
94
+ onclick={() => {
95
+ textValue = '-1';
96
+ }}
97
+ />
98
+ <input
99
+ disabled={disabled || neutralDisabled}
100
+ type="radio"
101
+ bind:group={textValue}
102
+ value="-1"
103
+ />
104
+ </label>
105
+ <label>
106
+ <Action
107
+ disabled={disabled || yesDisabled}
108
+ colourSet={value === Ternary.True ? ColourSet.Primary : ColourSet.Auxiliary}
109
+ icon={{
110
+ name: 'circle-tick',
111
+ ...yesIcon,
112
+ colour: value === Ternary.True ? undefined : Colour['$ui-blue-5']
113
+ }}
114
+ label={yesLabel ?? 'Yes'}
115
+ onclick={() => {
116
+ textValue = '1';
117
+ }}
118
+ />
119
+ <input disabled={disabled || yesDisabled} type="radio" bind:group={textValue} value="1" />
120
+ </label>
121
+ </div>
122
+ </div>
123
+
124
124
  <style>.text-label {
125
125
  box-sizing: border-box;
126
126
  height: max(var(--input-height, 3rem), 2rem);
@@ -201,4 +201,4 @@
201
201
 
202
202
  input {
203
203
  display: none;
204
- }</style>
204
+ }</style>
@@ -1,54 +1,54 @@
1
- <svelte:options runes />
2
-
3
- <script lang="ts" module>
4
- import { passthrough } from '../../Helpers/Helpers.svelte.js';
5
- import { Colour } from '../../scss/colours.js';
6
- import { Size } from '../../Types/Internal/Size.js';
7
- import type { Snippet } from 'svelte';
8
- import Icon from '../Icon.svelte';
9
- import type { IconProps } from '../IconProps.js';
10
-
11
- export interface BoolCardProps {
12
- value?: boolean;
13
- disabled?: boolean | undefined;
14
- onclick?: (e: MouseEvent) => void;
15
- children?: Snippet;
16
- nowidth?: boolean;
17
- size?: Size;
18
- }
19
- </script>
20
-
21
- <script lang="ts">
22
- let {
23
- value = $bindable(false),
24
- disabled,
25
- onclick,
26
- children,
27
- nowidth,
28
- size = Size.Medium
29
- }: BoolCardProps = $props();
30
-
31
- const iconName = $derived(value ? 'circle-tick' : ('circle' as IconProps['name']));
32
- </script>
33
-
34
- <button
35
- class:small={size == Size.Small}
36
- onkeydown={passthrough}
37
- disabled={disabled || undefined}
38
- class:nowidth
39
- type="button"
40
- class="card"
41
- class:ticked={value}
42
- {onclick}
43
- >
44
- {#if children}
45
- <span class="value" class:small={size == Size.Small}>{@render children()}</span>{/if}<Icon
46
- name={iconName}
47
- size={Size.DoubleXLarge}
48
- colour={value ? Colour['$ui-white'] : undefined}
49
- />
50
- </button>
51
-
1
+ <svelte:options runes />
2
+
3
+ <script lang="ts" module>
4
+ import { passthrough } from '../../Helpers/Helpers.svelte.js';
5
+ import { Colour } from '../../scss/colours.js';
6
+ import { Size } from '../../Types/Internal/Size.js';
7
+ import type { Snippet } from 'svelte';
8
+ import Icon from '../Icon.svelte';
9
+ import type { IconProps } from '../IconProps.js';
10
+
11
+ export interface BoolCardProps {
12
+ value?: boolean;
13
+ disabled?: boolean | undefined;
14
+ onclick?: (e: MouseEvent) => void;
15
+ children?: Snippet;
16
+ nowidth?: boolean;
17
+ size?: Size;
18
+ }
19
+ </script>
20
+
21
+ <script lang="ts">
22
+ let {
23
+ value = $bindable(false),
24
+ disabled,
25
+ onclick,
26
+ children,
27
+ nowidth,
28
+ size = Size.Medium
29
+ }: BoolCardProps = $props();
30
+
31
+ const iconName = $derived(value ? 'circle-tick' : ('circle' as IconProps['name']));
32
+ </script>
33
+
34
+ <button
35
+ class:small={size == Size.Small}
36
+ onkeydown={passthrough}
37
+ disabled={disabled || undefined}
38
+ class:nowidth
39
+ type="button"
40
+ class="card"
41
+ class:ticked={value}
42
+ {onclick}
43
+ >
44
+ {#if children}
45
+ <span class="value" class:small={size == Size.Small}>{@render children()}</span>{/if}<Icon
46
+ name={iconName}
47
+ size={Size.DoubleXLarge}
48
+ colour={value ? Colour['$ui-white'] : undefined}
49
+ />
50
+ </button>
51
+
52
52
  <style>button.card {
53
53
  color: #3a4952;
54
54
  fill: #3a4952;
@@ -178,4 +178,4 @@ button.card .value.small {
178
178
  font-size: 1.1875rem;
179
179
  font-weight: 600;
180
180
  padding: 0;
181
- }</style>
181
+ }</style>