luna-plus 0.0.40 → 0.0.42
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/Affix/Affix.svelte +1 -1
- package/dist/Alert/Alert.svelte +6 -6
- package/dist/Autocomplete/Autocomplete.svelte +9 -9
- package/dist/Avatar/Avatar.svelte +5 -5
- package/dist/Backtop/Backtop.svelte +1 -1
- package/dist/Badge/Badge.svelte +4 -4
- package/dist/Breadcrumb/Breadcrumb.svelte +7 -7
- package/dist/Breadcrumb/BreadcrumbItem.svelte +6 -6
- package/dist/Button/Button.svelte +2 -2
- package/dist/Calendar/Calendar.svelte +16 -16
- package/dist/Card/Card.svelte +4 -4
- package/dist/Carousel/Carousel.svelte +6 -6
- package/dist/Carousel/CarouselItem.svelte +1 -1
- package/dist/Cascader/Cascader.svelte +12 -12
- package/dist/Checkbox/Checkbox.svelte +5 -5
- package/dist/Checkbox/CheckboxGroup.svelte +1 -1
- package/dist/Collapse/Collapse.svelte +1 -1
- package/dist/Collapse/CollapseItem.svelte +6 -6
- package/dist/ColorPicker/ColorPicker.svelte +13 -13
- package/dist/Container/Aside.svelte +1 -1
- package/dist/Container/Container.svelte +1 -1
- package/dist/Container/Footer.svelte +1 -1
- package/dist/Container/Header.svelte +1 -1
- package/dist/Container/Main.svelte +1 -1
- package/dist/DatePicker/DatePicker.svelte +20 -20
- package/dist/DateTimePicker/DateTimePicker.svelte +31 -31
- package/dist/Descriptions/Descriptions.svelte +6 -6
- package/dist/Descriptions/DescriptionsItem.svelte +6 -6
- package/dist/Dialog/Dialog.svelte +8 -8
- package/dist/Divider/Divider.svelte +6 -6
- package/dist/Drawer/Drawer.svelte +8 -8
- package/dist/Dropdown/Dropdown.svelte +8 -8
- package/dist/Dropdown/DropdownItem.svelte +2 -2
- package/dist/Dropdown/DropdownMenu.svelte +1 -1
- package/dist/Empty/Empty.svelte +4 -4
- package/dist/Form/Form.svelte +1 -1
- package/dist/Form/FormItem.svelte +4 -4
- package/dist/Icon/Icon.svelte +1 -1
- package/dist/Image/Image.svelte +13 -13
- package/dist/Input/Input.svelte +7 -7
- package/dist/InputNumber/InputNumber.svelte +7 -7
- package/dist/InputTag/InputTag.svelte +4 -4
- package/dist/Link/Link.svelte +1 -1
- package/dist/Loading/Loading.svelte +6 -6
- package/dist/Menu/Menu.svelte +10 -10
- package/dist/Message/Message.svelte +4 -4
- package/dist/Message/MessageQueue.svelte +4 -4
- package/dist/Message/message.js +1 -1
- package/dist/MessageBox/MessageBox.svelte +6 -6
- package/dist/MessageBox/messageBox.js +2 -2
- package/dist/Notification/Notification.svelte +8 -8
- package/dist/Pagination/Pagination.svelte +19 -19
- package/dist/PinInput/PinInput.svelte +2 -2
- package/dist/Popconfirm/Popconfirm.svelte +8 -8
- package/dist/Popover/Popover.svelte +5 -5
- package/dist/Progress/Progress.svelte +4 -4
- package/dist/Radio/Radio.svelte +5 -5
- package/dist/Radio/RadioGroup.svelte +1 -1
- package/dist/Rating/Rating.svelte +7 -7
- package/dist/Result/Result.svelte +6 -6
- package/dist/Segmented/Segmented.svelte +4 -4
- package/dist/Select/Option.svelte +1 -1
- package/dist/Select/OptionGroup.svelte +3 -3
- package/dist/Select/Select.svelte +13 -13
- package/dist/Skeleton/Skeleton.svelte +2 -2
- package/dist/Skeleton/SkeletonItem.svelte +1 -1
- package/dist/Slider/Slider.svelte +12 -12
- package/dist/Space/Space.svelte +5 -5
- package/dist/Statistic/Countdown.svelte +6 -6
- package/dist/Statistic/Statistic.svelte +6 -6
- package/dist/Steps/Step.svelte +8 -8
- package/dist/Steps/Steps.svelte +1 -1
- package/dist/Switch/Switch.svelte +7 -7
- package/dist/Table/Table.svelte +32 -32
- package/dist/Tabs/TabPane.svelte +1 -1
- package/dist/Tabs/Tabs.svelte +14 -14
- package/dist/Tabs/TabsContext.js +1 -1
- package/dist/Tag/Tag.svelte +2 -2
- package/dist/Textarea/Textarea.svelte +3 -3
- package/dist/TimePicker/TimePicker.svelte +19 -19
- package/dist/Timeline/Timeline.svelte +1 -1
- package/dist/Timeline/TimelineItem.svelte +7 -7
- package/dist/Tooltip/OverflowTooltip.svelte +5 -5
- package/dist/Tooltip/Tooltip.svelte +3 -3
- package/dist/Transfer/Transfer.svelte +28 -24
- package/dist/Tree/Tree.svelte +1 -1
- package/dist/Tree/TreeNode.svelte +6 -6
- package/dist/TreeSelect/TreeSelect.svelte +25 -25
- package/dist/Upload/Upload.svelte +32 -32
- package/dist/Watermark/Watermark.svelte +3 -3
- package/package.json +1 -1
- package/styles/index.css +1 -1
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
const classes = $derived(
|
|
68
|
-
`
|
|
68
|
+
`ln-slider${vertical ? " is-vertical" : ""}${disabled ? " is-disabled" : ""}${isDragging ? " is-dragging" : ""}${cls ? ` ${cls}` : ""}`,
|
|
69
69
|
);
|
|
70
70
|
|
|
71
71
|
/** 计算百分比 */
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
<div {...attrs} class={classes}>
|
|
236
236
|
<div
|
|
237
237
|
bind:this={trackRef}
|
|
238
|
-
class="
|
|
238
|
+
class="ln-slider__track"
|
|
239
239
|
role="presentation"
|
|
240
240
|
onclick={handleTrackClick}
|
|
241
241
|
>
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
{@const percentages = percentage as [number, number]}
|
|
244
244
|
{@const [startPercent, endPercent] = percentages}
|
|
245
245
|
<div
|
|
246
|
-
class="
|
|
246
|
+
class="ln-slider__fill"
|
|
247
247
|
style={vertical
|
|
248
248
|
? `bottom: ${startPercent}%; height: ${endPercent - startPercent}%`
|
|
249
249
|
: `left: ${startPercent}%; width: ${endPercent - startPercent}%`}
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
{@const thumbPercent = percentages[thumbIndex]}
|
|
254
254
|
{@const thumbValue = (currentValue as [number, number])[thumbIndex]}
|
|
255
255
|
<div
|
|
256
|
-
class="
|
|
256
|
+
class="ln-slider__thumb"
|
|
257
257
|
class:is-active={activeThumb === thumbIndex}
|
|
258
258
|
style={vertical
|
|
259
259
|
? `bottom: ${thumbPercent}%`
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
disabled={!showTooltip}
|
|
280
280
|
style="width: 100%; height: 100%; display: block;"
|
|
281
281
|
>
|
|
282
|
-
<div class="
|
|
282
|
+
<div class="ln-slider__thumb-inner"></div>
|
|
283
283
|
</Tooltip>
|
|
284
284
|
</div>
|
|
285
285
|
{/each}
|
|
@@ -287,12 +287,12 @@
|
|
|
287
287
|
{@const fillPercent = percentage as number}
|
|
288
288
|
{@const currentVal = currentValue as number}
|
|
289
289
|
<div
|
|
290
|
-
class="
|
|
290
|
+
class="ln-slider__fill"
|
|
291
291
|
style={vertical ? `height: ${fillPercent}%` : `width: ${fillPercent}%`}
|
|
292
292
|
></div>
|
|
293
293
|
|
|
294
294
|
<div
|
|
295
|
-
class="
|
|
295
|
+
class="ln-slider__thumb"
|
|
296
296
|
class:is-active={isDragging}
|
|
297
297
|
style={vertical ? `bottom: ${fillPercent}%` : `left: ${fillPercent}%`}
|
|
298
298
|
role="slider"
|
|
@@ -312,23 +312,23 @@
|
|
|
312
312
|
disabled={!showTooltip}
|
|
313
313
|
style="width: 100%; height: 100%; display: block;"
|
|
314
314
|
>
|
|
315
|
-
<div class="
|
|
315
|
+
<div class="ln-slider__thumb-inner"></div>
|
|
316
316
|
</Tooltip>
|
|
317
317
|
</div>
|
|
318
318
|
{/if}
|
|
319
319
|
</div>
|
|
320
320
|
|
|
321
321
|
{#if markPositions.length > 0}
|
|
322
|
-
<div class="
|
|
322
|
+
<div class="ln-slider__marks">
|
|
323
323
|
{#each markPositions as mark (mark.value)}
|
|
324
324
|
<div
|
|
325
|
-
class="
|
|
325
|
+
class="ln-slider__mark"
|
|
326
326
|
style={vertical
|
|
327
327
|
? `bottom: ${mark.position}%`
|
|
328
328
|
: `left: ${mark.position}%`}
|
|
329
329
|
>
|
|
330
|
-
<div class="
|
|
331
|
-
<div class="
|
|
330
|
+
<div class="ln-slider__mark-point"></div>
|
|
331
|
+
<div class="ln-slider__mark-label">
|
|
332
332
|
{#if typeof mark.label === "string"}
|
|
333
333
|
{mark.label}
|
|
334
334
|
{:else}
|
package/dist/Space/Space.svelte
CHANGED
|
@@ -71,16 +71,16 @@
|
|
|
71
71
|
);
|
|
72
72
|
|
|
73
73
|
const classes = $derived(
|
|
74
|
-
`
|
|
74
|
+
`ln-space ln-space--${direction}${wrap ? " is-wrap" : ""}${fill ? " is-fill" : ""}${cls ? ` ${cls}` : ""}`,
|
|
75
75
|
);
|
|
76
76
|
</script>
|
|
77
77
|
|
|
78
78
|
<div
|
|
79
79
|
class={classes}
|
|
80
|
-
style:--
|
|
81
|
-
style:--
|
|
82
|
-
style:--
|
|
83
|
-
style:--
|
|
80
|
+
style:--ln-space-gap={gapValue}
|
|
81
|
+
style:--ln-space-align={alignValue}
|
|
82
|
+
style:--ln-space-justify={justifyValue}
|
|
83
|
+
style:--ln-space-fill-ratio={fillRatio}
|
|
84
84
|
{...attrs}
|
|
85
85
|
>
|
|
86
86
|
{#if children}
|
|
@@ -68,12 +68,12 @@
|
|
|
68
68
|
stopTimer()
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
-
const classes = $derived(`
|
|
71
|
+
const classes = $derived(`ln-statistic ln-countdown${cls ? ` ${cls}` : ''}`)
|
|
72
72
|
</script>
|
|
73
73
|
|
|
74
74
|
<div class={classes} {...attrs}>
|
|
75
75
|
{#if title}
|
|
76
|
-
<div class="
|
|
76
|
+
<div class="ln-statistic__title">
|
|
77
77
|
{#if typeof title === 'string'}
|
|
78
78
|
{title}
|
|
79
79
|
{:else}
|
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
</div>
|
|
83
83
|
{/if}
|
|
84
84
|
|
|
85
|
-
<div class="
|
|
85
|
+
<div class="ln-statistic__content" style={valueStyle}>
|
|
86
86
|
{#if prefix}
|
|
87
|
-
<span class="
|
|
87
|
+
<span class="ln-statistic__prefix">
|
|
88
88
|
{#if typeof prefix === 'string'}
|
|
89
89
|
{prefix}
|
|
90
90
|
{:else}
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
</span>
|
|
94
94
|
{/if}
|
|
95
95
|
|
|
96
|
-
<span class="
|
|
96
|
+
<span class="ln-statistic__value">{formatTime}</span>
|
|
97
97
|
|
|
98
98
|
{#if suffix}
|
|
99
|
-
<span class="
|
|
99
|
+
<span class="ln-statistic__suffix">
|
|
100
100
|
{#if typeof suffix === 'string'}
|
|
101
101
|
{suffix}
|
|
102
102
|
{:else}
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
return parts.join(decimalSeparator)
|
|
24
24
|
})
|
|
25
25
|
|
|
26
|
-
const classes = $derived(`
|
|
26
|
+
const classes = $derived(`ln-statistic${cls ? ` ${cls}` : ''}`)
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
29
|
<div class={classes} {...attrs}>
|
|
30
30
|
{#if title}
|
|
31
|
-
<div class="
|
|
31
|
+
<div class="ln-statistic__title">
|
|
32
32
|
{#if typeof title === 'string'}
|
|
33
33
|
{title}
|
|
34
34
|
{:else}
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
</div>
|
|
38
38
|
{/if}
|
|
39
39
|
|
|
40
|
-
<div class="
|
|
40
|
+
<div class="ln-statistic__content" style={valueStyle}>
|
|
41
41
|
{#if prefix}
|
|
42
|
-
<span class="
|
|
42
|
+
<span class="ln-statistic__prefix">
|
|
43
43
|
{#if typeof prefix === 'string'}
|
|
44
44
|
{prefix}
|
|
45
45
|
{:else}
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
</span>
|
|
49
49
|
{/if}
|
|
50
50
|
|
|
51
|
-
<span class="
|
|
51
|
+
<span class="ln-statistic__value">{formatValue}</span>
|
|
52
52
|
|
|
53
53
|
{#if suffix}
|
|
54
|
-
<span class="
|
|
54
|
+
<span class="ln-statistic__suffix">
|
|
55
55
|
{#if typeof suffix === 'string'}
|
|
56
56
|
{suffix}
|
|
57
57
|
{:else}
|
package/dist/Steps/Step.svelte
CHANGED
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
const isFinish = $derived(currentStatus === 'finish' || currentStatus === 'success')
|
|
26
26
|
const isError = $derived(currentStatus === 'error')
|
|
27
27
|
|
|
28
|
-
const classes = $derived(`
|
|
28
|
+
const classes = $derived(`ln-step is-${currentStatus}${cls ? ` ${cls}` : ''}`)
|
|
29
29
|
</script>
|
|
30
30
|
|
|
31
31
|
<div class={classes} {...attrs}>
|
|
32
|
-
<div class="
|
|
33
|
-
<div class="
|
|
32
|
+
<div class="ln-step__head">
|
|
33
|
+
<div class="ln-step__icon">
|
|
34
34
|
{#if icon}
|
|
35
35
|
{@render icon()}
|
|
36
36
|
{:else if isFinish}
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
{:else if isError}
|
|
39
39
|
<Icon icon={X} size={14} />
|
|
40
40
|
{:else}
|
|
41
|
-
<span class="
|
|
41
|
+
<span class="ln-step__icon-inner">{index + 1}</span>
|
|
42
42
|
{/if}
|
|
43
43
|
</div>
|
|
44
|
-
<div class="
|
|
44
|
+
<div class="ln-step__line"></div>
|
|
45
45
|
</div>
|
|
46
46
|
|
|
47
|
-
<div class="
|
|
47
|
+
<div class="ln-step__main">
|
|
48
48
|
{#if title}
|
|
49
|
-
<div class="
|
|
49
|
+
<div class="ln-step__title">{title}</div>
|
|
50
50
|
{/if}
|
|
51
51
|
{#if description && !isSimple}
|
|
52
|
-
<div class="
|
|
52
|
+
<div class="ln-step__description">{description}</div>
|
|
53
53
|
{/if}
|
|
54
54
|
{#if children}
|
|
55
55
|
{@render children()}
|
package/dist/Steps/Steps.svelte
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
|
|
51
51
|
setContext(STEPS_CONTEXT_KEY, context)
|
|
52
52
|
|
|
53
|
-
const classes = $derived(`
|
|
53
|
+
const classes = $derived(`ln-steps ln-steps--${direction}${simple ? ' ln-steps--simple' : ''}${alignCenter ? ' is-center' : ''}${cls ? ` ${cls}` : ''}`)
|
|
54
54
|
</script>
|
|
55
55
|
|
|
56
56
|
<div class={classes} {...attrs}>
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
}: SwitchProps = $props()
|
|
43
43
|
|
|
44
44
|
const classes = $derived(
|
|
45
|
-
`
|
|
45
|
+
`ln-switch ln-switch--${size}` +
|
|
46
46
|
`${modelValue ? ' is-active' : ''}` +
|
|
47
47
|
`${disabled ? ' is-disabled' : ''}` +
|
|
48
48
|
`${loading ? ' is-loading' : ''}` +
|
|
@@ -90,28 +90,28 @@
|
|
|
90
90
|
onkeydown={handleKeydown}
|
|
91
91
|
{...attrs}
|
|
92
92
|
>
|
|
93
|
-
<span class="
|
|
93
|
+
<span class="ln-switch__track" aria-hidden="true">
|
|
94
94
|
{#if iconLeft}
|
|
95
|
-
<span class="
|
|
95
|
+
<span class="ln-switch__icon ln-switch__icon--left" aria-hidden="true">
|
|
96
96
|
<Icon icon={iconLeft} size="100%" />
|
|
97
97
|
</span>
|
|
98
98
|
{/if}
|
|
99
99
|
|
|
100
|
-
<span class="
|
|
100
|
+
<span class="ln-switch__thumb" aria-hidden="true">
|
|
101
101
|
{#if loading}
|
|
102
|
-
<Icon icon={Loader} class="
|
|
102
|
+
<Icon icon={Loader} class="ln-switch__loading" size={14} />
|
|
103
103
|
{/if}
|
|
104
104
|
</span>
|
|
105
105
|
|
|
106
106
|
{#if iconRight}
|
|
107
|
-
<span class="
|
|
107
|
+
<span class="ln-switch__icon ln-switch__icon--right" aria-hidden="true">
|
|
108
108
|
<Icon icon={iconRight} size="100%" />
|
|
109
109
|
</span>
|
|
110
110
|
{/if}
|
|
111
111
|
</span>
|
|
112
112
|
|
|
113
113
|
{#if labelText}
|
|
114
|
-
<span class="
|
|
114
|
+
<span class="ln-switch__label" class:is-loading={loading} aria-live={loading ? 'polite' : undefined}>
|
|
115
115
|
{labelText}
|
|
116
116
|
</span>
|
|
117
117
|
{/if}
|
package/dist/Table/Table.svelte
CHANGED
|
@@ -391,9 +391,9 @@
|
|
|
391
391
|
|
|
392
392
|
// Get row class
|
|
393
393
|
const getRowClass = (row: any, index: number): string => {
|
|
394
|
-
const classes: string[] = ["
|
|
394
|
+
const classes: string[] = ["ln-table__row"];
|
|
395
395
|
if (stripe && index % 2 === 1) {
|
|
396
|
-
classes.push("
|
|
396
|
+
classes.push("ln-table__row--striped");
|
|
397
397
|
}
|
|
398
398
|
if (highlightCurrentRow && currentRowKeyState === getRowKey(row, index)) {
|
|
399
399
|
classes.push("is-current");
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
rowIndex: number,
|
|
431
431
|
colIndex: number,
|
|
432
432
|
): string => {
|
|
433
|
-
const classes: string[] = ["
|
|
433
|
+
const classes: string[] = ["ln-table__cell"];
|
|
434
434
|
if (column.type === "selection") {
|
|
435
435
|
classes.push("is-center");
|
|
436
436
|
}
|
|
@@ -451,7 +451,7 @@
|
|
|
451
451
|
|
|
452
452
|
// Get header cell class
|
|
453
453
|
const getHeaderCellClass = (column: TableColumn, index: number): string => {
|
|
454
|
-
const classes: string[] = ["
|
|
454
|
+
const classes: string[] = ["ln-table__cell", "ln-table__header-cell"];
|
|
455
455
|
if (column.type === "selection") {
|
|
456
456
|
classes.push("is-center");
|
|
457
457
|
}
|
|
@@ -529,7 +529,7 @@
|
|
|
529
529
|
|
|
530
530
|
if (!shouldShowOverflowTooltip(column)) return;
|
|
531
531
|
const cellContent = target.querySelector(
|
|
532
|
-
".
|
|
532
|
+
".ln-table__cell-text",
|
|
533
533
|
) as HTMLElement;
|
|
534
534
|
|
|
535
535
|
if (!cellContent || !checkOverflow(cellContent)) return;
|
|
@@ -662,7 +662,7 @@
|
|
|
662
662
|
|
|
663
663
|
// Table classes
|
|
664
664
|
const tableClasses = $derived(
|
|
665
|
-
`
|
|
665
|
+
`ln-table${border ? " ln-table--border" : ""}${stripe ? " ln-table--striped" : ""}${size !== "default" ? ` ln-table--${size}` : ""}${fit ? " ln-table--fit" : ""}${highlightCurrentRow ? " ln-table--highlight-current-row" : ""}${loading ? " is-loading" : ""}${flexible ? " ln-table--flexible" : ""}${scrollbarAlwaysOn ? " ln-table--scrollbar-always-on" : ""}`,
|
|
666
666
|
);
|
|
667
667
|
|
|
668
668
|
const innerWrapperStyle = $derived.by(() => {
|
|
@@ -679,7 +679,7 @@
|
|
|
679
679
|
});
|
|
680
680
|
|
|
681
681
|
const tableElementClasses = $derived(
|
|
682
|
-
`
|
|
682
|
+
`ln-table__table${cls ? ` ${cls}` : ""}`,
|
|
683
683
|
);
|
|
684
684
|
|
|
685
685
|
const effectiveTableLayout = $derived(
|
|
@@ -698,7 +698,7 @@
|
|
|
698
698
|
|
|
699
699
|
<div bind:this={tableRef} class={tableClasses}>
|
|
700
700
|
<Loading visible={loading} lock={false}>
|
|
701
|
-
<div class="
|
|
701
|
+
<div class="ln-table__inner-wrapper" style={innerWrapperStyle} onscroll={handleScroll}>
|
|
702
702
|
<table
|
|
703
703
|
{...attrs}
|
|
704
704
|
class={tableElementClasses}
|
|
@@ -713,8 +713,8 @@
|
|
|
713
713
|
{/each}
|
|
714
714
|
</colgroup>
|
|
715
715
|
{#if showHeader}
|
|
716
|
-
<thead class="
|
|
717
|
-
<tr class="
|
|
716
|
+
<thead class="ln-table__header">
|
|
717
|
+
<tr class="ln-table__row">
|
|
718
718
|
{#each columns as column, colIndex}
|
|
719
719
|
<th
|
|
720
720
|
class={getHeaderCellClass(column, colIndex)}
|
|
@@ -724,7 +724,7 @@
|
|
|
724
724
|
}}
|
|
725
725
|
oncontextmenu={(e) => handleHeaderContextmenu(column, e)}
|
|
726
726
|
>
|
|
727
|
-
<div class="
|
|
727
|
+
<div class="ln-table__cell-wrapper">
|
|
728
728
|
{#if column.type === "selection"}
|
|
729
729
|
<Checkbox
|
|
730
730
|
checked={isAllSelected}
|
|
@@ -738,21 +738,21 @@
|
|
|
738
738
|
$index: colIndex,
|
|
739
739
|
})}
|
|
740
740
|
{:else}
|
|
741
|
-
<span class="
|
|
741
|
+
<span class="ln-table__header-text"
|
|
742
742
|
>{column.label || ""}</span
|
|
743
743
|
>
|
|
744
744
|
{/if}
|
|
745
745
|
{#if column.sortable}
|
|
746
|
-
<span class="
|
|
746
|
+
<span class="ln-table__sort-caret">
|
|
747
747
|
<Icon
|
|
748
748
|
icon={ChevronUp}
|
|
749
749
|
size={12}
|
|
750
|
-
class={`
|
|
750
|
+
class={`ln-table__sort-icon ln-table__sort-icon--asc${sortState.prop === column.prop && sortState.order === "ascending" ? " is-active" : ""}`}
|
|
751
751
|
/>
|
|
752
752
|
<Icon
|
|
753
753
|
icon={ChevronDown}
|
|
754
754
|
size={12}
|
|
755
|
-
class={`
|
|
755
|
+
class={`ln-table__sort-icon ln-table__sort-icon--desc${sortState.prop === column.prop && sortState.order === "descending" ? " is-active" : ""}`}
|
|
756
756
|
/>
|
|
757
757
|
</span>
|
|
758
758
|
{/if}
|
|
@@ -762,18 +762,18 @@
|
|
|
762
762
|
</tr>
|
|
763
763
|
</thead>
|
|
764
764
|
{/if}
|
|
765
|
-
<tbody class="
|
|
765
|
+
<tbody class="ln-table__body">
|
|
766
766
|
{#if sortedData.length === 0}
|
|
767
|
-
<tr class="
|
|
767
|
+
<tr class="ln-table__row ln-table__empty-row">
|
|
768
768
|
<td
|
|
769
|
-
class="
|
|
769
|
+
class="ln-table__cell ln-table__empty-cell"
|
|
770
770
|
colspan={columns.length}
|
|
771
771
|
>
|
|
772
|
-
<div class="
|
|
772
|
+
<div class="ln-table__empty">
|
|
773
773
|
{#if empty}
|
|
774
774
|
{@render empty()}
|
|
775
775
|
{:else}
|
|
776
|
-
<span class="
|
|
776
|
+
<span class="ln-table__empty-text">{emptyText}</span>
|
|
777
777
|
{/if}
|
|
778
778
|
</div>
|
|
779
779
|
</td>
|
|
@@ -808,7 +808,7 @@
|
|
|
808
808
|
handleCellMouseLeaveInternal(e, row, column)}
|
|
809
809
|
>
|
|
810
810
|
<div
|
|
811
|
-
class="
|
|
811
|
+
class="ln-table__cell-wrapper"
|
|
812
812
|
class:has-overflow-tooltip={shouldShowOverflowTooltip(column)}
|
|
813
813
|
>
|
|
814
814
|
{#if column.type === "selection"}
|
|
@@ -822,7 +822,7 @@
|
|
|
822
822
|
size="small"
|
|
823
823
|
/>
|
|
824
824
|
{:else if column.type === "index"}
|
|
825
|
-
<span class="
|
|
825
|
+
<span class="ln-table__cell-text"
|
|
826
826
|
>{getIndexValue(column, rowIndex)}</span
|
|
827
827
|
>
|
|
828
828
|
{:else if column.type === "actions"}
|
|
@@ -857,7 +857,7 @@
|
|
|
857
857
|
{:else if column.cellComponent}
|
|
858
858
|
{@const CellComp = column.cellComponent}
|
|
859
859
|
<span
|
|
860
|
-
class="
|
|
860
|
+
class="ln-table__cell-text"
|
|
861
861
|
class:is-ellipsis={shouldShowOverflowTooltip(column)}
|
|
862
862
|
>
|
|
863
863
|
<CellComp
|
|
@@ -868,7 +868,7 @@
|
|
|
868
868
|
</span>
|
|
869
869
|
{:else}
|
|
870
870
|
<span
|
|
871
|
-
class="
|
|
871
|
+
class="ln-table__cell-text"
|
|
872
872
|
class:is-ellipsis={shouldShowOverflowTooltip(column)}
|
|
873
873
|
>
|
|
874
874
|
{formatCellValue(row, column, rowIndex)}
|
|
@@ -883,12 +883,12 @@
|
|
|
883
883
|
{/if}
|
|
884
884
|
</tbody>
|
|
885
885
|
{#if showSummary && sortedData.length > 0}
|
|
886
|
-
<tfoot class="
|
|
887
|
-
<tr class="
|
|
886
|
+
<tfoot class="ln-table__footer">
|
|
887
|
+
<tr class="ln-table__row">
|
|
888
888
|
{#each columns as column, colIndex}
|
|
889
|
-
<td class="
|
|
890
|
-
<div class="
|
|
891
|
-
<span class="
|
|
889
|
+
<td class="ln-table__cell ln-table__summary-cell">
|
|
890
|
+
<div class="ln-table__cell-wrapper">
|
|
891
|
+
<span class="ln-table__cell-text">
|
|
892
892
|
{summaryData[colIndex] ?? ""}
|
|
893
893
|
</span>
|
|
894
894
|
</div>
|
|
@@ -899,7 +899,7 @@
|
|
|
899
899
|
{/if}
|
|
900
900
|
</table>
|
|
901
901
|
{#if append}
|
|
902
|
-
<div class="
|
|
902
|
+
<div class="ln-table__append-wrapper">
|
|
903
903
|
{@render append()}
|
|
904
904
|
</div>
|
|
905
905
|
{/if}
|
|
@@ -909,13 +909,13 @@
|
|
|
909
909
|
<!-- Tooltip -->
|
|
910
910
|
{#if tooltipVisible && hoveredTooltipCell}
|
|
911
911
|
<div
|
|
912
|
-
class="
|
|
912
|
+
class="ln-table__tooltip is-{tooltipOptions?.placement || 'top'} {tooltipEffect === 'light' ? 'is-light' : ''}"
|
|
913
913
|
style="top: {tooltipPosition.top}px; left: {tooltipPosition.left}px; transform: {tooltipPosition.transform};"
|
|
914
914
|
role="tooltip"
|
|
915
915
|
>
|
|
916
916
|
{hoveredTooltipCell.content}
|
|
917
917
|
{#if tooltipOptions?.showArrow !== false}
|
|
918
|
-
<div class="
|
|
918
|
+
<div class="ln-tooltip__arrow"></div>
|
|
919
919
|
{/if}
|
|
920
920
|
</div>
|
|
921
921
|
{/if}
|
package/dist/Tabs/TabPane.svelte
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
const isActive = $derived(tabs?.active === name)
|
|
29
29
|
|
|
30
|
-
const classes = $derived(`
|
|
30
|
+
const classes = $derived(`ln-tab-pane${isActive ? ' is-active' : ''}${cls ? ` ${cls}` : ''}`)
|
|
31
31
|
</script>
|
|
32
32
|
|
|
33
33
|
<div class={classes} role="tabpanel" aria-hidden={!isActive || undefined} {...attrs}>
|
package/dist/Tabs/Tabs.svelte
CHANGED
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
unregister,
|
|
54
54
|
})
|
|
55
55
|
|
|
56
|
-
const classes = $derived(`
|
|
56
|
+
const classes = $derived(`ln-tabs ln-tabs--${type} ln-tabs--${size}${cls ? ` ${cls}` : ''}`)
|
|
57
57
|
|
|
58
58
|
const setActive = (name: string): void => {
|
|
59
59
|
modelValue = name
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
const scrollActiveIntoView = (): void => {
|
|
73
73
|
queueMicrotask(() => {
|
|
74
74
|
if (!navRef) return
|
|
75
|
-
const activeEl = navRef.querySelector('.
|
|
75
|
+
const activeEl = navRef.querySelector('.ln-tabs__item.is-active') as HTMLElement | null
|
|
76
76
|
if (!activeEl) return
|
|
77
77
|
|
|
78
78
|
const navRect = navRef.getBoundingClientRect()
|
|
@@ -102,9 +102,9 @@
|
|
|
102
102
|
const updateIndicator = (): void => {
|
|
103
103
|
queueMicrotask(() => {
|
|
104
104
|
if (!navRef) return
|
|
105
|
-
const activeEl = navRef.querySelector('.
|
|
105
|
+
const activeEl = navRef.querySelector('.ln-tabs__item.is-active') as HTMLElement | null
|
|
106
106
|
if (!activeEl) return
|
|
107
|
-
const labelEl = activeEl.querySelector('.
|
|
107
|
+
const labelEl = activeEl.querySelector('.ln-tabs__label') as HTMLElement | null
|
|
108
108
|
if (labelEl) {
|
|
109
109
|
const labelRect = labelEl.getBoundingClientRect()
|
|
110
110
|
const navRect = navRef.getBoundingClientRect()
|
|
@@ -148,11 +148,11 @@
|
|
|
148
148
|
</script>
|
|
149
149
|
|
|
150
150
|
<div class={classes} role="tablist" {...attrs}>
|
|
151
|
-
<div class="
|
|
151
|
+
<div class="ln-tabs__header" class:has-scroll={showScroll}>
|
|
152
152
|
{#if showScroll}
|
|
153
153
|
<button
|
|
154
154
|
type="button"
|
|
155
|
-
class="
|
|
155
|
+
class="ln-tabs__scroll-btn ln-tabs__scroll-btn--prev"
|
|
156
156
|
aria-label="Scroll left"
|
|
157
157
|
disabled={!canScrollPrev}
|
|
158
158
|
onclick={(e: MouseEvent) => {
|
|
@@ -163,10 +163,10 @@
|
|
|
163
163
|
<Icon icon={ChevronLeft} size={14} />
|
|
164
164
|
</button>
|
|
165
165
|
{/if}
|
|
166
|
-
<div bind:this={navRef} class="
|
|
166
|
+
<div bind:this={navRef} class="ln-tabs__nav" onscroll={handleNavScroll}>
|
|
167
167
|
{#each panes as pane}
|
|
168
168
|
<div
|
|
169
|
-
class="
|
|
169
|
+
class="ln-tabs__item"
|
|
170
170
|
class:is-active={pane.name === modelValue}
|
|
171
171
|
class:is-disabled={pane.disabled}
|
|
172
172
|
class:is-closable={pane.closable || (type === 'editable' && editable)}
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
}
|
|
183
183
|
}}
|
|
184
184
|
>
|
|
185
|
-
<span class="
|
|
185
|
+
<span class="ln-tabs__label">
|
|
186
186
|
{#if type === 'card' || type === 'button' || type === 'editable'}
|
|
187
187
|
{#if typeof pane.label === 'string'}
|
|
188
188
|
{pane.label}
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
</span>
|
|
200
200
|
{#if pane.closable || (type === 'editable' && editable)}
|
|
201
201
|
<button
|
|
202
|
-
class="
|
|
202
|
+
class="ln-tabs__close"
|
|
203
203
|
type="button"
|
|
204
204
|
aria-label="Close tab"
|
|
205
205
|
onclick={(e: MouseEvent) => {
|
|
@@ -213,12 +213,12 @@
|
|
|
213
213
|
{/if}
|
|
214
214
|
</div>
|
|
215
215
|
{/each}
|
|
216
|
-
<div class="
|
|
216
|
+
<div class="ln-tabs__indicator" style={`transform: translateX(${indicatorStyle.x}px); width: ${indicatorStyle.width}px;`}></div>
|
|
217
217
|
</div>
|
|
218
218
|
{#if showScroll}
|
|
219
219
|
<button
|
|
220
220
|
type="button"
|
|
221
|
-
class="
|
|
221
|
+
class="ln-tabs__scroll-btn ln-tabs__scroll-btn--next"
|
|
222
222
|
aria-label="Scroll right"
|
|
223
223
|
disabled={!canScrollNext}
|
|
224
224
|
onclick={(e: MouseEvent) => {
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
{/if}
|
|
232
232
|
{#if type === 'editable' && editable && onadd}
|
|
233
233
|
<button
|
|
234
|
-
class="
|
|
234
|
+
class="ln-tabs__add"
|
|
235
235
|
aria-label="Add tab"
|
|
236
236
|
onclick={(e: MouseEvent) => {
|
|
237
237
|
e.stopPropagation()
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
</button>
|
|
244
244
|
{/if}
|
|
245
245
|
</div>
|
|
246
|
-
<div class="
|
|
246
|
+
<div class="ln-tabs__content">
|
|
247
247
|
{#if children}
|
|
248
248
|
{@render children()}
|
|
249
249
|
{/if}
|
package/dist/Tabs/TabsContext.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const TABS_CONTEXT_KEY = Symbol('
|
|
1
|
+
export const TABS_CONTEXT_KEY = Symbol('ln-tabs');
|
package/dist/Tag/Tag.svelte
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
let visible = $state(true)
|
|
19
19
|
|
|
20
|
-
const classes = $derived(`
|
|
20
|
+
const classes = $derived(`ln-tag ln-tag--${type} ln-tag--${size}${round ? ' is-round' : ''}${closable ? ' is-closable' : ''}${!visible ? ' is-hidden' : ''}${cls ? ` ${cls}` : ''}`)
|
|
21
21
|
|
|
22
22
|
const handleClose = (): void => {
|
|
23
23
|
visible = false
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
{@render children()}
|
|
32
32
|
{/if}
|
|
33
33
|
{#if closable}
|
|
34
|
-
<button class="
|
|
34
|
+
<button class="ln-tag__close" type="button" aria-label="Close" onclick={handleClose}>
|
|
35
35
|
<Icon icon={X} size={12} />
|
|
36
36
|
</button>
|
|
37
37
|
{/if}
|