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.
Files changed (92) hide show
  1. package/dist/Affix/Affix.svelte +1 -1
  2. package/dist/Alert/Alert.svelte +6 -6
  3. package/dist/Autocomplete/Autocomplete.svelte +9 -9
  4. package/dist/Avatar/Avatar.svelte +5 -5
  5. package/dist/Backtop/Backtop.svelte +1 -1
  6. package/dist/Badge/Badge.svelte +4 -4
  7. package/dist/Breadcrumb/Breadcrumb.svelte +7 -7
  8. package/dist/Breadcrumb/BreadcrumbItem.svelte +6 -6
  9. package/dist/Button/Button.svelte +2 -2
  10. package/dist/Calendar/Calendar.svelte +16 -16
  11. package/dist/Card/Card.svelte +4 -4
  12. package/dist/Carousel/Carousel.svelte +6 -6
  13. package/dist/Carousel/CarouselItem.svelte +1 -1
  14. package/dist/Cascader/Cascader.svelte +12 -12
  15. package/dist/Checkbox/Checkbox.svelte +5 -5
  16. package/dist/Checkbox/CheckboxGroup.svelte +1 -1
  17. package/dist/Collapse/Collapse.svelte +1 -1
  18. package/dist/Collapse/CollapseItem.svelte +6 -6
  19. package/dist/ColorPicker/ColorPicker.svelte +13 -13
  20. package/dist/Container/Aside.svelte +1 -1
  21. package/dist/Container/Container.svelte +1 -1
  22. package/dist/Container/Footer.svelte +1 -1
  23. package/dist/Container/Header.svelte +1 -1
  24. package/dist/Container/Main.svelte +1 -1
  25. package/dist/DatePicker/DatePicker.svelte +20 -20
  26. package/dist/DateTimePicker/DateTimePicker.svelte +31 -31
  27. package/dist/Descriptions/Descriptions.svelte +6 -6
  28. package/dist/Descriptions/DescriptionsItem.svelte +6 -6
  29. package/dist/Dialog/Dialog.svelte +8 -8
  30. package/dist/Divider/Divider.svelte +6 -6
  31. package/dist/Drawer/Drawer.svelte +8 -8
  32. package/dist/Dropdown/Dropdown.svelte +8 -8
  33. package/dist/Dropdown/DropdownItem.svelte +2 -2
  34. package/dist/Dropdown/DropdownMenu.svelte +1 -1
  35. package/dist/Empty/Empty.svelte +4 -4
  36. package/dist/Form/Form.svelte +1 -1
  37. package/dist/Form/FormItem.svelte +4 -4
  38. package/dist/Icon/Icon.svelte +1 -1
  39. package/dist/Image/Image.svelte +13 -13
  40. package/dist/Input/Input.svelte +7 -7
  41. package/dist/InputNumber/InputNumber.svelte +7 -7
  42. package/dist/InputTag/InputTag.svelte +4 -4
  43. package/dist/Link/Link.svelte +1 -1
  44. package/dist/Loading/Loading.svelte +6 -6
  45. package/dist/Menu/Menu.svelte +10 -10
  46. package/dist/Message/Message.svelte +4 -4
  47. package/dist/Message/MessageQueue.svelte +4 -4
  48. package/dist/Message/message.js +1 -1
  49. package/dist/MessageBox/MessageBox.svelte +6 -6
  50. package/dist/MessageBox/messageBox.js +2 -2
  51. package/dist/Notification/Notification.svelte +8 -8
  52. package/dist/Pagination/Pagination.svelte +19 -19
  53. package/dist/PinInput/PinInput.svelte +2 -2
  54. package/dist/Popconfirm/Popconfirm.svelte +8 -8
  55. package/dist/Popover/Popover.svelte +5 -5
  56. package/dist/Progress/Progress.svelte +4 -4
  57. package/dist/Radio/Radio.svelte +5 -5
  58. package/dist/Radio/RadioGroup.svelte +1 -1
  59. package/dist/Rating/Rating.svelte +7 -7
  60. package/dist/Result/Result.svelte +6 -6
  61. package/dist/Segmented/Segmented.svelte +4 -4
  62. package/dist/Select/Option.svelte +1 -1
  63. package/dist/Select/OptionGroup.svelte +3 -3
  64. package/dist/Select/Select.svelte +13 -13
  65. package/dist/Skeleton/Skeleton.svelte +2 -2
  66. package/dist/Skeleton/SkeletonItem.svelte +1 -1
  67. package/dist/Slider/Slider.svelte +12 -12
  68. package/dist/Space/Space.svelte +5 -5
  69. package/dist/Statistic/Countdown.svelte +6 -6
  70. package/dist/Statistic/Statistic.svelte +6 -6
  71. package/dist/Steps/Step.svelte +8 -8
  72. package/dist/Steps/Steps.svelte +1 -1
  73. package/dist/Switch/Switch.svelte +7 -7
  74. package/dist/Table/Table.svelte +32 -32
  75. package/dist/Tabs/TabPane.svelte +1 -1
  76. package/dist/Tabs/Tabs.svelte +14 -14
  77. package/dist/Tabs/TabsContext.js +1 -1
  78. package/dist/Tag/Tag.svelte +2 -2
  79. package/dist/Textarea/Textarea.svelte +3 -3
  80. package/dist/TimePicker/TimePicker.svelte +19 -19
  81. package/dist/Timeline/Timeline.svelte +1 -1
  82. package/dist/Timeline/TimelineItem.svelte +7 -7
  83. package/dist/Tooltip/OverflowTooltip.svelte +5 -5
  84. package/dist/Tooltip/Tooltip.svelte +3 -3
  85. package/dist/Transfer/Transfer.svelte +28 -24
  86. package/dist/Tree/Tree.svelte +1 -1
  87. package/dist/Tree/TreeNode.svelte +6 -6
  88. package/dist/TreeSelect/TreeSelect.svelte +25 -25
  89. package/dist/Upload/Upload.svelte +32 -32
  90. package/dist/Watermark/Watermark.svelte +3 -3
  91. package/package.json +1 -1
  92. package/styles/index.css +1 -1
@@ -186,7 +186,7 @@
186
186
 
187
187
  const isSmall = $derived(size === "small");
188
188
  const classes = $derived(
189
- `lm-pagination${isSmall ? " lm-pagination--small" : ""}${background ? " is-background" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
189
+ `ln-pagination${isSmall ? " ln-pagination--small" : ""}${background ? " is-background" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
190
190
  );
191
191
  </script>
192
192
 
@@ -196,7 +196,7 @@
196
196
  {@const prevDisabled = disabled || clampPage(current) <= 1}
197
197
  <!-- svelte-ignore a11y_missing_attribute -->
198
198
  <a
199
- class="lm-pagination__btn lm-pagination__btn--prev"
199
+ class="ln-pagination__btn ln-pagination__btn--prev"
200
200
  role="button"
201
201
  aria-disabled={prevDisabled}
202
202
  tabindex={prevDisabled ? -1 : 0}
@@ -217,23 +217,23 @@
217
217
  {/if}
218
218
  </a>
219
219
 
220
- <span class="lm-pagination__simple">
220
+ <span class="ln-pagination__simple">
221
221
  <Input
222
- class="lm-pagination__simple-editor"
222
+ class="ln-pagination__simple-editor"
223
223
  value={String(current)}
224
224
  size={isSmall ? "small" : "medium"}
225
225
  {disabled}
226
226
  oninput={(e) => (simpleValue = (e.target as HTMLInputElement).value)}
227
227
  onkeydown={(e) => e.key === "Enter" && handleSimpleCommit()}
228
228
  />
229
- <span class="lm-pagination__simple-sep">/</span>
230
- <span class="lm-pagination__simple-total">{totalPages}</span>
229
+ <span class="ln-pagination__simple-sep">/</span>
230
+ <span class="ln-pagination__simple-total">{totalPages}</span>
231
231
  </span>
232
232
 
233
233
  {@const nextDisabled = disabled || clampPage(current) >= totalPages}
234
234
  <!-- svelte-ignore a11y_missing_attribute -->
235
235
  <a
236
- class="lm-pagination__btn lm-pagination__btn--next"
236
+ class="ln-pagination__btn ln-pagination__btn--next"
237
237
  role="button"
238
238
  aria-disabled={nextDisabled}
239
239
  tabindex={nextDisabled ? -1 : 0}
@@ -256,12 +256,12 @@
256
256
  {:else}
257
257
  {#each resolvedLayout as item (item)}
258
258
  {#if item === "total" && showTotal}
259
- <span class="lm-pagination__total"
259
+ <span class="ln-pagination__total"
260
260
  >{formatTotal(showTotal as boolean | PaginationShowTotal)}</span
261
261
  >
262
262
  {:else if item === "sizes" && showSizeChanger}
263
263
  <Select
264
- class="lm-pagination__sizes"
264
+ class="ln-pagination__sizes"
265
265
  modelValue={pageSize}
266
266
  options={sizeOptions}
267
267
  size={isSmall ? "small" : "default"}
@@ -272,7 +272,7 @@
272
272
  {@const prevDisabled = disabled || clampPage(current) <= 1}
273
273
  <!-- svelte-ignore a11y_missing_attribute -->
274
274
  <a
275
- class="lm-pagination__btn lm-pagination__btn--prev"
275
+ class="ln-pagination__btn ln-pagination__btn--prev"
276
276
  role="button"
277
277
  aria-disabled={prevDisabled}
278
278
  tabindex={prevDisabled ? -1 : 0}
@@ -297,13 +297,13 @@
297
297
  {/if}
298
298
  </a>
299
299
  {:else if item === "pager"}
300
- <ul class="lm-pagination__pager" aria-label="Pager">
300
+ <ul class="ln-pagination__pager" aria-label="Pager">
301
301
  {#each pagerItems as it (it.type === "page" ? `p:${it.page}` : it.type)}
302
302
  {#if it.type === "page"}
303
303
  <li>
304
304
  <!-- svelte-ignore a11y_missing_attribute -->
305
305
  <a
306
- class="lm-pagination__item{it.page === clampPage(current)
306
+ class="ln-pagination__item{it.page === clampPage(current)
307
307
  ? ' is-active'
308
308
  : ''}"
309
309
  role="button"
@@ -325,7 +325,7 @@
325
325
  <li>
326
326
  <!-- svelte-ignore a11y_missing_attribute -->
327
327
  <a
328
- class="lm-pagination__item lm-pagination__item--jump"
328
+ class="ln-pagination__item ln-pagination__item--jump"
329
329
  role="button"
330
330
  aria-disabled={disabled}
331
331
  tabindex={disabled ? -1 : 0}
@@ -338,7 +338,7 @@
338
338
  {#if hoverJumpPrev}
339
339
  <Icon icon={ChevronsLeft} size={16} />
340
340
  {:else}
341
- <span class="lm-pagination__ellipsis">•••</span>
341
+ <span class="ln-pagination__ellipsis">•••</span>
342
342
  {/if}
343
343
  </a>
344
344
  </li>
@@ -346,7 +346,7 @@
346
346
  <li>
347
347
  <!-- svelte-ignore a11y_missing_attribute -->
348
348
  <a
349
- class="lm-pagination__item lm-pagination__item--jump"
349
+ class="ln-pagination__item ln-pagination__item--jump"
350
350
  role="button"
351
351
  aria-disabled={disabled}
352
352
  tabindex={disabled ? -1 : 0}
@@ -359,7 +359,7 @@
359
359
  {#if hoverJumpNext}
360
360
  <Icon icon={ChevronsRight} size={16} />
361
361
  {:else}
362
- <span class="lm-pagination__ellipsis">•••</span>
362
+ <span class="ln-pagination__ellipsis">•••</span>
363
363
  {/if}
364
364
  </a>
365
365
  </li>
@@ -370,7 +370,7 @@
370
370
  {@const nextDisabled = disabled || clampPage(current) >= totalPages}
371
371
  <!-- svelte-ignore a11y_missing_attribute -->
372
372
  <a
373
- class="lm-pagination__btn lm-pagination__btn--next"
373
+ class="ln-pagination__btn ln-pagination__btn--next"
374
374
  role="button"
375
375
  aria-disabled={nextDisabled}
376
376
  tabindex={nextDisabled ? -1 : 0}
@@ -395,10 +395,10 @@
395
395
  {/if}
396
396
  </a>
397
397
  {:else if item === "jumper" && showQuickJumper}
398
- <span class="lm-pagination__jump">
398
+ <span class="ln-pagination__jump">
399
399
  跳至
400
400
  <Input
401
- class="lm-pagination__editor"
401
+ class="ln-pagination__editor"
402
402
  bind:value={jumperValue}
403
403
  size={isSmall ? "small" : "medium"}
404
404
  {disabled}
@@ -52,7 +52,7 @@
52
52
  const isPassword = $derived(mask || type === 'password')
53
53
 
54
54
  const rootClasses = $derived(
55
- `lm-pin-input lm-pin-input--${size}${disabled ? ' is-disabled' : ''}${isPassword ? ' is-password' : ''}${isComplete ? ' is-complete' : ''}${className ? ` ${className}` : ''}`
55
+ `ln-pin-input ln-pin-input--${size}${disabled ? ' is-disabled' : ''}${isPassword ? ' is-password' : ''}${isComplete ? ' is-complete' : ''}${className ? ` ${className}` : ''}`
56
56
  )
57
57
 
58
58
  /** 更新值 */
@@ -157,7 +157,7 @@
157
157
  bind:this={inputRefs[index]}
158
158
  type={isPassword ? 'password' : type === 'number' ? 'text' : type}
159
159
  inputmode={type === 'number' ? 'numeric' : 'text'}
160
- class="lm-pin-input__input"
160
+ class="ln-pin-input__input"
161
161
  class:is-focused={isFocused}
162
162
  value={currentValue}
163
163
  {placeholder}
@@ -222,16 +222,16 @@
222
222
  );
223
223
 
224
224
  const classes = $derived(
225
- `lm-popconfirm${isVisible ? " is-visible" : ""}${cls ? ` ${cls}` : ""}`,
225
+ `ln-popconfirm${isVisible ? " is-visible" : ""}${cls ? ` ${cls}` : ""}`,
226
226
  );
227
227
 
228
- const popperClasses = $derived(`lm-popconfirm__popper is-${actualPlacement}`);
228
+ const popperClasses = $derived(`ln-popconfirm__popper is-${actualPlacement}`);
229
229
  </script>
230
230
 
231
231
  <div {...attrs} class={classes}>
232
232
  <div
233
233
  bind:this={referenceElement}
234
- class="lm-popconfirm__reference"
234
+ class="ln-popconfirm__reference"
235
235
  role="button"
236
236
  tabindex="0"
237
237
  onclick={handleTriggerClick}
@@ -262,11 +262,11 @@
262
262
  transition:scale={{ duration: 150, start: 0.9 }}
263
263
  >
264
264
  {#if showArrow}
265
- <div class="lm-popconfirm__arrow"></div>
265
+ <div class="ln-popconfirm__arrow"></div>
266
266
  {/if}
267
- <div class="lm-popconfirm__main">
267
+ <div class="ln-popconfirm__main">
268
268
  {#if !hideIcon}
269
- <span class="lm-popconfirm__icon" style="color: {iconColor};">
269
+ <span class="ln-popconfirm__icon" style="color: {iconColor};">
270
270
  {#if icon}
271
271
  {@render icon()}
272
272
  {:else}
@@ -274,9 +274,9 @@
274
274
  {/if}
275
275
  </span>
276
276
  {/if}
277
- <span class="lm-popconfirm__title">{title}</span>
277
+ <span class="ln-popconfirm__title">{title}</span>
278
278
  </div>
279
- <div class="lm-popconfirm__action">
279
+ <div class="ln-popconfirm__action">
280
280
  {#if actions}
281
281
  {@render actions({ confirm: handleConfirm, cancel: handleCancel })}
282
282
  {:else}
@@ -188,10 +188,10 @@
188
188
  });
189
189
 
190
190
  const classes = $derived(
191
- `lm-popover${isVisible ? " is-visible" : ""}${cls ? ` ${cls}` : ""}`,
191
+ `ln-popover${isVisible ? " is-visible" : ""}${cls ? ` ${cls}` : ""}`,
192
192
  );
193
193
 
194
- const popperClasses = $derived(`lm-popover__popper is-${actualPlacement}`);
194
+ const popperClasses = $derived(`ln-popover__popper is-${actualPlacement}`);
195
195
 
196
196
  const widthValue = $derived(
197
197
  typeof width === "number" ? `${Math.max(0, width)}px` : width,
@@ -201,7 +201,7 @@
201
201
  <div {...attrs} class={classes}>
202
202
  <div
203
203
  bind:this={referenceElement}
204
- class="lm-popover__reference"
204
+ class="ln-popover__reference"
205
205
  role="button"
206
206
  tabindex="0"
207
207
  onclick={handleTriggerClick}
@@ -233,9 +233,9 @@
233
233
  transition:scale={{ duration: 150, start: 0.9 }}
234
234
  >
235
235
  {#if showArrow}
236
- <div class="lm-popover__arrow"></div>
236
+ <div class="ln-popover__arrow"></div>
237
237
  {/if}
238
- <div class="lm-popover__content">
238
+ <div class="ln-popover__content">
239
239
  {#if content}
240
240
  {@render content()}
241
241
  {/if}
@@ -12,7 +12,7 @@
12
12
 
13
13
  const pct = $derived(Math.max(0, Math.min(100, Math.round(percentage))))
14
14
 
15
- const classes = $derived(cls ? `lm-progress ${cls}` : 'lm-progress')
15
+ const classes = $derived(cls ? `ln-progress ${cls}` : 'ln-progress')
16
16
 
17
17
  const innerStyle = $derived.by(() => {
18
18
  const styles = [`width: ${pct}%`, `height: ${strokeWidth}px`]
@@ -24,10 +24,10 @@
24
24
  </script>
25
25
 
26
26
  <div {...attrs} class={classes}>
27
- <div class="lm-progress__track" style={trackStyle}>
28
- <div class={'lm-progress__bar lm-progress__bar--' + status} style={innerStyle}></div>
27
+ <div class="ln-progress__track" style={trackStyle}>
28
+ <div class={'ln-progress__bar ln-progress__bar--' + status} style={innerStyle}></div>
29
29
  </div>
30
30
  {#if showText}
31
- <span class="lm-progress__text">{pct}%</span>
31
+ <span class="ln-progress__text">{pct}%</span>
32
32
  {/if}
33
33
  </div>
@@ -27,7 +27,7 @@
27
27
  }: RadioProps = $props();
28
28
 
29
29
  const classes = $derived(
30
- `lm-radio lm-radio--${size}${checked ? " is-checked" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
30
+ `ln-radio ln-radio--${size}${checked ? " is-checked" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
31
31
  );
32
32
 
33
33
  const handleInputChange = (e: Event): void => {
@@ -40,22 +40,22 @@
40
40
  </script>
41
41
 
42
42
  <label class={classes}>
43
- <span class="lm-radio__input">
43
+ <span class="ln-radio__input">
44
44
  <input
45
45
  {...attrs}
46
46
  type="radio"
47
- class="lm-radio__original"
47
+ class="ln-radio__original"
48
48
  {value}
49
49
  {name}
50
50
  {disabled}
51
51
  {checked}
52
52
  onchange={handleInputChange}
53
53
  />
54
- <span class="lm-radio__inner"></span>
54
+ <span class="ln-radio__inner"></span>
55
55
  </span>
56
56
 
57
57
  {#if children || label}
58
- <span class="lm-radio__label">
58
+ <span class="ln-radio__label">
59
59
  {#if children}
60
60
  {@render children()}
61
61
  {:else if label}
@@ -23,7 +23,7 @@
23
23
  }: RadioGroupProps = $props();
24
24
 
25
25
  const classes = $derived(
26
- `lm-radio-group lm-radio-group--${size}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
26
+ `ln-radio-group ln-radio-group--${size}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
27
27
  );
28
28
 
29
29
  const handleChange = (value: string | number): void => {
@@ -159,7 +159,7 @@
159
159
  }
160
160
 
161
161
  const classes = $derived(
162
- `lm-rating${disabled ? ' lm-rating--disabled' : ''}${readonly ? ' lm-rating--readonly' : ''}${allowHalf ? ' lm-rating--half' : ''}${!disabled && !readonly ? ' lm-rating--interactive' : ''}${rounded ? ' lm-rating--rounded' : ''}${extraClass ? ` ${extraClass}` : ''}`
162
+ `ln-rating${disabled ? ' ln-rating--disabled' : ''}${readonly ? ' ln-rating--readonly' : ''}${allowHalf ? ' ln-rating--half' : ''}${!disabled && !readonly ? ' ln-rating--interactive' : ''}${rounded ? ' ln-rating--rounded' : ''}${extraClass ? ` ${extraClass}` : ''}`
163
163
  )
164
164
 
165
165
  /** 根元素样式(缓存避免重复计算) */
@@ -196,24 +196,24 @@
196
196
  {@const isEmpty = ratio === 0}
197
197
  <button
198
198
  type="button"
199
- class="lm-rating__item"
199
+ class="ln-rating__item"
200
200
  aria-label="Rate {index + 1}"
201
201
  disabled={disabled || readonly}
202
202
  onmousemove={(e: MouseEvent) => onHover(index, e)}
203
203
  onclick={(e: MouseEvent) => onClick(index, e)}
204
204
  >
205
205
  <span
206
- class="lm-rating__icon-wrapper {rounded ? 'is-rounded' : ''}"
206
+ class="ln-rating__icon-wrapper {rounded ? 'is-rounded' : ''}"
207
207
  data-ratio={ratio}
208
208
  data-full={isFull ? 'true' : undefined}
209
209
  data-half={isHalf ? 'true' : undefined}
210
210
  data-empty={isEmpty ? 'true' : undefined}
211
211
  >
212
- <svg viewBox={VIEW_BOX} class="lm-rating__icon lm-rating__icon--void" aria-hidden="true" focusable="false">
212
+ <svg viewBox={VIEW_BOX} class="ln-rating__icon ln-rating__icon--void" aria-hidden="true" focusable="false">
213
213
  <path d={iconPath} />
214
214
  </svg>
215
- <span class="lm-rating__icon-fill" data-ratio={ratio} data-half={isHalf ? 'true' : undefined} data-full={isFull ? 'true' : undefined}>
216
- <svg viewBox={VIEW_BOX} class="lm-rating__icon lm-rating__icon--filled" aria-hidden="true" focusable="false">
215
+ <span class="ln-rating__icon-fill" data-ratio={ratio} data-half={isHalf ? 'true' : undefined} data-full={isFull ? 'true' : undefined}>
216
+ <svg viewBox={VIEW_BOX} class="ln-rating__icon ln-rating__icon--filled" aria-hidden="true" focusable="false">
217
217
  <path d={iconPath} fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
218
218
  </svg>
219
219
  </span>
@@ -221,6 +221,6 @@
221
221
  </button>
222
222
  {/each}
223
223
  {#if displayText}
224
- <span class="lm-rating__text">{displayText}</span>
224
+ <span class="ln-rating__text">{displayText}</span>
225
225
  {/if}
226
226
  </div>
@@ -24,11 +24,11 @@
24
24
  info: Info,
25
25
  }
26
26
 
27
- const classes = $derived(`lm-result lm-result--${status}${cls ? ` ${cls}` : ''}`)
27
+ const classes = $derived(`ln-result ln-result--${status}${cls ? ` ${cls}` : ''}`)
28
28
  </script>
29
29
 
30
30
  <div class={classes} {...attrs}>
31
- <div class="lm-result__icon">
31
+ <div class="ln-result__icon">
32
32
  {#if icon}
33
33
  {@render icon()}
34
34
  {:else}
@@ -37,21 +37,21 @@
37
37
  </div>
38
38
 
39
39
  {#if title}
40
- <div class="lm-result__title">{title}</div>
40
+ <div class="ln-result__title">{title}</div>
41
41
  {/if}
42
42
 
43
43
  {#if subTitle}
44
- <div class="lm-result__subtitle">{subTitle}</div>
44
+ <div class="ln-result__subtitle">{subTitle}</div>
45
45
  {/if}
46
46
 
47
47
  {#if extra}
48
- <div class="lm-result__extra">
48
+ <div class="ln-result__extra">
49
49
  {@render extra()}
50
50
  </div>
51
51
  {/if}
52
52
 
53
53
  {#if children}
54
- <div class="lm-result__content">
54
+ <div class="ln-result__content">
55
55
  {@render children()}
56
56
  </div>
57
57
  {/if}
@@ -19,25 +19,25 @@
19
19
  modelValue = option.value
20
20
  }
21
21
 
22
- const classes = $derived(`lm-segmented lm-segmented--${size}${block ? ' is-block' : ''}${disabled ? ' is-disabled' : ''}${cls ? ` ${cls}` : ''}`)
22
+ const classes = $derived(`ln-segmented ln-segmented--${size}${block ? ' is-block' : ''}${disabled ? ' is-disabled' : ''}${cls ? ` ${cls}` : ''}`)
23
23
  </script>
24
24
 
25
25
  <div class={classes} role="radiogroup" {...attrs}>
26
26
  {#each normalizedOptions as option (option.value)}
27
27
  <button
28
28
  type="button"
29
- class="lm-segmented__item{modelValue === option.value ? ' is-selected' : ''}{option.disabled ? ' is-disabled' : ''}"
29
+ class="ln-segmented__item{modelValue === option.value ? ' is-selected' : ''}{option.disabled ? ' is-disabled' : ''}"
30
30
  role="radio"
31
31
  aria-checked={modelValue === option.value}
32
32
  disabled={disabled || option.disabled}
33
33
  onclick={() => handleSelect(option)}
34
34
  >
35
35
  {#if option.icon}
36
- <span class="lm-segmented__icon">
36
+ <span class="ln-segmented__icon">
37
37
  {@render option.icon()}
38
38
  </span>
39
39
  {/if}
40
- <span class="lm-segmented__label">
40
+ <span class="ln-segmented__label">
41
41
  {#if typeof option.label === 'string'}
42
42
  {option.label}
43
43
  {:else}
@@ -15,7 +15,7 @@
15
15
  }: OptionProps = $props();
16
16
 
17
17
  const classes = $derived(
18
- `lm-option${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
18
+ `ln-option${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
19
19
  );
20
20
  </script>
21
21
 
@@ -17,15 +17,15 @@
17
17
  }: OptionGroupProps = $props();
18
18
 
19
19
  const classes = $derived(
20
- `lm-option-group${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
20
+ `ln-option-group${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
21
21
  );
22
22
  </script>
23
23
 
24
24
  <li class={classes} role="group" aria-label={label} {...attrs}>
25
25
  {#if label}
26
- <div class="lm-option-group__title">{label}</div>
26
+ <div class="ln-option-group__title">{label}</div>
27
27
  {/if}
28
- <ul class="lm-option-group__list" role="listbox">
28
+ <ul class="ln-option-group__list" role="listbox">
29
29
  {#if children}
30
30
  {@render children()}
31
31
  {/if}
@@ -27,7 +27,7 @@
27
27
  let searchQuery = $state("");
28
28
  let rootEl: HTMLDivElement | null = $state(null);
29
29
  let inputEl: HTMLInputElement | null = $state(null);
30
- const dropdownId = `lm-select-dropdown-${Math.random().toString(36).slice(2, 9)}`;
30
+ const dropdownId = `ln-select-dropdown-${Math.random().toString(36).slice(2, 9)}`;
31
31
 
32
32
  const selectedValues = $derived.by((): (string | number)[] => {
33
33
  if (multiple) return Array.isArray(modelValue) ? modelValue : [];
@@ -150,13 +150,13 @@
150
150
  });
151
151
 
152
152
  const classes = $derived(
153
- `lm-select lm-select--${size}${visible ? " is-focus" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
153
+ `ln-select ln-select--${size}${visible ? " is-focus" : ""}${disabled ? " is-disabled" : ""}${cls ? ` ${cls}` : ""}`,
154
154
  );
155
155
  </script>
156
156
 
157
157
  <div class={classes} bind:this={rootEl} {...attrs}>
158
158
  <div
159
- class="lm-select__trigger"
159
+ class="ln-select__trigger"
160
160
  role="combobox"
161
161
  tabindex={disabled ? -1 : 0}
162
162
  aria-controls={dropdownId}
@@ -169,7 +169,7 @@
169
169
  {#if filterable && visible}
170
170
  <input
171
171
  bind:this={inputEl}
172
- class="lm-select__input"
172
+ class="ln-select__input"
173
173
  type="text"
174
174
  bind:value={searchQuery}
175
175
  {placeholder}
@@ -177,16 +177,16 @@
177
177
  onkeydown={(e: KeyboardEvent) => e.key === "Escape" && close()}
178
178
  />
179
179
  {:else}
180
- <span class="lm-select__value" class:is-placeholder={!hasValue}>
180
+ <span class="ln-select__value" class:is-placeholder={!hasValue}>
181
181
  {hasValue ? displayLabel : placeholder}
182
182
  </span>
183
183
  {/if}
184
184
 
185
- <span class="lm-select__suffix">
185
+ <span class="ln-select__suffix">
186
186
  {#if clearable && hasValue && !disabled}
187
187
  <button
188
188
  type="button"
189
- class="lm-select__clear"
189
+ class="ln-select__clear"
190
190
  onclick={handleClear}
191
191
  aria-label="清空"
192
192
  >
@@ -196,7 +196,7 @@
196
196
  <Icon
197
197
  icon={ChevronDown}
198
198
  size={14}
199
- class="lm-select__arrow{visible ? ' is-reverse' : ''}"
199
+ class="ln-select__arrow{visible ? ' is-reverse' : ''}"
200
200
  />
201
201
  {/if}
202
202
  </span>
@@ -205,21 +205,21 @@
205
205
  {#if visible}
206
206
  <div
207
207
  id={dropdownId}
208
- class="lm-select__dropdown"
208
+ class="ln-select__dropdown"
209
209
  role="listbox"
210
210
  transition:dropdownTransition
211
211
  >
212
212
  {#if showMenuArrow}
213
- <div class="lm-select__menu-arrow" aria-hidden="true"></div>
213
+ <div class="ln-select__menu-arrow" aria-hidden="true"></div>
214
214
  {/if}
215
- <div class="lm-select__menu-content">
215
+ <div class="ln-select__menu-content">
216
216
  {#if children}
217
217
  {@render children()}
218
218
  {:else if filteredOptions.length > 0}
219
219
  {#each filteredOptions as option (option.value)}
220
220
  <button
221
221
  type="button"
222
- class="lm-select__option{isSelected(option.value)
222
+ class="ln-select__option{isSelected(option.value)
223
223
  ? ' is-selected'
224
224
  : ''}"
225
225
  role="option"
@@ -237,7 +237,7 @@
237
237
  </button>
238
238
  {/each}
239
239
  {:else}
240
- <div class="lm-select__empty">无匹配数据</div>
240
+ <div class="ln-select__empty">无匹配数据</div>
241
241
  {/if}
242
242
  </div>
243
243
  </div>
@@ -25,7 +25,7 @@
25
25
  shouldShow = loading
26
26
  })
27
27
 
28
- const classes = $derived(`lm-skeleton${animated ? ' is-animated' : ''}${cls ? ` ${cls}` : ''}`)
28
+ const classes = $derived(`ln-skeleton${animated ? ' is-animated' : ''}${cls ? ` ${cls}` : ''}`)
29
29
  const rowIndices = $derived(Array.from({ length: rows }, (_, i) => i))
30
30
  </script>
31
31
 
@@ -35,7 +35,7 @@
35
35
  {@render template()}
36
36
  {:else}
37
37
  {#each rowIndices as i (i)}
38
- <div class="lm-skeleton__item lm-skeleton__p" class:is-first={i === 0} class:is-last={i === rows - 1}></div>
38
+ <div class="ln-skeleton__item ln-skeleton__p" class:is-first={i === 0} class:is-last={i === rows - 1}></div>
39
39
  {/each}
40
40
  {/if}
41
41
  </div>
@@ -8,7 +8,7 @@
8
8
 
9
9
  let { variant = 'text', class: cls = '', ...attrs }: SkeletonItemProps = $props()
10
10
 
11
- const classes = $derived(`lm-skeleton__item lm-skeleton__${variant}${cls ? ` ${cls}` : ''}`)
11
+ const classes = $derived(`ln-skeleton__item ln-skeleton__${variant}${cls ? ` ${cls}` : ''}`)
12
12
  </script>
13
13
 
14
14
  <div class={classes} {...attrs}></div>