svelora 3.0.0 → 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.
- package/dist/Accordion/Accordion.svelte +66 -97
- package/dist/Alert/Alert.svelte +39 -64
- package/dist/Alert/Alert.svelte.d.ts +1 -1
- package/dist/Avatar/Avatar.svelte +35 -75
- package/dist/AvatarGroup/AvatarGroup.svelte +38 -55
- package/dist/Badge/Badge.svelte +28 -50
- package/dist/Banner/Banner.svelte +46 -41
- package/dist/Banner/Banner.svelte.d.ts +1 -1
- package/dist/Breadcrumb/Breadcrumb.svelte +32 -26
- package/dist/Button/Button.svelte +70 -138
- package/dist/Calendar/Calendar.svelte +94 -157
- package/dist/Calendar/Calendar.svelte.d.ts +1 -1
- package/dist/Card/Card.svelte +18 -31
- package/dist/Carousel/Carousel.svelte +118 -173
- package/dist/Checkbox/Checkbox.svelte +52 -97
- package/dist/CheckboxGroup/CheckboxGroup.svelte +62 -107
- package/dist/CheckboxGroup/CheckboxGroup.svelte.d.ts +1 -1
- package/dist/Chip/Chip.svelte +22 -34
- package/dist/CodeBlock/CodeBlock.svelte +42 -59
- package/dist/Collapsible/Collapsible.svelte +22 -38
- package/dist/Collapsible/Collapsible.svelte.d.ts +1 -1
- package/dist/Collapsible/CollapsibleTestWrapper.svelte +2 -5
- package/dist/Collapsible/CollapsibleTestWrapper.svelte.d.ts +1 -1
- package/dist/Command/Command.svelte +40 -77
- package/dist/Command/Command.svelte.d.ts +1 -1
- package/dist/Command/CommandTestWrapper.svelte +2 -10
- package/dist/Command/CommandTestWrapper.svelte.d.ts +1 -1
- package/dist/Container/Container.svelte +11 -14
- package/dist/ContextMenu/ContextMenu.svelte +51 -114
- package/dist/ContextMenu/ContextMenu.svelte.d.ts +1 -1
- package/dist/Drawer/Drawer.svelte +72 -110
- package/dist/Drawer/DrawerTriggerTestWrapper.svelte +1 -2
- package/dist/DropdownMenu/DropdownMenu.svelte +63 -124
- package/dist/DropdownMenu/DropdownMenu.svelte.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte +2 -5
- package/dist/Editor/Editor.svelte +441 -576
- package/dist/Editor/Editor.svelte.d.ts +1 -1
- package/dist/Editor/EditorUrlPrompt.svelte +40 -53
- package/dist/Editor/SlashPopup.svelte +12 -24
- package/dist/Empty/Empty.svelte +32 -63
- package/dist/FieldGroup/FieldGroup.svelte +23 -38
- package/dist/FileUpload/FileUpload.svelte +242 -320
- package/dist/FileUpload/FileUpload.svelte.d.ts +1 -1
- package/dist/Fonts/Fonts.svelte +15 -37
- package/dist/Form/Form.svelte +112 -170
- package/dist/FormField/FormField.svelte +102 -135
- package/dist/Icon/Icon.svelte +7 -32
- package/dist/Input/Input.svelte +71 -141
- package/dist/Input/Input.svelte.d.ts +2 -2
- package/dist/Kbd/Kbd.svelte +18 -34
- package/dist/Link/Link.svelte +129 -196
- package/dist/LocaleButton/LocaleButton.svelte +165 -0
- package/dist/LocaleButton/LocaleButton.svelte.d.ts +5 -0
- package/dist/LocaleButton/index.d.ts +2 -0
- package/dist/LocaleButton/index.js +1 -0
- package/dist/LocaleButton/locale-button.types.d.ts +182 -0
- package/dist/LocaleButton/locale-button.types.js +1 -0
- package/dist/LocaleButton/locale-button.variants.d.ts +61 -0
- package/dist/LocaleButton/locale-button.variants.js +34 -0
- package/dist/Modal/Modal.svelte +52 -106
- package/dist/Modal/ModalTriggerTestWrapper.svelte +1 -2
- package/dist/Pagination/Pagination.svelte +48 -92
- package/dist/Pagination/pagination.variants.d.ts +1 -1
- package/dist/PinInput/PinInput.svelte +57 -111
- package/dist/PinInput/PinInput.svelte.d.ts +1 -1
- package/dist/Popover/Popover.svelte +28 -61
- package/dist/Popover/Popover.svelte.d.ts +1 -1
- package/dist/Progress/Progress.svelte +75 -94
- package/dist/RadioGroup/RadioGroup.svelte +54 -99
- package/dist/RadioGroup/RadioGroup.svelte.d.ts +1 -1
- package/dist/Select/Select.svelte +112 -269
- package/dist/Select/Select.svelte.d.ts +1 -1
- package/dist/SelectMenu/SelectMenu.svelte +211 -409
- package/dist/SelectMenu/SelectMenu.svelte.d.ts +1 -1
- package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte +3 -6
- package/dist/Separator/Separator.svelte +29 -44
- package/dist/Skeleton/Skeleton.svelte +11 -23
- package/dist/Slideover/Slideover.svelte +52 -106
- package/dist/Slideover/SlideoverTriggerTestWrapper.svelte +1 -2
- package/dist/Slider/Slider.svelte +48 -84
- package/dist/Slider/Slider.svelte.d.ts +1 -1
- package/dist/Stepper/Stepper.svelte +139 -132
- package/dist/Stepper/Stepper.svelte.d.ts +1 -1
- package/dist/Switch/Switch.svelte +62 -98
- package/dist/Table/Table.svelte +232 -283
- package/dist/Table/table.variants.d.ts +1 -1
- package/dist/Tabs/Tabs.svelte +96 -129
- package/dist/Tabs/Tabs.svelte.d.ts +1 -1
- package/dist/Textarea/Textarea.svelte +90 -173
- package/dist/Textarea/Textarea.svelte.d.ts +1 -1
- package/dist/ThemeModeButton/ThemeModeButton.svelte +16 -38
- package/dist/Timeline/Timeline.svelte +75 -54
- package/dist/Toast/Toaster.svelte +8 -25
- package/dist/Tooltip/Tooltip.svelte +34 -66
- package/dist/Tooltip/Tooltip.svelte.d.ts +1 -1
- package/dist/Tooltip/TooltipTestWrapper.svelte +2 -5
- package/dist/User/User.svelte +33 -49
- package/dist/docs/navigation.d.ts +1 -1
- package/dist/docs/navigation.js +8 -1
- package/dist/hooks/HookContextProbe.svelte +2 -4
- package/dist/hooks/HookContextProvider.svelte +8 -6
- package/dist/hooks/HookEmitProbe.svelte +8 -11
- package/dist/i18n.d.ts +2 -0
- package/dist/i18n.js +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/mcp/svelora-docs.data.json +4 -2
- package/dist/theme.css +1 -1
- 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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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, {}, "
|
|
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
|
|
2
|
-
|
|
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}>
|