@lavalogic/scoria 0.40.31 → 0.40.33

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 (137) hide show
  1. package/README.md +58 -58
  2. package/dist/Components/AccordionGroup.svelte +28 -28
  3. package/dist/Components/AccordionGroupButton.svelte +60 -60
  4. package/dist/Components/Action.svelte +48 -48
  5. package/dist/Components/AlertModal.svelte +102 -102
  6. package/dist/Components/Base/ContextWrapper.svelte +45 -45
  7. package/dist/Components/Base/Pagination.svelte +135 -135
  8. package/dist/Components/Base/Snippets.svelte +25 -25
  9. package/dist/Components/BigRadioSet.svelte +34 -34
  10. package/dist/Components/Bubble.svelte +38 -38
  11. package/dist/Components/Button.svelte +83 -83
  12. package/dist/Components/Checkbox.svelte +71 -71
  13. package/dist/Components/CollapsibleCard.svelte +59 -59
  14. package/dist/Components/CollapsibleMenuGroup.svelte +43 -43
  15. package/dist/Components/ConditionBuilder/ConditionBuilder.svelte +101 -101
  16. package/dist/Components/Contexts/ContextMenu.svelte +76 -76
  17. package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -15
  18. package/dist/Components/Contexts/ContextMenuOption.svelte +38 -38
  19. package/dist/Components/Contexts/Toast.svelte +71 -71
  20. package/dist/Components/Contexts/ToastContainer.svelte +34 -34
  21. package/dist/Components/Contexts/Tooltip.svelte +32 -32
  22. package/dist/Components/DataMatrixIcon.svelte +37 -37
  23. package/dist/Components/DateInput.svelte +80 -80
  24. package/dist/Components/DatePicker.svelte +86 -86
  25. package/dist/Components/DesktopModal.svelte +65 -65
  26. package/dist/Components/Dial.svelte +35 -35
  27. package/dist/Components/DimensionInput.svelte +95 -95
  28. package/dist/Components/DragMenu/DragMenuHolder.svelte +53 -53
  29. package/dist/Components/DragMenu/DraggableCard.svelte +49 -49
  30. package/dist/Components/FileCard.svelte +18 -18
  31. package/dist/Components/FileUpload.svelte +115 -115
  32. package/dist/Components/GridInput.svelte +123 -123
  33. package/dist/Components/GridInputSet.svelte +21 -21
  34. package/dist/Components/HorizontalTabGroup.svelte +54 -54
  35. package/dist/Components/HorizontalTabGroupButton.svelte +32 -32
  36. package/dist/Components/Icon.svelte +68 -68
  37. package/dist/Components/Icons.d.ts +3 -3
  38. package/dist/Components/Icons.js +11 -11
  39. package/dist/Components/InfoAlert.svelte +32 -32
  40. package/dist/Components/LoadingAnimation.svelte +228 -227
  41. package/dist/Components/LoadingModal.svelte +19 -19
  42. package/dist/Components/LoadingOverlay.svelte +20 -20
  43. package/dist/Components/Modal.svelte +127 -127
  44. package/dist/Components/MultiSelect.svelte +126 -126
  45. package/dist/Components/Nav/Nav.svelte +71 -71
  46. package/dist/Components/Nav/NavServiceMenuList.svelte +37 -37
  47. package/dist/Components/Nav/NavTab.svelte +46 -46
  48. package/dist/Components/Nav/ServiceMenuItem.svelte +62 -62
  49. package/dist/Components/Nav/ServicesNav.svelte +50 -50
  50. package/dist/Components/NumberInput.svelte +98 -98
  51. package/dist/Components/OptionCards.svelte +58 -58
  52. package/dist/Components/PageHeading.svelte +21 -21
  53. package/dist/Components/PasswordInput.svelte +61 -61
  54. package/dist/Components/PopoverButton.svelte +53 -53
  55. package/dist/Components/Portal.svelte +7 -7
  56. package/dist/Components/ProgressBubble.svelte +42 -42
  57. package/dist/Components/QuerySelect.svelte +102 -102
  58. package/dist/Components/ResourceCalendar/ResourceCalendar.svelte +241 -241
  59. package/dist/Components/SidebarPanel.svelte +32 -32
  60. package/dist/Components/SingleSelect.svelte +122 -122
  61. package/dist/Components/StepButton.svelte +48 -48
  62. package/dist/Components/StepForm.svelte +58 -58
  63. package/dist/Components/Switch.svelte +43 -43
  64. package/dist/Components/Table/ARCHITECTURE.md +298 -298
  65. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +30 -30
  66. package/dist/Components/Table/Body/Rows/ColumnList.svelte +24 -24
  67. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +165 -165
  68. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +13 -13
  69. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +120 -120
  70. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +81 -81
  71. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +92 -92
  72. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +110 -110
  73. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -54
  74. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +35 -35
  75. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +64 -64
  76. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +82 -82
  77. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +88 -88
  78. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +90 -90
  79. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +96 -96
  80. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +71 -71
  81. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +124 -124
  82. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +91 -91
  83. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +88 -88
  84. package/dist/Components/Table/Body/Rows/TableRow.svelte +127 -127
  85. package/dist/Components/Table/Body/TableBody.svelte +92 -92
  86. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +25 -25
  87. package/dist/Components/Table/Headers/SelectAllHeader.svelte +20 -20
  88. package/dist/Components/Table/Headers/TableHead.svelte +175 -175
  89. package/dist/Components/Table/Misc/ColumnPanel.svelte +32 -32
  90. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +29 -29
  91. package/dist/Components/Table/Misc/FilterInput.svelte +326 -326
  92. package/dist/Components/Table/Misc/FilterPanel.svelte +79 -79
  93. package/dist/Components/Table/Misc/FilterPanelModal.svelte +21 -21
  94. package/dist/Components/Table/Misc/ShareViewModal.svelte +118 -118
  95. package/dist/Components/Table/Misc/SidePanel.svelte +24 -24
  96. package/dist/Components/Table/Misc/TableConfigurationModal.svelte +318 -318
  97. package/dist/Components/Table/Misc/TableFooter.svelte +201 -201
  98. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +112 -112
  99. package/dist/Components/Table/Misc/TableSidebar.svelte +116 -116
  100. package/dist/Components/Table/Misc/TableViewDropdown.svelte +25 -25
  101. package/dist/Components/Table/Misc/ToolboxPanel.svelte +60 -60
  102. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +63 -63
  103. package/dist/Components/Table/Misc/UpdateViewOptionsModal.svelte +101 -101
  104. package/dist/Components/Table/NestedTable.svelte +29 -29
  105. package/dist/Components/Table/Table.svelte +140 -140
  106. package/dist/Components/Test/TestContextConsumer.svelte +8 -8
  107. package/dist/Components/TextArea.svelte +92 -90
  108. package/dist/Components/TextInput.svelte +128 -117
  109. package/dist/Components/ThreeStateRadio.svelte +101 -101
  110. package/dist/Components/Touch/BoolCard.svelte +27 -27
  111. package/dist/Components/Touch/DateModal.svelte +98 -98
  112. package/dist/Components/Touch/EditCard.svelte +44 -44
  113. package/dist/Components/Touch/InfoCard.svelte +25 -25
  114. package/dist/Components/Touch/InfoTextCard.svelte +22 -22
  115. package/dist/Components/Touch/ModalExplanation.svelte +13 -13
  116. package/dist/Components/Touch/NumberKeyboard.svelte +81 -81
  117. package/dist/Components/Touch/NumberModal.svelte +49 -49
  118. package/dist/Components/Touch/PlusMinusCard.svelte +40 -40
  119. package/dist/Components/Touch/SelectModal.svelte +86 -86
  120. package/dist/Components/Touch/SummaryCard.svelte +74 -74
  121. package/dist/Components/Touch/TextAreaModal.svelte +53 -53
  122. package/dist/Components/Touch/TextModal.svelte +56 -56
  123. package/dist/Components/Touch/TouchCard.svelte +28 -28
  124. package/dist/Components/Touch/TouchModal.svelte +141 -141
  125. package/dist/Components/Touch/UtilityButton.svelte +63 -63
  126. package/dist/Components/VerticalTabGroup.svelte +38 -38
  127. package/dist/Components/VerticalTabGroupButton.svelte +46 -46
  128. package/dist/Helpers/Datamatrix.d.ts +19 -19
  129. package/dist/Helpers/Datamatrix.js +291 -291
  130. package/dist/Types/Examples/ExampleModal.svelte +27 -27
  131. package/dist/paraglide/README.md +1 -1
  132. package/dist/scss/_basics.scss +12 -12
  133. package/dist/scss/_colours.scss +140 -140
  134. package/dist/scss/_motion.scss +57 -57
  135. package/dist/scss/_sizing.scss +85 -85
  136. package/dist/scss/_transitions.scss +8 -8
  137. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">import { useAsyncFlag } from "../Helpers/AsyncFlag.svelte.js";
4
4
  import { getCanvasContext } from "../Helpers/Helpers.svelte.js";
5
5
  const { value, colours } = $props();
@@ -50,45 +50,45 @@ const awaitedColours = $derived(awaitedColoursFlag.value);
50
50
  // note) so interpolation into `style="..."` is safe.
51
51
  const wrapperStyle = $derived(awaitedColours ? `--bar-background-colour: ${awaitedColours.backgroundColour}; --text-colour: ${awaitedColours.colour};` : "");
52
52
  const barStyle = $derived(`width: ${percent}%;`);
53
- </script>
54
-
55
- <div
56
- class="progress-wrapper"
57
- style={wrapperStyle}
58
- >
59
- <!--
60
- Native `<progress>` is kept as a fallback for assistive tech that
61
- ignores ARIA progressbar roles. Visually hidden rather than
62
- `display: none` so the element stays in the accessibility tree.
63
- -->
64
- <progress
65
- class="visually-hidden"
66
- value={current}
67
- max={total}>{progress}</progress
68
- >
69
-
70
- <div
71
- class="progress-background"
72
- role="progressbar"
73
- aria-valuenow={current}
74
- aria-valuemin={0}
75
- aria-valuemax={total}
76
- aria-valuetext={progress}
77
- >
78
- <div
79
- class:fits={fitsInProgressBar}
80
- class="progress-value"
81
- bind:this={progressBarRef}
82
- style={barStyle}
83
- >
84
- <span
85
- class:fits={fitsInProgressBar}
86
- class="progress-text">{progress}</span
87
- >
88
- </div>
89
- </div>
90
- </div>
91
-
53
+ </script>
54
+
55
+ <div
56
+ class="progress-wrapper"
57
+ style={wrapperStyle}
58
+ >
59
+ <!--
60
+ Native `<progress>` is kept as a fallback for assistive tech that
61
+ ignores ARIA progressbar roles. Visually hidden rather than
62
+ `display: none` so the element stays in the accessibility tree.
63
+ -->
64
+ <progress
65
+ class="visually-hidden"
66
+ value={current}
67
+ max={total}>{progress}</progress
68
+ >
69
+
70
+ <div
71
+ class="progress-background"
72
+ role="progressbar"
73
+ aria-valuenow={current}
74
+ aria-valuemin={0}
75
+ aria-valuemax={total}
76
+ aria-valuetext={progress}
77
+ >
78
+ <div
79
+ class:fits={fitsInProgressBar}
80
+ class="progress-value"
81
+ bind:this={progressBarRef}
82
+ style={barStyle}
83
+ >
84
+ <span
85
+ class:fits={fitsInProgressBar}
86
+ class="progress-text">{progress}</span
87
+ >
88
+ </div>
89
+ </div>
90
+ </div>
91
+
92
92
  <style>.progress-wrapper {
93
93
  width: 100%;
94
94
  height: 100%;
@@ -157,4 +157,4 @@ const barStyle = $derived(`width: ${percent}%;`);
157
157
  }
158
158
  .progress-text.fits {
159
159
  color: var(--text-colour, #3a4952);
160
- }</style>
160
+ }</style>
@@ -1,8 +1,8 @@
1
- <svelte:options runes />
2
-
3
- <script
4
- lang="ts"
5
- generics="V extends object, VP extends ValueProp<V>"
1
+ <svelte:options runes />
2
+
3
+ <script
4
+ lang="ts"
5
+ generics="V extends object, VP extends ValueProp<V>"
6
6
  >import { m as i18n } from "../paraglide/messages.js";
7
7
  import { ToastContext } from "../Contexts/ToastContext.svelte.js";
8
8
  import { dev } from "$app/environment";
@@ -186,102 +186,102 @@ function onChange(newValue) {
186
186
  // translator owns the whole phrase and can drop or decline it per locale.
187
187
  const fallbackPlaceholder = $derived(name ? vowels.has(name.at(0)?.toLocaleLowerCase() ?? "") ? i18n["scoria.label.select_an_named"]({ name }) : i18n["scoria.label.select_a_named"]({ name }) : i18n["scoria.label.please_select"]());
188
188
  let isExpanded = $state(false);
189
- </script>
190
-
191
- <div
192
- class="select-wrapper"
193
- class:invalid={isInvalid}
194
- style={`${width ? `--input-width: ${width};` : ''}${height ? `--input-height: ${height};` : ''}`}
195
- >
196
- {#if label}
197
- <label for={inputId}>
198
- <span
199
- >{label}{#if !required}&nbsp;- <i>{i18n['scoria.label.optional']()}</i>{/if}</span
200
- >
201
- <span class="border"
202
- >{label}{#if !required}&nbsp;- <i>{i18n['scoria.label.optional']()}</i>{/if}</span
203
- >
204
- </label>
205
- {/if}
206
- <!-- strict mode is used to stop svelecte from rejecting perfectly valid values -->
207
- <Svelecte
208
- strictMode={false}
209
- keepCreated
210
- onFocus={(e: HTMLInputElement) => {
211
- registerInputListeners(e);
212
- forceShowDropdown(e);
213
- onfocus?.(e);
214
- }}
215
- placeholder={placeholder ?? fallbackPlaceholder}
216
- bind:this={ref}
217
- {inputId}
218
- {disabled}
219
- valueField={valueProp}
220
- labelField={labelProp}
221
- virtualList={false}
222
- searchable
223
- searchProps={{ keepSelectionInList: true }}
224
- lazyDropdown
225
- {valueAsObject}
226
- {options}
227
- value={selectedValue as Array<unknown>}
228
- {onChange}
229
- selectOnTab
230
- deselectMode={required && !clearable ? 'none' : 'toggle'}
231
- keepSelectionInList
232
- {name}
233
- selection={selection as (selectedOptions: Array<object>) => ReturnType<Snippet>}
234
- {append}
235
- >
236
- {#snippet toggleIcon()}
237
- <div class="nothing"></div>
238
- {/snippet}
239
- </Svelecte>
240
-
241
- {#snippet append()}
242
- <div class="icons">
243
- {#if clearable && selectedValue}
244
- <Action
245
- {disabled}
246
- noTabIndex
247
- colourSet={ColourSet.Auxiliary}
248
- size={Size.Small}
249
- onclick={(e: MouseEvent) => {
250
- if (isExpanded) {
251
- e.stopPropagation();
252
- }
253
-
254
- onChange(null);
255
- }}
256
- icon={{
257
- name: 'close-menu-cross',
258
- colour: Colour['$ui-blue-9'],
259
- }}
260
- />
261
- {/if}
262
-
263
- <Action
264
- {disabled}
265
- noTabIndex
266
- colourSet={ColourSet.Auxiliary}
267
- size={Size.Small}
268
- icon={{
269
- name: isExpanded ? 'chevron-up' : 'chevron-down',
270
- colour: Colour['$ui-blue-9'],
271
- }}
272
- />
273
- </div>
274
- {/snippet}
275
-
276
- {#snippet selection(selectedOptions: Array<V>)}
277
- {#if selectedOptions.length == 0}
278
- <span class="selection">{placeholder ?? fallbackPlaceholder}</span>
279
- {:else}
280
- <span class="selection">{selectedOptions[0][labelProp]}</span>
281
- {/if}
282
- {/snippet}
283
- </div>
284
-
189
+ </script>
190
+
191
+ <div
192
+ class="select-wrapper"
193
+ class:invalid={isInvalid}
194
+ style={`${width ? `--input-width: ${width};` : ''}${height ? `--input-height: ${height};` : ''}`}
195
+ >
196
+ {#if label}
197
+ <label for={inputId}>
198
+ <span
199
+ >{label}{#if !required}&nbsp;- <i>{i18n['scoria.label.optional']()}</i>{/if}</span
200
+ >
201
+ <span class="border"
202
+ >{label}{#if !required}&nbsp;- <i>{i18n['scoria.label.optional']()}</i>{/if}</span
203
+ >
204
+ </label>
205
+ {/if}
206
+ <!-- strict mode is used to stop svelecte from rejecting perfectly valid values -->
207
+ <Svelecte
208
+ strictMode={false}
209
+ keepCreated
210
+ onFocus={(e: HTMLInputElement) => {
211
+ registerInputListeners(e);
212
+ forceShowDropdown(e);
213
+ onfocus?.(e);
214
+ }}
215
+ placeholder={placeholder ?? fallbackPlaceholder}
216
+ bind:this={ref}
217
+ {inputId}
218
+ {disabled}
219
+ valueField={valueProp}
220
+ labelField={labelProp}
221
+ virtualList={false}
222
+ searchable
223
+ searchProps={{ keepSelectionInList: true }}
224
+ lazyDropdown
225
+ {valueAsObject}
226
+ {options}
227
+ value={selectedValue as Array<unknown>}
228
+ {onChange}
229
+ selectOnTab
230
+ deselectMode={required && !clearable ? 'none' : 'toggle'}
231
+ keepSelectionInList
232
+ {name}
233
+ selection={selection as (selectedOptions: Array<object>) => ReturnType<Snippet>}
234
+ {append}
235
+ >
236
+ {#snippet toggleIcon()}
237
+ <div class="nothing"></div>
238
+ {/snippet}
239
+ </Svelecte>
240
+
241
+ {#snippet append()}
242
+ <div class="icons">
243
+ {#if clearable && selectedValue}
244
+ <Action
245
+ {disabled}
246
+ noTabIndex
247
+ colourSet={ColourSet.Auxiliary}
248
+ size={Size.Small}
249
+ onclick={(e: MouseEvent) => {
250
+ if (isExpanded) {
251
+ e.stopPropagation();
252
+ }
253
+
254
+ onChange(null);
255
+ }}
256
+ icon={{
257
+ name: 'close-menu-cross',
258
+ colour: Colour['$ui-blue-9'],
259
+ }}
260
+ />
261
+ {/if}
262
+
263
+ <Action
264
+ {disabled}
265
+ noTabIndex
266
+ colourSet={ColourSet.Auxiliary}
267
+ size={Size.Small}
268
+ icon={{
269
+ name: isExpanded ? 'chevron-up' : 'chevron-down',
270
+ colour: Colour['$ui-blue-9'],
271
+ }}
272
+ />
273
+ </div>
274
+ {/snippet}
275
+
276
+ {#snippet selection(selectedOptions: Array<V>)}
277
+ {#if selectedOptions.length == 0}
278
+ <span class="selection">{placeholder ?? fallbackPlaceholder}</span>
279
+ {:else}
280
+ <span class="selection">{selectedOptions[0][labelProp]}</span>
281
+ {/if}
282
+ {/snippet}
283
+ </div>
284
+
285
285
  <style>.select-wrapper {
286
286
  min-width: var(--input-min-width, 12rem);
287
287
  width: var(--input-width, 100%);
@@ -456,4 +456,4 @@ div.icons {
456
456
  }
457
457
  :global(.dropdown-item) .toggle-icon.yes {
458
458
  opacity: 1;
459
- }</style>
459
+ }</style>