@adriansyah/heroui-svelte 0.0.0-stage → 0.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/README.md +38 -2
- package/dist/components/autocomplete/autocomplete-clear-button.svelte +24 -0
- package/dist/components/autocomplete/autocomplete-clear-button.svelte.d.ts +3 -0
- package/dist/components/autocomplete/autocomplete-filter.svelte +16 -0
- package/dist/components/autocomplete/autocomplete-filter.svelte.d.ts +6 -0
- package/dist/components/autocomplete/autocomplete-indicator.svelte +21 -0
- package/dist/components/autocomplete/autocomplete-indicator.svelte.d.ts +7 -0
- package/dist/components/autocomplete/autocomplete-popover.svelte +19 -0
- package/dist/components/autocomplete/autocomplete-popover.svelte.d.ts +4 -0
- package/dist/components/autocomplete/autocomplete-trigger.svelte +28 -0
- package/dist/components/autocomplete/autocomplete-trigger.svelte.d.ts +6 -0
- package/dist/components/autocomplete/autocomplete-value.svelte +65 -0
- package/dist/components/autocomplete/autocomplete-value.svelte.d.ts +9 -0
- package/dist/components/autocomplete/autocomplete.svelte +52 -0
- package/dist/components/autocomplete/autocomplete.svelte.d.ts +9 -0
- package/dist/components/autocomplete/index.d.ts +8 -0
- package/dist/components/autocomplete/index.js +8 -0
- package/dist/components/autocomplete/index.svelte.d.ts +26 -0
- package/dist/components/autocomplete/index.svelte.js +69 -0
- package/dist/components/avatar/avatar-fallback.svelte +19 -0
- package/dist/components/avatar/avatar-fallback.svelte.d.ts +6 -0
- package/dist/components/avatar/avatar-image.svelte +18 -0
- package/dist/components/avatar/avatar-image.svelte.d.ts +4 -0
- package/dist/components/avatar/avatar.svelte +16 -0
- package/dist/components/avatar/avatar.svelte.d.ts +6 -0
- package/dist/components/avatar/context.svelte.d.ts +7 -0
- package/dist/components/avatar/context.svelte.js +8 -0
- package/dist/components/avatar/index.d.ts +4 -0
- package/dist/components/avatar/index.js +4 -0
- package/dist/components/button/button.svelte +51 -0
- package/dist/components/button/button.svelte.d.ts +6 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.js +2 -0
- package/dist/components/button/index.svelte.d.ts +27 -0
- package/dist/components/button/index.svelte.js +28 -0
- package/dist/components/button-group/button-group-separator.svelte +20 -0
- package/dist/components/button-group/button-group-separator.svelte.d.ts +5 -0
- package/dist/components/button-group/button-group.svelte +20 -0
- package/dist/components/button-group/button-group.svelte.d.ts +6 -0
- package/dist/components/button-group/context.svelte.d.ts +7 -0
- package/dist/components/button-group/context.svelte.js +8 -0
- package/dist/components/button-group/index.d.ts +3 -0
- package/dist/components/button-group/index.js +3 -0
- package/dist/components/card/card-content.svelte +19 -0
- package/dist/components/card/card-content.svelte.d.ts +5 -0
- package/dist/components/card/card-description.svelte +19 -0
- package/dist/components/card/card-description.svelte.d.ts +5 -0
- package/dist/components/card/card-footer.svelte +19 -0
- package/dist/components/card/card-footer.svelte.d.ts +5 -0
- package/dist/components/card/card-header.svelte +19 -0
- package/dist/components/card/card-header.svelte.d.ts +5 -0
- package/dist/components/card/card-title.svelte +19 -0
- package/dist/components/card/card-title.svelte.d.ts +5 -0
- package/dist/components/card/card.svelte +22 -0
- package/dist/components/card/card.svelte.d.ts +6 -0
- package/dist/components/card/context.svelte.d.ts +6 -0
- package/dist/components/card/context.svelte.js +8 -0
- package/dist/components/card/index.d.ts +7 -0
- package/dist/components/card/index.js +7 -0
- package/dist/components/checkbox/checkbox-content.svelte +26 -0
- package/dist/components/checkbox/checkbox-content.svelte.d.ts +4 -0
- package/dist/components/checkbox/checkbox-control.svelte +25 -0
- package/dist/components/checkbox/checkbox-control.svelte.d.ts +5 -0
- package/dist/components/checkbox/checkbox-indicator.svelte +54 -0
- package/dist/components/checkbox/checkbox-indicator.svelte.d.ts +5 -0
- package/dist/components/checkbox/checkbox.svelte +60 -0
- package/dist/components/checkbox/checkbox.svelte.d.ts +8 -0
- package/dist/components/checkbox/index.d.ts +4 -0
- package/dist/components/checkbox/index.js +4 -0
- package/dist/components/close-button/close-button.svelte +17 -0
- package/dist/components/close-button/close-button.svelte.d.ts +4 -0
- package/dist/components/close-button/index.d.ts +1 -0
- package/dist/components/close-button/index.js +1 -0
- package/dist/components/collection/collection.svelte +77 -0
- package/dist/components/collection/collection.svelte.d.ts +47 -0
- package/dist/components/collection/index.d.ts +1 -0
- package/dist/components/collection/index.js +1 -0
- package/dist/components/description/description.svelte +16 -0
- package/dist/components/description/description.svelte.d.ts +6 -0
- package/dist/components/description/index.d.ts +1 -0
- package/dist/components/description/index.js +1 -0
- package/dist/components/empty-state/empty-state.svelte +16 -0
- package/dist/components/empty-state/empty-state.svelte.d.ts +6 -0
- package/dist/components/empty-state/index.d.ts +1 -0
- package/dist/components/empty-state/index.js +1 -0
- package/dist/components/field-error/field-error.svelte +29 -0
- package/dist/components/field-error/field-error.svelte.d.ts +8 -0
- package/dist/components/field-error/index.d.ts +1 -0
- package/dist/components/field-error/index.js +1 -0
- package/dist/components/fieldset/fieldset-actions.svelte +16 -0
- package/dist/components/fieldset/fieldset-actions.svelte.d.ts +5 -0
- package/dist/components/fieldset/fieldset-group.svelte +16 -0
- package/dist/components/fieldset/fieldset-group.svelte.d.ts +5 -0
- package/dist/components/fieldset/fieldset-legend.svelte +16 -0
- package/dist/components/fieldset/fieldset-legend.svelte.d.ts +5 -0
- package/dist/components/fieldset/fieldset.svelte +16 -0
- package/dist/components/fieldset/fieldset.svelte.d.ts +5 -0
- package/dist/components/fieldset/index.d.ts +4 -0
- package/dist/components/fieldset/index.js +4 -0
- package/dist/components/filter/filter-not-found.svelte +11 -0
- package/dist/components/filter/filter-not-found.svelte.d.ts +5 -0
- package/dist/components/filter/filter-provider.svelte +22 -0
- package/dist/components/filter/filter-provider.svelte.d.ts +9 -0
- package/dist/components/filter/index.d.ts +3 -0
- package/dist/components/filter/index.js +3 -0
- package/dist/components/filter/index.svelte.d.ts +17 -0
- package/dist/components/filter/index.svelte.js +52 -0
- package/dist/components/header/header.svelte +16 -0
- package/dist/components/header/header.svelte.d.ts +6 -0
- package/dist/components/header/index.d.ts +1 -0
- package/dist/components/header/index.js +1 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.js +2 -0
- package/dist/components/input/index.svelte.d.ts +32 -0
- package/dist/components/input/index.svelte.js +48 -0
- package/dist/components/input/input.svelte +66 -0
- package/dist/components/input/input.svelte.d.ts +8 -0
- package/dist/components/input-group/index.d.ts +5 -0
- package/dist/components/input-group/index.js +5 -0
- package/dist/components/input-group/input-group-input.svelte +32 -0
- package/dist/components/input-group/input-group-input.svelte.d.ts +11 -0
- package/dist/components/input-group/input-group-prefix.svelte +24 -0
- package/dist/components/input-group/input-group-prefix.svelte.d.ts +5 -0
- package/dist/components/input-group/input-group-suffix.svelte +24 -0
- package/dist/components/input-group/input-group-suffix.svelte.d.ts +5 -0
- package/dist/components/input-group/input-group-textarea.svelte +32 -0
- package/dist/components/input-group/input-group-textarea.svelte.d.ts +8 -0
- package/dist/components/input-group/input-group.svelte +63 -0
- package/dist/components/input-group/input-group.svelte.d.ts +9 -0
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/label/label.svelte +25 -0
- package/dist/components/label/label.svelte.d.ts +9 -0
- package/dist/components/list-box/index.d.ts +5 -0
- package/dist/components/list-box/index.js +5 -0
- package/dist/components/list-box/index.svelte.d.ts +17 -0
- package/dist/components/list-box/index.svelte.js +25 -0
- package/dist/components/list-box/list-box-item-indicator.svelte +37 -0
- package/dist/components/list-box/list-box-item-indicator.svelte.d.ts +4 -0
- package/dist/components/list-box/list-box-item.svelte +83 -0
- package/dist/components/list-box/list-box-item.svelte.d.ts +9 -0
- package/dist/components/list-box/list-box-section.svelte +13 -0
- package/dist/components/list-box/list-box-section.svelte.d.ts +4 -0
- package/dist/components/list-box/list-box.svelte +39 -0
- package/dist/components/list-box/list-box.svelte.d.ts +8 -0
- package/dist/components/modal/index.d.ts +14 -0
- package/dist/components/modal/index.js +14 -0
- package/dist/components/modal/index.svelte.d.ts +15 -0
- package/dist/components/modal/index.svelte.js +16 -0
- package/dist/components/modal/modal-backdrop.svelte +28 -0
- package/dist/components/modal/modal-backdrop.svelte.d.ts +5 -0
- package/dist/components/modal/modal-body.svelte +16 -0
- package/dist/components/modal/modal-body.svelte.d.ts +4 -0
- package/dist/components/modal/modal-close-trigger.svelte +35 -0
- package/dist/components/modal/modal-close-trigger.svelte.d.ts +4 -0
- package/dist/components/modal/modal-container.svelte +34 -0
- package/dist/components/modal/modal-container.svelte.d.ts +4 -0
- package/dist/components/modal/modal-content-template.svelte +19 -0
- package/dist/components/modal/modal-content-template.svelte.d.ts +3 -0
- package/dist/components/modal/modal-content.svelte +30 -0
- package/dist/components/modal/modal-content.svelte.d.ts +4 -0
- package/dist/components/modal/modal-dialog.svelte +17 -0
- package/dist/components/modal/modal-dialog.svelte.d.ts +4 -0
- package/dist/components/modal/modal-footer.svelte +16 -0
- package/dist/components/modal/modal-footer.svelte.d.ts +4 -0
- package/dist/components/modal/modal-header.svelte +18 -0
- package/dist/components/modal/modal-header.svelte.d.ts +4 -0
- package/dist/components/modal/modal-heading.svelte +18 -0
- package/dist/components/modal/modal-heading.svelte.d.ts +4 -0
- package/dist/components/modal/modal-icon.svelte +18 -0
- package/dist/components/modal/modal-icon.svelte.d.ts +4 -0
- package/dist/components/modal/modal-trigger.svelte +23 -0
- package/dist/components/modal/modal-trigger.svelte.d.ts +8 -0
- package/dist/components/modal/modal.svelte +21 -0
- package/dist/components/modal/modal.svelte.d.ts +6 -0
- package/dist/components/pagination/index.d.ts +11 -0
- package/dist/components/pagination/index.js +11 -0
- package/dist/components/pagination/index.svelte.d.ts +26 -0
- package/dist/components/pagination/index.svelte.js +59 -0
- package/dist/components/pagination/pagination-content.svelte +17 -0
- package/dist/components/pagination/pagination-content.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-ellipsis.svelte +18 -0
- package/dist/components/pagination/pagination-ellipsis.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-item.svelte +24 -0
- package/dist/components/pagination/pagination-item.svelte.d.ts +9 -0
- package/dist/components/pagination/pagination-link.svelte +26 -0
- package/dist/components/pagination/pagination-link.svelte.d.ts +7 -0
- package/dist/components/pagination/pagination-next-icon.svelte +10 -0
- package/dist/components/pagination/pagination-next-icon.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-next.svelte +23 -0
- package/dist/components/pagination/pagination-next.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-previous-icon.svelte +10 -0
- package/dist/components/pagination/pagination-previous-icon.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-previous.svelte +23 -0
- package/dist/components/pagination/pagination-previous.svelte.d.ts +4 -0
- package/dist/components/pagination/pagination-summary.svelte +23 -0
- package/dist/components/pagination/pagination-summary.svelte.d.ts +9 -0
- package/dist/components/pagination/pagination.svelte +40 -0
- package/dist/components/pagination/pagination.svelte.d.ts +8 -0
- package/dist/components/popover/index.d.ts +7 -0
- package/dist/components/popover/index.js +7 -0
- package/dist/components/popover/index.svelte.d.ts +23 -0
- package/dist/components/popover/index.svelte.js +51 -0
- package/dist/components/popover/popover-arrow.svelte +42 -0
- package/dist/components/popover/popover-arrow.svelte.d.ts +4 -0
- package/dist/components/popover/popover-content.svelte +31 -0
- package/dist/components/popover/popover-content.svelte.d.ts +5 -0
- package/dist/components/popover/popover-dialog.svelte +13 -0
- package/dist/components/popover/popover-dialog.svelte.d.ts +4 -0
- package/dist/components/popover/popover-heading.svelte +15 -0
- package/dist/components/popover/popover-heading.svelte.d.ts +4 -0
- package/dist/components/popover/popover-trigger.svelte +17 -0
- package/dist/components/popover/popover-trigger.svelte.d.ts +9 -0
- package/dist/components/popover/popover.svelte +33 -0
- package/dist/components/popover/popover.svelte.d.ts +11 -0
- package/dist/components/search-input/index.d.ts +1 -0
- package/dist/components/search-input/index.js +1 -0
- package/dist/components/search-input/search-input.svelte +92 -0
- package/dist/components/search-input/search-input.svelte.d.ts +9 -0
- package/dist/components/separator/index.d.ts +1 -0
- package/dist/components/separator/index.js +1 -0
- package/dist/components/separator/separator.svelte +9 -0
- package/dist/components/separator/separator.svelte.d.ts +6 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/spinner/spinner.svelte +59 -0
- package/dist/components/spinner/spinner.svelte.d.ts +9 -0
- package/dist/components/surface/index.d.ts +1 -0
- package/dist/components/surface/index.js +1 -0
- package/dist/components/surface/surface.svelte +15 -0
- package/dist/components/surface/surface.svelte.d.ts +6 -0
- package/dist/components/table/index.d.ts +11 -0
- package/dist/components/table/index.js +11 -0
- package/dist/components/table/index.svelte.d.ts +10 -0
- package/dist/components/table/index.svelte.js +13 -0
- package/dist/components/table/table-body.svelte +20 -0
- package/dist/components/table/table-body.svelte.d.ts +5 -0
- package/dist/components/table/table-cell.svelte +21 -0
- package/dist/components/table/table-cell.svelte.d.ts +4 -0
- package/dist/components/table/table-column.svelte +22 -0
- package/dist/components/table/table-column.svelte.d.ts +6 -0
- package/dist/components/table/table-content.svelte +21 -0
- package/dist/components/table/table-content.svelte.d.ts +6 -0
- package/dist/components/table/table-empty-state.svelte +13 -0
- package/dist/components/table/table-empty-state.svelte.d.ts +26 -0
- package/dist/components/table/table-footer.svelte +21 -0
- package/dist/components/table/table-footer.svelte.d.ts +5 -0
- package/dist/components/table/table-header.svelte +23 -0
- package/dist/components/table/table-header.svelte.d.ts +6 -0
- package/dist/components/table/table-row.svelte +26 -0
- package/dist/components/table/table-row.svelte.d.ts +8 -0
- package/dist/components/table/table-scroll-container.svelte +20 -0
- package/dist/components/table/table-scroll-container.svelte.d.ts +6 -0
- package/dist/components/table/table.svelte +18 -0
- package/dist/components/table/table.svelte.d.ts +8 -0
- package/dist/components/text-field/index.d.ts +1 -0
- package/dist/components/text-field/index.js +1 -0
- package/dist/components/text-field/text-field.svelte +60 -0
- package/dist/components/text-field/text-field.svelte.d.ts +9 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/textarea.svelte +27 -0
- package/dist/components/textarea/textarea.svelte.d.ts +8 -0
- package/dist/icons/arrow-icon.svelte +14 -0
- package/dist/icons/arrow-icon.svelte.d.ts +4 -0
- package/dist/icons/checkmark-icon.svelte +23 -0
- package/dist/icons/checkmark-icon.svelte.d.ts +7 -0
- package/dist/icons/chevron-down-icon.svelte +22 -0
- package/dist/icons/chevron-down-icon.svelte.d.ts +4 -0
- package/dist/icons/chevron-left-icon.svelte +22 -0
- package/dist/icons/chevron-left-icon.svelte.d.ts +4 -0
- package/dist/icons/chevron-right-icon.svelte +22 -0
- package/dist/icons/chevron-right-icon.svelte.d.ts +4 -0
- package/dist/icons/close-icon.svelte +22 -0
- package/dist/icons/close-icon.svelte.d.ts +4 -0
- package/dist/icons/dot-icon.svelte +21 -0
- package/dist/icons/dot-icon.svelte.d.ts +4 -0
- package/dist/icons/index.d.ts +8 -0
- package/dist/icons/index.js +8 -0
- package/dist/icons/search-icon.svelte +22 -0
- package/dist/icons/search-icon.svelte.d.ts +4 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +29 -0
- package/package.json +70 -5
package/README.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
-
#
|
|
1
|
+
# HeroUI Svelte
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A Svelte 5 wrapper for [HeroUI](https://heroui.com), bringing HeroUI's styling and component experience to Svelte applications.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
bun add github:adriansyah-kadir/heroui-svelte#release @heroui/styles
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Import Tailwind CSS and HeroUI styles in your main CSS file:
|
|
14
|
+
|
|
15
|
+
```css
|
|
16
|
+
@import "tailwindcss";
|
|
17
|
+
@import "@heroui/styles";
|
|
18
|
+
|
|
19
|
+
@source "../../node_modules/heroui-svelte/dist";
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Adjust the `@source` path to match your project structure.
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
Import components from `heroui-svelte` and use them in your Svelte 5 components.
|
|
27
|
+
|
|
28
|
+
```svelte
|
|
29
|
+
<script lang="ts">
|
|
30
|
+
import { Button } from "heroui-svelte";
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<Button>Get started</Button>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Documentation
|
|
37
|
+
|
|
38
|
+
* [HeroUI](https://heroui.com) — Original design system and component reference.
|
|
39
|
+
* [Storybook](https://adriansyah-kadir.github.io/heroui-svelte/) — Explore this library's Svelte components and examples.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { CloseIcon, CloseButton, AutocompleteContext } from "../../index.js";
|
|
3
|
+
import { autocompleteVariants } from "@heroui/styles";
|
|
4
|
+
import type { ComponentProps } from "svelte";
|
|
5
|
+
|
|
6
|
+
const props: ComponentProps<typeof CloseButton> = $props();
|
|
7
|
+
const autocomplete = AutocompleteContext.get();
|
|
8
|
+
const list = autocomplete.listboxCtx;
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<button
|
|
12
|
+
{...props}
|
|
13
|
+
disabled={list.noSelected}
|
|
14
|
+
data-empty={list.noSelected}
|
|
15
|
+
onclick={(ev) => {
|
|
16
|
+
ev.preventDefault();
|
|
17
|
+
ev.stopPropagation();
|
|
18
|
+
props.onclick?.(ev);
|
|
19
|
+
list.selected = [];
|
|
20
|
+
}}
|
|
21
|
+
class={autocompleteVariants().clearButton({ class: props.class?.toString() })}
|
|
22
|
+
>
|
|
23
|
+
<CloseIcon />
|
|
24
|
+
</button>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ComponentProps } from "svelte";
|
|
3
|
+
import FilterProvider from "../filter/filter-provider.svelte";
|
|
4
|
+
import { PopoverContext } from "../popover";
|
|
5
|
+
|
|
6
|
+
let { query = $bindable(""), ...props }: ComponentProps<typeof FilterProvider> =
|
|
7
|
+
$props();
|
|
8
|
+
const popover = PopoverContext.get();
|
|
9
|
+
|
|
10
|
+
$effect(() => {
|
|
11
|
+
if (popover.open) return;
|
|
12
|
+
query = "";
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<FilterProvider bind:query {...props} />
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const AutocompleteFilter: import("svelte").Component<{
|
|
2
|
+
children?: import("svelte").Snippet;
|
|
3
|
+
query?: string;
|
|
4
|
+
} & import("../filter").FilterOpts, {}, "query">;
|
|
5
|
+
type AutocompleteFilter = ReturnType<typeof AutocompleteFilter>;
|
|
6
|
+
export default AutocompleteFilter;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { autocompleteVariants } from "@heroui/styles";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { ChevronDownIcon } from "../../index.js";
|
|
5
|
+
|
|
6
|
+
type Props = HTMLAttributes<HTMLDivElement> & {
|
|
7
|
+
open?: boolean;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const { children, open, ...props }: Props = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
{...props}
|
|
15
|
+
data-open={open}
|
|
16
|
+
class={autocompleteVariants().indicator({
|
|
17
|
+
class: props.class?.toString(),
|
|
18
|
+
})}
|
|
19
|
+
>
|
|
20
|
+
<ChevronDownIcon />
|
|
21
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
type Props = HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
open?: boolean;
|
|
4
|
+
};
|
|
5
|
+
declare const AutocompleteIndicator: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type AutocompleteIndicator = ReturnType<typeof AutocompleteIndicator>;
|
|
7
|
+
export default AutocompleteIndicator;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { autocompleteVariants } from "@heroui/styles";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { PopoverContent, AutocompleteContext } from "../../index.js";
|
|
5
|
+
|
|
6
|
+
const props: HTMLAttributes<HTMLDivElement> = $props();
|
|
7
|
+
const autocomplete = AutocompleteContext.get();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<PopoverContent popover="manual">
|
|
11
|
+
<div
|
|
12
|
+
{...props}
|
|
13
|
+
class={autocompleteVariants(autocomplete.heroui).popover({
|
|
14
|
+
class: props.class?.toString(),
|
|
15
|
+
})}
|
|
16
|
+
>
|
|
17
|
+
{@render props.children?.()}
|
|
18
|
+
</div>
|
|
19
|
+
</PopoverContent>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { PopoverContext } from "../../index.js";
|
|
4
|
+
import { autocompleteVariants } from "@heroui/styles";
|
|
5
|
+
|
|
6
|
+
interface Props extends HTMLAttributes<HTMLDivElement> {}
|
|
7
|
+
|
|
8
|
+
const { children, ...props }: Props = $props();
|
|
9
|
+
const { popover } = PopoverContext.get();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
{...props}
|
|
14
|
+
role="button"
|
|
15
|
+
tabindex="0"
|
|
16
|
+
data-slot="autocomplete-trigger"
|
|
17
|
+
data-open={popover.open}
|
|
18
|
+
data-popover={popover.node?.popover}
|
|
19
|
+
class={autocompleteVariants().trigger({
|
|
20
|
+
class: [
|
|
21
|
+
props?.class?.toString(),
|
|
22
|
+
"data-[open=true]:[[data-popover=''],[data-popover='auto']]:pointer-events-none",
|
|
23
|
+
],
|
|
24
|
+
})}
|
|
25
|
+
onclick={(ev) => popover.toggle(undefined, ev.currentTarget)}
|
|
26
|
+
>
|
|
27
|
+
{@render children?.()}
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
interface Props extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
}
|
|
4
|
+
declare const AutocompleteTrigger: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type AutocompleteTrigger = ReturnType<typeof AutocompleteTrigger>;
|
|
6
|
+
export default AutocompleteTrigger;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { autocompleteVariants, tagVariants } from "@heroui/styles";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { CloseIcon, ListBoxContext, AutocompleteContext } from "../../index.js";
|
|
5
|
+
import type { Snippet } from "svelte";
|
|
6
|
+
|
|
7
|
+
const {
|
|
8
|
+
children,
|
|
9
|
+
placeholder,
|
|
10
|
+
...props
|
|
11
|
+
}: Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
12
|
+
children?: Snippet<[string[]]>;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
} = $props();
|
|
15
|
+
const autocomplete = AutocompleteContext.get();
|
|
16
|
+
const listBox = ListBoxContext.get();
|
|
17
|
+
const first = $derived(listBox.selected.at(0));
|
|
18
|
+
const tag = $derived(
|
|
19
|
+
tagVariants({
|
|
20
|
+
size: "sm",
|
|
21
|
+
variant:
|
|
22
|
+
autocomplete.heroui.variant === "secondary" ? "surface" : "default",
|
|
23
|
+
}),
|
|
24
|
+
);
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<div
|
|
28
|
+
class={autocompleteVariants().value({
|
|
29
|
+
class: props.class?.toString(),
|
|
30
|
+
})}
|
|
31
|
+
>
|
|
32
|
+
{#if children}
|
|
33
|
+
{@render children(autocomplete.listboxCtx.selected)}
|
|
34
|
+
{:else}
|
|
35
|
+
{@render DefaultChildren()}
|
|
36
|
+
{/if}
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
{#snippet DefaultChildren()}
|
|
40
|
+
{#if listBox.opts.multiple && first !== undefined}
|
|
41
|
+
<div class="tag-group">
|
|
42
|
+
<ul class="tag-group__list">
|
|
43
|
+
{#each listBox.selected as value}
|
|
44
|
+
<span class={tag.base()}>
|
|
45
|
+
{value}
|
|
46
|
+
<button
|
|
47
|
+
class={tag.removeButton()}
|
|
48
|
+
onclick={(ev) => {
|
|
49
|
+
ev.preventDefault();
|
|
50
|
+
ev.stopPropagation();
|
|
51
|
+
listBox.setSelected(value, !listBox.isSelected(value));
|
|
52
|
+
}}
|
|
53
|
+
>
|
|
54
|
+
<CloseIcon />
|
|
55
|
+
</button>
|
|
56
|
+
</span>
|
|
57
|
+
{/each}
|
|
58
|
+
</ul>
|
|
59
|
+
</div>
|
|
60
|
+
{:else if first}
|
|
61
|
+
{first}
|
|
62
|
+
{:else}
|
|
63
|
+
{placeholder ?? "-"}
|
|
64
|
+
{/if}
|
|
65
|
+
{/snippet}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
type $$ComponentProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
4
|
+
children?: Snippet<[string[]]>;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
};
|
|
7
|
+
declare const AutocompleteValue: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
8
|
+
type AutocompleteValue = ReturnType<typeof AutocompleteValue>;
|
|
9
|
+
export default AutocompleteValue;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import {
|
|
4
|
+
Popover,
|
|
5
|
+
AutocompleteContext,
|
|
6
|
+
type AutocompleteOpts,
|
|
7
|
+
} from "../../index.js";
|
|
8
|
+
import { box } from "svelte-utils";
|
|
9
|
+
|
|
10
|
+
type Props = HTMLAttributes<HTMLElement> &
|
|
11
|
+
Partial<AutocompleteOpts> & {
|
|
12
|
+
onSelected?: (keys: string[]) => any;
|
|
13
|
+
selected?: string[];
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
selected = $bindable(),
|
|
18
|
+
disabled,
|
|
19
|
+
multiple,
|
|
20
|
+
required,
|
|
21
|
+
name,
|
|
22
|
+
fullWidth,
|
|
23
|
+
variant,
|
|
24
|
+
invalid,
|
|
25
|
+
onSelected,
|
|
26
|
+
offset = 8,
|
|
27
|
+
placement = "bottom",
|
|
28
|
+
...props
|
|
29
|
+
}: Props = $props();
|
|
30
|
+
|
|
31
|
+
new AutocompleteContext(
|
|
32
|
+
() => ({
|
|
33
|
+
offset,
|
|
34
|
+
placement,
|
|
35
|
+
disabled,
|
|
36
|
+
fullWidth,
|
|
37
|
+
invalid,
|
|
38
|
+
multiple,
|
|
39
|
+
name,
|
|
40
|
+
required,
|
|
41
|
+
variant,
|
|
42
|
+
}),
|
|
43
|
+
box(
|
|
44
|
+
() => selected ?? [],
|
|
45
|
+
(v) => (selected = v),
|
|
46
|
+
),
|
|
47
|
+
);
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<Popover {offset} {placement}>
|
|
51
|
+
{@render props.children?.()}
|
|
52
|
+
</Popover>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
import { type AutocompleteOpts } from "../../index.js";
|
|
3
|
+
type Props = HTMLAttributes<HTMLElement> & Partial<AutocompleteOpts> & {
|
|
4
|
+
onSelected?: (keys: string[]) => any;
|
|
5
|
+
selected?: string[];
|
|
6
|
+
};
|
|
7
|
+
declare const Autocomplete: import("svelte").Component<Props, {}, "selected">;
|
|
8
|
+
type Autocomplete = ReturnType<typeof Autocomplete>;
|
|
9
|
+
export default Autocomplete;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as AutocompleteClearButton } from "./autocomplete-clear-button.svelte";
|
|
2
|
+
export { default as AutocompleteIndicator } from "./autocomplete-indicator.svelte";
|
|
3
|
+
export { default as AutocompletePopover } from "./autocomplete-popover.svelte";
|
|
4
|
+
export { default as AutocompleteTrigger } from "./autocomplete-trigger.svelte";
|
|
5
|
+
export { default as AutocompleteValue } from "./autocomplete-value.svelte";
|
|
6
|
+
export { default as AutocompleteFilter } from "./autocomplete-filter.svelte";
|
|
7
|
+
export { default as Autocomplete } from "./autocomplete.svelte";
|
|
8
|
+
export * from "./index.svelte.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as AutocompleteClearButton } from "./autocomplete-clear-button.svelte";
|
|
2
|
+
export { default as AutocompleteIndicator } from "./autocomplete-indicator.svelte";
|
|
3
|
+
export { default as AutocompletePopover } from "./autocomplete-popover.svelte";
|
|
4
|
+
export { default as AutocompleteTrigger } from "./autocomplete-trigger.svelte";
|
|
5
|
+
export { default as AutocompleteValue } from "./autocomplete-value.svelte";
|
|
6
|
+
export { default as AutocompleteFilter } from "./autocomplete-filter.svelte";
|
|
7
|
+
export { default as Autocomplete } from "./autocomplete.svelte";
|
|
8
|
+
export * from "./index.svelte.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AutocompleteVariants } from "@heroui/styles";
|
|
2
|
+
import { Context, type Box, type Getter } from "svelte-utils";
|
|
3
|
+
import { ListBoxContext, PopoverContext, type ListBoxOpts, type PopoverContextOpts } from "../../index.js";
|
|
4
|
+
export type AutocompleteOpts = ListBoxOpts & AutocompleteVariants & PopoverContextOpts & {
|
|
5
|
+
invalid?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare class AutocompleteContext extends Context {
|
|
8
|
+
opts: AutocompleteOpts;
|
|
9
|
+
popoverCtx: PopoverContext;
|
|
10
|
+
listboxCtx: ListBoxContext;
|
|
11
|
+
constructor(opts: Getter<AutocompleteOpts>, selected: Box<string[]>);
|
|
12
|
+
autoCloseOnFocusLost(): () => void;
|
|
13
|
+
autoCloseOnSingleSelect(): void;
|
|
14
|
+
close(): void;
|
|
15
|
+
open(source?: HTMLElement): void;
|
|
16
|
+
toggle(source?: HTMLElement): void;
|
|
17
|
+
get props(): {
|
|
18
|
+
"data-disabled": boolean | undefined;
|
|
19
|
+
"data-required": boolean | undefined;
|
|
20
|
+
"data-invalid": boolean | undefined;
|
|
21
|
+
};
|
|
22
|
+
get heroui(): {
|
|
23
|
+
variant: "primary" | "secondary" | undefined;
|
|
24
|
+
fullWidth: boolean | undefined;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Context, isEventTargetInAny, watch } from "svelte-utils";
|
|
2
|
+
import { ListBoxContext, PopoverContext } from "../../index.js";
|
|
3
|
+
export class AutocompleteContext extends Context {
|
|
4
|
+
opts;
|
|
5
|
+
popoverCtx;
|
|
6
|
+
listboxCtx;
|
|
7
|
+
constructor(opts, selected) {
|
|
8
|
+
super();
|
|
9
|
+
this.opts = $derived.by(opts);
|
|
10
|
+
this.popoverCtx = new PopoverContext(opts);
|
|
11
|
+
this.listboxCtx = new ListBoxContext(opts, selected);
|
|
12
|
+
this.autoCloseOnFocusLost();
|
|
13
|
+
this.autoCloseOnSingleSelect();
|
|
14
|
+
}
|
|
15
|
+
autoCloseOnFocusLost() {
|
|
16
|
+
const handleWindowClick = (ev) => {
|
|
17
|
+
if (!this.popoverCtx.popover.node?.matches(":popover-open"))
|
|
18
|
+
return;
|
|
19
|
+
if (isEventTargetInAny(ev, this.popoverCtx.popover.anchor, this.popoverCtx.popover.node)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.close();
|
|
23
|
+
};
|
|
24
|
+
const handleEscapeKey = (ev) => {
|
|
25
|
+
const focused = this.popoverCtx.popover.node?.matches(":focus-within") || this.popoverCtx.popover.anchor?.matches(":focus-within");
|
|
26
|
+
if (ev.code !== "Escape" || !focused)
|
|
27
|
+
return;
|
|
28
|
+
ev.preventDefault();
|
|
29
|
+
ev.stopImmediatePropagation();
|
|
30
|
+
this.close();
|
|
31
|
+
this.popoverCtx.popover.anchor?.focus();
|
|
32
|
+
};
|
|
33
|
+
window.addEventListener("click", handleWindowClick);
|
|
34
|
+
window.addEventListener("keydown", handleEscapeKey);
|
|
35
|
+
return () => {
|
|
36
|
+
window.removeEventListener("click", handleWindowClick);
|
|
37
|
+
window.removeEventListener("keydown", handleEscapeKey);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
autoCloseOnSingleSelect() {
|
|
41
|
+
watch(() => this.listboxCtx.selected, () => {
|
|
42
|
+
if (this.opts.multiple)
|
|
43
|
+
return;
|
|
44
|
+
this.close();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
close() {
|
|
48
|
+
this.popoverCtx.popover.hide();
|
|
49
|
+
}
|
|
50
|
+
open(source) {
|
|
51
|
+
this.popoverCtx.popover.node?.showPopover({ source });
|
|
52
|
+
}
|
|
53
|
+
toggle(source) {
|
|
54
|
+
this.popoverCtx.popover.node?.togglePopover({ source });
|
|
55
|
+
}
|
|
56
|
+
get props() {
|
|
57
|
+
return {
|
|
58
|
+
"data-disabled": this.opts.disabled,
|
|
59
|
+
"data-required": this.opts.required,
|
|
60
|
+
"data-invalid": this.opts.invalid
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
get heroui() {
|
|
64
|
+
return {
|
|
65
|
+
variant: this.opts.variant,
|
|
66
|
+
fullWidth: this.opts.fullWidth
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { AvatarContext, type AvatarOpts } from "./context.svelte";
|
|
4
|
+
import { avatarVariants } from "@heroui/styles";
|
|
5
|
+
|
|
6
|
+
type Props = AvatarOpts & HTMLAttributes<HTMLDivElement>;
|
|
7
|
+
|
|
8
|
+
const props: Props = $props();
|
|
9
|
+
const ctx = AvatarContext.get();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
class={avatarVariants().fallback({
|
|
14
|
+
...ctx.opts,
|
|
15
|
+
class: props.class?.toString(),
|
|
16
|
+
})}
|
|
17
|
+
>
|
|
18
|
+
{@render props.children?.()}
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
import { type AvatarOpts } from "./context.svelte";
|
|
3
|
+
type Props = AvatarOpts & HTMLAttributes<HTMLDivElement>;
|
|
4
|
+
declare const AvatarFallback: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type AvatarFallback = ReturnType<typeof AvatarFallback>;
|
|
6
|
+
export default AvatarFallback;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLImgAttributes } from "svelte/elements";
|
|
3
|
+
import { AvatarContext } from "./context.svelte";
|
|
4
|
+
import { avatarVariants } from "@heroui/styles";
|
|
5
|
+
|
|
6
|
+
type Props = HTMLImgAttributes;
|
|
7
|
+
|
|
8
|
+
const props: Props = $props();
|
|
9
|
+
const ctx = AvatarContext.get();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<img
|
|
13
|
+
{...props}
|
|
14
|
+
class={avatarVariants().image({
|
|
15
|
+
...ctx.opts,
|
|
16
|
+
class: props.class?.toString(),
|
|
17
|
+
})}
|
|
18
|
+
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { AvatarContext, type AvatarOpts } from "./context.svelte";
|
|
4
|
+
import { avatarVariants } from "@heroui/styles";
|
|
5
|
+
|
|
6
|
+
type Props = AvatarOpts & HTMLAttributes<HTMLDivElement>;
|
|
7
|
+
|
|
8
|
+
const props: Props = $props();
|
|
9
|
+
const ctx = new AvatarContext(() => props);
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
class={avatarVariants().base({ ...ctx.opts, class: props.class?.toString() })}
|
|
14
|
+
>
|
|
15
|
+
{@render props.children?.()}
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
import { type AvatarOpts } from "./context.svelte";
|
|
3
|
+
type Props = AvatarOpts & HTMLAttributes<HTMLDivElement>;
|
|
4
|
+
declare const Avatar: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type Avatar = ReturnType<typeof Avatar>;
|
|
6
|
+
export default Avatar;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AvatarVariants } from "@heroui/styles";
|
|
2
|
+
import { Context, type Getter } from "svelte-utils";
|
|
3
|
+
export type AvatarOpts = AvatarVariants;
|
|
4
|
+
export declare class AvatarContext extends Context {
|
|
5
|
+
readonly opts: AvatarOpts;
|
|
6
|
+
constructor(opts: Getter<AvatarOpts>);
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { buttonVariants } from "@heroui/styles";
|
|
3
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
4
|
+
import { type ButtonOpts, ButtonContext, Spinner } from "../../index.js";
|
|
5
|
+
import { useRipples } from "svelte-utils";
|
|
6
|
+
|
|
7
|
+
const {
|
|
8
|
+
focused,
|
|
9
|
+
hovered,
|
|
10
|
+
pending,
|
|
11
|
+
pressed,
|
|
12
|
+
disabled,
|
|
13
|
+
isIconOnly,
|
|
14
|
+
fullWidth,
|
|
15
|
+
size,
|
|
16
|
+
variant,
|
|
17
|
+
...props
|
|
18
|
+
}: ButtonOpts & HTMLButtonAttributes = $props();
|
|
19
|
+
|
|
20
|
+
const btn = new ButtonContext(() => ({
|
|
21
|
+
disabled,
|
|
22
|
+
focused,
|
|
23
|
+
fullWidth,
|
|
24
|
+
hovered,
|
|
25
|
+
isIconOnly,
|
|
26
|
+
pending,
|
|
27
|
+
pressed,
|
|
28
|
+
size,
|
|
29
|
+
variant,
|
|
30
|
+
}));
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<button
|
|
34
|
+
{...props}
|
|
35
|
+
{...btn.props}
|
|
36
|
+
{@attach useRipples()}
|
|
37
|
+
disabled={disabled ?? pending}
|
|
38
|
+
class={buttonVariants({
|
|
39
|
+
...btn.heroui,
|
|
40
|
+
class: props.class?.toString(),
|
|
41
|
+
})}
|
|
42
|
+
>
|
|
43
|
+
{@render Children()}
|
|
44
|
+
</button>
|
|
45
|
+
|
|
46
|
+
{#snippet Children()}
|
|
47
|
+
{#if pending}
|
|
48
|
+
<Spinner color="current" size="sm" />
|
|
49
|
+
{/if}
|
|
50
|
+
{@render props.children?.()}
|
|
51
|
+
{/snippet}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
2
|
+
import { type ButtonOpts } from "../../index.js";
|
|
3
|
+
type $$ComponentProps = ButtonOpts & HTMLButtonAttributes;
|
|
4
|
+
declare const Button: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
5
|
+
type Button = ReturnType<typeof Button>;
|
|
6
|
+
export default Button;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ButtonVariants } from "@heroui/styles";
|
|
2
|
+
import { Context, type Getter } from "svelte-utils";
|
|
3
|
+
export type ButtonOpts = {
|
|
4
|
+
focused?: boolean;
|
|
5
|
+
hovered?: boolean;
|
|
6
|
+
pending?: boolean;
|
|
7
|
+
pressed?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
} & ButtonVariants;
|
|
10
|
+
export declare class ButtonContext extends Context {
|
|
11
|
+
readonly opts: ButtonOpts;
|
|
12
|
+
constructor(opts: Getter<ButtonOpts>);
|
|
13
|
+
get props(): {
|
|
14
|
+
"data-pending"?: boolean | undefined;
|
|
15
|
+
"data-disabled": boolean | undefined;
|
|
16
|
+
"data-focused": boolean | undefined;
|
|
17
|
+
"data-pressed": boolean | undefined;
|
|
18
|
+
"data-focus-visible": boolean | undefined;
|
|
19
|
+
"data-hovered": boolean | undefined;
|
|
20
|
+
};
|
|
21
|
+
get heroui(): {
|
|
22
|
+
fullWidth: boolean | undefined;
|
|
23
|
+
isIconOnly: boolean | undefined;
|
|
24
|
+
size: "lg" | "md" | "sm" | undefined;
|
|
25
|
+
variant: "primary" | "secondary" | "danger" | "danger-soft" | "ghost" | "outline" | "tertiary" | undefined;
|
|
26
|
+
};
|
|
27
|
+
}
|