@lavalogic/scoria 0.40.28 → 0.40.29
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 +1 -1
- package/dist/Components/AlertModal.svelte +3 -2
- package/dist/Components/Base/Pagination.svelte +20 -12
- package/dist/Components/Base/PaginationProps.d.ts +5 -0
- package/dist/Components/Base/Snippets.svelte +4 -3
- package/dist/Components/Button.svelte +9 -8
- package/dist/Components/Checkbox.svelte +2 -2
- package/dist/Components/ChipsInput.svelte +6 -6
- package/dist/Components/CollapsibleCard.svelte +3 -3
- package/dist/Components/ConditionBuilder/ConditionBuilder.svelte +7 -6
- package/dist/Components/Contexts/ContextMenu.svelte +3 -2
- package/dist/Components/Contexts/Toast.svelte +4 -3
- package/dist/Components/Contexts/ToastContainer.svelte +6 -5
- package/dist/Components/Contexts/Tooltip.svelte +2 -2
- package/dist/Components/DataMatrixIcon.svelte +4 -3
- package/dist/Components/DateInput.svelte +25 -26
- package/dist/Components/DesktopModal.svelte +1 -1
- package/dist/Components/DimensionInput.svelte +30 -31
- package/dist/Components/DragMenu/DragMenuHolder.svelte +6 -6
- package/dist/Components/DragMenu/DraggableCard.svelte +3 -3
- package/dist/Components/FileCard.svelte +3 -2
- package/dist/Components/FileUpload.svelte +24 -25
- package/dist/Components/GridInput.svelte +2 -2
- package/dist/Components/HorizontalTabGroup.svelte +1 -1
- package/dist/Components/Icon.svelte +8 -2
- package/dist/Components/IconProps.d.ts +7 -0
- package/dist/Components/Icons.js +365 -365
- package/dist/Components/LoadingAnimation.svelte +50 -30
- package/dist/Components/LoadingAnimation.svelte.d.ts +1 -1
- package/dist/Components/LoadingModal.svelte +3 -2
- package/dist/Components/Modal.svelte +9 -9
- package/dist/Components/MultiSelect.svelte +37 -18
- package/dist/Components/MultiSelectCommonProps.d.ts +15 -1
- package/dist/Components/Nav/Nav.svelte +13 -13
- package/dist/Components/Nav/ServiceMenuItem.svelte +2 -0
- package/dist/Components/Nav/ServicesNav.svelte +6 -6
- package/dist/Components/NumberInput.svelte +25 -26
- package/dist/Components/PasswordInput.svelte +25 -24
- package/dist/Components/PopoverButton.svelte +8 -8
- package/dist/Components/QuerySelect.svelte +33 -16
- package/dist/Components/QuerySelectProps.d.ts +10 -1
- package/dist/Components/ResourceCalendar/ResourceCalendar.svelte +23 -22
- package/dist/Components/SidebarPanel.svelte +1 -1
- package/dist/Components/SingleSelect.svelte +30 -15
- package/dist/Components/SingleSelectCommonProps.d.ts +10 -1
- package/dist/Components/StepForm.svelte +6 -5
- package/dist/Components/Switch.svelte +5 -5
- package/dist/Components/Table/Body/QuickSearchCell.svelte +363 -351
- package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +5 -6
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +3 -2
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +7 -6
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +6 -7
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +8 -7
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +11 -9
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +7 -8
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +5 -5
- package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +3 -2
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +3 -3
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +5 -4
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +9 -6
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +4 -4
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +4 -4
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +3 -3
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +9 -7
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +7 -6
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +6 -7
- package/dist/Components/Table/Body/Rows/TableRow.svelte +6 -5
- package/dist/Components/Table/Body/TableBody.svelte +2 -2
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +3 -2
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +4 -3
- package/dist/Components/Table/Headers/TableHead.svelte +6 -5
- package/dist/Components/Table/Misc/ColumnPanel.svelte +5 -4
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +5 -4
- package/dist/Components/Table/Misc/FilterInput.svelte +23 -14
- package/dist/Components/Table/Misc/FilterPanel.svelte +12 -11
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +3 -2
- package/dist/Components/Table/Misc/ShareViewModal.svelte +25 -15
- package/dist/Components/Table/Misc/SidePanel.svelte +2 -2
- package/dist/Components/Table/Misc/TableConfigurationModal.svelte +50 -40
- package/dist/Components/Table/Misc/TableFooter.svelte +18 -12
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +8 -7
- package/dist/Components/Table/Misc/TableSidebar.svelte +8 -7
- package/dist/Components/Table/Misc/TableViewDropdown.svelte +6 -2
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +8 -7
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +9 -8
- package/dist/Components/Table/Misc/UpdateViewOptionsModal.svelte +23 -14
- package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
- package/dist/Components/Table/Misc/numberDateFilterTypes.js +27 -15
- package/dist/Components/Table/Misc/stringFilterTypes.d.ts +7 -3
- package/dist/Components/Table/Misc/stringFilterTypes.js +26 -16
- package/dist/Components/Table/NestedTable.svelte +4 -0
- package/dist/Components/Table/Table.svelte +19 -18
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +2 -1
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +2 -1
- package/dist/Components/Table/Types/Context/ClipboardState.svelte.js +3 -2
- package/dist/Components/Table/Types/Context/ViewState.svelte.js +5 -2
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +6 -0
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +8 -0
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +14 -0
- package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +3 -0
- package/dist/Components/Table/createTable.svelte.js +3 -0
- package/dist/Components/TextArea.svelte +24 -23
- package/dist/Components/TextInput.svelte +25 -26
- package/dist/Components/ThreeStateRadio.svelte +21 -16
- package/dist/Components/Touch/BoolCard.svelte +2 -2
- package/dist/Components/Touch/DateModal.svelte +5 -4
- package/dist/Components/Touch/EditCard.svelte +7 -7
- package/dist/Components/Touch/NumberKeyboard.svelte +3 -2
- package/dist/Components/Touch/NumberModal.svelte +4 -3
- package/dist/Components/Touch/PlusMinusCard.svelte +6 -5
- package/dist/Components/Touch/SelectModal.svelte +5 -4
- package/dist/Components/Touch/SummaryCard.svelte +9 -9
- package/dist/Components/Touch/TextAreaModal.svelte +4 -3
- package/dist/Components/Touch/TextModal.svelte +4 -3
- package/dist/Components/Touch/TouchCard.svelte +4 -3
- package/dist/Components/Touch/TouchModal.svelte +9 -8
- package/dist/Components/VerticalTabGroup.svelte +5 -4
- package/dist/Contexts/AlertContext.svelte.d.ts +8 -5
- package/dist/Contexts/AlertContext.svelte.js +10 -9
- package/dist/Helpers/Helpers.svelte.d.ts +23 -2
- package/dist/Helpers/Helpers.svelte.js +37 -9
- package/dist/Strings/locale.d.ts +19 -0
- package/dist/Strings/locale.js +27 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/scss/_mixins.scss +3406 -3392
- package/package.json +14 -7
|
@@ -3,20 +3,23 @@
|
|
|
3
3
|
<script
|
|
4
4
|
lang="ts"
|
|
5
5
|
generics="V extends object, VP extends ValueProp<V>"
|
|
6
|
-
>import {
|
|
6
|
+
>import { m as i18n } from "../paraglide/messages.js";
|
|
7
|
+
import { devCatch, generateWeakId, vowels } from "../Helpers/Helpers.svelte.js";
|
|
7
8
|
import { attachDropdownPortal } from "../Helpers/dropdownPortal.js";
|
|
8
9
|
import { Colour, ColourSet } from "../scss/colours.js";
|
|
9
10
|
import { Size } from "../Types/Internal/Size.js";
|
|
10
11
|
import Svelecte from "svelecte";
|
|
11
12
|
import { onMount, tick } from "svelte";
|
|
12
13
|
import Action from "./Action.svelte";
|
|
13
|
-
const { label, options, labelProp, valueProp, focusOnLoad = false, searchable = true, creatable = false, createFilter, disabled, width, height, name = "Item", valueAsObject, minHeight, clearable = false, required = false, invalid = false, borderless = false, lazyDropdown = false, forceUpwards = false, inputId = generateWeakId(), value: selectedValue, onchange, onfocus, onCreateOption } = $props();
|
|
14
|
+
const { label, options, labelProp, valueProp, focusOnLoad = false, searchable = true, creatable = false, createFilter, disabled, width, height, name = "Item", placeholder, valueAsObject, minHeight, clearable = false, required = false, invalid = false, borderless = false, lazyDropdown = false, forceUpwards = false, inputId = generateWeakId(), value: selectedValue, onchange, onfocus, onCreateOption } = $props();
|
|
14
15
|
// Single source of truth for the current value. The previous code mixed
|
|
15
16
|
// `$derived` and `$effect.pre`, which fired a redundant assignment on mount.
|
|
16
17
|
const currentValue = $derived(selectedValue);
|
|
17
18
|
let ref = $state();
|
|
18
19
|
let wrapperRef = $state();
|
|
19
|
-
|
|
20
|
+
// English-only article choice. The article itself lives in the message, so a
|
|
21
|
+
// translator owns the whole phrase and can drop or decline it per locale.
|
|
22
|
+
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"]());
|
|
20
23
|
const isInvalid = $derived(required && !currentValue || invalid);
|
|
21
24
|
let hasAutoFocused = $state(false);
|
|
22
25
|
// ResizeObserver-driven height. Replaces the layout-forcing
|
|
@@ -96,10 +99,10 @@ function isObject(value) {
|
|
|
96
99
|
{#if label}
|
|
97
100
|
<label for={inputId}>
|
|
98
101
|
<span
|
|
99
|
-
>{label}{#if !required} - <i>optional</i>{/if}</span
|
|
102
|
+
>{label}{#if !required} - <i>{i18n['scoria.label.optional']()}</i>{/if}</span
|
|
100
103
|
>
|
|
101
104
|
<span class="border"
|
|
102
|
-
>{label}{#if !required} - <i>optional</i>{/if}</span
|
|
105
|
+
>{label}{#if !required} - <i>{i18n['scoria.label.optional']()}</i>{/if}</span
|
|
103
106
|
>
|
|
104
107
|
</label>
|
|
105
108
|
{/if}
|
|
@@ -123,7 +126,7 @@ function isObject(value) {
|
|
|
123
126
|
{creatable}
|
|
124
127
|
searchProps={{ keepSelectionInList: true }}
|
|
125
128
|
{onCreateOption}
|
|
126
|
-
placeholder=
|
|
129
|
+
placeholder={placeholder ?? fallbackPlaceholder}
|
|
127
130
|
{lazyDropdown}
|
|
128
131
|
value={// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
129
132
|
currentValue as Array<any>}
|
|
@@ -220,19 +223,20 @@ function isObject(value) {
|
|
|
220
223
|
}
|
|
221
224
|
.select-wrapper label {
|
|
222
225
|
position: absolute;
|
|
223
|
-
|
|
226
|
+
inset-inline-start: 0.5rem;
|
|
224
227
|
z-index: 1;
|
|
228
|
+
width: calc(100% - 1rem);
|
|
225
229
|
font-size: 0.875rem;
|
|
226
230
|
padding: 0.05rem 0.4rem;
|
|
227
231
|
color: #647d8e;
|
|
228
232
|
}
|
|
229
233
|
.select-wrapper label span:not(.border) {
|
|
230
234
|
position: absolute;
|
|
231
|
-
|
|
235
|
+
inset-inline-start: 0.5rem;
|
|
232
236
|
font-size: 0.875rem;
|
|
233
237
|
user-select: none;
|
|
234
|
-
padding-
|
|
235
|
-
padding-
|
|
238
|
+
padding-inline-start: 0.5rem;
|
|
239
|
+
padding-inline-end: 0.5rem;
|
|
236
240
|
line-height: 1rem;
|
|
237
241
|
padding: 0rem 0.5rem;
|
|
238
242
|
top: calc(-0.875rem / 2 - 2px);
|
|
@@ -243,13 +247,18 @@ function isObject(value) {
|
|
|
243
247
|
.select-wrapper label span:not(.border).invalid {
|
|
244
248
|
color: #aa1414;
|
|
245
249
|
}
|
|
250
|
+
.select-wrapper label span:not(.border) {
|
|
251
|
+
max-width: calc(100% - 1rem);
|
|
252
|
+
overflow: hidden;
|
|
253
|
+
text-overflow: ellipsis;
|
|
254
|
+
}
|
|
246
255
|
.select-wrapper label span.border {
|
|
247
256
|
position: absolute;
|
|
248
|
-
|
|
257
|
+
inset-inline-start: 0.5rem;
|
|
249
258
|
font-size: 0.875rem;
|
|
250
259
|
user-select: none;
|
|
251
|
-
padding-
|
|
252
|
-
padding-
|
|
260
|
+
padding-inline-start: 0.5rem;
|
|
261
|
+
padding-inline-end: 0.5rem;
|
|
253
262
|
line-height: 1rem;
|
|
254
263
|
z-index: 1;
|
|
255
264
|
white-space: nowrap;
|
|
@@ -261,6 +270,11 @@ function isObject(value) {
|
|
|
261
270
|
.select-wrapper label span.border.invalid {
|
|
262
271
|
border-bottom-color: #f9e9e9;
|
|
263
272
|
}
|
|
273
|
+
.select-wrapper label span.border {
|
|
274
|
+
max-width: calc(100% - 1rem);
|
|
275
|
+
overflow: hidden;
|
|
276
|
+
text-overflow: ellipsis;
|
|
277
|
+
}
|
|
264
278
|
.select-wrapper :global(.svelecte.svelecte-control) {
|
|
265
279
|
cursor: pointer;
|
|
266
280
|
max-width: 100%;
|
|
@@ -306,7 +320,7 @@ function isObject(value) {
|
|
|
306
320
|
}
|
|
307
321
|
.select-wrapper .selection {
|
|
308
322
|
font-size: 0.875rem;
|
|
309
|
-
padding-
|
|
323
|
+
padding-inline-start: 0.5rem;
|
|
310
324
|
white-space: nowrap;
|
|
311
325
|
display: flex;
|
|
312
326
|
}
|
|
@@ -325,7 +339,7 @@ div.icons {
|
|
|
325
339
|
flex-flow: row nowrap;
|
|
326
340
|
gap: 0.25rem;
|
|
327
341
|
height: 100%;
|
|
328
|
-
margin-
|
|
342
|
+
margin-inline-end: 0.25rem;
|
|
329
343
|
box-sizing: border-box;
|
|
330
344
|
}
|
|
331
345
|
|
|
@@ -350,6 +364,7 @@ div.icons {
|
|
|
350
364
|
text-overflow: ellipsis;
|
|
351
365
|
gap: 1rem;
|
|
352
366
|
font-size: 0.875rem;
|
|
367
|
+
line-height: 1.6;
|
|
353
368
|
fill: #259fc7;
|
|
354
369
|
}
|
|
355
370
|
:global(.dropdown-item) .toggle-icon {
|
|
@@ -6,8 +6,17 @@ export interface SingleSelectCommonProps<V extends object, VP extends ValueProp<
|
|
|
6
6
|
labelProp: NonNullableKey<V>;
|
|
7
7
|
/** Key of `V` whose value is the unique identifier. */
|
|
8
8
|
valueProp: VP;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Singular display name of the entity. This is the `<Svelecte>` **form-field
|
|
11
|
+
* attribute**, not display copy - it is only used to compose the English-only
|
|
12
|
+
* fallback placeholder when `placeholder` is not supplied.
|
|
13
|
+
*/
|
|
10
14
|
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Complete placeholder sentence. Pass a translated whole phrase; when omitted
|
|
17
|
+
* scoria composes an English-only fallback from `name`.
|
|
18
|
+
*/
|
|
19
|
+
placeholder?: string;
|
|
11
20
|
/** CSS width override. Use `cssLength('...')` to construct. */
|
|
12
21
|
width?: CssLength;
|
|
13
22
|
/** CSS height override. Use `cssLength('...')` to construct. */
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
>import { readJSON } from "../Helpers/Storage.js";
|
|
7
7
|
import { ColourSet } from "../scss/colours.js";
|
|
8
8
|
import { Size } from "../Types/Internal/Size.js";
|
|
9
|
+
import { m as i18n } from "../paraglide/messages.js";
|
|
9
10
|
import { onMount, untrack } from "svelte";
|
|
10
11
|
import Button from "./Button.svelte";
|
|
11
12
|
import StepButton from "./StepButton.svelte";
|
|
12
|
-
const { name, steps, currentStep, noscroll = false, noStepMessage = "
|
|
13
|
+
const { name, steps, currentStep, noscroll = false, noStepMessage = i18n["scoria.text.no_step_selected"]() } = $props();
|
|
13
14
|
const isNonEmptyString = (raw) => typeof raw === "string" && raw.length > 0;
|
|
14
15
|
const storageKey = (key) => `scoria-step-form:${key}:active-step`;
|
|
15
16
|
onMount(() => {
|
|
@@ -89,7 +90,7 @@ $effect(() => {
|
|
|
89
90
|
onclick={() => {
|
|
90
91
|
previous?.onclick();
|
|
91
92
|
}}
|
|
92
|
-
colourSet={ColourSet.Secondary}>
|
|
93
|
+
colourSet={ColourSet.Secondary}>{i18n['scoria.action.previous']()}</Button
|
|
93
94
|
>
|
|
94
95
|
<Button
|
|
95
96
|
size={Size.Small}
|
|
@@ -98,7 +99,7 @@ $effect(() => {
|
|
|
98
99
|
next?.onclick();
|
|
99
100
|
}}
|
|
100
101
|
disabled={!next}
|
|
101
|
-
colourSet={ColourSet.Primary}>
|
|
102
|
+
colourSet={ColourSet.Primary}>{i18n['scoria.action.next']()}</Button
|
|
102
103
|
>
|
|
103
104
|
</div>
|
|
104
105
|
</div>
|
|
@@ -155,8 +156,8 @@ $effect(() => {
|
|
|
155
156
|
gap: 1.0005rem;
|
|
156
157
|
padding-top: 0.5rem;
|
|
157
158
|
padding-bottom: 0.5rem;
|
|
158
|
-
padding-
|
|
159
|
-
padding-
|
|
159
|
+
padding-inline-start: 1.250625rem;
|
|
160
|
+
padding-inline-end: 1.250625rem;
|
|
160
161
|
flex-basis: 4rem;
|
|
161
162
|
flex-shrink: 0;
|
|
162
163
|
background-color: #ffffff;
|
|
@@ -91,8 +91,8 @@ const toggle = () => {
|
|
|
91
91
|
}
|
|
92
92
|
.text-label span {
|
|
93
93
|
flex-grow: 1;
|
|
94
|
-
padding-
|
|
95
|
-
padding-
|
|
94
|
+
padding-inline-start: 0.5rem;
|
|
95
|
+
padding-inline-end: 0.5rem;
|
|
96
96
|
text-align: start;
|
|
97
97
|
}
|
|
98
98
|
.text-label:disabled {
|
|
@@ -120,9 +120,9 @@ const toggle = () => {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
.switch {
|
|
123
|
-
border-
|
|
124
|
-
border-
|
|
125
|
-
border-
|
|
123
|
+
border-start-end-radius: 4px;
|
|
124
|
+
border-end-end-radius: 4px;
|
|
125
|
+
border-inline-start: solid 1px #cbd4da;
|
|
126
126
|
width: 4rem;
|
|
127
127
|
height: 100%;
|
|
128
128
|
background-color: #f4f7f9;
|