svelora 3.0.1 → 3.0.2

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 (107) hide show
  1. package/dist/Accordion/Accordion.svelte +66 -97
  2. package/dist/Alert/Alert.svelte +39 -64
  3. package/dist/Alert/Alert.svelte.d.ts +1 -1
  4. package/dist/Avatar/Avatar.svelte +35 -75
  5. package/dist/AvatarGroup/AvatarGroup.svelte +38 -55
  6. package/dist/Badge/Badge.svelte +28 -50
  7. package/dist/Banner/Banner.svelte +46 -41
  8. package/dist/Banner/Banner.svelte.d.ts +1 -1
  9. package/dist/Breadcrumb/Breadcrumb.svelte +32 -26
  10. package/dist/Button/Button.svelte +70 -138
  11. package/dist/Calendar/Calendar.svelte +94 -157
  12. package/dist/Calendar/Calendar.svelte.d.ts +1 -1
  13. package/dist/Card/Card.svelte +18 -31
  14. package/dist/Carousel/Carousel.svelte +118 -173
  15. package/dist/Checkbox/Checkbox.svelte +52 -97
  16. package/dist/CheckboxGroup/CheckboxGroup.svelte +62 -107
  17. package/dist/CheckboxGroup/CheckboxGroup.svelte.d.ts +1 -1
  18. package/dist/Chip/Chip.svelte +22 -34
  19. package/dist/CodeBlock/CodeBlock.svelte +42 -59
  20. package/dist/Collapsible/Collapsible.svelte +22 -38
  21. package/dist/Collapsible/Collapsible.svelte.d.ts +1 -1
  22. package/dist/Collapsible/CollapsibleTestWrapper.svelte +2 -5
  23. package/dist/Collapsible/CollapsibleTestWrapper.svelte.d.ts +1 -1
  24. package/dist/Command/Command.svelte +40 -77
  25. package/dist/Command/Command.svelte.d.ts +1 -1
  26. package/dist/Command/CommandTestWrapper.svelte +2 -10
  27. package/dist/Command/CommandTestWrapper.svelte.d.ts +1 -1
  28. package/dist/Container/Container.svelte +11 -14
  29. package/dist/ContextMenu/ContextMenu.svelte +51 -114
  30. package/dist/ContextMenu/ContextMenu.svelte.d.ts +1 -1
  31. package/dist/Drawer/Drawer.svelte +72 -110
  32. package/dist/Drawer/DrawerTriggerTestWrapper.svelte +1 -2
  33. package/dist/DropdownMenu/DropdownMenu.svelte +63 -124
  34. package/dist/DropdownMenu/DropdownMenu.svelte.d.ts +1 -1
  35. package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte +2 -5
  36. package/dist/Editor/Editor.svelte +441 -576
  37. package/dist/Editor/Editor.svelte.d.ts +1 -1
  38. package/dist/Editor/EditorUrlPrompt.svelte +40 -53
  39. package/dist/Editor/SlashPopup.svelte +12 -24
  40. package/dist/Empty/Empty.svelte +32 -63
  41. package/dist/FieldGroup/FieldGroup.svelte +23 -38
  42. package/dist/FileUpload/FileUpload.svelte +242 -320
  43. package/dist/FileUpload/FileUpload.svelte.d.ts +1 -1
  44. package/dist/Fonts/Fonts.svelte +15 -37
  45. package/dist/Form/Form.svelte +112 -170
  46. package/dist/FormField/FormField.svelte +102 -135
  47. package/dist/Icon/Icon.svelte +7 -32
  48. package/dist/Input/Input.svelte +71 -141
  49. package/dist/Input/Input.svelte.d.ts +2 -2
  50. package/dist/Kbd/Kbd.svelte +18 -34
  51. package/dist/Link/Link.svelte +129 -196
  52. package/dist/LocaleButton/LocaleButton.svelte +165 -0
  53. package/dist/LocaleButton/LocaleButton.svelte.d.ts +5 -0
  54. package/dist/LocaleButton/index.d.ts +2 -0
  55. package/dist/LocaleButton/index.js +1 -0
  56. package/dist/LocaleButton/locale-button.types.d.ts +182 -0
  57. package/dist/LocaleButton/locale-button.types.js +1 -0
  58. package/dist/LocaleButton/locale-button.variants.d.ts +61 -0
  59. package/dist/LocaleButton/locale-button.variants.js +34 -0
  60. package/dist/Modal/Modal.svelte +52 -106
  61. package/dist/Modal/ModalTriggerTestWrapper.svelte +1 -2
  62. package/dist/Pagination/Pagination.svelte +48 -92
  63. package/dist/Pagination/pagination.variants.d.ts +1 -1
  64. package/dist/PinInput/PinInput.svelte +57 -111
  65. package/dist/PinInput/PinInput.svelte.d.ts +1 -1
  66. package/dist/Popover/Popover.svelte +28 -61
  67. package/dist/Popover/Popover.svelte.d.ts +1 -1
  68. package/dist/Progress/Progress.svelte +75 -94
  69. package/dist/RadioGroup/RadioGroup.svelte +54 -99
  70. package/dist/RadioGroup/RadioGroup.svelte.d.ts +1 -1
  71. package/dist/Select/Select.svelte +112 -269
  72. package/dist/Select/Select.svelte.d.ts +1 -1
  73. package/dist/SelectMenu/SelectMenu.svelte +211 -409
  74. package/dist/SelectMenu/SelectMenu.svelte.d.ts +1 -1
  75. package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte +3 -6
  76. package/dist/Separator/Separator.svelte +29 -44
  77. package/dist/Skeleton/Skeleton.svelte +11 -23
  78. package/dist/Slideover/Slideover.svelte +52 -106
  79. package/dist/Slideover/SlideoverTriggerTestWrapper.svelte +1 -2
  80. package/dist/Slider/Slider.svelte +48 -84
  81. package/dist/Slider/Slider.svelte.d.ts +1 -1
  82. package/dist/Stepper/Stepper.svelte +139 -132
  83. package/dist/Stepper/Stepper.svelte.d.ts +1 -1
  84. package/dist/Switch/Switch.svelte +62 -98
  85. package/dist/Table/Table.svelte +232 -283
  86. package/dist/Table/table.variants.d.ts +1 -1
  87. package/dist/Tabs/Tabs.svelte +96 -129
  88. package/dist/Tabs/Tabs.svelte.d.ts +1 -1
  89. package/dist/Textarea/Textarea.svelte +90 -173
  90. package/dist/Textarea/Textarea.svelte.d.ts +1 -1
  91. package/dist/ThemeModeButton/ThemeModeButton.svelte +16 -38
  92. package/dist/Timeline/Timeline.svelte +75 -54
  93. package/dist/Toast/Toaster.svelte +8 -25
  94. package/dist/Tooltip/Tooltip.svelte +34 -66
  95. package/dist/Tooltip/Tooltip.svelte.d.ts +1 -1
  96. package/dist/Tooltip/TooltipTestWrapper.svelte +2 -5
  97. package/dist/User/User.svelte +33 -49
  98. package/dist/docs/navigation.js +6 -0
  99. package/dist/hooks/HookContextProbe.svelte +2 -4
  100. package/dist/hooks/HookContextProvider.svelte +8 -6
  101. package/dist/hooks/HookEmitProbe.svelte +8 -11
  102. package/dist/i18n.d.ts +2 -0
  103. package/dist/i18n.js +19 -0
  104. package/dist/index.d.ts +1 -0
  105. package/dist/index.js +1 -0
  106. package/dist/mcp/svelora-docs.data.json +4 -2
  107. package/package.json +16 -8
@@ -1,129 +1,68 @@
1
- <script lang="ts" module>
2
- import type {
3
- DropdownMenuItem,
4
- DropdownMenuItemAction,
5
- DropdownMenuItemCheckbox,
6
- DropdownMenuItemRadio,
7
- DropdownMenuItemSub,
8
- DropdownMenuProps
9
- } from './dropdown-menu.types.js'
10
-
11
- export type Props = DropdownMenuProps
1
+ <script lang="ts" module>export {};
12
2
  </script>
13
3
 
14
- <script lang="ts">
15
- import { DropdownMenu } from 'bits-ui'
16
- import { getComponentConfig, iconsDefaults } from '../config.js'
17
- import Icon from '../Icon/Icon.svelte'
18
- import Kbd from '../Kbd/Kbd.svelte'
19
- import {
20
- dropdownMenuDefaults,
21
- dropdownMenuVariants,
22
- itemColorClasses
23
- } from './dropdown-menu.variants.js'
24
-
25
- const config = getComponentConfig('dropdownMenu', dropdownMenuDefaults)
26
- const icons = getComponentConfig('icons', iconsDefaults)
27
-
28
- let {
29
- ref = $bindable(null),
30
- open = $bindable(false),
31
- onOpenChange,
32
- items = [],
33
- radioGroups = [],
34
- checkedIcon = icons.check,
35
- submenuIcon = icons.chevronRight,
36
- side = 'bottom',
37
- sideOffset = 4,
38
- align = 'start',
39
- alignOffset = 0,
40
- avoidCollisions = true,
41
- collisionBoundary,
42
- collisionPadding = 8,
43
- sticky = 'partial',
44
- hideWhenDetached = false,
45
- onEscapeKeydown,
46
- onInteractOutside,
47
- onCloseAutoFocus,
48
- forceMount,
49
- loop = true,
50
- arrow = false,
51
- transition = config.defaultVariants.transition ?? true,
52
- portal = true,
53
- size = config.defaultVariants.size ?? 'md',
54
- ui,
55
- class: className,
56
- children,
57
- header,
58
- footer,
59
- item: itemSlot,
60
- itemLeading,
61
- itemLabel,
62
- itemTrailing,
63
- content: contentSlot
64
- }: Props = $props()
65
-
66
- const hasRadioItems = $derived(items.some((i) => i.type === 'radio'))
67
- const firstRadioGroup = $derived(radioGroups[0])
68
-
69
- const variantSlots = $derived(dropdownMenuVariants({ transition, size }))
70
- const classes = $derived({
71
- content: variantSlots.content({ class: [config.slots.content, ui?.content] }),
72
- arrow: variantSlots.arrow({ class: [config.slots.arrow, ui?.arrow] }),
73
- group: variantSlots.group({ class: [config.slots.group, ui?.group] }),
74
- separator: variantSlots.separator({ class: [config.slots.separator, ui?.separator] }),
75
- label: variantSlots.label({ class: [config.slots.label, ui?.label] }),
76
- item: variantSlots.item({ class: [config.slots.item, ui?.item] }),
77
- itemLeadingIcon: variantSlots.itemLeadingIcon({
78
- class: [config.slots.itemLeadingIcon, ui?.itemLeadingIcon]
79
- }),
80
- itemLabel: variantSlots.itemLabel({ class: [config.slots.itemLabel, ui?.itemLabel] }),
81
- itemTrailingKbds: variantSlots.itemTrailingKbds({
82
- class: [config.slots.itemTrailingKbds, ui?.itemTrailingKbds]
83
- }),
84
- itemIndicator: variantSlots.itemIndicator({
85
- class: [config.slots.itemIndicator, ui?.itemIndicator]
86
- }),
87
- subTrigger: variantSlots.subTrigger({ class: [config.slots.subTrigger, ui?.subTrigger] }),
88
- subTriggerIcon: variantSlots.subTriggerIcon({
89
- class: [config.slots.subTriggerIcon, ui?.subTriggerIcon]
90
- }),
91
- subContent: variantSlots.subContent({ class: [config.slots.subContent, ui?.subContent] })
92
- })
93
-
94
- const arrowProps = $derived.by(() => {
95
- if (typeof arrow === 'object') return { width: 12, height: 6, ...arrow }
96
- return { width: 12, height: 6 }
97
- })
98
-
99
- function close() {
100
- open = false
101
- }
102
-
103
- // Type guards
104
- function isActionItem(item: DropdownMenuItem): item is DropdownMenuItemAction {
105
- return !item.type || item.type === 'item'
106
- }
107
-
108
- function isCheckboxItem(item: DropdownMenuItem): item is DropdownMenuItemCheckbox {
109
- return item.type === 'checkbox'
110
- }
111
-
112
- function isRadioItem(item: DropdownMenuItem): item is DropdownMenuItemRadio {
113
- return item.type === 'radio'
114
- }
115
-
116
- function isSubItem(item: DropdownMenuItem): item is DropdownMenuItemSub {
117
- return item.type === 'sub'
118
- }
119
-
120
- function isSeparator(item: DropdownMenuItem): item is { type: 'separator' } {
121
- return item.type === 'separator'
122
- }
123
-
124
- function isLabel(item: DropdownMenuItem): item is { type: 'label'; label: string } {
125
- return item.type === 'label'
126
- }
4
+ <script lang="ts">import { DropdownMenu } from "bits-ui";
5
+ import { getComponentConfig, iconsDefaults } from "../config.js";
6
+ import Icon from "../Icon/Icon.svelte";
7
+ import Kbd from "../Kbd/Kbd.svelte";
8
+ import { dropdownMenuDefaults, dropdownMenuVariants, itemColorClasses } from "./dropdown-menu.variants.js";
9
+ const config = getComponentConfig("dropdownMenu", dropdownMenuDefaults);
10
+ const icons = getComponentConfig("icons", iconsDefaults);
11
+ let { ref = $bindable(null), open = $bindable(false), onOpenChange, items = [], radioGroups = [], checkedIcon = icons.check, submenuIcon = icons.chevronRight, side = "bottom", sideOffset = 4, align = "start", alignOffset = 0, avoidCollisions = true, collisionBoundary, collisionPadding = 8, sticky = "partial", hideWhenDetached = false, onEscapeKeydown, onInteractOutside, onCloseAutoFocus, forceMount, loop = true, arrow = false, transition = config.defaultVariants.transition ?? true, portal = true, size = config.defaultVariants.size ?? "md", ui, class: className, children, header, footer, item: itemSlot, itemLeading, itemLabel, itemTrailing, content: contentSlot } = $props();
12
+ const hasRadioItems = $derived(items.some((i) => i.type === "radio"));
13
+ const firstRadioGroup = $derived(radioGroups[0]);
14
+ const variantSlots = $derived(dropdownMenuVariants({
15
+ transition,
16
+ size
17
+ }));
18
+ const classes = $derived({
19
+ content: variantSlots.content({ class: [config.slots.content, ui?.content] }),
20
+ arrow: variantSlots.arrow({ class: [config.slots.arrow, ui?.arrow] }),
21
+ group: variantSlots.group({ class: [config.slots.group, ui?.group] }),
22
+ separator: variantSlots.separator({ class: [config.slots.separator, ui?.separator] }),
23
+ label: variantSlots.label({ class: [config.slots.label, ui?.label] }),
24
+ item: variantSlots.item({ class: [config.slots.item, ui?.item] }),
25
+ itemLeadingIcon: variantSlots.itemLeadingIcon({ class: [config.slots.itemLeadingIcon, ui?.itemLeadingIcon] }),
26
+ itemLabel: variantSlots.itemLabel({ class: [config.slots.itemLabel, ui?.itemLabel] }),
27
+ itemTrailingKbds: variantSlots.itemTrailingKbds({ class: [config.slots.itemTrailingKbds, ui?.itemTrailingKbds] }),
28
+ itemIndicator: variantSlots.itemIndicator({ class: [config.slots.itemIndicator, ui?.itemIndicator] }),
29
+ subTrigger: variantSlots.subTrigger({ class: [config.slots.subTrigger, ui?.subTrigger] }),
30
+ subTriggerIcon: variantSlots.subTriggerIcon({ class: [config.slots.subTriggerIcon, ui?.subTriggerIcon] }),
31
+ subContent: variantSlots.subContent({ class: [config.slots.subContent, ui?.subContent] })
32
+ });
33
+ const arrowProps = $derived.by(() => {
34
+ if (typeof arrow === "object") return {
35
+ width: 12,
36
+ height: 6,
37
+ ...arrow
38
+ };
39
+ return {
40
+ width: 12,
41
+ height: 6
42
+ };
43
+ });
44
+ function close() {
45
+ open = false;
46
+ }
47
+ // Type guards
48
+ function isActionItem(item) {
49
+ return !item.type || item.type === "item";
50
+ }
51
+ function isCheckboxItem(item) {
52
+ return item.type === "checkbox";
53
+ }
54
+ function isRadioItem(item) {
55
+ return item.type === "radio";
56
+ }
57
+ function isSubItem(item) {
58
+ return item.type === "sub";
59
+ }
60
+ function isSeparator(item) {
61
+ return item.type === "separator";
62
+ }
63
+ function isLabel(item) {
64
+ return item.type === "label";
65
+ }
127
66
  </script>
128
67
 
129
68
  {#snippet renderKbds(kbds: DropdownMenuItemAction['kbds'])}
@@ -1,6 +1,6 @@
1
1
  import type { DropdownMenuProps } from './dropdown-menu.types.js';
2
2
  export type Props = DropdownMenuProps;
3
3
  import { DropdownMenu } from 'bits-ui';
4
- declare const DropdownMenu: import("svelte").Component<DropdownMenuProps, {}, "ref" | "open">;
4
+ declare const DropdownMenu: import("svelte").Component<DropdownMenuProps, {}, "open" | "ref">;
5
5
  type DropdownMenu = ReturnType<typeof DropdownMenu>;
6
6
  export default DropdownMenu;
@@ -1,8 +1,5 @@
1
- <script lang="ts">import DropdownMenu from './DropdownMenu.svelte';
2
- import type { DropdownMenuItem } from './dropdown-menu.types.js';
3
- let { items = [] }: {
4
- items?: DropdownMenuItem[];
5
- } = $props();
1
+ <script lang="ts">import DropdownMenu from "./DropdownMenu.svelte";
2
+ let { items = [] } = $props();
6
3
  </script>
7
4
 
8
5
  <DropdownMenu {items}>