@soybeanjs/ui 0.22.4 → 0.23.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.
- package/README.md +7 -14
- package/README.zh-CN.md +7 -14
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/affix/affix.js +1 -1
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/types.d.ts +1 -1
- package/dist/components/anchor/anchor.js +1 -1
- package/dist/components/autocomplete/autocomplete.js +1 -1
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/backtop/backtop.js +1 -1
- package/dist/components/backtop/backtop.vue.d.ts +2 -3
- package/dist/components/backtop/types.d.ts +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/index.d.ts +1 -1
- package/dist/components/badge/types.d.ts +1 -1
- package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/button/button-group.js +1 -1
- package/dist/components/button/button-icon.vue.d.ts +1 -1
- package/dist/components/button/button-link.vue.d.ts +2 -2
- package/dist/components/button/button.js +1 -1
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/types.d.ts +1 -1
- package/dist/components/calendar/calendar.js +1 -1
- package/dist/components/calendar-range/calendar-range.js +1 -1
- package/dist/components/card/card.js +1 -1
- package/dist/components/carousel/carousel.js +1 -1
- package/dist/components/checkbox/checkbox-card-group.js +1 -1
- package/dist/components/checkbox/checkbox-card.js +1 -1
- package/dist/components/checkbox/checkbox-group.js +1 -1
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox/types.d.ts +1 -1
- package/dist/components/clipboard/clipboard.js +1 -1
- package/dist/components/clipboard/index.d.ts +1 -1
- package/dist/components/clipboard/types.d.ts +1 -1
- package/dist/components/collapsible/collapsible.js +1 -1
- package/dist/components/color-area/color-area.js +1 -1
- package/dist/components/color-field/color-field.js +1 -1
- package/dist/components/color-picker/color-picker.js +1 -1
- package/dist/components/color-picker/color-picker.vue.d.ts +1 -1
- package/dist/components/color-slider/color-slider.js +1 -1
- package/dist/components/color-slider/color-slider.vue.d.ts +1 -2
- package/dist/components/color-swatch/color-swatch.js +1 -1
- package/dist/components/color-swatch/index.d.ts +1 -1
- package/dist/components/color-swatch/types.d.ts +1 -1
- package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
- package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +1 -1
- package/dist/components/color-swatch-picker/index.d.ts +1 -1
- package/dist/components/color-swatch-picker/types.d.ts +1 -1
- package/dist/components/combobox/combobox.js +1 -1
- package/dist/components/command/command.js +1 -1
- package/dist/components/date-field/date-field.js +1 -1
- package/dist/components/date-picker/date-picker.js +1 -1
- package/dist/components/date-range-field/date-range-field.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +1 -1
- package/dist/components/dialog/dialog-provider.js +1 -1
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/drawer/drawer.js +1 -1
- package/dist/components/editable/editable.js +1 -1
- package/dist/components/empty/empty.js +1 -1
- package/dist/components/form/form-field-array.js +1 -1
- package/dist/components/form/form-field-base.js +1 -1
- package/dist/components/form/form-field.js +1 -1
- package/dist/components/form/form.js +1 -1
- package/dist/components/hover-card/hover-card.js +1 -1
- package/dist/components/input/input.js +1 -1
- package/dist/components/input-number/input-number.js +1 -1
- package/dist/components/input-otp/input-otp.js +1 -1
- package/dist/components/kbd/index.d.ts +1 -1
- package/dist/components/kbd/kbd.js +1 -1
- package/dist/components/kbd/types.d.ts +1 -1
- package/dist/components/label/label.js +1 -1
- package/dist/components/layout/layout-classic.js +1 -1
- package/dist/components/layout/layout.js +1 -1
- package/dist/components/link/link.js +1 -1
- package/dist/components/link/link.vue.d.ts +1 -1
- package/dist/components/list/list.js +1 -1
- package/dist/components/menu/context.js +1 -1
- package/dist/components/menubar/menubar.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +1 -1
- package/dist/components/page-tabs/index.d.ts +1 -1
- package/dist/components/page-tabs/page-tabs.js +1 -1
- package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
- package/dist/components/page-tabs/types.d.ts +1 -1
- package/dist/components/pagination/pagination.js +1 -1
- package/dist/components/pagination/types.d.ts +1 -1
- package/dist/components/password/password.js +1 -1
- package/dist/components/popconfirm/popconfirm.js +1 -1
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/progress/progress-circle.js +1 -1
- package/dist/components/progress/progress-provider.js +1 -1
- package/dist/components/progress/progress.js +1 -1
- package/dist/components/radio-group/radio-group-card.js +1 -1
- package/dist/components/radio-group/radio-group.js +1 -1
- package/dist/components/radio-group/types.d.ts +1 -1
- package/dist/components/scroll-area/scroll-area.js +1 -1
- package/dist/components/scroll-area/types.d.ts +5 -0
- package/dist/components/segment/index.d.ts +1 -1
- package/dist/components/segment/segment.js +1 -1
- package/dist/components/segment/types.d.ts +1 -1
- package/dist/components/select/select.js +1 -1
- package/dist/components/separator/separator.js +1 -1
- package/dist/components/separator/types.d.ts +1 -1
- package/dist/components/skeleton/index.d.ts +1 -1
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/skeleton/types.d.ts +1 -1
- package/dist/components/slider/slider.js +1 -1
- package/dist/components/spinner/spinner.js +1 -1
- package/dist/components/splitter/splitter-group.js +1 -1
- package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
- package/dist/components/splitter/types.d.ts +5 -0
- package/dist/components/stepper/stepper.js +1 -1
- package/dist/components/switch/index.d.ts +1 -1
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/switch/types.d.ts +1 -1
- package/dist/components/table/table-radio.js +1 -1
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/types.d.ts +1 -1
- package/dist/components/tabs/tabs.js +1 -1
- package/dist/components/tabs/types.d.ts +1 -1
- package/dist/components/tag/index.d.ts +1 -1
- package/dist/components/tag/tag.js +1 -1
- package/dist/components/tag/types.d.ts +1 -1
- package/dist/components/tags-input/tags-input.js +1 -1
- package/dist/components/textarea/index.d.ts +1 -1
- package/dist/components/textarea/textarea.js +1 -1
- package/dist/components/textarea/types.d.ts +1 -1
- package/dist/components/time-field/time-field.js +1 -1
- package/dist/components/time-range-field/time-range-field.js +1 -1
- package/dist/components/toast/toast-provider.js +1 -1
- package/dist/components/toggle/index.d.ts +1 -1
- package/dist/components/toggle/toggle.js +1 -1
- package/dist/components/toggle/types.d.ts +1 -1
- package/dist/components/toggle-group/index.d.ts +1 -1
- package/dist/components/toggle-group/toggle-group.js +1 -1
- package/dist/components/toggle-group/types.d.ts +1 -1
- package/dist/components/toolbar/toolbar.js +1 -1
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
- package/dist/components/tree-menu/tree-menu.js +1 -1
- package/dist/index.d.ts +14 -14
- package/dist/styles/accordion.js +1 -0
- package/dist/styles/affix.js +1 -0
- package/dist/styles/alert.d.ts +102 -0
- package/dist/styles/alert.js +1 -0
- package/dist/styles/anchor.js +1 -0
- package/dist/styles/autocomplete.js +1 -0
- package/dist/styles/avatar.js +1 -0
- package/dist/styles/backtop.js +1 -0
- package/dist/styles/badge.d.ts +73 -0
- package/dist/styles/badge.js +1 -0
- package/dist/styles/bottom-sheet.js +1 -0
- package/dist/styles/breadcrumb.js +1 -0
- package/dist/styles/button.d.ts +62 -0
- package/dist/styles/button.js +1 -0
- package/dist/styles/calendar-range.js +1 -0
- package/dist/styles/calendar.js +1 -0
- package/dist/styles/card.js +1 -0
- package/dist/styles/carousel.js +1 -0
- package/dist/styles/checkbox.d.ts +88 -0
- package/dist/styles/checkbox.js +1 -0
- package/dist/styles/clipboard.d.ts +1 -0
- package/dist/styles/clipboard.js +1 -0
- package/dist/styles/collapsible.js +1 -0
- package/dist/styles/color-area.js +1 -0
- package/dist/styles/color-field.js +1 -0
- package/dist/styles/color-picker.js +1 -0
- package/dist/styles/color-swatch-picker.d.ts +52 -0
- package/dist/styles/color-swatch-picker.js +1 -0
- package/dist/styles/color-swatch.d.ts +40 -0
- package/dist/styles/color-swatch.js +1 -0
- package/dist/styles/combobox.js +1 -0
- package/dist/styles/command.js +1 -0
- package/dist/styles/date-field.js +1 -0
- package/dist/styles/date-picker.js +1 -0
- package/dist/styles/date-range-field.js +1 -0
- package/dist/styles/date-range-picker.js +1 -0
- package/dist/styles/dialog.js +1 -0
- package/dist/styles/drawer.js +1 -0
- package/dist/styles/editable.js +1 -0
- package/dist/styles/empty.js +1 -0
- package/dist/styles/form.js +1 -0
- package/dist/styles/hover-card.js +1 -0
- package/dist/styles/input-number.js +1 -0
- package/dist/styles/input-otp.js +1 -0
- package/dist/styles/input.js +1 -0
- package/dist/styles/kbd.d.ts +29 -0
- package/dist/styles/kbd.js +1 -0
- package/dist/styles/label.js +1 -0
- package/dist/styles/layout.js +1 -0
- package/dist/styles/link.js +1 -0
- package/dist/styles/list.js +1 -0
- package/dist/styles/menu.js +1 -0
- package/dist/styles/menubar.js +1 -0
- package/dist/styles/navigation-menu.js +1 -0
- package/dist/styles/page-tabs.d.ts +60 -0
- package/dist/styles/page-tabs.js +1 -0
- package/dist/styles/pagination.d.ts +73 -0
- package/dist/styles/pagination.js +1 -0
- package/dist/styles/password.js +1 -0
- package/dist/styles/popconfirm.js +1 -0
- package/dist/styles/popover.js +1 -0
- package/dist/styles/progress.js +1 -0
- package/dist/styles/radio-group.d.ts +96 -0
- package/dist/{components/radio-group/variants.js → styles/radio-group.js} +1 -1
- package/dist/styles/scroll-area.js +1 -0
- package/dist/styles/segment.js +1 -0
- package/dist/styles/select.js +1 -0
- package/dist/styles/separator.d.ts +66 -0
- package/dist/styles/separator.js +1 -0
- package/dist/styles/skeleton.d.ts +29 -0
- package/dist/styles/skeleton.js +1 -0
- package/dist/styles/slider.js +1 -0
- package/dist/styles/spinner.js +1 -0
- package/dist/styles/splitter.js +1 -0
- package/dist/styles/stepper.js +1 -0
- package/dist/styles/switch.d.ts +75 -0
- package/dist/styles/switch.js +1 -0
- package/dist/styles/table.d.ts +124 -0
- package/dist/styles/table.js +1 -0
- package/dist/styles/tabs.d.ts +81 -0
- package/dist/styles/tabs.js +1 -0
- package/dist/styles/tag.d.ts +45 -0
- package/dist/styles/tag.js +1 -0
- package/dist/styles/tags-input.js +1 -0
- package/dist/styles/textarea.d.ts +64 -0
- package/dist/styles/textarea.js +1 -0
- package/dist/styles/time-range-field.js +1 -0
- package/dist/styles/toast.js +1 -0
- package/dist/styles/toggle-group.d.ts +79 -0
- package/dist/styles/toggle-group.js +1 -0
- package/dist/styles/toggle.d.ts +44 -0
- package/dist/styles/toggle.js +1 -0
- package/dist/styles/toolbar.js +1 -0
- package/dist/styles/tooltip.js +1 -0
- package/dist/styles/tree-menu.js +1 -0
- package/dist/styles.css +66 -49
- package/dist/theme/index.js +1 -1
- package/package.json +7 -8
- package/dist/components/accordion/variants.js +0 -1
- package/dist/components/affix/variants.js +0 -1
- package/dist/components/alert/variants.d.ts +0 -299
- package/dist/components/alert/variants.js +0 -1
- package/dist/components/anchor/variants.js +0 -1
- package/dist/components/autocomplete/variants.js +0 -1
- package/dist/components/avatar/variants.js +0 -1
- package/dist/components/backtop/variants.js +0 -1
- package/dist/components/badge/variants.d.ts +0 -200
- package/dist/components/badge/variants.js +0 -1
- package/dist/components/bottom-sheet/variants.js +0 -1
- package/dist/components/breadcrumb/variants.js +0 -1
- package/dist/components/button/variants.d.ts +0 -145
- package/dist/components/button/variants.js +0 -1
- package/dist/components/calendar/variants.js +0 -1
- package/dist/components/calendar-range/variants.js +0 -1
- package/dist/components/card/variants.js +0 -1
- package/dist/components/carousel/variants.js +0 -1
- package/dist/components/checkbox/variants.d.ts +0 -254
- package/dist/components/checkbox/variants.js +0 -1
- package/dist/components/clipboard/variants.d.ts +0 -1
- package/dist/components/collapsible/variants.js +0 -1
- package/dist/components/color-area/variants.js +0 -1
- package/dist/components/color-field/variants.js +0 -1
- package/dist/components/color-picker/variants.js +0 -1
- package/dist/components/color-swatch/variants.d.ts +0 -107
- package/dist/components/color-swatch/variants.js +0 -1
- package/dist/components/color-swatch-picker/variants.d.ts +0 -152
- package/dist/components/color-swatch-picker/variants.js +0 -1
- package/dist/components/combobox/variants.js +0 -1
- package/dist/components/command/variants.js +0 -1
- package/dist/components/date-field/variants.js +0 -1
- package/dist/components/date-picker/variants.js +0 -1
- package/dist/components/date-range-field/variants.js +0 -1
- package/dist/components/dialog/variants.js +0 -1
- package/dist/components/drawer/variants.js +0 -1
- package/dist/components/editable/variants.js +0 -1
- package/dist/components/empty/variants.js +0 -1
- package/dist/components/form/variants.js +0 -1
- package/dist/components/hover-card/variants.js +0 -1
- package/dist/components/input/variants.js +0 -1
- package/dist/components/input-number/variants.js +0 -1
- package/dist/components/input-otp/variants.js +0 -1
- package/dist/components/kbd/variants.d.ts +0 -59
- package/dist/components/kbd/variants.js +0 -1
- package/dist/components/label/variants.js +0 -1
- package/dist/components/layout/variants.js +0 -1
- package/dist/components/link/variants.js +0 -1
- package/dist/components/list/variants.js +0 -1
- package/dist/components/menu/variants.js +0 -1
- package/dist/components/menubar/variants.js +0 -1
- package/dist/components/navigation-menu/variants.js +0 -1
- package/dist/components/page-tabs/variants.d.ts +0 -182
- package/dist/components/page-tabs/variants.js +0 -1
- package/dist/components/pagination/variants.d.ts +0 -231
- package/dist/components/pagination/variants.js +0 -1
- package/dist/components/popconfirm/variants.js +0 -1
- package/dist/components/popover/variants.js +0 -1
- package/dist/components/progress/variants.js +0 -1
- package/dist/components/radio-group/variants.d.ts +0 -275
- package/dist/components/scroll-area/variants.js +0 -1
- package/dist/components/select/variants.js +0 -1
- package/dist/components/separator/variants.d.ts +0 -176
- package/dist/components/separator/variants.js +0 -1
- package/dist/components/skeleton/variants.d.ts +0 -59
- package/dist/components/skeleton/variants.js +0 -1
- package/dist/components/slider/variants.js +0 -1
- package/dist/components/spinner/variants.js +0 -1
- package/dist/components/splitter/variants.js +0 -1
- package/dist/components/stepper/variants.js +0 -1
- package/dist/components/switch/variants.d.ts +0 -209
- package/dist/components/switch/variants.js +0 -1
- package/dist/components/table/variants.d.ts +0 -428
- package/dist/components/table/variants.js +0 -1
- package/dist/components/tabs/variants.d.ts +0 -228
- package/dist/components/tabs/variants.js +0 -1
- package/dist/components/tag/variants.d.ts +0 -102
- package/dist/components/tag/variants.js +0 -1
- package/dist/components/tags-input/variants.js +0 -1
- package/dist/components/textarea/variants.d.ts +0 -182
- package/dist/components/textarea/variants.js +0 -1
- package/dist/components/toast/variants.js +0 -1
- package/dist/components/toggle/variants.d.ts +0 -99
- package/dist/components/toggle/variants.js +0 -1
- package/dist/components/toggle-group/variants.d.ts +0 -215
- package/dist/components/toggle-group/variants.js +0 -1
- package/dist/components/toolbar/variants.js +0 -1
- package/dist/components/tooltip/variants.js +0 -1
- package/dist/components/tree-menu/variants.js +0 -1
- package/dist/theme/context.d.ts +0 -1
- package/dist/theme/context.js +0 -1
- package/dist/theme/index.d.ts +0 -1
- package/dist/theme/merge.d.ts +0 -1
- package/dist/theme/merge.js +0 -1
- package/dist/theme/shared.d.ts +0 -1
- package/dist/theme/shared.js +0 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ SoybeanUI is built on a strict **two-layer separation** model:
|
|
|
21
21
|
┌─────────────────────────────────────────┐
|
|
22
22
|
│ @soybeanjs/ui (src/) │
|
|
23
23
|
│ S-prefixed components (SButton…) │
|
|
24
|
-
│ UnoCSS classes ·
|
|
24
|
+
│ UnoCSS classes · @soybeanjs/cva │
|
|
25
25
|
│ provideXUi(ui) ──────────────────┐ │
|
|
26
26
|
└────────────────────────────────────┼────┘
|
|
27
27
|
│ style injection
|
|
@@ -35,10 +35,10 @@ SoybeanUI is built on a strict **two-layer separation** model:
|
|
|
35
35
|
|
|
36
36
|
### Packages
|
|
37
37
|
|
|
38
|
-
| Package | Role
|
|
39
|
-
| ----------------------- |
|
|
40
|
-
| **@soybeanjs/headless** | Logic, state, a11y. Zero styles.
|
|
41
|
-
| **@soybeanjs/ui** | Styled wrappers. UnoCSS + `
|
|
38
|
+
| Package | Role | Components |
|
|
39
|
+
| ----------------------- | --------------------------------------------------- | --------------------------------- |
|
|
40
|
+
| **@soybeanjs/headless** | Logic, state, a11y. Zero styles. | 95 component dirs, 25 composables |
|
|
41
|
+
| **@soybeanjs/ui** | Styled wrappers. UnoCSS + `@soybeanjs/cva` recipes. | 91 `S`-prefixed components |
|
|
42
42
|
|
|
43
43
|
**Data flow is strictly one-way**: `headless` → `src`. The styled layer never imports from headless's internals — it injects style tokens via `provideXUi(computedUi)` which headless components read through `useUiContext()`.
|
|
44
44
|
|
|
@@ -48,17 +48,11 @@ Current Compact-style coverage also includes flows such as card, date-field, dia
|
|
|
48
48
|
|
|
49
49
|
### Style Injection
|
|
50
50
|
|
|
51
|
-
Every multi-slot headless component exposes a `provide{Name}Ui` function. The styled wrapper computes classes
|
|
51
|
+
Every multi-slot headless component exposes a `provide{Name}Ui` function. The styled wrapper computes classes with `@soybeanjs/cva` recipes and injects them:
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
54
|
// In the styled wrapper (src/)
|
|
55
|
-
const ui = computed(() =>
|
|
56
|
-
mergeVariants(
|
|
57
|
-
accordionVariants({ size: props.size }), // tv() output
|
|
58
|
-
props.ui, // user overrides
|
|
59
|
-
{ root: props.class } // class prop
|
|
60
|
-
)
|
|
61
|
-
);
|
|
55
|
+
const ui = computed(() => accordionVariants({ size: props.size }, props.ui, { root: props.class }));
|
|
62
56
|
provideAccordionUi(ui); // headless reads this via useAccordionUi()
|
|
63
57
|
```
|
|
64
58
|
|
|
@@ -67,7 +61,6 @@ provideAccordionUi(ui); // headless reads this via useAccordionUi()
|
|
|
67
61
|
- **`ThemeColor`** — 8 semantic colors: `primary` · `destructive` · `success` · `warning` · `info` · `carbon` · `secondary` · `accent`
|
|
68
62
|
- **`ThemeSize`** — 6 sizes: `xs` · `sm` · `md` · `lg` · `xl` · `2xl` (base 16px at `md`)
|
|
69
63
|
- **`ConfigProvider`** — sets global `dir`, `locale`, `nonce`, and default `tooltip` config for the entire component tree, including RTL layout switching
|
|
70
|
-
- **`cn()`** — Tailwind-aware class merge (`clsx` + `tailwind-merge`), used for conflict-free class composition
|
|
71
64
|
|
|
72
65
|
### Locale Support
|
|
73
66
|
|
package/README.zh-CN.md
CHANGED
|
@@ -21,7 +21,7 @@ SoybeanUI 采用严格的**双层分离**设计:
|
|
|
21
21
|
┌─────────────────────────────────────────┐
|
|
22
22
|
│ @soybeanjs/ui (src/) │
|
|
23
23
|
│ S 前缀组件 (SButton、SDialog…) │
|
|
24
|
-
│ UnoCSS 类名 ·
|
|
24
|
+
│ UnoCSS 类名 · @soybeanjs/cva │
|
|
25
25
|
│ provideXUi(ui) ──────────────────┐ │
|
|
26
26
|
└────────────────────────────────────┼────┘
|
|
27
27
|
│ 样式注入
|
|
@@ -35,10 +35,10 @@ SoybeanUI 采用严格的**双层分离**设计:
|
|
|
35
35
|
|
|
36
36
|
### 包结构
|
|
37
37
|
|
|
38
|
-
| 包 | 职责
|
|
39
|
-
| ----------------------- |
|
|
40
|
-
| **@soybeanjs/headless** | 逻辑、状态、a11y,零样式
|
|
41
|
-
| **@soybeanjs/ui** | 样式包装层。UnoCSS + `
|
|
38
|
+
| 包 | 职责 | 组件数量 |
|
|
39
|
+
| ----------------------- | -------------------------------------------- | ------------------------------- |
|
|
40
|
+
| **@soybeanjs/headless** | 逻辑、状态、a11y,零样式 | 95 个组件目录,25 个 composable |
|
|
41
|
+
| **@soybeanjs/ui** | 样式包装层。UnoCSS + `@soybeanjs/cva` recipe | 91 个带 `S` 前缀的组件 |
|
|
42
42
|
|
|
43
43
|
**数据流严格单向**:`headless` → `src`。样式层不会导入 headless 的内部实现,而是通过 `provideXUi(computedUi)` 注入样式 token,headless 组件再通过 `useUiContext()` 读取。
|
|
44
44
|
|
|
@@ -48,17 +48,11 @@ SoybeanUI 采用严格的**双层分离**设计:
|
|
|
48
48
|
|
|
49
49
|
### 样式注入机制
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
每个多插槽的 headless 组件都有对应的 `provide{Name}Ui` 函数。样式层通过 `@soybeanjs/cva` 的 recipe 计算类名后注入:
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
54
|
// 样式包装层 (src/) 中
|
|
55
|
-
const ui = computed(() =>
|
|
56
|
-
mergeVariants(
|
|
57
|
-
accordionVariants({ size: props.size }), // tv() 计算结果
|
|
58
|
-
props.ui, // 用户自定义覆盖
|
|
59
|
-
{ root: props.class } // class prop 合并
|
|
60
|
-
)
|
|
61
|
-
);
|
|
55
|
+
const ui = computed(() => accordionVariants({ size: props.size }, props.ui, { root: props.class }));
|
|
62
56
|
provideAccordionUi(ui); // headless 通过 useAccordionUi() 读取
|
|
63
57
|
```
|
|
64
58
|
|
|
@@ -67,7 +61,6 @@ provideAccordionUi(ui); // headless 通过 useAccordionUi() 读取
|
|
|
67
61
|
- **`ThemeColor`** — 8 种语义色:`primary` · `destructive` · `success` · `warning` · `info` · `carbon` · `secondary` · `accent`
|
|
68
62
|
- **`ThemeSize`** — 6 种尺寸:`xs` · `sm` · `md` · `lg` · `xl` · `2xl`(基准尺寸 `md` = 16px)
|
|
69
63
|
- **`ConfigProvider`** — 全局设置 `dir`、`locale`、`nonce` 及默认 `tooltip` 配置,应用于整个组件树,并支持 RTL 布局切换
|
|
70
|
-
- **`cn()`** — Tailwind 感知的类名合并工具(`clsx` + `tailwind-merge`),解决类名冲突
|
|
71
64
|
|
|
72
65
|
### 语言支持
|
|
73
66
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{accordionVariants as e}from"../../styles/accordion.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{AccordionCompact as h,provideAccordionUi as g}from"@soybeanjs/headless/accordion";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";const b=i({name:`SAccordion`,__name:`accordion`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},descriptionProps:{},collapsible:{type:Boolean,default:!0},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean,default:!0},modelValue:{},defaultValue:{},multiple:{},selectionBehavior:{}},emits:[`update:modelValue`],setup(i,{emit:b}){let x=i,S=b,C=p(),w=v(x,[`class`,`size`,`ui`]),T=_(S),E=t(()=>y(C).filter(e=>e!==`item`));return g(t(()=>e({size:x.size},x.ui,{root:x.class}))),(e,t)=>(c(),n(f(h),o(f(w),d(f(T))),r({item:m(t=>[u(e.$slots,`item`,s(a(t)))]),_:2},[l(E.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{affixVariants as e}from"../../styles/affix.js";import{computed as t,createBlock as n,defineComponent as r,guardReactiveProps as i,mergeProps as a,normalizeProps as o,openBlock as s,renderSlot as c,toHandlers as l,unref as u,withCtx as d}from"vue";import{useForwardListeners as f,useOmitProps as p}from"@soybeanjs/headless/composables";import{AffixCompact as m,provideAffixUi as h}from"@soybeanjs/headless/affix";const g=r({name:`SAffix`,__name:`affix`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},placeholderProps:{},contentProps:{},offsetTop:{},offsetBottom:{},target:{type:[String,Function,null]}},emits:[`change`],setup(r,{emit:g}){let _=r,v=g,y=p(_,[`class`,`ui`]),b=f(v);return h(t(()=>e(void 0,_.ui,{content:_.class}))),(e,t)=>(s(),n(u(m),a(u(y),l(u(b))),{default:d(t=>[c(e.$slots,`default`,o(i(t)))]),_:3},16))}});export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{alertVariants as e}from"../../styles/alert.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,mergeProps as a,openBlock as o,renderList as s,renderSlot as c,unref as l,useSlots as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{keysOf as p}from"@soybeanjs/utils";import{AlertCompact as m,provideAlertUi as h}from"@soybeanjs/headless/alert";const g=i({name:`SAlert`,__name:`alert`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`,`close`],setup(i,{emit:g}){let _=i,v=g,y=u(),b=f(_,[`class`,`size`,`color`,`variant`,`ui`]),x=t(()=>p(y));return h(t(()=>e({size:_.size,color:_.color,variant:_.variant},_.ui,{root:_.class}))),(e,t)=>(o(),n(l(m),a(l(b),{"onUpdate:open":t[0]||=e=>v(`update:open`,e)}),r({_:2},[s(x.value,t=>({name:t,fn:d(()=>[c(e.$slots,t)])}))]),1040))}});export{g as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AlertVariant } from "
|
|
1
|
+
import { AlertVariant } from "../../styles/alert.js";
|
|
2
2
|
import { AlertEmits, AlertExtendedUi, AlertProps, AlertSlots } from "./types.js";
|
|
3
3
|
import { _default } from "./alert.vue.js";
|
|
4
4
|
export type * from "@soybeanjs/headless/alert";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { AlertVariant } from "
|
|
2
|
+
import { AlertVariant } from "../../styles/alert.js";
|
|
3
3
|
import { AlertCompactEmits, AlertCompactProps, AlertCompactSlots, AlertUi } from "@soybeanjs/headless/alert";
|
|
4
4
|
import { ClassValue } from "@soybeanjs/headless/types";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{anchorVariants as e}from"../../styles/anchor.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,toHandlers as o,unref as s}from"vue";import{useForwardListeners as c,useOmitProps as l}from"@soybeanjs/headless/composables";import{AnchorCompact as u,provideAnchorUi as d}from"@soybeanjs/headless/anchor";const f=r({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{type:[Boolean,null,String,Object,Array]},sticky:{type:Boolean,default:!0},items:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(r,{emit:f}){let p=r,m=f,h=l(p,[`color`,`size`,`ui`,`class`,`sticky`]),g=c(m),_=t(()=>({"--soybean-anchor-offset-top":`${p.offsetTop}px`}));return d(t(()=>e({color:p.color,orientation:p.orientation,size:p.size,sticky:p.sticky},p.ui,{root:p.class}))),(e,t)=>(a(),n(s(u),i(s(h),{items:r.items,style:_.value},o(s(g))),null,16,[`items`,`style`]))}});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{autocompleteVariants as e}from"../../styles/autocomplete.js";import{computed as t,createBlock as n,createCommentVNode as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{AutocompleteCompact as y,provideAutocompleteUi as b}from"@soybeanjs/headless/autocomplete";const x=a({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=_(S,[`class`,`size`,`ui`]),E=g(C),D=t(()=>v(w));return b(t(()=>e({size:S.size},S.ui,{root:S.class}))),(e,t)=>(l(),n(p(y),s(p(T),{items:a.items},f(p(E))),i({_:2},[u(D.value,t=>({name:t,fn:h(n=>[r(` @vue-ignore ignore vue slot props type `),d(e.$slots,t,c(o(n)))])}))]),1040,[`items`]))}});export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{avatarVariants as e}from"../../styles/avatar.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,mergeProps as a,openBlock as o,renderList as s,renderSlot as c,unref as l,useSlots as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{keysOf as p}from"@soybeanjs/utils";import{AvatarCompact as m,provideAvatarUi as h}from"@soybeanjs/headless/avatar";const g=i({name:`SAvatar`,__name:`avatar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(i,{emit:g}){let _=i,v=g,y=u(),b=f(_,[`class`,`size`,`ui`]),x=t(()=>p(y));return h(t(()=>e({size:_.size},_.ui,{root:_.class}))),(e,t)=>(o(),n(l(m),a(l(b),{onLoadingStatusChange:t[0]||=e=>v(`loadingStatusChange`,e)}),r({_:2},[s(x.value,t=>({name:t,fn:d(()=>[c(e.$slots,t)])}))]),1040))}});export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{backtopVariants as e}from"../../styles/backtop.js";import t from"../icon/icon.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toHandlers as l,unref as u,withCtx as d}from"vue";import{useForwardListeners as f,useOmitProps as p}from"@soybeanjs/headless/composables";import{Backtop as m}from"@soybeanjs/headless/backtop";const h=a({name:`SBacktop`,__name:`backtop`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{default:`primary`},size:{default:`lg`},variant:{default:`solid`},shape:{default:`circle`},shadow:{default:`lg`},fitContent:{type:Boolean,default:!0},icon:{default:`lucide:arrow-up`},iconClass:{type:[Boolean,null,String,Object,Array]},iconProps:{},visibilityHeight:{},target:{},duration:{},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`change`,`click`],setup(a,{emit:h}){let g=a,_=h,v=p(g,[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`icon`,`iconClass`,`iconProps`]),y=f(_),b=n(()=>e({color:g.color,size:g.size,variant:g.variant,shape:g.shape,shadow:g.shadow,fitContent:g.fitContent},g.class));return(e,n)=>(s(),r(u(m),o(u(v),{class:b.value},l(u(y))),{default:d(()=>[c(e.$slots,`default`,{},()=>[i(t,o(a.iconProps,{icon:a.icon,class:a.iconClass}),null,16,[`icon`,`class`])])]),_:3},16,[`class`]))}});export{h as default};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { ButtonShadow, ButtonShape, ButtonVariant } from "
|
|
2
|
+
import { ButtonShadow, ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
3
3
|
import { BacktopProps } from "./types.js";
|
|
4
|
-
|
|
5
4
|
//#region src/components/backtop/backtop.vue.d.ts
|
|
6
5
|
declare var __VLS_8: {};
|
|
7
6
|
type __VLS_Slots = {} & {
|
|
@@ -15,8 +14,8 @@ declare const __VLS_base: import("vue").DefineComponent<BacktopProps, {}, {}, {}
|
|
|
15
14
|
onChange?: ((visible: boolean) => any) | undefined;
|
|
16
15
|
}>, {
|
|
17
16
|
icon: string;
|
|
18
|
-
color: ThemeColor;
|
|
19
17
|
size: ThemeSize;
|
|
18
|
+
color: ThemeColor;
|
|
20
19
|
shape: ButtonShape;
|
|
21
20
|
variant: ButtonVariant;
|
|
22
21
|
shadow: ButtonShadow;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { ButtonShadow, ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
2
3
|
import { IconProps } from "../icon/types.js";
|
|
3
|
-
import { ButtonShadow, ButtonShape, ButtonVariant } from "../button/variants.js";
|
|
4
4
|
import { BacktopEmits, BacktopProps } from "@soybeanjs/headless/backtop";
|
|
5
5
|
import { ClassValue } from "@soybeanjs/headless/types";
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{badgeVariants as e}from"../../styles/badge.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,mergeProps as a,openBlock as o,renderList as s,renderSlot as c,unref as l,useSlots as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{keysOf as p}from"@soybeanjs/utils";import{BadgeCompact as m,provideBadgeUi as h}from"@soybeanjs/headless/badge";const g=i({name:`SBadge`,__name:`badge`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(i,{emit:g}){let _=i,v=g,y=u(),b=f(_,[`class`,`color`,`size`,`ui`,`position`]),x=t(()=>p(y));return h(t(()=>e({color:_.color,size:_.size,position:_.position},_.ui,{root:_.class}))),(e,t)=>(o(),n(l(m),a(l(b),{"onUpdate:open":t[0]||=e=>v(`update:open`,e)}),r({_:2},[s(x.value,t=>({name:t,fn:d(()=>[c(e.$slots,t)])}))]),1040))}});export{g as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { BadgePosition } from "
|
|
2
|
+
import { BadgePosition } from "../../styles/badge.js";
|
|
3
3
|
import { BadgeCompactProps, BadgeRootEmits, BadgeUi } from "@soybeanjs/headless/badge";
|
|
4
4
|
import { ClassValue } from "@soybeanjs/headless/types";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bottomSheetVariants as e}from"../../styles/bottom-sheet.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{keysOf as _}from"@soybeanjs/utils";import{BottomSheetCompact as v,provideBottomSheetUi as y}from"@soybeanjs/headless/bottom-sheet";const b=i({name:`SBottomSheet`,__name:`bottom-sheet`,props:{title:{},description:{},icon:{},showClose:{type:Boolean,default:!0},pure:{type:Boolean},showCancel:{type:[String,Boolean]},cancelText:{},showConfirm:{type:Boolean,default:!0},confirmText:{},triggerProps:{},overlayProps:{},portalProps:{},popupProps:{},headerProps:{},contentProps:{},footerProps:{},titleProps:{},descriptionProps:{},closeProps:{},cancelProps:{},confirmProps:{},dir:{},isAlert:{type:Boolean},alertType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},activeSnapPoint:{},closeThreshold:{},shouldScaleBackground:{type:Boolean,default:!0},setBackgroundColorOnScale:{type:Boolean,default:!0},scrollLockTimeout:{},fixed:{type:Boolean},dismissible:{type:Boolean,default:!0},nested:{type:Boolean},direction:{},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean},preventScrollRestoration:{type:Boolean},snapPoints:{},fadeFromIndex:{},handleProps:{},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},emits:[`update:open`,`click`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`confirm`,`cancel`,`drag`,`release`,`close`,`update:activeSnapPoint`],setup(i,{emit:b}){let x=i,S=b,C=p(),w=g(x,[`class`,`size`,`ui`]),T=h(S),E=t(()=>_(C));return y(t(()=>e({size:x.size},x.ui,{popup:x.class}))),(e,t)=>(c(),n(f(v),o(f(w),d(f(T))),r({_:2},[l(E.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{breadcrumbVariants as e}from"../../styles/breadcrumb.js";import{computed as t,createBlock as n,createCommentVNode as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{BreadcrumbCompact as y,provideBreadcrumbUi as b}from"@soybeanjs/headless/breadcrumb";const x=a({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},linkProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=_(S,[`class`,`size`,`ui`]),E=g(C),D=t(()=>v(w));return b(t(()=>e({size:S.size},S.ui,{root:S.class}))),(e,t)=>(l(),n(p(y),s(p(T),f(p(E))),i({_:2},[u(D.value,t=>({name:t,fn:h(n=>[r(` @vue-ignore ignore vue slot props type `),d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{buttonGroupVariants as e}from"../../styles/button.js";import{useConfigProvider as t}from"../config-provider/context.js";import{provideButtonGroupContext as n}from"./context.js";import{computed as r,createBlock as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{Primitive as f}from"@soybeanjs/headless/primitive";import{transformPropsToContext as p}from"@soybeanjs/headless/shared";const m=a({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{},class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=a,h=d(m,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),g=t(`ButtonGroup`),_=r(()=>e({orientation:m.orientation},m.class)),v=r(()=>m.dir??g.dir.value);return n(p(m,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(s(),i(l(f),o(l(h),{class:_.value,dir:v.value}),{default:u(()=>[c(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{m as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeColor } from "../../theme/types.js";
|
|
2
|
-
import { ButtonShape, ButtonVariant } from "
|
|
2
|
+
import { ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
3
3
|
import { ButtonIconProps } from "./types.js";
|
|
4
4
|
//#region src/components/button/button-icon.vue.d.ts
|
|
5
5
|
declare const __VLS_export: import("vue").DefineComponent<ButtonIconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonIconProps> & Readonly<{}>, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonVariant } from "
|
|
1
|
+
import { ButtonVariant } from "../../styles/button.js";
|
|
2
2
|
import { ButtonLinkProps } from "./types.js";
|
|
3
3
|
|
|
4
4
|
//#region src/components/button/button-link.vue.d.ts
|
|
@@ -11,9 +11,9 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
default?: (props: typeof __VLS_14) => any;
|
|
12
12
|
};
|
|
13
13
|
declare const __VLS_base: import("vue").DefineComponent<ButtonLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonLinkProps> & Readonly<{}>, {
|
|
14
|
+
replace: boolean;
|
|
14
15
|
variant: ButtonVariant;
|
|
15
16
|
disabled: boolean;
|
|
16
|
-
replace: boolean;
|
|
17
17
|
external: boolean;
|
|
18
18
|
viewTransition: boolean;
|
|
19
19
|
noRel: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{buttonVariants as e}from"../../styles/button.js";import{useButtonGroupContext as t}from"./context.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{Button as d}from"@soybeanjs/headless/button";const f=i({name:`SButton`,__name:`button`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`],setup(i,{emit:f}){let p=i,m=f,h=t(),g=u(p,[`class`,`size`,`color`,`variant`,`shape`,`shadow`,`disabled`,`fitContent`]),_=n(()=>{let{size:t,color:n,variant:r,shape:i,shadow:a,fitContent:o}=h||{};return e({size:p.size||t?.value,color:p.color||n?.value,variant:p.variant||r?.value,shape:p.shape||i?.value,shadow:p.shadow||a?.value,fitContent:p.fitContent||o?.value},p.class)}),v=n(()=>p.disabled||h?.disabled.value);return(e,t)=>(o(),r(c(d),a(c(g),{class:_.value,disabled:v.value,onClick:t[0]||=e=>m(`click`,e)}),{default:l(()=>[s(e.$slots,`leading`),s(e.$slots,`default`),s(e.$slots,`trailing`)]),_:3},16,[`class`,`disabled`]))}});export{f as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonShadow, ButtonShape, ButtonVariant } from "
|
|
1
|
+
import { ButtonShadow, ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
2
2
|
import { ButtonEmits, ButtonGroupProps, ButtonIconProps, ButtonLinkProps, ButtonLoadingProps, ButtonProps } from "./types.js";
|
|
3
3
|
import { _default } from "./button.vue.js";
|
|
4
4
|
import { _default as _default$1 } from "./button-loading.vue.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { ButtonShadow, ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
2
3
|
import { IconProps } from "../icon/types.js";
|
|
3
4
|
import { LinkProps } from "../link/types.js";
|
|
4
|
-
import { ButtonShadow, ButtonShape, ButtonVariant } from "./variants.js";
|
|
5
5
|
import { ButtonEmits, ButtonProps } from "@soybeanjs/headless/button";
|
|
6
6
|
import { Align, ClassValue, DataOrientation, Direction } from "@soybeanjs/headless/types";
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../icon/icon.js";import{calendarVariants as n}from"../../styles/calendar.js";import r from"../select/select.js";import{computed as i,createBlock as a,createSlots as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderSlot as m,toDisplayString as h,toHandlers as g,unref as _,withCtx as v}from"vue";import{useForwardListeners as y,useOmitProps as b}from"@soybeanjs/headless/composables";import{useLocaleMessages as x}from"@soybeanjs/headless";import{CalendarCompact as S,provideCalendarUi as C}from"@soybeanjs/headless/calendar";const w=l({name:`SCalendar`,__name:`calendar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},dir:{},locale:{},modelValue:{},defaultValue:{},multiple:{},placeholder:{},defaultPlaceholder:{},disabled:{type:Boolean},readonly:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},numberOfMonths:{},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`],setup(l,{emit:w}){let T=l,E=w,D=b(T,[`class`,`size`,`ui`]),O=y(E),k=x(),A=i(()=>({"aria-label":k.value.calendar.selectMonth})),j=i(()=>({"aria-label":k.value.calendar.selectYear})),M=i(()=>n({size:T.size},T.ui,{root:T.class})),N=i(()=>e[T.size||`md`]);return C(M),(e,n)=>(p(),a(_(S),d(_(D),g(_(O))),o({prev:v(n=>[m(e.$slots,`prev`,f(u(n)),()=>[c(t,{icon:`lucide:chevron-left`})])]),next:v(n=>[m(e.$slots,`next`,f(u(n)),()=>[c(t,{icon:`lucide:chevron-right`})])]),"head-cell":v(t=>[m(e.$slots,`head-cell`,f(u(t)),()=>[s(h(t.label),1)])]),day:v(t=>[m(e.$slots,`day`,f(u(t)),()=>[s(h(t.dayValue),1)])]),default:v(t=>[m(e.$slots,`default`,f(u(t)))]),_:2},[e.$slots.heading?{name:`heading`,fn:v(t=>[m(e.$slots,`heading`,f(u(t)))]),key:`0`}:{name:`heading`,fn:v(({monthOptions:e,yearOptions:t,selectedMonth:n,selectedYear:i,onMonthChange:a,onYearChange:o})=>[c(r,{size:N.value,disabled:l.disabled,clearable:!1,items:e,"model-value":n,"trigger-props":A.value,ui:{trigger:`w-fit`},"onUpdate:modelValue":a},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`]),c(r,{size:N.value,disabled:l.disabled,clearable:!1,items:t,"model-value":i,"trigger-props":j.value,ui:{popup:`max-h-72`,trigger:`w-fit`},"onUpdate:modelValue":o},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`])]),key:`1`}]),1040))}});export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../select/select.js";import{calendarRangeVariants as n}from"../../styles/calendar-range.js";import{computed as r,createBlock as i,createCommentVNode as a,createSlots as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderList as p,renderSlot as m,toHandlers as h,unref as g,useSlots as _,withCtx as v}from"vue";import{useForwardListeners as y,useOmitProps as b}from"@soybeanjs/headless/composables";import{keysOf as x}from"@soybeanjs/utils";import{useLocaleMessages as S}from"@soybeanjs/headless";import{CalendarRangeCompact as C,provideCalendarRangeUi as w}from"@soybeanjs/headless/calendar-range";const T=c({name:`SCalendarRange`,__name:`calendar-range`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},allowNonContiguousRanges:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},maximumDays:{},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},isDateHighlightable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},fixedDate:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`],setup(c,{emit:T}){let E=c,D=T,O=_(),k=b(E,[`class`,`ui`,`size`]),A=y(D),j=S(),M=r(()=>({"aria-label":j.value.calendar.selectMonth})),N=r(()=>({"aria-label":j.value.calendar.selectYear})),P=r(()=>x(O).filter(e=>e!==`heading`)),F=r(()=>n({size:E.size},E.ui,{root:E.class})),I=r(()=>e[E.size||`md`]);return w(F),(e,n)=>(f(),i(g(C),u(g(k),h(g(A))),o({_:2},[p(P.value,t=>({name:t,fn:v(n=>[a(` @vue-expect-error ignore slot props type `),m(e.$slots,t,d(l(n)))])})),e.$slots.heading?{name:`heading`,fn:v(t=>[m(e.$slots,`heading`,d(l(t)))]),key:`0`}:{name:`heading`,fn:v(({monthOptions:e,yearOptions:n,selectedMonth:r,selectedYear:i,onMonthChange:a,onYearChange:o})=>[s(t,{size:I.value,disabled:c.disabled,clearable:!1,items:e,"model-value":r,"trigger-props":M.value,ui:{trigger:`w-fit`},"onUpdate:modelValue":a},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`]),s(t,{size:I.value,disabled:c.disabled,clearable:!1,items:n,"model-value":i,"trigger-props":N.value,ui:{popup:`max-h-72`,trigger:`w-fit`},"onUpdate:modelValue":o},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`])]),key:`1`}]),1040))}});export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cardVariants as e}from"../../styles/card.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,useSlots as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{CardCompact as p,provideCardUi as m}from"@soybeanjs/headless/card";const h=i({name:`SCard`,__name:`card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},scrollable:{type:Boolean,default:!0},split:{type:Boolean},title:{},description:{},headerProps:{},contentProps:{},footerProps:{},titleRootProps:{},titleProps:{},descriptionProps:{},defaultOpen:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let h=i,g=f(h,[`class`,`size`,`ui`,`scrollable`,`split`]),_=u();return m(t(()=>e({size:h.size,scrollable:h.scrollable,split:h.split},h.ui,{root:h.class}))),(e,t)=>(s(),n(l(p),o(a(l(g))),r({default:d(()=>[c(e.$slots,`default`)]),_:2},[_.header?{name:`header`,fn:d(()=>[c(e.$slots,`header`)]),key:`0`}:void 0,_[`title-leading`]?{name:`title-leading`,fn:d(()=>[c(e.$slots,`title-leading`)]),key:`1`}:void 0,_.title?{name:`title`,fn:d(()=>[c(e.$slots,`title`)]),key:`2`}:void 0,_[`title-trailing`]?{name:`title-trailing`,fn:d(()=>[c(e.$slots,`title-trailing`)]),key:`3`}:void 0,_.extra?{name:`extra`,fn:d(()=>[c(e.$slots,`extra`)]),key:`4`}:void 0,_.description?{name:`description`,fn:d(()=>[c(e.$slots,`description`)]),key:`5`}:void 0,_.footer?{name:`footer`,fn:d(()=>[c(e.$slots,`footer`)]),key:`6`}:void 0]),1040))}});export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{carouselVariants as e}from"../../styles/carousel.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{keysOf as _}from"@soybeanjs/utils";import{CarouselCompact as v,provideCarouselUi as y}from"@soybeanjs/headless/carousel";const b=i({name:`SCarousel`,__name:`carousel`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},floatNav:{type:Boolean},slides:{},contentProps:{},containerProps:{},itemProps:{},controlProps:{},navigationProps:{},previousProps:{},nextProps:{},dir:{},orientation:{},options:{},plugins:{}},emits:[`init`],setup(i,{emit:b}){let x=i,S=b,C=p(),w=g(x,[`class`,`ui`,`size`,`floatNav`]),T=h(S),E=t(()=>_(C).filter(e=>e!==`item`));return y(t(()=>e({size:x.size,orientation:x.orientation,floatNav:x.floatNav},x.ui,{root:x.class}))),(e,t)=>(c(),n(f(v),o(f(w),d(f(T))),r({item:m(t=>[u(e.$slots,`item`,s(a(t)))]),_:2},[l(E.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{checkboxCardVariants as e}from"../../styles/checkbox.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,unref as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{CheckboxCardGroupCompact as c,provideCheckboxCardUi as l}from"@soybeanjs/headless/checkbox";const u=r({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean,default:!0},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(r,{emit:u}){let d=r,f=u,p=s(d,[`class`,`ui`,`color`,`size`,`shape`]),m=t(()=>e({color:d.color,size:d.size,shape:d.shape},d.ui,{groupRoot:d.class}));return l(m),(e,t)=>(a(),n(o(c),i(o(p),{"content-class":m.value.content,"text-content-class":m.value.textContent,"icon-class":m.value.icon,"description-class":m.value.description,"onUpdate:modelValue":t[0]||=e=>f(`update:modelValue`,e)}),null,16,[`content-class`,`text-content-class`,`icon-class`,`description-class`]))}});export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{checkboxCardVariants as e}from"../../styles/checkbox.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{useOmitProps as l}from"@soybeanjs/headless/composables";import{CheckboxCardCompact as u,provideCheckboxCardUi as d}from"@soybeanjs/headless/checkbox";const f=r({name:`SCheckboxCard`,__name:`checkbox-card`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(r,{emit:f}){let p=r,m=f,h=l(p,[`class`,`ui`,`color`,`size`,`shape`]);return d(t(()=>e({color:p.color,size:p.size,shape:p.shape},p.ui,{root:p.class}))),(e,t)=>(a(),n(s(u),i(s(h),{"onUpdate:modelValue":t[0]||=e=>m(`update:modelValue`,e)}),{description:c(()=>[o(e.$slots,`description`)]),default:c(()=>[o(e.$slots,`default`)]),_:3},16))}});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{checkboxVariants as e}from"../../styles/checkbox.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,unref as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{CheckboxGroupCompact as c,provideCheckboxUi as l}from"@soybeanjs/headless/checkbox";const u=r({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean,default:!0},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(r,{emit:u}){let d=r,f=u,p=s(d,[`class`,`ui`,`color`,`size`,`shape`]);return l(t(()=>e({color:d.color,size:d.size,shape:d.shape,orientation:d.orientation},d.ui,{groupRoot:d.class}))),(e,t)=>(a(),n(o(c),i(o(p),{"onUpdate:modelValue":t[0]||=e=>f(`update:modelValue`,e)}),null,16))}});export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{checkboxVariants as e}from"../../styles/checkbox.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{useOmitProps as l}from"@soybeanjs/headless/composables";import{CheckboxCompact as u,provideCheckboxUi as d}from"@soybeanjs/headless/checkbox";const f=r({name:`SCheckbox`,__name:`checkbox`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(r,{emit:f}){let p=r,m=f,h=l(p,[`class`,`ui`,`color`,`size`,`shape`]);return d(t(()=>e({color:p.color,size:p.size,shape:p.shape},p.ui,{root:p.class}))),(e,t)=>(a(),n(s(u),i(s(h),{"onUpdate:modelValue":t[0]||=e=>m(`update:modelValue`,e)}),{default:c(()=>[o(e.$slots,`default`)]),_:3},16))}});export{f as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { CheckboxShape } from "
|
|
2
|
+
import { CheckboxShape } from "../../styles/checkbox.js";
|
|
3
3
|
import { CheckboxCardCompactEmits, CheckboxCardCompactProps, CheckboxCardGroupCompactEmits, CheckboxCardGroupCompactProps, CheckboxCardGroupOptionData, CheckboxCardUi, CheckboxCompactEmits, CheckboxCompactProps, CheckboxGroupCompactEmits, CheckboxGroupCompactProps, CheckboxGroupOptionData, CheckboxUi } from "@soybeanjs/headless/checkbox";
|
|
4
4
|
import { ClassValue, DefinedValue } from "@soybeanjs/headless/types";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{buttonVariants as e}from"../../styles/button.js";import"../../styles/clipboard.js";import{computed as t,createBlock as n,defineComponent as r,guardReactiveProps as i,mergeProps as a,normalizeProps as o,openBlock as s,renderSlot as c,toHandlers as l,unref as u,withCtx as d}from"vue";import{useForwardListeners as f,useOmitProps as p}from"@soybeanjs/headless/composables";import{Clipboard as m}from"@soybeanjs/headless/clipboard";const h=r({name:`SClipboard`,__name:`clipboard`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},fitContent:{type:Boolean},value:{},copiedDuration:{},legacy:{type:Boolean},copyIcon:{},copiedIcon:{},copyText:{},copiedText:{},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`,`copied`,`copyError`],setup(r,{emit:h}){let g=r,_=f(h),v=p(g,[`class`,`color`,`size`,`variant`,`shape`,`fitContent`]),y=t(()=>e({color:g.color,size:g.size,variant:g.variant,shape:g.shape,fitContent:g.fitContent},g.class));return(e,t)=>(s(),n(u(m),a(u(v),{class:y.value},l(u(_))),{leading:d(t=>[c(e.$slots,`leading`,o(i(t)))]),default:d(t=>[c(e.$slots,`default`,o(i(t)))]),trailing:d(t=>[c(e.$slots,`trailing`,o(i(t)))]),_:3},16,[`class`]))}});export{h as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonShape, ButtonVariant } from "
|
|
1
|
+
import { ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
2
2
|
import { ClipboardEmits, ClipboardProps, ClipboardSlotProps } from "./types.js";
|
|
3
3
|
import { _default } from "./clipboard.vue.js";
|
|
4
4
|
export type * from "@soybeanjs/headless/clipboard";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { ButtonShape, ButtonVariant } from "
|
|
2
|
+
import { ButtonShape, ButtonVariant } from "../../styles/button.js";
|
|
3
3
|
import { ClipboardEmits, ClipboardProps, ClipboardSlotProps } from "@soybeanjs/headless/clipboard";
|
|
4
4
|
import { ClassValue } from "@soybeanjs/headless/types";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{collapsibleVariants as e}from"../../styles/collapsible.js";import{computed as t,createBlock as n,defineComponent as r,guardReactiveProps as i,mergeProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{CollapsibleRoot as f,provideCollapsibleUi as p}from"@soybeanjs/headless/collapsible";const m=r({name:`SCollapsible`,__name:`collapsible`,props:{size:{},ui:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean,default:!0},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(r,{emit:m}){let h=r,g=m,_=d(h,[`class`,`size`,`ui`]);return p(t(()=>e({size:h.size},h.ui))),(e,t)=>(s(),n(l(f),a(l(_),{"onUpdate:open":t[0]||=e=>g(`update:open`,e)}),{default:u(t=>[c(e.$slots,`default`,o(i(t)))]),_:3},16))}});export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{colorAreaVariants as e}from"../../styles/color-area.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,toHandlers as o,unref as s}from"vue";import{useForwardListeners as c,useOmitProps as l}from"@soybeanjs/headless/composables";import{ColorAreaCompact as u,provideColorAreaUi as d}from"@soybeanjs/headless/color-area";const f=r({name:`SColorArea`,__name:`color-area`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},areaProps:{},thumbProps:{},modelValue:{},defaultValue:{},colorSpace:{},format:{},xChannel:{},yChannel:{},disabled:{type:Boolean},xName:{},yName:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:color`,`change`,`changeEnd`],setup(r,{emit:f}){let p=r,m=c(f),h=l(p,[`class`,`size`,`ui`]);return d(t(()=>e({size:p.size},p.ui,{root:p.class}))),(e,t)=>(a(),n(s(u),i(s(h),o(s(m))),null,16))}});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{colorFieldVariants as e}from"../../styles/color-field.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,toHandlers as o,unref as s}from"vue";import{useForwardListeners as c,useOmitProps as l}from"@soybeanjs/headless/composables";import{ColorFieldCompact as u,provideColorFieldUi as d}from"@soybeanjs/headless/color-field";const f=r({name:`SColorField`,__name:`color-field`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputProps:{},modelValue:{},defaultValue:{},colorSpace:{},channel:{},format:{},placeholder:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},step:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:color`],setup(r,{emit:f}){let p=r,m=c(f),h=l(p,[`class`,`size`,`ui`]);return d(t(()=>e({size:p.size},p.ui,{root:p.class}))),(e,t)=>(a(),n(s(u),i(s(h),o(s(m))),null,16))}});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{colorAreaVariants as e}from"../../styles/color-area.js";import{colorFieldVariants as t}from"../../styles/color-field.js";import{popoverVariants as n}from"../../styles/popover.js";import{colorSwatchVariants as r}from"../../styles/color-swatch.js";import{colorSwatchPickerVariants as i}from"../../styles/color-swatch-picker.js";import{sliderVariants as a}from"../../styles/slider.js";import{tabsVariants as o}from"../../styles/tabs.js";import{colorPickerVariants as s}from"../../styles/color-picker.js";import{computed as c,createBlock as l,defineComponent as u,mergeProps as d,openBlock as f,toHandlers as p,unref as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{provideColorAreaUi as _}from"@soybeanjs/headless/color-area";import{provideColorFieldUi as v}from"@soybeanjs/headless/color-field";import{ColorPickerCompact as y,provideColorPickerUi as b}from"@soybeanjs/headless/color-picker";import{provideColorSwatchUi as x}from"@soybeanjs/headless/color-swatch";import{provideColorSwatchPickerUi as S}from"@soybeanjs/headless/color-swatch-picker";import{provideColorSliderUi as C}from"@soybeanjs/headless/color-slider";import{providePopoverUi as w}from"@soybeanjs/headless/popover";import{provideTabsUi as T}from"@soybeanjs/headless/tabs";const E=u({name:`SColorPicker`,__name:`color-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},showAlpha:{type:Boolean,default:!0},showFields:{type:Boolean,default:!0},showSwatches:{type:Boolean,default:!0},swatches:{},swatchProps:{},segmentProps:{},areaProps:{},hueSliderProps:{},alphaSliderProps:{},alphaFieldProps:{},fieldProps:{},swatchPickerProps:{},modelValue:{},defaultValue:{},format:{},defaultFormat:{},colorSpace:{},disabled:{type:Boolean},name:{},required:{type:Boolean},placement:{},showArrow:{type:Boolean,default:!0},triggerProps:{},portalProps:{},positionerProps:{},popupProps:{},arrowProps:{},closeProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:modelValue`,`update:color`,`update:format`,`change`,`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(u,{emit:E}){let D=u,O=E,k=g(D,[`class`,`size`,`ui`]),A=h(O),j=c(()=>s({size:D.size},D.ui,{trigger:D.class})),M=c(()=>n({size:D.size},{popup:D.ui?.popup})),N=c(()=>e({size:D.size})),P=c(()=>t({size:D.size})),F=c(()=>r({size:D.size,shape:`square`})),I=c(()=>i({size:D.size,shape:`square`})),L=c(()=>a({size:D.size})),R=c(()=>o({size:D.size,orientation:`horizontal`,shape:`square`,fill:`auto`,enableIndicator:!0}));return b(j),w(M),_(N),v(P),S(I),C(L),x(F),T(R),(e,t)=>(f(),l(m(y),d(m(k),p(m(A))),null,16))}});export{E as default};
|