@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
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts">import {
|
|
3
|
+
<script lang="ts">import { m as i18n } from "../paraglide/messages.js";
|
|
4
|
+
import { InputVariant } from "../Types/Internal/InputVariant.js";
|
|
4
5
|
const min = 0;
|
|
5
|
-
let { id, x = $bindable(null), y = $bindable(null), z = $bindable(null), max, labelTop = "
|
|
6
|
+
let { id, x = $bindable(null), y = $bindable(null), z = $bindable(null), max, labelTop = i18n["scoria.label.dimensions"](), optional = true, placeholder, required = false, variant = InputVariant.Default, decimal = false, invalid = false, showErrorColours = false, disabled, leftIcon, onblur, onfocus, onkeydown, onchange, inputRefs = $bindable({}), "data-type": dataType } = $props();
|
|
6
7
|
function clamp(value) {
|
|
7
8
|
if (isNaN(value)) {
|
|
8
9
|
return 0;
|
|
@@ -42,12 +43,12 @@ const zId = $derived(id ? `${id}-z` : undefined);
|
|
|
42
43
|
class:for-default={variant === InputVariant.Default}
|
|
43
44
|
class:invalid={isInvalid}
|
|
44
45
|
>{labelTop}{#if optional}
|
|
45
|
-
- <span class="optional">optional</span>{/if}</span
|
|
46
|
+
- <span class="optional">{i18n['scoria.label.optional']()}</span>{/if}</span
|
|
46
47
|
>
|
|
47
48
|
{#if variant === InputVariant.Default}
|
|
48
49
|
<span class="border"
|
|
49
50
|
>{labelTop}{#if optional}
|
|
50
|
-
- <span class="optional">optional</span>{/if}</span
|
|
51
|
+
- <span class="optional">{i18n['scoria.label.optional']()}</span>{/if}</span
|
|
51
52
|
>
|
|
52
53
|
{/if}
|
|
53
54
|
<div
|
|
@@ -130,8 +131,8 @@ const zId = $derived(id ? `${id}-z` : undefined);
|
|
|
130
131
|
font-weight: 400;
|
|
131
132
|
padding-top: var(--input-padding-top, 0.65rem);
|
|
132
133
|
padding-bottom: var(--input-padding-bottom, 0.55rem);
|
|
133
|
-
padding-
|
|
134
|
-
padding-
|
|
134
|
+
padding-inline-start: var(--input-padding-inline-start, 0.75rem);
|
|
135
|
+
padding-inline-end: var(--input-padding-inline-end, 0.75rem);
|
|
135
136
|
border: var(--input-border, solid 1px #cbd4da);
|
|
136
137
|
color: #3a4952;
|
|
137
138
|
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;
|
|
@@ -163,8 +164,8 @@ span.right-label.inset {
|
|
|
163
164
|
font-weight: 500;
|
|
164
165
|
position: absolute;
|
|
165
166
|
background-color: #f4f7f9;
|
|
166
|
-
border-
|
|
167
|
-
|
|
167
|
+
border-inline-start: solid 1px #cbd4da;
|
|
168
|
+
inset-inline-end: 1px;
|
|
168
169
|
top: 1px;
|
|
169
170
|
bottom: 1px;
|
|
170
171
|
border-radius: 0 4px 4px 0;
|
|
@@ -188,11 +189,11 @@ span.right-label.for-modal {
|
|
|
188
189
|
|
|
189
190
|
span.for-default {
|
|
190
191
|
position: absolute;
|
|
191
|
-
|
|
192
|
+
inset-inline-start: 0.5rem;
|
|
192
193
|
font-size: 0.875rem;
|
|
193
194
|
user-select: none;
|
|
194
|
-
padding-
|
|
195
|
-
padding-
|
|
195
|
+
padding-inline-start: 0.5rem;
|
|
196
|
+
padding-inline-end: 0.5rem;
|
|
196
197
|
line-height: 1rem;
|
|
197
198
|
padding: 0rem 0.5rem;
|
|
198
199
|
top: calc(-0.875rem / 2 - 2px);
|
|
@@ -206,11 +207,11 @@ span.for-default.invalid {
|
|
|
206
207
|
|
|
207
208
|
span.border {
|
|
208
209
|
position: absolute;
|
|
209
|
-
|
|
210
|
+
inset-inline-start: 0.5rem;
|
|
210
211
|
font-size: 0.875rem;
|
|
211
212
|
user-select: none;
|
|
212
|
-
padding-
|
|
213
|
-
padding-
|
|
213
|
+
padding-inline-start: 0.5rem;
|
|
214
|
+
padding-inline-end: 0.5rem;
|
|
214
215
|
line-height: 1rem;
|
|
215
216
|
z-index: 1;
|
|
216
217
|
white-space: nowrap;
|
|
@@ -228,11 +229,11 @@ span.border.invalid {
|
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
.left-pad {
|
|
231
|
-
padding-
|
|
232
|
+
padding-inline-start: 3rem;
|
|
232
233
|
}
|
|
233
234
|
|
|
234
235
|
.right-pad {
|
|
235
|
-
padding-
|
|
236
|
+
padding-inline-end: 3rem;
|
|
236
237
|
}
|
|
237
238
|
|
|
238
239
|
.icon-container {
|
|
@@ -247,13 +248,12 @@ span.border.invalid {
|
|
|
247
248
|
height: 100%;
|
|
248
249
|
top: 0;
|
|
249
250
|
bottom: 0;
|
|
250
|
-
|
|
251
|
-
right: 0;
|
|
251
|
+
inset-inline: 0;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
.error {
|
|
255
255
|
color: #aa1414;
|
|
256
|
-
margin-
|
|
256
|
+
margin-inline-start: 0.25rem;
|
|
257
257
|
display: block;
|
|
258
258
|
overflow-x: auto;
|
|
259
259
|
white-space: nowrap;
|
|
@@ -261,7 +261,7 @@ span.border.invalid {
|
|
|
261
261
|
|
|
262
262
|
.right-icon {
|
|
263
263
|
position: absolute;
|
|
264
|
-
|
|
264
|
+
inset-inline-end: 0.5rem;
|
|
265
265
|
top: 50%;
|
|
266
266
|
translate: 0 -50%;
|
|
267
267
|
}
|
|
@@ -285,8 +285,7 @@ label {
|
|
|
285
285
|
position: absolute;
|
|
286
286
|
top: 0;
|
|
287
287
|
bottom: 0;
|
|
288
|
-
|
|
289
|
-
right: 0;
|
|
288
|
+
inset-inline: 0;
|
|
290
289
|
}
|
|
291
290
|
.error-wrapper.for-modal {
|
|
292
291
|
flex: unset;
|
|
@@ -308,7 +307,7 @@ label.for-modal span.top-label {
|
|
|
308
307
|
z-index: 1;
|
|
309
308
|
position: absolute;
|
|
310
309
|
top: 0.45rem;
|
|
311
|
-
|
|
310
|
+
inset-inline-start: 0.75rem;
|
|
312
311
|
}
|
|
313
312
|
label.for-modal span.top-label.invalid {
|
|
314
313
|
color: #aa1414;
|
|
@@ -329,17 +328,17 @@ label.for-modal input.for-modal {
|
|
|
329
328
|
height: 100%;
|
|
330
329
|
resize: none;
|
|
331
330
|
padding-top: 1.44rem;
|
|
332
|
-
padding-
|
|
331
|
+
padding-inline-end: 0.75rem;
|
|
333
332
|
padding-bottom: 0.25rem;
|
|
334
|
-
padding-
|
|
333
|
+
padding-inline-start: 0.75rem;
|
|
335
334
|
font-size: 1.5rem;
|
|
336
335
|
font-weight: 600;
|
|
337
336
|
}
|
|
338
337
|
label.for-modal input.for-modal.left-pad {
|
|
339
|
-
padding-
|
|
338
|
+
padding-inline-start: 3.5rem;
|
|
340
339
|
}
|
|
341
340
|
label.for-modal input.for-modal.right-pad {
|
|
342
|
-
padding-
|
|
341
|
+
padding-inline-end: 3.5rem;
|
|
343
342
|
}
|
|
344
343
|
label.for-modal input {
|
|
345
344
|
height: 3rem;
|
|
@@ -376,12 +375,12 @@ span.border {
|
|
|
376
375
|
}
|
|
377
376
|
|
|
378
377
|
span.right-label.inset {
|
|
379
|
-
border-
|
|
378
|
+
border-inline-start-color: transparent;
|
|
380
379
|
}
|
|
381
380
|
|
|
382
381
|
div.spacer {
|
|
383
382
|
border: solid 1px #cbd4da;
|
|
384
|
-
border-
|
|
383
|
+
border-inline-start-color: transparent;
|
|
385
384
|
border-radius: 0 4px 4px 0;
|
|
386
385
|
width: 47px;
|
|
387
386
|
flex-shrink: 0;
|
|
@@ -395,9 +394,9 @@ div.spacer {
|
|
|
395
394
|
}
|
|
396
395
|
.icon-container input:first-of-type {
|
|
397
396
|
border-radius: 4px 0 0 4px;
|
|
398
|
-
border-
|
|
397
|
+
border-inline-end-color: transparent;
|
|
399
398
|
}
|
|
400
399
|
.icon-container input:last-of-type {
|
|
401
400
|
border-radius: 0;
|
|
402
|
-
border-
|
|
401
|
+
border-inline-start-color: transparent;
|
|
403
402
|
}</style>
|
|
@@ -102,11 +102,11 @@ const snippet = $derived(customSnippet ?? draggableWithSelect);
|
|
|
102
102
|
|
|
103
103
|
<style>.top-label {
|
|
104
104
|
position: absolute;
|
|
105
|
-
|
|
105
|
+
inset-inline-start: 0.5rem;
|
|
106
106
|
font-size: 0.875rem;
|
|
107
107
|
user-select: none;
|
|
108
|
-
padding-
|
|
109
|
-
padding-
|
|
108
|
+
padding-inline-start: 0.5rem;
|
|
109
|
+
padding-inline-end: 0.5rem;
|
|
110
110
|
line-height: 1rem;
|
|
111
111
|
padding: 0rem 0.5rem;
|
|
112
112
|
top: calc(-0.875rem / 2 - 2px);
|
|
@@ -120,11 +120,11 @@ const snippet = $derived(customSnippet ?? draggableWithSelect);
|
|
|
120
120
|
|
|
121
121
|
.top-label-border {
|
|
122
122
|
position: absolute;
|
|
123
|
-
|
|
123
|
+
inset-inline-start: 0.5rem;
|
|
124
124
|
font-size: 0.875rem;
|
|
125
125
|
user-select: none;
|
|
126
|
-
padding-
|
|
127
|
-
padding-
|
|
126
|
+
padding-inline-start: 0.5rem;
|
|
127
|
+
padding-inline-end: 0.5rem;
|
|
128
128
|
line-height: 1rem;
|
|
129
129
|
z-index: 1;
|
|
130
130
|
white-space: nowrap;
|
|
@@ -144,10 +144,10 @@ function fireToggle() {
|
|
|
144
144
|
align-items: center;
|
|
145
145
|
justify-content: center;
|
|
146
146
|
overflow: hidden;
|
|
147
|
-
margin-
|
|
147
|
+
margin-inline-start: auto;
|
|
148
148
|
border: solid 3px #cbd4da;
|
|
149
149
|
border-radius: 50%;
|
|
150
|
-
margin-
|
|
150
|
+
margin-inline-end: 0.375rem;
|
|
151
151
|
}
|
|
152
152
|
.card span.row:not(.touch) {
|
|
153
153
|
height: 1.5rem;
|
|
@@ -157,5 +157,5 @@ function fireToggle() {
|
|
|
157
157
|
.card span.row.touch {
|
|
158
158
|
height: 1.75rem;
|
|
159
159
|
width: 1.75rem;
|
|
160
|
-
margin-
|
|
160
|
+
margin-inline-end: 1rem;
|
|
161
161
|
}</style>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts">import
|
|
3
|
+
<script lang="ts">import { m as i18n } from "../paraglide/messages.js";
|
|
4
|
+
import Action from "./Action.svelte";
|
|
4
5
|
import { Colour } from "../scss/colours.js";
|
|
5
6
|
const { file, ondelete } = $props();
|
|
6
7
|
</script>
|
|
@@ -13,7 +14,7 @@ const { file, ondelete } = $props();
|
|
|
13
14
|
<Action
|
|
14
15
|
icon={{ name: 'circle-cross' }}
|
|
15
16
|
backgroundColour={Colour['$transparent-0']}
|
|
16
|
-
label=
|
|
17
|
+
label={i18n['scoria.action.delete']()}
|
|
17
18
|
onclick={ondelete}
|
|
18
19
|
/>
|
|
19
20
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts">import {
|
|
3
|
+
<script lang="ts">import { m as i18n } from "../paraglide/messages.js";
|
|
4
|
+
import { cssLength } from "../Helpers/Helpers.svelte.js";
|
|
4
5
|
import { Colour, ColourSet } from "../scss/colours.js";
|
|
5
6
|
import { InputVariant } from "../Types/Internal/InputVariant.js";
|
|
6
7
|
import { Size } from "../Types/Internal/Size.js";
|
|
@@ -99,11 +100,11 @@ function ondragleave(e) {
|
|
|
99
100
|
<span
|
|
100
101
|
class="top-label"
|
|
101
102
|
class:for-default={variant === InputVariant.Default}
|
|
102
|
-
>{labelTop}{#if optional}<i> - optional</i>{/if}</span
|
|
103
|
+
>{labelTop}{#if optional}<i> - {i18n['scoria.label.optional']()}</i>{/if}</span
|
|
103
104
|
>
|
|
104
105
|
{#if variant === InputVariant.Default}
|
|
105
106
|
<span class="border"
|
|
106
|
-
>{labelTop}{#if optional}<i> - optional</i>{/if}</span
|
|
107
|
+
>{labelTop}{#if optional}<i> - {i18n['scoria.label.optional']()}</i>{/if}</span
|
|
107
108
|
>
|
|
108
109
|
{/if}
|
|
109
110
|
{/if}
|
|
@@ -145,7 +146,7 @@ function ondragleave(e) {
|
|
|
145
146
|
<div
|
|
146
147
|
class="file-list"
|
|
147
148
|
role="list"
|
|
148
|
-
aria-label=
|
|
149
|
+
aria-label={i18n['scoria.label.selected_files']()}
|
|
149
150
|
>
|
|
150
151
|
{#if files.length}
|
|
151
152
|
{#each files as file, index (file)}
|
|
@@ -159,7 +160,7 @@ function ondragleave(e) {
|
|
|
159
160
|
{/each}
|
|
160
161
|
{:else}
|
|
161
162
|
<p>
|
|
162
|
-
|
|
163
|
+
{#if multiple}{i18n['scoria.text.dropzone_multiple']()}{:else}{i18n['scoria.text.dropzone_single']()}{/if}
|
|
163
164
|
</p>
|
|
164
165
|
{/if}
|
|
165
166
|
</div>
|
|
@@ -168,7 +169,7 @@ function ondragleave(e) {
|
|
|
168
169
|
colourSet={ColourSet.Secondary}
|
|
169
170
|
backgroundColour={Colour['$transparent-0']}
|
|
170
171
|
icon={{ name: 'upload' }}
|
|
171
|
-
label=
|
|
172
|
+
label={i18n['scoria.action.upload']()}
|
|
172
173
|
size={Size.Medium}
|
|
173
174
|
onclick={() => {
|
|
174
175
|
openPicker();
|
|
@@ -206,8 +207,8 @@ function ondragleave(e) {
|
|
|
206
207
|
font-weight: 400;
|
|
207
208
|
padding-top: var(--input-padding-top, 0.65rem);
|
|
208
209
|
padding-bottom: var(--input-padding-bottom, 0.55rem);
|
|
209
|
-
padding-
|
|
210
|
-
padding-
|
|
210
|
+
padding-inline-start: var(--input-padding-inline-start, 0.75rem);
|
|
211
|
+
padding-inline-end: var(--input-padding-inline-end, 0.75rem);
|
|
211
212
|
border: var(--input-border, solid 1px #cbd4da);
|
|
212
213
|
color: #3a4952;
|
|
213
214
|
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;
|
|
@@ -239,8 +240,8 @@ span.right-label.inset {
|
|
|
239
240
|
font-weight: 500;
|
|
240
241
|
position: absolute;
|
|
241
242
|
background-color: #f4f7f9;
|
|
242
|
-
border-
|
|
243
|
-
|
|
243
|
+
border-inline-start: solid 1px #cbd4da;
|
|
244
|
+
inset-inline-end: 1px;
|
|
244
245
|
top: 1px;
|
|
245
246
|
bottom: 1px;
|
|
246
247
|
border-radius: 0 4px 4px 0;
|
|
@@ -264,11 +265,11 @@ span.right-label.for-modal {
|
|
|
264
265
|
|
|
265
266
|
span.for-default {
|
|
266
267
|
position: absolute;
|
|
267
|
-
|
|
268
|
+
inset-inline-start: 0.5rem;
|
|
268
269
|
font-size: 0.875rem;
|
|
269
270
|
user-select: none;
|
|
270
|
-
padding-
|
|
271
|
-
padding-
|
|
271
|
+
padding-inline-start: 0.5rem;
|
|
272
|
+
padding-inline-end: 0.5rem;
|
|
272
273
|
line-height: 1rem;
|
|
273
274
|
padding: 0rem 0.5rem;
|
|
274
275
|
top: calc(-0.875rem / 2 - 2px);
|
|
@@ -282,11 +283,11 @@ span.for-default.invalid {
|
|
|
282
283
|
|
|
283
284
|
span.border {
|
|
284
285
|
position: absolute;
|
|
285
|
-
|
|
286
|
+
inset-inline-start: 0.5rem;
|
|
286
287
|
font-size: 0.875rem;
|
|
287
288
|
user-select: none;
|
|
288
|
-
padding-
|
|
289
|
-
padding-
|
|
289
|
+
padding-inline-start: 0.5rem;
|
|
290
|
+
padding-inline-end: 0.5rem;
|
|
290
291
|
line-height: 1rem;
|
|
291
292
|
z-index: 1;
|
|
292
293
|
white-space: nowrap;
|
|
@@ -304,11 +305,11 @@ span.border.invalid {
|
|
|
304
305
|
}
|
|
305
306
|
|
|
306
307
|
.left-pad {
|
|
307
|
-
padding-
|
|
308
|
+
padding-inline-start: 3rem;
|
|
308
309
|
}
|
|
309
310
|
|
|
310
311
|
.right-pad {
|
|
311
|
-
padding-
|
|
312
|
+
padding-inline-end: 3rem;
|
|
312
313
|
}
|
|
313
314
|
|
|
314
315
|
.icon-container {
|
|
@@ -323,13 +324,12 @@ span.border.invalid {
|
|
|
323
324
|
height: 100%;
|
|
324
325
|
top: 0;
|
|
325
326
|
bottom: 0;
|
|
326
|
-
|
|
327
|
-
right: 0;
|
|
327
|
+
inset-inline: 0;
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
.error {
|
|
331
331
|
color: #aa1414;
|
|
332
|
-
margin-
|
|
332
|
+
margin-inline-start: 0.25rem;
|
|
333
333
|
display: block;
|
|
334
334
|
overflow-x: auto;
|
|
335
335
|
white-space: nowrap;
|
|
@@ -337,7 +337,7 @@ span.border.invalid {
|
|
|
337
337
|
|
|
338
338
|
.right-icon {
|
|
339
339
|
position: absolute;
|
|
340
|
-
|
|
340
|
+
inset-inline-end: 0.5rem;
|
|
341
341
|
top: 50%;
|
|
342
342
|
translate: 0 -50%;
|
|
343
343
|
}
|
|
@@ -361,8 +361,7 @@ label {
|
|
|
361
361
|
position: absolute;
|
|
362
362
|
top: 0;
|
|
363
363
|
bottom: 0;
|
|
364
|
-
|
|
365
|
-
right: 0;
|
|
364
|
+
inset-inline: 0;
|
|
366
365
|
}
|
|
367
366
|
.error-wrapper.for-modal {
|
|
368
367
|
flex: unset;
|
|
@@ -383,7 +382,7 @@ div.file-list {
|
|
|
383
382
|
flex-grow: 1;
|
|
384
383
|
gap: 0.375rem;
|
|
385
384
|
padding: 0.375rem 1.5rem;
|
|
386
|
-
padding-
|
|
385
|
+
padding-inline-end: 4rem;
|
|
387
386
|
overflow-y: scroll;
|
|
388
387
|
}
|
|
389
388
|
|
|
@@ -69,7 +69,7 @@ function isSingleSelectObject(item) {
|
|
|
69
69
|
{:else if isSelect(item)}
|
|
70
70
|
{#if isMultiSelect(item)}
|
|
71
71
|
{#await item.options}
|
|
72
|
-
{loadingText}
|
|
72
|
+
{loadingText()}
|
|
73
73
|
{:then options}
|
|
74
74
|
{#if isMultiSelectObject<V, VP>(item)}
|
|
75
75
|
<MultiSelect
|
|
@@ -102,7 +102,7 @@ function isSingleSelectObject(item) {
|
|
|
102
102
|
{/await}
|
|
103
103
|
{:else if isSingleSelect(item)}
|
|
104
104
|
{#await item.options}
|
|
105
|
-
{loadingText}
|
|
105
|
+
{loadingText()}
|
|
106
106
|
{:then options}
|
|
107
107
|
{#if isSingleSelectObject(item)}
|
|
108
108
|
<SingleSelect
|
|
@@ -128,7 +128,7 @@ const filteredTabs = $derived(filterFn ? tabs.filter((t) => filterFn(t, debounce
|
|
|
128
128
|
gap: 1px;
|
|
129
129
|
min-width: 10rem;
|
|
130
130
|
background-color: #e9ecf1;
|
|
131
|
-
border-
|
|
131
|
+
border-inline-end: solid 1px #cbd4da;
|
|
132
132
|
overflow: auto;
|
|
133
133
|
flex-shrink: 0;
|
|
134
134
|
}
|
|
@@ -30,7 +30,7 @@ if (!Object.isFrozen(icons)) {
|
|
|
30
30
|
}
|
|
31
31
|
</script>
|
|
32
32
|
|
|
33
|
-
<script lang="ts">const { name, size = Size.Medium, label, float = false, variant, invisible, clickable = false, clickableType = "button", zindex = 1, anchorX, anchorY, left, right, top, bottom, colour, onclick, rotate } = $props();
|
|
33
|
+
<script lang="ts">const { name, size = Size.Medium, label, float = false, variant, invisible, clickable = false, clickableType = "button", zindex = 1, anchorX, anchorY, left, right, top, bottom, colour, onclick, rotate, directional = false } = $props();
|
|
34
34
|
const dim = $derived(sizes[size]);
|
|
35
35
|
const displayIcon = $derived(icons[name]);
|
|
36
36
|
// Build the inline style string once per reactive input change rather
|
|
@@ -51,6 +51,7 @@ const ariaLabel = $derived(label ?? name.toString());
|
|
|
51
51
|
class:absolute={float}
|
|
52
52
|
{onclick}
|
|
53
53
|
class:rotate
|
|
54
|
+
class:directional
|
|
54
55
|
onkeydown={passthrough}
|
|
55
56
|
aria-label={ariaLabel}
|
|
56
57
|
>
|
|
@@ -84,6 +85,7 @@ const ariaLabel = $derived(label ?? name.toString());
|
|
|
84
85
|
width={dim}
|
|
85
86
|
height={dim}
|
|
86
87
|
class:rotate
|
|
88
|
+
class:directional
|
|
87
89
|
viewBox="0 0 {displayIcon.box} {displayIcon.box}"
|
|
88
90
|
>
|
|
89
91
|
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
@@ -158,7 +160,7 @@ svg:hover {
|
|
|
158
160
|
}
|
|
159
161
|
|
|
160
162
|
.header-icon {
|
|
161
|
-
margin-
|
|
163
|
+
margin-inline-start: auto;
|
|
162
164
|
}
|
|
163
165
|
|
|
164
166
|
.fill-height {
|
|
@@ -169,4 +171,8 @@ svg:hover {
|
|
|
169
171
|
.fill-width {
|
|
170
172
|
height: max-content;
|
|
171
173
|
width: 100%;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
:global([dir='rtl']) .directional {
|
|
177
|
+
transform: scaleX(-1);
|
|
172
178
|
}</style>
|
|
@@ -64,4 +64,11 @@ export interface IconProps {
|
|
|
64
64
|
* reduce` see a static icon.
|
|
65
65
|
*/
|
|
66
66
|
rotate?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* When true, the icon mirrors horizontally under `[dir='rtl']` via
|
|
69
|
+
* `transform: scaleX(-1)`. Set for icons whose geometry encodes a
|
|
70
|
+
* reading-direction (chevrons, arrows, navigation affordances).
|
|
71
|
+
* Leave false (default) for symmetric or rotational icons.
|
|
72
|
+
*/
|
|
73
|
+
directional?: boolean;
|
|
67
74
|
}
|