@santi020k/lumen-astro 0.1.0 → 0.2.0

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 (124) hide show
  1. package/README.md +5 -0
  2. package/components/Accordion.astro +8 -2
  3. package/components/Affix.astro +1 -1
  4. package/components/Agenda.astro +1 -1
  5. package/components/Alert.astro +1 -1
  6. package/components/AlertDialog.astro +1 -1
  7. package/components/Anchor.astro +1 -1
  8. package/components/AnimatedLogo.astro +1 -1
  9. package/components/AnimatedNumber.astro +1 -1
  10. package/components/AnimatedPortrait.astro +1 -1
  11. package/components/AspectRatio.astro +1 -1
  12. package/components/Attachment.astro +1 -1
  13. package/components/Autocomplete.astro +1 -1
  14. package/components/Avatar.astro +1 -1
  15. package/components/BackToTop.astro +1 -1
  16. package/components/Badge.astro +1 -1
  17. package/components/Breadcrumb.astro +1 -1
  18. package/components/Bubble.astro +1 -1
  19. package/components/Button.astro +1 -1
  20. package/components/ButtonGroup.astro +1 -1
  21. package/components/ButtonLink.astro +5 -4
  22. package/components/Calendar.astro +1 -1
  23. package/components/Callout.astro +1 -1
  24. package/components/Card.astro +3 -2
  25. package/components/Carousel.astro +1 -1
  26. package/components/Cascader.astro +1 -1
  27. package/components/Chart.astro +1 -1
  28. package/components/Checkbox.astro +1 -1
  29. package/components/Code.astro +5 -2
  30. package/components/Collapsible.astro +1 -1
  31. package/components/ColorPicker.astro +1 -1
  32. package/components/Combobox.astro +1 -1
  33. package/components/Command.astro +1 -1
  34. package/components/ContextMenu.astro +1 -1
  35. package/components/CoverImage.astro +1 -1
  36. package/components/DataTable.astro +1 -1
  37. package/components/DatePicker.astro +1 -1
  38. package/components/DateRangePicker.astro +1 -1
  39. package/components/Descriptions.astro +1 -1
  40. package/components/Dialog.astro +1 -1
  41. package/components/Direction.astro +1 -1
  42. package/components/Drawer.astro +1 -1
  43. package/components/DropdownMenu.astro +1 -1
  44. package/components/Empty.astro +1 -1
  45. package/components/Eyebrow.astro +1 -1
  46. package/components/Field.astro +1 -1
  47. package/components/FileUpload.astro +1 -1
  48. package/components/FloatingBadge.astro +1 -1
  49. package/components/FormattedDate.astro +1 -1
  50. package/components/GradientDivider.astro +1 -1
  51. package/components/HoverCard.astro +1 -1
  52. package/components/Icon.astro +5 -1
  53. package/components/Image.astro +1 -1
  54. package/components/Input.astro +1 -1
  55. package/components/InputGroup.astro +1 -1
  56. package/components/InputOTP.astro +1 -1
  57. package/components/Item.astro +1 -1
  58. package/components/Kbd.astro +1 -1
  59. package/components/Label.astro +1 -1
  60. package/components/LanguageToggle.astro +1 -1
  61. package/components/Link.astro +16 -2
  62. package/components/Marker.astro +1 -1
  63. package/components/Mentions.astro +1 -1
  64. package/components/Menubar.astro +1 -1
  65. package/components/Message.astro +1 -1
  66. package/components/MessageScroller.astro +1 -1
  67. package/components/NativeSelect.astro +1 -1
  68. package/components/NavigationMenu.astro +5 -1
  69. package/components/NumberField.astro +1 -1
  70. package/components/Pagination.astro +1 -1
  71. package/components/Particles.astro +1 -1
  72. package/components/PhoneInput.astro +1 -1
  73. package/components/Pill.astro +13 -8
  74. package/components/Popconfirm.astro +1 -1
  75. package/components/Popover.astro +1 -1
  76. package/components/Progress.astro +1 -1
  77. package/components/Prose.astro +1 -1
  78. package/components/QRCode.astro +1 -1
  79. package/components/RadioGroup.astro +1 -1
  80. package/components/Resizable.astro +1 -1
  81. package/components/RevealGroup.astro +1 -1
  82. package/components/RichTextEditor.astro +1 -1
  83. package/components/Schedule.astro +1 -1
  84. package/components/ScrollArea.astro +1 -1
  85. package/components/ScrollReveal.astro +1 -1
  86. package/components/SearchField.astro +1 -1
  87. package/components/Segmented.astro +1 -1
  88. package/components/Select.astro +1 -1
  89. package/components/Separator.astro +1 -1
  90. package/components/Sheet.astro +1 -1
  91. package/components/Sidebar.astro +5 -1
  92. package/components/Skeleton.astro +1 -1
  93. package/components/SkipLink.astro +1 -1
  94. package/components/Slider.astro +1 -1
  95. package/components/Sonner.astro +1 -1
  96. package/components/SpeedDial.astro +1 -1
  97. package/components/Spinner.astro +1 -1
  98. package/components/Stat.astro +1 -1
  99. package/components/Stepper.astro +1 -1
  100. package/components/Switch.astro +1 -1
  101. package/components/Table.astro +1 -1
  102. package/components/Tabs.astro +7 -1
  103. package/components/TagGroup.astro +1 -1
  104. package/components/Textarea.astro +1 -1
  105. package/components/ThemeBuilder.astro +1 -1
  106. package/components/ThemeToggle.astro +13 -1
  107. package/components/TimeField.astro +1 -1
  108. package/components/Toast.astro +1 -1
  109. package/components/Toggle.astro +12 -4
  110. package/components/ToggleGroup.astro +1 -1
  111. package/components/Toolbar.astro +1 -1
  112. package/components/Tooltip.astro +1 -1
  113. package/components/Tour.astro +1 -1
  114. package/components/Transfer.astro +1 -1
  115. package/components/Tree.astro +1 -1
  116. package/components/TreeGrid.astro +1 -1
  117. package/components/TreeSelect.astro +1 -1
  118. package/components/Typography.astro +1 -1
  119. package/components/VirtualList.astro +1 -1
  120. package/components/Watermark.astro +1 -1
  121. package/package.json +5 -4
  122. package/runtime/UIPrimitives.astro +255 -146
  123. package/runtime/controllers/motion.ts +145 -0
  124. package/styles/layers.css +1 -0
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends Omit<HTMLAttributes<'input'>, 'size'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  size?: 'default' | 'lg' | 'sm'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends Omit<HTMLAttributes<'input'>, 'size'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  length?: number
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'kbd'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'label'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'button'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,23 +4,37 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'a'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
+ newTab?: boolean
10
+ variant?: 'default' | 'inherit'
9
11
  }
10
12
 
11
13
  const {
12
14
  class: classProp = '',
13
15
  className = '',
16
+ newTab = false,
17
+ rel,
18
+ target,
19
+ variant = 'default',
14
20
  ...rest
15
21
  } = Astro.props
16
22
 
17
23
  const { classList, passthrough } = resolveLumenAstroProps(rest, [
18
- 'ui-link'
24
+ 'ui-link',
25
+ variant === 'inherit' && 'ui-link--inherit'
19
26
  ], classProp, className)
27
+
28
+ const safeRel = newTab
29
+ ? [...new Set(`${rel ?? ''} noopener noreferrer`.trim().split(/\s+/))].join(' ')
30
+ : rel
20
31
  ---
21
32
 
22
33
  <a
23
34
  class:list={classList}
35
+ data-variant={variant}
36
+ rel={safeRel}
37
+ target={newTab ? '_blank' : target}
24
38
  {...passthrough}
25
39
  >
26
40
  <slot />
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'span'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  variant?: 'default' | 'success' | 'warning' | 'danger'
10
10
  }
@@ -6,7 +6,7 @@ import type { HTMLAttributes } from 'astro/types'
6
6
  type MentionOption = string | { label: string; value: string }
7
7
 
8
8
  interface Props extends HTMLAttributes<'div'> {
9
- class?: string
9
+ class?: string | null
10
10
  className?: string
11
11
  name?: string
12
12
  options?: MentionOption[]
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps, resolveLumenGlass } from '@santi020k/lumen-core
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'nav'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  /**
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'article'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  from?: 'user' | 'assistant'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -12,7 +12,7 @@ interface Option {
12
12
  type SelectOption = Option | string
13
13
 
14
14
  interface Props extends Omit<HTMLAttributes<'select'>, 'size'> {
15
- class?: string
15
+ class?: string | null
16
16
  className?: string
17
17
  size?: 'default' | 'lg' | 'sm'
18
18
  options?: SelectOption[]
@@ -4,9 +4,10 @@ import { resolveLumenAstroProps, resolveLumenGlass } from '@santi020k/lumen-core
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'nav'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
+ variant?: 'default' | 'unstyled'
10
11
  /**
11
12
  * @deprecated Use `glass` instead. `surface="glass"` maps to `glass={true}`.
12
13
  */
@@ -18,12 +19,14 @@ const {
18
19
  className = '',
19
20
  glass = false,
20
21
  surface = 'default',
22
+ variant = 'default',
21
23
  ...rest
22
24
  } = Astro.props
23
25
 
24
26
  const resolvedGlass = resolveLumenGlass(glass, surface)
25
27
  const { classList, passthrough } = resolveLumenAstroProps(rest, [
26
28
  'ui-navigation-menu',
29
+ variant === 'unstyled' && 'ui-navigation-menu--unstyled',
27
30
  resolvedGlass && 'ui-navigation-menu--glass',
28
31
  glass === 'subtle' && 'ui-glass-subtle',
29
32
  glass === 'strong' && 'ui-glass-strong'
@@ -33,6 +36,7 @@ const { classList, passthrough } = resolveLumenAstroProps(rest, [
33
36
  <nav
34
37
  data-surface={resolvedGlass ? 'glass' : 'default'}
35
38
  data-ui-navigation-menu
39
+ data-variant={variant}
36
40
  class:list={classList}
37
41
  {...passthrough}
38
42
  >
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'input'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'nav'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  density?: 'low' | 'medium' | 'high'
10
10
  }
@@ -12,7 +12,7 @@ interface CountryOption {
12
12
  type Country = CountryOption | string
13
13
 
14
14
  interface Props extends Omit<HTMLAttributes<'div'>, 'size'> {
15
- class?: string
15
+ class?: string | null
16
16
  className?: string
17
17
  countries?: Country[]
18
18
  countryLabel?: string
@@ -4,15 +4,17 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'span'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  count?: number | string
10
+ href?: string
10
11
  }
11
12
 
12
13
  const {
13
14
  class: classProp = '',
14
15
  className = '',
15
16
  count,
17
+ href,
16
18
  ...rest
17
19
  } = Astro.props
18
20
 
@@ -21,10 +23,13 @@ const { classList, passthrough } = resolveLumenAstroProps(rest, [
21
23
  ], classProp, className)
22
24
  ---
23
25
 
24
- <span
25
- class:list={classList}
26
- {...passthrough}
27
- >
28
- <slot />
29
- {count != null && <span class="ui-pill__count">{count}</span>}
30
- </span>
26
+ {href
27
+ ? <a class:list={classList} href={href} {...passthrough}>
28
+ <slot />
29
+ {count != null && <span class="ui-pill__count">{count}</span>}
30
+ </a>
31
+ : <span class:list={classList} {...passthrough}>
32
+ <slot />
33
+ {count != null && <span class="ui-pill__count">{count}</span>}
34
+ </span>
35
+ }
@@ -5,7 +5,7 @@ import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
7
  cancelLabel?: string
8
- class?: string
8
+ class?: string | null
9
9
  className?: string
10
10
  confirmLabel?: string
11
11
  title?: string
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps, resolveLumenGlass } from '@santi020k/lumen-core
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  /**
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  max?: number
10
10
  value?: number
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -5,7 +5,7 @@ import { renderSVG } from 'uqr'
5
5
  import type { HTMLAttributes } from 'astro/types'
6
6
 
7
7
  interface Props extends HTMLAttributes<'figure'> {
8
- class?: string
8
+ class?: string | null
9
9
  className?: string
10
10
  size?: number
11
11
  src?: string
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'fieldset'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  defaultSizes?: number[]
10
10
  direction?: 'horizontal' | 'vertical'
@@ -5,7 +5,7 @@ import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
7
  animation?: 'fade' | 'slide-up' | 'scale'
8
- class?: string
8
+ class?: string | null
9
9
  className?: string
10
10
  delay?: number
11
11
  duration?: 'fast' | 'standard' | 'slow'
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'section'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'section'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -5,7 +5,7 @@ import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
7
  animation?: 'fade' | 'slide-up' | 'scale'
8
- class?: string
8
+ class?: string | null
9
9
  className?: string
10
10
  delay?: number
11
11
  duration?: 'fast' | 'standard' | 'slow'
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'input'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -6,7 +6,7 @@ import type { HTMLAttributes } from 'astro/types'
6
6
  type SegmentedOption = string | { disabled?: boolean; label: string; value: string }
7
7
 
8
8
  interface Props extends HTMLAttributes<'div'> {
9
- class?: string
9
+ class?: string | null
10
10
  className?: string
11
11
  defaultValue?: string
12
12
  name?: string
@@ -12,7 +12,7 @@ interface Option {
12
12
  type SelectOption = Option | string
13
13
 
14
14
  interface Props extends Omit<HTMLAttributes<'select'>, 'size'> {
15
- class?: string
15
+ class?: string | null
16
16
  className?: string
17
17
  glass?: boolean | 'subtle' | 'strong'
18
18
  options?: SelectOption[]
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'hr'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  orientation?: 'horizontal' | 'vertical'
10
10
  }
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps, resolveLumenGlass } from '@santi020k/lumen-core
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'dialog'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  /**
@@ -4,9 +4,10 @@ import { resolveLumenAstroProps, resolveLumenGlass } from '@santi020k/lumen-core
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'aside'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
+ variant?: 'default' | 'unstyled'
10
11
  /**
11
12
  * @deprecated Use `glass` instead. `surface="glass"` maps to `glass={true}`.
12
13
  */
@@ -18,12 +19,14 @@ const {
18
19
  className = '',
19
20
  glass = false,
20
21
  surface = 'default',
22
+ variant = 'default',
21
23
  ...rest
22
24
  } = Astro.props
23
25
 
24
26
  const resolvedGlass = resolveLumenGlass(glass, surface)
25
27
  const { classList, passthrough } = resolveLumenAstroProps(rest, [
26
28
  'ui-sidebar',
29
+ variant === 'unstyled' && 'ui-sidebar--unstyled',
27
30
  resolvedGlass && 'ui-sidebar--glass',
28
31
  glass === 'subtle' && 'ui-glass-subtle',
29
32
  glass === 'strong' && 'ui-glass-strong'
@@ -32,6 +35,7 @@ const { classList, passthrough } = resolveLumenAstroProps(rest, [
32
35
 
33
36
  <aside
34
37
  data-surface={resolvedGlass ? 'glass' : 'default'}
38
+ data-variant={variant}
35
39
  class:list={classList}
36
40
  {...passthrough}
37
41
  >
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'a'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'input'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  maxCount?: number
10
10
  placement?: 'bottom-center' | 'bottom-left' | 'bottom-right' | 'top-center' | 'top-left' | 'top-right'
@@ -10,7 +10,7 @@ type SpeedDialAction = { icon?: string; label: string; value?: string }
10
10
 
11
11
  interface Props extends HTMLAttributes<'div'> {
12
12
  actions?: SpeedDialAction[]
13
- class?: string
13
+ class?: string | null
14
14
  className?: string
15
15
  defaultOpen?: boolean
16
16
  direction?: 'up' | 'down' | 'left' | 'right'
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'span'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  label?: string
10
10
  value?: string
@@ -6,7 +6,7 @@ import type { HTMLAttributes } from 'astro/types'
6
6
  type StepItem = string | { description?: string; title: string }
7
7
 
8
8
  interface Props extends HTMLAttributes<'ol'> {
9
- class?: string
9
+ class?: string | null
10
10
  className?: string
11
11
  currentStep?: number
12
12
  orientation?: 'horizontal' | 'vertical'
@@ -6,7 +6,7 @@ import type { HTMLAttributes } from 'astro/types'
6
6
  type HTMLInputAttributes = HTMLAttributes<'input'>
7
7
 
8
8
  interface Props extends Omit<HTMLInputAttributes, 'type'> {
9
- class?: string
9
+ class?: string | null
10
10
  className?: string
11
11
  }
12
12
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -4,15 +4,19 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
+ initialValue?: string
11
+ storageKey?: string
10
12
  }
11
13
 
12
14
  const {
13
15
  class: classProp = '',
14
16
  className = '',
15
17
  glass = false,
18
+ initialValue,
19
+ storageKey,
16
20
  ...rest
17
21
  } = Astro.props
18
22
 
@@ -25,6 +29,8 @@ const { classList, passthrough } = resolveLumenAstroProps(rest, [
25
29
  ---
26
30
 
27
31
  <div
32
+ data-initial-value={initialValue}
33
+ data-storage-key={storageKey}
28
34
  data-ui-tabs
29
35
  class:list={classList}
30
36
  {...passthrough}
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ import { resolveLumenAstroProps } from '@santi020k/lumen-core'
4
4
  import type { HTMLAttributes } from 'astro/types'
5
5
 
6
6
  interface Props extends HTMLAttributes<'textarea'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
10
10