@poirazis/supercomponents-shared 1.2.16 → 1.2.19
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/index.js +17785 -22317
- package/dist/index.umd.cjs +19 -19
- package/package.json +13 -13
- package/src/index.js +1 -0
- package/src/index.ts +1 -0
- package/src/lib/SuperButton/SuperButton.svelte +90 -43
- package/src/lib/SuperField/SuperField.svelte +2 -3
- package/src/lib/SuperForm/InnerForm.svelte +7 -8
- package/src/lib/SuperTable/SuperTable.css +13 -6
- package/src/lib/SuperTable/SuperTable.svelte +53 -38
- package/src/lib/SuperTable/constants.js +1 -1
- package/src/lib/SuperTable/controls/RowButtonsColumn.svelte +34 -18
- package/src/lib/SuperTable/controls/SelectionColumn.svelte +6 -5
- package/src/lib/SuperTableCells/CellBoolean.svelte +52 -45
- package/src/lib/SuperTableCells/CellCommon.css +0 -5
- package/src/lib/SuperTableCells/CellDatetime.svelte +268 -120
- package/src/lib/SuperTableCells/CellLink.svelte +16 -7
- package/src/lib/SuperTableCells/CellLinkPickerSelect.svelte +28 -24
- package/src/lib/SuperTableCells/CellLinkPickerTree.svelte +22 -20
- package/src/lib/SuperTableCells/CellNumber.svelte +55 -53
- package/src/lib/SuperTableCells/CellOptions.svelte +60 -33
- package/src/lib/SuperTableCells/CellOptionsAdvanced.svelte +131 -129
- package/src/lib/SuperTableCells/CellSQLLink.svelte +35 -33
- package/src/lib/SuperTableCells/CellSQLLinkPicker.svelte +4 -7
- package/src/lib/SuperTableCells/CellString.svelte +49 -47
- package/src/lib/SuperTableCells/CellStringMask.svelte +41 -40
- package/src/lib/SuperTableColumn/SuperTableColumn.svelte +2 -0
- package/src/lib/SuperTableColumn/parts/SuperColumnBody.svelte +1 -0
- package/src/lib/SuperTableColumn/parts/SuperColumnHeader.svelte +44 -42
- package/src/lib/SuperTableColumn/parts/SuperColumnRow.svelte +1 -1
- package/src/lib/SuperTabs/SuperTabs.svelte +33 -17
- package/src/lib/UI/elements/Checkbox.svelte +69 -11
- package/src/lib/UI/elements/Switch.svelte +162 -0
- package/src/lib/UI/elements/Textbox.svelte +210 -0
- package/src/lib/UI/elements/Tooltip.svelte +15 -43
|
@@ -108,9 +108,7 @@
|
|
|
108
108
|
$: pills = cellOptions.relViewMode == "pills";
|
|
109
109
|
$: ownId = ownId || cellOptions?.ownId;
|
|
110
110
|
|
|
111
|
-
$:
|
|
112
|
-
localValue = enrichValue(value);
|
|
113
|
-
}
|
|
111
|
+
$: localValue = enrichValue(value);
|
|
114
112
|
|
|
115
113
|
$: inEdit = $cellState == "Editing";
|
|
116
114
|
$: isDirty = inEdit && originalValue != JSON.stringify(localValue);
|
|
@@ -246,36 +244,38 @@
|
|
|
246
244
|
{/if}
|
|
247
245
|
|
|
248
246
|
<div class="value" class:placeholder={localValue?.length < 1}>
|
|
249
|
-
{#
|
|
250
|
-
<
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
{#
|
|
260
|
-
<
|
|
261
|
-
<
|
|
262
|
-
|
|
247
|
+
{#key localValue}
|
|
248
|
+
{#if localValue?.length < 1}
|
|
249
|
+
<span> {placeholder} </span>
|
|
250
|
+
{:else if pills}
|
|
251
|
+
<div
|
|
252
|
+
class="items"
|
|
253
|
+
class:pills
|
|
254
|
+
class:withCount={localValue.length > 5}
|
|
255
|
+
class:inEdit
|
|
256
|
+
>
|
|
257
|
+
{#each localValue as val, idx}
|
|
258
|
+
{#if idx < 5}
|
|
259
|
+
<div class="item">
|
|
260
|
+
<span>{val.primaryDisplay}</span>
|
|
261
|
+
</div>
|
|
262
|
+
{/if}
|
|
263
|
+
{/each}
|
|
264
|
+
{#if localValue.length > 5}
|
|
265
|
+
<span class="count">
|
|
266
|
+
(+ {localValue.length - 5})
|
|
267
|
+
</span>
|
|
263
268
|
{/if}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
({localValue.length})
|
|
275
|
-
{/if}
|
|
276
|
-
{localValue.map((v) => v.primaryDisplay).join(", ")}
|
|
277
|
-
</span>
|
|
278
|
-
{/if}
|
|
269
|
+
</div>
|
|
270
|
+
{:else}
|
|
271
|
+
<span>
|
|
272
|
+
{#if cellOptions.role == "formInput" && localValue.length > 1}
|
|
273
|
+
({localValue.length})
|
|
274
|
+
{/if}
|
|
275
|
+
{localValue.map((v) => v.primaryDisplay).join(", ")}
|
|
276
|
+
</span>
|
|
277
|
+
{/if}
|
|
278
|
+
{/key}
|
|
279
279
|
</div>
|
|
280
280
|
{#if !readonly && (cellOptions.role == "formInput" || inEdit)}
|
|
281
281
|
<i class="ph ph-caret-down control-icon"></i>
|
|
@@ -313,7 +313,9 @@
|
|
|
313
313
|
bind:api={pickerApi}
|
|
314
314
|
on:change={handleChange}
|
|
315
315
|
on:focusout={cellState.popupfocusout}
|
|
316
|
-
|
|
316
|
+
>
|
|
317
|
+
<slot />
|
|
318
|
+
</CellSQLLinkPicker>
|
|
317
319
|
{/if}
|
|
318
320
|
</SuperPopover>
|
|
319
321
|
{/if}
|
|
@@ -343,12 +343,13 @@
|
|
|
343
343
|
on:mouseleave={() => (focusIdx = -1)}
|
|
344
344
|
on:mousedown|preventDefault|stopPropagation={() => selectRow(row)}
|
|
345
345
|
>
|
|
346
|
+
<slot />
|
|
346
347
|
<span>{row.primaryDisplay || row[primaryDisplay]}</span>
|
|
347
348
|
<i class="ri-check-line"></i>
|
|
348
349
|
</div>
|
|
349
350
|
{/each}
|
|
350
351
|
|
|
351
|
-
{#if $optionsFetch
|
|
352
|
+
{#if $optionsFetch}
|
|
352
353
|
<!-- Unselected rows -->
|
|
353
354
|
{#key localValue.length}
|
|
354
355
|
{#each $optionsFetch.rows as row, idx (row[relatedField])}
|
|
@@ -361,6 +362,7 @@
|
|
|
361
362
|
on:mouseleave={() => (focusIdx = -1)}
|
|
362
363
|
on:mousedown|preventDefault={() => selectRow(row)}
|
|
363
364
|
>
|
|
365
|
+
<slot />
|
|
364
366
|
<span>{row.primaryDisplay || row[primaryDisplay]}</span>
|
|
365
367
|
<i class="ri-check-line"></i>
|
|
366
368
|
</div>
|
|
@@ -370,14 +372,9 @@
|
|
|
370
372
|
{#if $optionsFetch?.loading}
|
|
371
373
|
<div class="option loading">
|
|
372
374
|
<i class="ri-loader-2-line rotating"></i>
|
|
373
|
-
Loading
|
|
375
|
+
Loading...
|
|
374
376
|
</div>
|
|
375
377
|
{/if}
|
|
376
|
-
{:else if $optionsFetch?.loading && !$optionsFetch.loaded}
|
|
377
|
-
<div class="option loading">
|
|
378
|
-
<i class="ri-loader-2-line rotating"></i>
|
|
379
|
-
Loading...
|
|
380
|
-
</div>
|
|
381
378
|
{:else}
|
|
382
379
|
<div class="option">No Results Found</div>
|
|
383
380
|
{/if}
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
$: ({
|
|
39
39
|
controlType,
|
|
40
40
|
role,
|
|
41
|
-
disabled,
|
|
42
41
|
readonly,
|
|
43
42
|
error: optionError,
|
|
44
43
|
icon: optionIcon,
|
|
@@ -60,6 +59,7 @@
|
|
|
60
59
|
: (value ?? undefined);
|
|
61
60
|
$: placeholder = placeholderText ?? "";
|
|
62
61
|
$: textarea = controlType === "textarea";
|
|
62
|
+
$: disabled = cellOptions?.disabled;
|
|
63
63
|
|
|
64
64
|
// Reset when value changes externally
|
|
65
65
|
$: cellState.reset(value);
|
|
@@ -201,54 +201,56 @@
|
|
|
201
201
|
style:background
|
|
202
202
|
on:focusin={cellState.focus}
|
|
203
203
|
>
|
|
204
|
-
{#
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
{#if
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
204
|
+
{#key inEdit}
|
|
205
|
+
{#if icon && !textarea}
|
|
206
|
+
<i class={icon + " field-icon"} class:with-error={error}></i>
|
|
207
|
+
{/if}
|
|
208
|
+
{#if inEdit}
|
|
209
|
+
{#if textarea}
|
|
210
|
+
<textarea
|
|
211
|
+
tabindex="0"
|
|
212
|
+
class:placeholder={!value && !formattedValue && !localValue}
|
|
213
|
+
placeholder={cellOptions?.placeholder ?? ""}
|
|
214
|
+
value={localValue ?? ""}
|
|
215
|
+
on:input={cellState.debounce}
|
|
216
|
+
on:focusout={cellState.focusout}
|
|
217
|
+
on:keydown={cellState.handleKeyboard}
|
|
218
|
+
use:focus
|
|
219
|
+
></textarea>
|
|
220
|
+
{:else}
|
|
221
|
+
<input
|
|
222
|
+
tabindex="0"
|
|
223
|
+
class="editor"
|
|
224
|
+
class:placeholder={!value && !formattedValue && !localValue}
|
|
225
|
+
value={localValue ?? ""}
|
|
226
|
+
placeholder={cellOptions?.placeholder ?? ""}
|
|
227
|
+
style:text-align={cellOptions.align == "center"
|
|
228
|
+
? "center"
|
|
229
|
+
: cellOptions.align == "flex-end"
|
|
230
|
+
? "right"
|
|
231
|
+
: "left"}
|
|
232
|
+
on:input={cellState.debounce}
|
|
233
|
+
on:focusout={cellState.focusout}
|
|
234
|
+
on:keydown={cellState.handleKeyboard}
|
|
235
|
+
use:focus
|
|
236
|
+
/>
|
|
237
|
+
<i
|
|
238
|
+
class="ri-close-line clear-icon"
|
|
239
|
+
class:visible={localValue && cellOptions?.clearIcon !== false}
|
|
240
|
+
on:mousedown|self|preventDefault={cellState.clear}
|
|
241
|
+
></i>
|
|
242
|
+
{/if}
|
|
219
243
|
{:else}
|
|
220
|
-
<
|
|
221
|
-
|
|
222
|
-
class
|
|
223
|
-
class:placeholder={!value && !formattedValue
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
: cellOptions.align == "flex-end"
|
|
229
|
-
? "right"
|
|
230
|
-
: "left"}
|
|
231
|
-
on:input={cellState.debounce}
|
|
232
|
-
on:focusout={cellState.focusout}
|
|
233
|
-
on:keydown={cellState.handleKeyboard}
|
|
234
|
-
use:focus
|
|
235
|
-
/>
|
|
236
|
-
<i
|
|
237
|
-
class="ri-close-line clear-icon"
|
|
238
|
-
class:visible={localValue && cellOptions?.clearIcon !== false}
|
|
239
|
-
on:mousedown|self|preventDefault={cellState.clear}
|
|
240
|
-
></i>
|
|
244
|
+
<div
|
|
245
|
+
class="value"
|
|
246
|
+
class:textarea
|
|
247
|
+
class:placeholder={!value && !formattedValue}
|
|
248
|
+
style:justify-content={cellOptions.align}
|
|
249
|
+
>
|
|
250
|
+
<span>{formattedValue || value || placeholder}</span>
|
|
251
|
+
</div>
|
|
241
252
|
{/if}
|
|
242
|
-
{
|
|
243
|
-
<div
|
|
244
|
-
class="value"
|
|
245
|
-
class:textarea
|
|
246
|
-
class:placeholder={!value && !formattedValue}
|
|
247
|
-
style:justify-content={cellOptions.align}
|
|
248
|
-
>
|
|
249
|
-
<span>{formattedValue || value || placeholder}</span>
|
|
250
|
-
</div>
|
|
251
|
-
{/if}
|
|
253
|
+
{/key}
|
|
252
254
|
</div>
|
|
253
255
|
|
|
254
256
|
<style>
|
|
@@ -354,49 +354,50 @@
|
|
|
354
354
|
: cellOptions.background}
|
|
355
355
|
style:font-weight={cellOptions.fontWeight}
|
|
356
356
|
>
|
|
357
|
-
{#
|
|
358
|
-
|
|
359
|
-
|
|
357
|
+
{#key $cellState}
|
|
358
|
+
{#if icon}
|
|
359
|
+
<i class={icon + " field-icon"} class:with-error={error}></i>
|
|
360
|
+
{/if}
|
|
360
361
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
{#if localValue && cellOptions?.clearIcon !== false}
|
|
362
|
+
{#if inEdit}
|
|
363
|
+
<input
|
|
364
|
+
bind:this={inputElement}
|
|
365
|
+
tabindex="0"
|
|
366
|
+
class="editor"
|
|
367
|
+
{placeholder}
|
|
368
|
+
style:color={!isComplete
|
|
369
|
+
? "var(--spectrum-global-color-gray-700)"
|
|
370
|
+
: cellOptions.color}
|
|
371
|
+
style:text-align={cellOptions.align == "center"
|
|
372
|
+
? "center"
|
|
373
|
+
: cellOptions.align == "flex-end"
|
|
374
|
+
? "right"
|
|
375
|
+
: "left"}
|
|
376
|
+
style:padding-right={cellOptions.align != "flex-start"
|
|
377
|
+
? "2rem"
|
|
378
|
+
: "0.75rem"}
|
|
379
|
+
on:focusout={cellState.focusout}
|
|
380
|
+
on:keydown={cellState.handleKeyboard}
|
|
381
|
+
use:focus
|
|
382
|
+
use:initIMask={mask}
|
|
383
|
+
/>
|
|
384
384
|
<i
|
|
385
|
-
class="ri-close-line
|
|
385
|
+
class="ri-close-line clear-icon"
|
|
386
|
+
class:visible={localValue && cellOptions?.clearIcon !== false}
|
|
386
387
|
on:mousedown|self|preventDefault={cellState.clear}
|
|
387
388
|
></i>
|
|
389
|
+
{:else}
|
|
390
|
+
<div
|
|
391
|
+
class="value"
|
|
392
|
+
tabindex={cellOptions.readonly || cellOptions.disabled ? "-1" : "0"}
|
|
393
|
+
class:placeholder={!value}
|
|
394
|
+
style:justify-content={cellOptions.align}
|
|
395
|
+
on:focusin={cellState.focus}
|
|
396
|
+
>
|
|
397
|
+
<span>
|
|
398
|
+
{displayValue || placeholder}
|
|
399
|
+
</span>
|
|
400
|
+
</div>
|
|
388
401
|
{/if}
|
|
389
|
-
{
|
|
390
|
-
<div
|
|
391
|
-
class="value"
|
|
392
|
-
tabindex={cellOptions.readonly || cellOptions.disabled ? "-1" : "0"}
|
|
393
|
-
class:placeholder={!value}
|
|
394
|
-
style:justify-content={cellOptions.align}
|
|
395
|
-
on:focusin={cellState.focus}
|
|
396
|
-
>
|
|
397
|
-
<span>
|
|
398
|
-
{displayValue || placeholder}
|
|
399
|
-
</span>
|
|
400
|
-
</div>
|
|
401
|
-
{/if}
|
|
402
|
+
{/key}
|
|
402
403
|
</div>
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
startResizing(e) {
|
|
193
193
|
e.stopPropagation();
|
|
194
194
|
e.preventDefault();
|
|
195
|
+
stbAPI.startResize();
|
|
195
196
|
resizing = true;
|
|
196
197
|
startPoint = e.clientX;
|
|
197
198
|
startWidth = viewport.clientWidth;
|
|
@@ -203,6 +204,7 @@
|
|
|
203
204
|
stopResizing(e) {
|
|
204
205
|
e.preventDefault();
|
|
205
206
|
e.stopPropagation();
|
|
207
|
+
stbAPI.endResize();
|
|
206
208
|
resizing = false;
|
|
207
209
|
startPoint = undefined;
|
|
208
210
|
width = $lockWidth;
|
|
@@ -108,51 +108,53 @@
|
|
|
108
108
|
on:mouseenter={() => (hovered = true)}
|
|
109
109
|
on:mouseleave={() => (hovered = false)}
|
|
110
110
|
>
|
|
111
|
-
{#
|
|
112
|
-
{#if $
|
|
113
|
-
|
|
114
|
-
class="ri-filter-3-line"
|
|
115
|
-
tabindex="0"
|
|
116
|
-
style="align-self: center; font-size: 14px;"
|
|
117
|
-
on:click|preventDefault={() =>
|
|
118
|
-
(showFilteringOptions = !showFilteringOptions)}
|
|
119
|
-
></i>
|
|
120
|
-
{/if}
|
|
121
|
-
<svelte:component
|
|
122
|
-
this={$columnOptions.headerComponent}
|
|
123
|
-
cellOptions={{
|
|
124
|
-
...$cellOptions,
|
|
125
|
-
placeholder: filterOperator,
|
|
126
|
-
disabled: filterOperator == "empty" || filterOperator == "notEmpty",
|
|
127
|
-
}}
|
|
128
|
-
value={filterValue}
|
|
129
|
-
fieldSchema={$columnOptions.schema}
|
|
130
|
-
multi={filterOperator == "containsAny" || filterOperator == "oneOf"}
|
|
131
|
-
on:change={handleValueChange}
|
|
132
|
-
on:focusout={handleBlur}
|
|
133
|
-
/>
|
|
134
|
-
{:else}
|
|
135
|
-
<div
|
|
136
|
-
class="headerLabel"
|
|
137
|
-
style:justify-content={$columnOptions?.headerAlign}
|
|
138
|
-
on:click={columnState.headerClicked}
|
|
139
|
-
>
|
|
140
|
-
<div class="innerText" class:sortable={$columnOptions.canSort}>
|
|
141
|
-
{$columnOptions.displayName ?? $columnOptions.name}
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
{/if}
|
|
145
|
-
|
|
146
|
-
{#if $columnOptions.canSort && $columnState == "Idle"}
|
|
147
|
-
<span class="placeholder" on:click={columnState.sort}>
|
|
148
|
-
{#if hovered || sorted}
|
|
111
|
+
{#key $columnState}
|
|
112
|
+
{#if $columnState == "Entering" || $columnState == "Filtered"}
|
|
113
|
+
{#if $columnOptions.canFilter == "advanced"}
|
|
149
114
|
<i
|
|
150
|
-
class=
|
|
151
|
-
|
|
115
|
+
class="ri-filter-3-line"
|
|
116
|
+
tabindex="0"
|
|
117
|
+
style="align-self: center; font-size: 14px;"
|
|
118
|
+
on:click|preventDefault={() =>
|
|
119
|
+
(showFilteringOptions = !showFilteringOptions)}
|
|
152
120
|
></i>
|
|
153
121
|
{/if}
|
|
154
|
-
|
|
155
|
-
|
|
122
|
+
<svelte:component
|
|
123
|
+
this={$columnOptions.headerComponent}
|
|
124
|
+
cellOptions={{
|
|
125
|
+
...$cellOptions,
|
|
126
|
+
placeholder: filterOperator,
|
|
127
|
+
disabled: filterOperator == "empty" || filterOperator == "notEmpty",
|
|
128
|
+
}}
|
|
129
|
+
value={filterValue}
|
|
130
|
+
fieldSchema={$columnOptions.schema}
|
|
131
|
+
multi={filterOperator == "containsAny" || filterOperator == "oneOf"}
|
|
132
|
+
on:change={handleValueChange}
|
|
133
|
+
on:focusout={handleBlur}
|
|
134
|
+
/>
|
|
135
|
+
{:else}
|
|
136
|
+
<div
|
|
137
|
+
class="headerLabel"
|
|
138
|
+
style:justify-content={$columnOptions?.headerAlign}
|
|
139
|
+
on:click={columnState.headerClicked}
|
|
140
|
+
>
|
|
141
|
+
<div class="innerText" class:sortable={$columnOptions.canSort}>
|
|
142
|
+
{$columnOptions.displayName ?? $columnOptions.name}
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
{/if}
|
|
146
|
+
|
|
147
|
+
{#if $columnOptions.canSort && $columnState == "Idle"}
|
|
148
|
+
<span class="placeholder" on:click={columnState.sort}>
|
|
149
|
+
{#if hovered || sorted}
|
|
150
|
+
<i
|
|
151
|
+
class={sorted == "ascending" ? "ri-sort-asc" : "ri-sort-desc"}
|
|
152
|
+
class:sorted
|
|
153
|
+
></i>
|
|
154
|
+
{/if}
|
|
155
|
+
</span>
|
|
156
|
+
{/if}
|
|
157
|
+
{/key}
|
|
156
158
|
</div>
|
|
157
159
|
|
|
158
160
|
{#if $columnOptions.canFilter == "advanced" && $columnState != "Idle"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
export let list_icon;
|
|
17
17
|
export let list_title;
|
|
18
18
|
export let tabsWidth = "200px";
|
|
19
|
+
export let listBackground = "var(--spectrum-global-color-gray-50)";
|
|
19
20
|
|
|
20
21
|
export let quietTabs;
|
|
21
22
|
|
|
@@ -44,11 +45,12 @@
|
|
|
44
45
|
style:justify-content={buttonsAlignment}
|
|
45
46
|
style:--tab-alignment={tabsAlignment}
|
|
46
47
|
style:--tab-track-thickness="1px"
|
|
48
|
+
style:--list-background={listBackground}
|
|
47
49
|
>
|
|
48
50
|
{#if theme === "list" && list_title}
|
|
49
51
|
<div class="tab list-title">
|
|
50
52
|
{#if list_icon}
|
|
51
|
-
<i class={list_icon}></i>
|
|
53
|
+
<i class={"ph ph-" + list_icon}></i>
|
|
52
54
|
{/if}
|
|
53
55
|
{list_title}
|
|
54
56
|
</div>
|
|
@@ -73,7 +75,7 @@
|
|
|
73
75
|
{#if container.icon}
|
|
74
76
|
<i
|
|
75
77
|
class={container.icon}
|
|
76
|
-
style:font-size={tabsIconsOnly ? "20px" : "
|
|
78
|
+
style:font-size={tabsIconsOnly ? "20px" : "12px"}
|
|
77
79
|
style:color={container.color}
|
|
78
80
|
></i>
|
|
79
81
|
{/if}
|
|
@@ -110,6 +112,14 @@
|
|
|
110
112
|
margin-bottom: unset;
|
|
111
113
|
--selected-tab: var(--spectrum-global-color-gray-200);
|
|
112
114
|
}
|
|
115
|
+
.outer-tabs.vertical.list {
|
|
116
|
+
padding-left: unset;
|
|
117
|
+
padding-right: unset;
|
|
118
|
+
flex-direction: column;
|
|
119
|
+
align-items: stretch;
|
|
120
|
+
--selected-tab: var(--spectrum-global-color-gray-200);
|
|
121
|
+
border-right: 1px solid var(--spectrum-global-color-gray-300);
|
|
122
|
+
}
|
|
113
123
|
|
|
114
124
|
.tabs {
|
|
115
125
|
flex: auto;
|
|
@@ -125,20 +135,29 @@
|
|
|
125
135
|
|
|
126
136
|
.tabs.list {
|
|
127
137
|
gap: 0;
|
|
128
|
-
background-color: var(
|
|
138
|
+
background-color: var(
|
|
139
|
+
--list-background,
|
|
140
|
+
var(--spectrum-global-color-gray-50)
|
|
141
|
+
);
|
|
129
142
|
border: unset;
|
|
130
143
|
padding: unset;
|
|
144
|
+
padding-bottom: 0.5rem;
|
|
131
145
|
}
|
|
132
146
|
|
|
133
147
|
.tabs.vertical {
|
|
134
148
|
flex-direction: column;
|
|
135
149
|
border-bottom: unset;
|
|
136
150
|
border-top: unset;
|
|
151
|
+
border-right: 1px solid var(--spectrum-global-color-gray-300);
|
|
152
|
+
padding-right: 0.25rem;
|
|
137
153
|
gap: 0.25rem;
|
|
138
154
|
}
|
|
139
155
|
|
|
140
156
|
.tabs.vertical.list {
|
|
141
157
|
border-right: unset;
|
|
158
|
+
gap: 2px;
|
|
159
|
+
padding: 2px;
|
|
160
|
+
padding-top: 0rem;
|
|
142
161
|
}
|
|
143
162
|
|
|
144
163
|
.tab {
|
|
@@ -165,10 +184,9 @@
|
|
|
165
184
|
.tab.button {
|
|
166
185
|
border-radius: 0.25rem;
|
|
167
186
|
padding: 0.5rem 1rem;
|
|
168
|
-
font-weight: 600;
|
|
169
187
|
line-height: 14px;
|
|
170
188
|
border: 1px solid transparent;
|
|
171
|
-
height: 1.
|
|
189
|
+
height: 1.75rem;
|
|
172
190
|
}
|
|
173
191
|
|
|
174
192
|
.tab.button.vertical {
|
|
@@ -184,51 +202,49 @@
|
|
|
184
202
|
|
|
185
203
|
.tab.button.selected {
|
|
186
204
|
color: var(--spectrum-global-color-gray-700);
|
|
187
|
-
|
|
205
|
+
font-weight: 500;
|
|
206
|
+
border: 1px solid
|
|
207
|
+
rgb(from var(--spectrum-global-color-gray-400) r g b / 0.75);
|
|
188
208
|
background-color: rgb(
|
|
189
209
|
from var(--spectrum-global-color-gray-200) r g b / 0.85
|
|
190
210
|
);
|
|
191
211
|
}
|
|
192
212
|
|
|
193
213
|
.tab.list {
|
|
194
|
-
padding: 0.5rem
|
|
214
|
+
padding: 0.5rem 0.5rem;
|
|
215
|
+
border-radius: 0.25rem;
|
|
195
216
|
max-width: 100%;
|
|
196
217
|
color: var(--spectrum-global-color-gray-700);
|
|
197
|
-
font-weight: 400;
|
|
198
218
|
}
|
|
199
219
|
|
|
200
220
|
.tab.list.selected {
|
|
201
221
|
color: var(--tab-selected-color);
|
|
202
222
|
background-color: var(--selected-tab);
|
|
203
|
-
font-weight: 500;
|
|
204
223
|
}
|
|
205
224
|
|
|
206
|
-
.tab.list:hover:not(.disabled):not(.list-section) {
|
|
207
|
-
background-color: var(--spectrum-global-color-gray-
|
|
225
|
+
.tab.list:hover:not(.disabled):not(.list-section):not(.selected) {
|
|
226
|
+
background-color: var(--spectrum-global-color-gray-100);
|
|
208
227
|
}
|
|
209
228
|
|
|
210
229
|
.tab.list-title {
|
|
211
|
-
padding: 0.75rem
|
|
230
|
+
padding: 0.75rem 0.5rem;
|
|
212
231
|
max-width: 100%;
|
|
213
232
|
font-size: 12px;
|
|
214
233
|
color: var(--spectrum-global-color-gray-800);
|
|
215
234
|
text-transform: uppercase;
|
|
216
235
|
letter-spacing: 1.2px;
|
|
217
|
-
font-weight: 500;
|
|
218
236
|
border-bottom: 1px solid var(--spectrum-global-color-gray-300);
|
|
219
|
-
height: 3rem;
|
|
220
237
|
}
|
|
221
238
|
|
|
222
239
|
.tab.list-section {
|
|
223
240
|
text-transform: uppercase;
|
|
224
241
|
font-size: 11px;
|
|
225
|
-
|
|
226
|
-
letter-spacing: 1.2px;
|
|
242
|
+
color: var(--spectrum-global-color-gray-600);
|
|
227
243
|
background-color: transparent;
|
|
228
244
|
}
|
|
229
245
|
|
|
230
246
|
.tab.list-section.vertical {
|
|
231
|
-
margin-top:
|
|
247
|
+
margin-top: 4px;
|
|
232
248
|
}
|
|
233
249
|
|
|
234
250
|
.tab.list-section:hover {
|