@santi020k/lumen-astro 0.1.0 → 0.3.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 (127) hide show
  1. package/README.md +28 -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/CodeTabs.astro +92 -0
  31. package/components/Collapsible.astro +1 -1
  32. package/components/ColorPicker.astro +1 -1
  33. package/components/Combobox.astro +1 -1
  34. package/components/Command.astro +1 -1
  35. package/components/ContextMenu.astro +1 -1
  36. package/components/CoverImage.astro +1 -1
  37. package/components/DataTable.astro +1 -1
  38. package/components/DatePicker.astro +1 -1
  39. package/components/DateRangePicker.astro +1 -1
  40. package/components/Descriptions.astro +1 -1
  41. package/components/Dialog.astro +5 -1
  42. package/components/Direction.astro +1 -1
  43. package/components/Drawer.astro +1 -1
  44. package/components/DropdownMenu.astro +1 -1
  45. package/components/Empty.astro +1 -1
  46. package/components/Eyebrow.astro +1 -1
  47. package/components/Field.astro +1 -1
  48. package/components/FileUpload.astro +1 -1
  49. package/components/FloatingBadge.astro +1 -1
  50. package/components/FormattedDate.astro +1 -1
  51. package/components/GradientDivider.astro +1 -1
  52. package/components/HoverCard.astro +1 -1
  53. package/components/Icon.astro +5 -1
  54. package/components/Image.astro +1 -1
  55. package/components/Input.astro +1 -1
  56. package/components/InputGroup.astro +1 -1
  57. package/components/InputOTP.astro +1 -1
  58. package/components/Item.astro +1 -1
  59. package/components/Kbd.astro +1 -1
  60. package/components/Label.astro +1 -1
  61. package/components/LanguageToggle.astro +1 -1
  62. package/components/Link.astro +16 -2
  63. package/components/Marker.astro +1 -1
  64. package/components/Mentions.astro +1 -1
  65. package/components/Menubar.astro +1 -1
  66. package/components/Message.astro +1 -1
  67. package/components/MessageScroller.astro +1 -1
  68. package/components/NativeSelect.astro +1 -1
  69. package/components/NavigationMenu.astro +5 -1
  70. package/components/NumberField.astro +1 -1
  71. package/components/Pagination.astro +1 -1
  72. package/components/Particles.astro +1 -1
  73. package/components/PhoneInput.astro +1 -1
  74. package/components/Pill.astro +13 -8
  75. package/components/Popconfirm.astro +1 -1
  76. package/components/Popover.astro +1 -1
  77. package/components/Progress.astro +1 -1
  78. package/components/Prose.astro +1 -1
  79. package/components/QRCode.astro +1 -1
  80. package/components/RadioGroup.astro +1 -1
  81. package/components/Resizable.astro +1 -1
  82. package/components/RevealGroup.astro +1 -1
  83. package/components/RichTextEditor.astro +1 -1
  84. package/components/Schedule.astro +1 -1
  85. package/components/ScrollArea.astro +1 -1
  86. package/components/ScrollReveal.astro +1 -1
  87. package/components/SearchField.astro +1 -1
  88. package/components/Segmented.astro +1 -1
  89. package/components/Select.astro +1 -1
  90. package/components/Separator.astro +1 -1
  91. package/components/Sheet.astro +1 -1
  92. package/components/Sidebar.astro +5 -1
  93. package/components/Skeleton.astro +1 -1
  94. package/components/SkipLink.astro +1 -1
  95. package/components/Slider.astro +1 -1
  96. package/components/Sonner.astro +1 -1
  97. package/components/SpeedDial.astro +1 -1
  98. package/components/Spinner.astro +1 -1
  99. package/components/Stat.astro +1 -1
  100. package/components/Stepper.astro +1 -1
  101. package/components/Switch.astro +1 -1
  102. package/components/Table.astro +1 -1
  103. package/components/Tabs.astro +7 -1
  104. package/components/TagGroup.astro +1 -1
  105. package/components/Textarea.astro +1 -1
  106. package/components/ThemeBuilder.astro +1 -1
  107. package/components/ThemeToggle.astro +13 -1
  108. package/components/TimeField.astro +1 -1
  109. package/components/Toast.astro +1 -1
  110. package/components/Toggle.astro +12 -4
  111. package/components/ToggleGroup.astro +1 -1
  112. package/components/Toolbar.astro +1 -1
  113. package/components/Tooltip.astro +1 -1
  114. package/components/Tour.astro +1 -1
  115. package/components/Transfer.astro +1 -1
  116. package/components/Tree.astro +1 -1
  117. package/components/TreeGrid.astro +1 -1
  118. package/components/TreeSelect.astro +1 -1
  119. package/components/Typography.astro +1 -1
  120. package/components/VirtualList.astro +1 -1
  121. package/components/Watermark.astro +1 -1
  122. package/index.d.ts +1 -0
  123. package/index.ts +1 -0
  124. package/package.json +5 -4
  125. package/runtime/UIPrimitives.astro +255 -146
  126. package/runtime/controllers/motion.ts +145 -0
  127. 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 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
 
@@ -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
  }
@@ -5,13 +5,21 @@ import Icon from './Icon.astro'
5
5
  import type { HTMLAttributes } from 'astro/types'
6
6
 
7
7
  interface Props extends HTMLAttributes<'button'> {
8
- class?: string
8
+ class?: string | null
9
9
  className?: string
10
+ controlled?: boolean
11
+ darkTheme?: string
12
+ lightTheme?: string
13
+ storageKey?: string
10
14
  }
11
15
 
12
16
  const {
13
17
  class: classProp = '',
14
18
  className = '',
19
+ controlled = false,
20
+ darkTheme = 'dark',
21
+ lightTheme = 'light',
22
+ storageKey = 'lumen-theme',
15
23
  type = 'button',
16
24
  ...rest
17
25
  } = Astro.props
@@ -24,6 +32,10 @@ const { classList, passthrough } = resolveLumenAstroProps(rest, [
24
32
  <button
25
33
  type={type}
26
34
  class:list={classList}
35
+ data-dark-theme={darkTheme}
36
+ data-light-theme={lightTheme}
37
+ data-storage-key={storageKey}
38
+ data-ui-controlled={controlled || undefined}
27
39
  data-ui-theme-toggle
28
40
  {...passthrough}
29
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<'input'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  }
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<'aside'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  glass?: boolean | 'subtle' | 'strong'
10
10
  /**
@@ -4,19 +4,27 @@ 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
+ controlled?: boolean
9
10
  pressed?: boolean
10
11
  }
11
12
 
12
- const { class: classProp = '', className = '', pressed = false, type = 'button', ...rest } = Astro.props
13
- const { classList, passthrough } = resolveLumenAstroProps(rest, ['ui-toggle', pressed && 'ui-toggle--pressed'
14
- ], classProp, className)
13
+ const {
14
+ class: classProp = '',
15
+ className = '',
16
+ controlled = false,
17
+ pressed = false,
18
+ type = 'button',
19
+ ...rest
20
+ } = Astro.props
21
+ const { classList, passthrough } = resolveLumenAstroProps(rest, ['ui-toggle'], classProp, className)
15
22
  ---
16
23
 
17
24
  <button
18
25
  aria-pressed={pressed}
19
26
  class:list={classList}
27
+ data-ui-controlled={controlled || undefined}
20
28
  data-ui-toggle
21
29
  type={type}
22
30
  {...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<'div'> {
7
- class?: string
7
+ class?: string | null
8
8
  className?: string
9
9
  orientation?: 'horizontal' | 'vertical'
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<'span'> {
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 TourStep = { content: string; target: string; title?: string }
7
7
 
8
8
  interface Props extends HTMLAttributes<'div'> {
9
- class?: string
9
+ class?: string | null
10
10
  className?: string
11
11
  closeLabel?: string
12
12
  nextLabel?: string
@@ -7,7 +7,7 @@ import type { HTMLAttributes } from 'astro/types'
7
7
  type TransferItem = { key: string; label: string }
8
8
 
9
9
  interface Props extends HTMLAttributes<'div'> {
10
- class?: string
10
+ class?: string | null
11
11
  className?: string
12
12
  items?: TransferItem[]
13
13
  name?: 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<'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
  glass?: boolean | 'subtle' | 'strong'
10
10
  }
@@ -10,7 +10,7 @@ interface TreeNode {
10
10
  }
11
11
 
12
12
  interface Props extends HTMLAttributes<'div'> {
13
- class?: string
13
+ class?: string | null
14
14
  className?: string
15
15
  name?: string
16
16
  placeholder?: 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<'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<'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
  content?: string
10
10
  gap?: number
package/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export { default as Cascader } from './components/Cascader.astro'
26
26
  export { default as Chart } from './components/Chart.astro'
27
27
  export { default as Checkbox } from './components/Checkbox.astro'
28
28
  export { default as Code } from './components/Code.astro'
29
+ export { default as CodeTabs } from './components/CodeTabs.astro'
29
30
  export { default as Collapsible } from './components/Collapsible.astro'
30
31
  export { default as ColorPicker } from './components/ColorPicker.astro'
31
32
  export { default as Combobox } from './components/Combobox.astro'
package/index.ts CHANGED
@@ -26,6 +26,7 @@ export { default as Cascader } from './components/Cascader.astro'
26
26
  export { default as Chart } from './components/Chart.astro'
27
27
  export { default as Checkbox } from './components/Checkbox.astro'
28
28
  export { default as Code } from './components/Code.astro'
29
+ export { default as CodeTabs } from './components/CodeTabs.astro'
29
30
  export { default as Collapsible } from './components/Collapsible.astro'
30
31
  export { default as ColorPicker } from './components/ColorPicker.astro'
31
32
  export { default as Combobox } from './components/Combobox.astro'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@santi020k/lumen-astro",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "./components/*": "./components/*.astro",
20
20
  "./runtime": "./runtime/UIPrimitives.astro",
21
+ "./layers.css": "./styles/layers.css",
21
22
  "./styles.css": "./styles/lumen.css",
22
23
  "./package.json": "./package.json"
23
24
  },
@@ -32,8 +33,8 @@
32
33
  ],
33
34
  "dependencies": {
34
35
  "uqr": "^0.1.3",
35
- "@santi020k/lumen": "^0.1.0",
36
- "@santi020k/lumen-core": "^0.1.0"
36
+ "@santi020k/lumen": "^0.3.0",
37
+ "@santi020k/lumen-core": "^0.3.0"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@astrojs/ts-plugin": "^1.10.10",
@@ -45,7 +46,7 @@
45
46
  "astro": ">=5"
46
47
  },
47
48
  "engines": {
48
- "node": ">=22.18.0"
49
+ "node": ">=22.12.0"
49
50
  },
50
51
  "repository": {
51
52
  "type": "git",