@soybeanjs/ui 0.28.2 → 0.29.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +143 -177
  2. package/README.zh-CN.md +144 -178
  3. package/dist/components/alert/alert.vue.d.ts +2 -2
  4. package/dist/components/autocomplete/autocomplete.vue.d.ts +2 -2
  5. package/dist/components/backtop/backtop.vue.d.ts +1 -1
  6. package/dist/components/button/button-icon.vue.d.ts +1 -1
  7. package/dist/components/button/button-link.vue.d.ts +1 -1
  8. package/dist/components/button/button-loading.vue.d.ts +2 -2
  9. package/dist/components/color-picker/color-picker.vue.d.ts +3 -3
  10. package/dist/components/combobox/combobox.vue.d.ts +2 -2
  11. package/dist/components/config-provider/config-provider.js +1 -1
  12. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +2 -2
  13. package/dist/components/context-menu/context-menu-radio.vue.d.ts +2 -2
  14. package/dist/components/date-picker/date-picker.js +1 -1
  15. package/dist/components/date-picker/date-picker.vue.d.ts +2 -2
  16. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +2 -2
  17. package/dist/components/dialog/dialog.vue.d.ts +3 -3
  18. package/dist/components/drawer/drawer.vue.d.ts +3 -3
  19. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +2 -2
  20. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +2 -2
  21. package/dist/components/link/link.vue.d.ts +1 -1
  22. package/dist/components/menubar/menubar.vue.d.ts +2 -2
  23. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -2
  24. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  25. package/dist/components/popconfirm/popconfirm.vue.d.ts +3 -3
  26. package/dist/components/select/select.vue.d.ts +2 -2
  27. package/dist/styles/alert.d.ts +3 -3
  28. package/dist/styles/badge.d.ts +1 -1
  29. package/dist/styles/button.d.ts +2 -2
  30. package/dist/styles/checkbox.d.ts +1 -1
  31. package/dist/styles/navigation-menu.js +1 -1
  32. package/dist/styles/pagination.d.ts +1 -1
  33. package/dist/styles/radio-group.d.ts +1 -1
  34. package/dist/styles/skeleton.d.ts +1 -1
  35. package/dist/styles/switch.d.ts +2 -2
  36. package/dist/styles/table.d.ts +2 -2
  37. package/dist/styles/tabs.d.ts +1 -1
  38. package/dist/styles/tag.d.ts +2 -2
  39. package/dist/styles/toggle-group.d.ts +1 -1
  40. package/dist/styles/toggle.d.ts +2 -2
  41. package/package.json +17 -62
package/README.zh-CN.md CHANGED
@@ -1,10 +1,4 @@
1
- <p align="center">
2
- <a href="https://github.com/soybeanjs/soybean-ui">
3
- <img src="./public/logo.svg" alt="Logo" width="150" />
4
- </a>
5
- </p>
6
-
7
- # SoybeanUI
1
+ # @soybeanjs/ui
8
2
 
9
3
  [English](./README.md) | 中文
10
4
 
@@ -13,180 +7,37 @@
13
7
  [![npm downloads](https://img.shields.io/npm/dt/@soybeanjs/ui)](https://www.npmjs.com/package/@soybeanjs/ui)
14
8
  [![github stars](https://img.shields.io/github/stars/soybeanjs/soybean-ui)](https://github.com/soybeanjs/soybean-ui)
15
9
 
16
- SoybeanUI 是一个优雅、现代、可访问且高质量的 UI 组件库,具有 shadcn-like 设计,适用于 Vue 3,构建在强大的 Headless 基础之上。它提供了一套全面、可访问、可定制且高性能的组件。
17
-
18
- ## 📚 架构
19
-
20
- SoybeanUI 采用严格的**双层分离**设计:
21
-
22
- ```
23
- ┌─────────────────────────────────────────┐
24
- │ @soybeanjs/ui (src/) │
25
- │ S 前缀组件 (SButton、SDialog…) │
26
- │ UnoCSS 类名 · @soybeanjs/cva │
27
- │ provideXUi(ui) ──────────────────┐ │
28
- └────────────────────────────────────┼────┘
29
- │ 样式注入
30
- ┌────────────────────────────────────▼────┐
31
- │ @soybeanjs/headless (headless/) │
32
- │ 逻辑 · 状态 · A11y · 键盘导航 │
33
- │ useUiContext() 读取注入的样式类名 │
34
- │ 零样式 — 可配合任意 CSS 方案 │
35
- └─────────────────────────────────────────┘
36
- ```
37
-
38
- ### 包结构
39
-
40
- | 包 | 职责 | 组件数量 |
41
- | ----------------------- | -------------------------------------------- | ------------------------------- |
42
- | **@soybeanjs/headless** | 逻辑、状态、a11y,零样式 | 95 个组件目录,25 个 composable |
43
- | **@soybeanjs/ui** | 样式包装层。UnoCSS + `@soybeanjs/cva` recipe | 91 个带 `S` 前缀的组件 |
10
+ 一套优雅、现代、可访问的、具有 shadcn 风格设计的 Vue 3 UI 组件库,基于 `@soybeanjs/headless` 构建。
44
11
 
45
- **数据流严格单向**:`headless` `src`。样式层不会导入 headless 的内部实现,而是通过 `provideXUi(computedUi)` 注入样式 token,headless 组件再通过 `useUiContext()` 读取。
12
+ ## 📖 简介
46
13
 
47
- 部分多插槽 headless 组件还会暴露 `Compact` 聚合层,例如 `AccordionCompact` `TableCompact`。它们把条目遍历以及默认内容 / 图标组合放在 headless 层完成,而 UI 层只负责样式和 props 转发。
48
-
49
- 目前采用这类 Compact 约定式组合的能力还覆盖了 card、date-field、dialog、editable、hover-card、layout、navigation-menu、pagination、popover、stepper 等稳定结构场景。
50
-
51
- ### 样式注入机制
52
-
53
- 每个多插槽的 headless 组件都有对应的 `provide{Name}Ui` 函数。样式层通过 `@soybeanjs/cva` 的 recipe 计算类名后注入:
14
+ `@soybeanjs/ui` 提供开箱即用的带样式组件,由 UnoCSS 和 `@soybeanjs/cva` class-variance 配方驱动。每个组件都是对应 `@soybeanjs/headless` 原语的 `S`-前缀包装层,遵循 **样式注入** 模式:样式包装层计算类名并通过 `provide{Name}Ui` 注入,headless 组件通过 `useUiContext()` 读取。
54
15
 
55
16
  ```ts
56
- // 样式包装层 (src/)
17
+ // 样式注入 单向数据流
57
18
  const ui = computed(() => accordionVariants({ size: props.size }, props.ui, { root: props.class }));
58
19
  provideAccordionUi(ui); // headless 通过 useAccordionUi() 读取
59
20
  ```
60
21
 
61
- ### 主题系统
62
-
63
- - **`ThemeColor`** — 8 种语义色:`primary` · `destructive` · `success` · `warning` · `info` · `carbon` · `secondary` · `accent`
64
- - **`ThemeSize`** — 6 种尺寸:`xs` · `sm` · `md` · `lg` · `xl` · `2xl`(基准尺寸 `md` = 16px)
65
- - **`ConfigProvider`** — 全局设置 `dir`、`locale`、`nonce` 及默认 `tooltip` 配置,应用于整个组件树,并支持 RTL 布局切换
66
-
67
- ### 语言支持
68
-
69
- `ConfigProvider` 当前支持以下 locale 文案包:
70
-
71
- | 代码 | 语言 |
72
- | ------- | ------------ |
73
- | `zh-CN` | 简体中文 |
74
- | `zh-TW` | 繁體中文 |
75
- | `en` | 英语 |
76
- | `ar` | 阿拉伯语 |
77
- | `ja` | 日语 |
78
- | `ko` | 韩语 |
79
- | `de` | 德语 |
80
- | `fr` | 法语 |
81
- | `es` | 西班牙语 |
82
- | `pt-BR` | 巴西葡萄牙语 |
83
- | `ru` | 俄语 |
84
- | `tr` | 土耳其语 |
85
- | `id` | 印度尼西亚语 |
86
-
87
- 默认只有 `en` 和 `zh-CN` 会被预注册。`registerLocale` 支持两种注册方式:
88
-
89
- - 直接传入 `LocaleRegistry` 对象。`@soybeanjs/headless/locale/{code}` 导出的内置语言文件已经是这种结构,并且自带 `dir` 元数据。
90
- - 传入 locale key 和 `LocaleMessages`,用于快速注册一个轻量自定义语言。
91
-
92
- 简写形式 `registerLocale(key, messages)` 会将 key 作为语言名,并在未显式提供方向时回退到 `ltr`。如果你需要像 `ar` 这样的 `rtl` 元数据,请优先使用对象形式。
93
-
94
- ```ts
95
- import { en, registerLocale } from '@soybeanjs/headless/locale';
96
- import type { LocaleMessages } from '@soybeanjs/headless/locale';
97
- import ar from '@soybeanjs/headless/locale/ar';
98
-
99
- registerLocale(ar);
100
-
101
- const customMessages: LocaleMessages = {
102
- ...en.messages,
103
- pagination: {
104
- ...en.messages.pagination,
105
- nextPage: '下一页 →',
106
- prevPage: '← 上一页'
107
- }
108
- };
109
-
110
- registerLocale('custom', customMessages);
111
- ```
112
-
113
- ### 包导出
114
-
115
- **@soybeanjs/headless** 提供精细化子路径导出:
116
-
117
- ```ts
118
- import { AccordionRoot } from '@soybeanjs/headless'; // 所有组件
119
- import { useControllableState } from '@soybeanjs/headless/composables'; // 25 个 composable
120
- import { transformPropsToContext } from '@soybeanjs/headless/shared'; // 纯 TS 工具
121
- import { createMonth } from '@soybeanjs/headless/date'; // 日期工具
122
- import * as Headless from '@soybeanjs/headless/namespaced'; // 命名空间导入
123
- import type { AccordionUiSlot } from '@soybeanjs/headless/accordion'; // 单组件类型
124
- import type { UiClass } from '@soybeanjs/headless/types'; // 共享类型导出
125
- ```
126
-
127
- **@soybeanjs/ui** 导出:
128
-
129
- ```ts
130
- import { SButton, SAccordion } from '@soybeanjs/ui'; // 所有组件
131
- import '@soybeanjs/ui/styles.css'; // 预构建的 UnoCSS 样式表
132
- // 同时提供:@soybeanjs/ui/nuxt · @soybeanjs/ui/resolver
133
- ```
134
-
135
- ## 🛠 开发工作流
136
-
137
- 如果您在仓库内新增公共组件、调整导出入口或修改 API 描述,请通过官方脚本同步生成产物,而不是手动编辑生成文件。
138
-
139
- ```bash
140
- pnpm sui headless # 同步 headless 组件名称与命名空间导出
141
- pnpm sui ui # 同步 ui 组件名称
142
- pnpm sui api # 重新生成 docs api json 与 locale 英文基线数据
143
- pnpm sui api-locales # 仅刷新 api locale 模板数据
144
- pnpm sui changelog # 重新生成 docs changelog json 与 locale 英文基线数据
145
- pnpm sui api-translate -- --locale zh-CN
146
- pnpm sui changelog-translate -- --locale zh-CN
147
- ```
148
-
149
- 当前文档站默认通过 `UsageCode`、`PlaygroundGallery` 与 `ComponentApi` 渲染组件文档;组件详情页与 `/releases` 还会消费 `docs/src/generated/changelog/` 和 `docs/src/generated/changelog-locales/` 下的版本日志生成数据。
150
-
151
- 因此,一旦公共 API 或示例交付面变化,也要同步维护 docs、playground 示例和 API 生成数据;如果调整了 changelog 映射、发布页展示或 changelog locale 模板,也要同步更新 changelog 生成数据。
152
-
153
22
  ## 📦 安装
154
23
 
155
- ### 使用带样式的 UI 库 (推荐)
156
-
157
- 如果您想要具有现代设计的现成组件:
158
-
159
24
  ```bash
160
25
  pnpm add @soybeanjs/ui
161
26
  ```
162
27
 
163
- ### 使用 Headless 库
164
-
165
- 如果您想从头开始构建自己的设计系统:
166
-
167
- ```bash
168
- pnpm add @soybeanjs/headless
169
- ```
170
-
171
28
  ## 🚀 使用方法
172
29
 
173
- ### @soybeanjs/ui
174
-
175
- 1. **引入样式**
30
+ ### 1. 引入样式
176
31
 
177
- 在您的主入口文件 (例如 `main.ts`) 中引入 CSS 文件:
32
+ 在主入口文件(如 `main.ts`)中引入预构建的 UnoCSS 样式表:
178
33
 
179
34
  ```ts
180
35
  import '@soybeanjs/ui/styles.css';
181
36
  ```
182
37
 
183
- 2. **全局注册 (可选)**
38
+ ### 2. 按需引入(推荐)
184
39
 
185
- 您可以全局注册组件,也可以按需引入。
186
-
187
- 3. **按需引入 (推荐)**
188
-
189
- 我们推荐使用 `unplugin-vue-components` 来自动引入组件。
40
+ 使用 `unplugin-vue-components` 配合内置解析器实现自动导入:
190
41
 
191
42
  ```ts
192
43
  // vite.config.ts
@@ -202,7 +53,7 @@ export default defineConfig({
202
53
  });
203
54
  ```
204
55
 
205
- 4. **Nuxt 模块**
56
+ ### 3. Nuxt 模块
206
57
 
207
58
  ```ts
208
59
  // nuxt.config.ts
@@ -211,37 +62,152 @@ export default defineNuxtConfig({
211
62
  });
212
63
  ```
213
64
 
214
- ### @soybeanjs/headless
65
+ ### 4. 直接引入
215
66
 
216
- Headless 组件提供功能但不包含样式。
67
+ ```vue
68
+ <script setup>
69
+ import { SButton, SDialog } from '@soybeanjs/ui';
70
+ </script>
71
+
72
+ <template>
73
+ <SDialog>
74
+ <SButton>打开对话框</SButton>
75
+ </SDialog>
76
+ </template>
77
+ ```
78
+
79
+ ## ✨ 特性
217
80
 
218
- 对于数据驱动的多插槽场景,如果组件提供了 `Compact` 版本,优先使用它。它是 headless 层的约定式组合入口,而基础分片仍然保留给需要完全手动拼装的场景。
81
+ - **shadcn 风格设计**: 现代、简洁的美学,受 shadcn/ui 启发。
82
+ - **可访问性**: 基于 `@soybeanjs/headless` 原语构建,全面支持 WAI-ARIA。
83
+ - **RTL 就绪**: 通过 `ConfigProvider` 即可切换 LTR / RTL 布局。
84
+ - **多级自定义**: 通过 `ui` prop 覆盖单个插槽类名,也可替换整个样式层。
85
+ - **主题系统**: 8 种语义色彩和 6 种尺寸,通过 `ConfigProvider` 控制。
86
+ - **轻量可摇树**: 按需引入,每个组件独立 Tree-shakable。
87
+ - **类型安全**: 严格 TypeScript 编写,完整类型支持。
88
+ - **Nuxt 就绪**: 提供官方 Nuxt 模块,支持自动注册。
89
+ - **unplugin 支持**: 提供 `unplugin-vue-components` 自动导入解析器。
90
+
91
+ ## 🎨 主题系统
92
+
93
+ ### 主题色彩
94
+
95
+ | 色彩 | Token | 用途 |
96
+ | --------------- | ------------- | -------------------- |
97
+ | **Primary** | `primary` | 主要操作、激活状态 |
98
+ | **Destructive** | `destructive` | 删除、错误、危险操作 |
99
+ | **Success** | `success` | 确认、成功状态 |
100
+ | **Warning** | `warning` | 警告、待处理状态 |
101
+ | **Info** | `info` | 信息提示 |
102
+ | **Carbon** | `carbon` | 中性背景、表面色 |
103
+ | **Secondary** | `secondary` | 次要操作、弱化元素 |
104
+ | **Accent** | `accent` | 高亮、徽章 |
105
+
106
+ ### 主题尺寸
107
+
108
+ | 尺寸 | 基准 (rem) | 像素对照 |
109
+ | ----- | ---------- | ------------ |
110
+ | `xs` | 0.75 | 12px |
111
+ | `sm` | 0.875 | 14px |
112
+ | `md` | 1 | 16px(默认) |
113
+ | `lg` | 1.125 | 18px |
114
+ | `xl` | 1.25 | 20px |
115
+ | `2xl` | 1.5 | 24px |
219
116
 
220
117
  ```vue
221
118
  <script setup>
222
- import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from '@soybeanjs/headless';
119
+ import { SConfigProvider, SButton } from '@soybeanjs/ui';
223
120
  </script>
224
121
 
225
122
  <template>
226
- <AccordionRoot>
227
- <AccordionItem value="item-1">
228
- <AccordionTrigger>Is it accessible?</AccordionTrigger>
229
- <AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent>
230
- </AccordionItem>
231
- </AccordionRoot>
123
+ <SConfigProvider :theme="{ color: 'primary', size: 'md' }">
124
+ <SButton>点击我</SButton>
125
+ </SConfigProvider>
232
126
  </template>
233
127
  ```
234
128
 
235
- ## 特性
129
+ ## 🌐 语言支持
130
+
131
+ `@soybeanjs/ui` 通过 `ConfigProvider` 继承 `@soybeanjs/headless` 的国际化支持:
132
+
133
+ | 代码 | 语言 |
134
+ | ------- | ------------ |
135
+ | `zh-CN` | 简体中文 |
136
+ | `zh-TW` | 繁體中文 |
137
+ | `en` | 英语 |
138
+ | `ar` | 阿拉伯语 |
139
+ | `ja` | 日语 |
140
+ | `ko` | 韩语 |
141
+ | `de` | 德语 |
142
+ | `fr` | 法语 |
143
+ | `es` | 西班牙语 |
144
+ | `pt-BR` | 巴西葡萄牙语 |
145
+ | `ru` | 俄语 |
146
+ | `tr` | 土耳其语 |
147
+ | `id` | 印度尼西亚语 |
148
+
149
+ ```vue
150
+ <template>
151
+ <SConfigProvider :locale="zhCN">
152
+ <App />
153
+ </SConfigProvider>
154
+ </template>
155
+ ```
156
+
157
+ ## 📚 包结构
158
+
159
+ ```
160
+ packages/ui/src/
161
+ ├── components/ # 86 个样式组件目录(SButton、SDialog、SSelect…)
162
+ ├── styles/ # UnoCSS 样式配方和层级定义
163
+ ├── theme/ # 主题 Token、色彩梯度和尺寸映射
164
+ ├── constants/ # 组件和主题常量
165
+ ├── nuxt/ # Nuxt 模块入口
166
+ ├── resolver/ # unplugin-vue-components 解析器
167
+ └── index.ts # 主 barrel 导出
168
+ ```
169
+
170
+ ### 包导出
171
+
172
+ ```ts
173
+ import { SButton, SAccordion } from '@soybeanjs/ui'; // 所有组件
174
+ import '@soybeanjs/ui/styles.css'; // 预构建 UnoCSS 样式表
175
+ // 另见: @soybeanjs/ui/nuxt · @soybeanjs/ui/resolver
176
+ ```
177
+
178
+ ## 🧩 组件
179
+
180
+ `@soybeanjs/ui` 提供 86 个 `S`-前缀样式组件,每个都包装一个 `@soybeanjs/headless` 原语:
181
+
182
+ | 分类 | 组件 |
183
+ | ------------ | ------------------------------------------------------------------- |
184
+ | **布局** | `SAccordion`、`SCard`、`SDialog`、`SDrawer`、`SPopover`、`STooltip` |
185
+ | **表单** | `SButton`、`SCheckbox`、`SInput`、`SSelect`、`SSwitch`、`STextarea` |
186
+ | **导航** | `SBreadcrumb`、`SPagination`、`SStepper`、`STabs` |
187
+ | **数据** | `STable`、`SDataList`、`STree` |
188
+ | **反馈** | `SAlert`、`SBadge`、`SToast`、`SProgress` |
189
+ | **排版** | `SHeading`、`SText`、`SCode`、`SKbd` |
190
+ | **日期时间** | `SCalendar`、`SDatePicker`、`STimePicker` |
191
+ | **媒体** | `SAvatar`、`SCarousel`、`SImage` |
192
+
193
+ ## 🔧 自定义组件
194
+
195
+ 通过 `ui` prop 覆盖单个插槽的类名:
196
+
197
+ ```vue
198
+ <template>
199
+ <SAccordion :ui="{ trigger: 'bg-blue-100 hover:bg-blue-200 rounded-lg' }">
200
+ <SAccordionItem value="item-1">
201
+ <SAccordionTrigger>自定义样式的触发器</SAccordionTrigger>
202
+ <SAccordionContent>这里是内容</SAccordionContent>
203
+ </SAccordionItem>
204
+ </SAccordion>
205
+ </template>
206
+ ```
207
+
208
+ ## 📖 文档
236
209
 
237
- - **可访问性**:遵循 WAI-ARIA 模式,内置角色、焦点管理与键盘导航。
238
- - **RTL 就绪**:通过 `ConfigProvider` 即可在已支持组件间切换 LTR / RTL 布局。
239
- - **Headless 优先**:逻辑与样式完全分离—单独使用 `@soybeanjs/headless` 可构建任意设计系统。
240
- - **类型安全**:严格 TypeScript 编写,所有 props、emits、slot 及 context 均有完整类型。
241
- - **多级自定义**:通过 `ui` prop 覆盖单个橪位类名,也可替换整个样式层。
242
- - **轻量可摇树**:每个组件独立 Tree-shakable,按需引入。
243
- - **Nuxt 就绪**:提供官方 Nuxt 模块,支持组件自动注册(`@soybeanjs/ui/nuxt`)。
244
- - **unplugin 支持**:提供 `unplugin-vue-components` 自动导入解析器(`@soybeanjs/ui/resolver`)。
210
+ 完整文档、Playground 示例和组件 API 参考,请访问 [SoybeanUI 文档站点](https://soybeanjs.github.io/soybean-ui)。
245
211
 
246
212
  ## 💝 致谢
247
213
 
@@ -3,11 +3,11 @@ import { AlertProps, AlertSlots } from "./types.js";
3
3
  //#region src/components/alert/alert.vue.d.ts
4
4
  type __VLS_Slots = AlertSlots;
5
5
  declare const __VLS_base: import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- "update:open": (open: boolean) => any;
7
6
  close: (event: PointerEvent) => any;
7
+ "update:open": (open: boolean) => any;
8
8
  }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
9
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
10
9
  onClose?: ((event: PointerEvent) => any) | undefined;
10
+ "onUpdate:open"?: ((open: boolean) => any) | undefined;
11
11
  }>, {
12
12
  open: boolean;
13
13
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -5,8 +5,8 @@ import { AutocompleteSingleOptionData } from "@soybeanjs/headless/autocomplete";
5
5
  declare const __VLS_export: <T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
6
  props: import("vue").PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
7
7
  onSelect?: ((item: T) => any) | undefined;
8
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
8
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
9
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
10
10
  onHighlight?: ((payload?: import("@soybeanjs/headless").AutocompleteHighlightPayload | undefined) => any) | undefined;
11
11
  }> & (typeof globalThis extends {
12
12
  __VLS_PROPS_FALLBACK: infer P;
@@ -14,7 +14,7 @@ declare const __VLS_export: <T extends AutocompleteSingleOptionData = Autocomple
14
14
  expose: (exposed: {}) => void;
15
15
  attrs: any;
16
16
  slots: AutocompleteSlots<T>;
17
- emit: ((evt: "select", item: T) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "highlight", payload?: import("@soybeanjs/headless").AutocompleteHighlightPayload | undefined) => void);
17
+ emit: ((evt: "select", item: T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "highlight", payload?: import("@soybeanjs/headless").AutocompleteHighlightPayload | undefined) => void);
18
18
  }>) => import("vue").VNode & {
19
19
  __ctx?: Awaited<typeof __VLS_setup>;
20
20
  };
@@ -16,8 +16,8 @@ declare const __VLS_base: import("vue").DefineComponent<BacktopProps, {}, {}, {}
16
16
  icon: string;
17
17
  size: ThemeSize;
18
18
  color: ThemeColor;
19
- shape: ButtonShape;
20
19
  variant: ButtonVariant;
20
+ shape: ButtonShape;
21
21
  shadow: ButtonShadow;
22
22
  fitContent: boolean;
23
23
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -4,8 +4,8 @@ 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<{}>, {
6
6
  color: ThemeColor;
7
- shape: ButtonShape;
8
7
  variant: ButtonVariant;
8
+ shape: ButtonShape;
9
9
  fitContent: boolean;
10
10
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
11
  declare const _default: typeof __VLS_export;
@@ -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;
15
14
  variant: ButtonVariant;
16
15
  disabled: boolean;
16
+ replace: boolean;
17
17
  external: boolean;
18
18
  viewTransition: boolean;
19
19
  noRel: boolean;
@@ -17,9 +17,9 @@ type __VLS_Slots = {} & {
17
17
  trailing?: (props: typeof __VLS_33) => any;
18
18
  };
19
19
  declare const __VLS_base: import("vue").DefineComponent<ButtonLoadingProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonLoadingProps> & Readonly<{}>, {
20
- loadingIcon: string | import("vue").Component | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
20
+ loadingIcon: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
21
21
  [key: string]: any;
22
- }> | null;
22
+ }> | import("vue").Component | null;
23
23
  loadingPosition: Align;
24
24
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
25
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -2,7 +2,6 @@ import { ColorPickerProps } from "./types.js";
2
2
 
3
3
  //#region src/components/color-picker/color-picker.vue.d.ts
4
4
  declare const __VLS_export: import("vue").DefineComponent<ColorPickerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
- "update:modelValue": (value: string) => any;
6
5
  "update:open": (value: boolean) => any;
7
6
  escapeKeyDown: (event: KeyboardEvent) => any;
8
7
  pointerDownOutside: (event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any;
@@ -10,11 +9,11 @@ declare const __VLS_export: import("vue").DefineComponent<ColorPickerProps, {},
10
9
  interactOutside: (event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any;
11
10
  openAutoFocus: (event: Event) => any;
12
11
  closeAutoFocus: (event: Event) => any;
12
+ "update:modelValue": (value: string) => any;
13
13
  change: (value: string) => any;
14
14
  "update:color": (value: import("@soybeanjs/headless/types").NormalizedColor) => any;
15
15
  "update:format": (value: import("@soybeanjs/headless/types").ColorFormat) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<ColorPickerProps> & Readonly<{
17
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
18
17
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
19
18
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
19
  onPointerDownOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any) | undefined;
@@ -22,15 +21,16 @@ declare const __VLS_export: import("vue").DefineComponent<ColorPickerProps, {},
22
21
  onInteractOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any) | undefined;
23
22
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
23
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
24
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
25
25
  onChange?: ((value: string) => any) | undefined;
26
26
  "onUpdate:color"?: ((value: import("@soybeanjs/headless/types").NormalizedColor) => any) | undefined;
27
27
  "onUpdate:format"?: ((value: import("@soybeanjs/headless/types").ColorFormat) => any) | undefined;
28
28
  }>, {
29
29
  open: boolean;
30
+ showArrow: boolean;
30
31
  showAlpha: boolean;
31
32
  showFields: boolean;
32
33
  showSwatches: boolean;
33
- showArrow: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
35
  declare const _default: typeof __VLS_export;
36
36
  //#endregion
@@ -4,7 +4,6 @@ import { ComboboxProps, ComboboxSlots } from "./types.js";
4
4
  declare const __VLS_export: <M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: import("vue").PublicProps & __VLS_PrettifyLocal<ComboboxProps<M> & {
6
6
  onSelect?: ((event: import("@soybeanjs/headless").SelectEvent<string>) => any) | undefined;
7
- "onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
8
7
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
9
8
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
10
9
  onPointerDownOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any) | undefined;
@@ -12,6 +11,7 @@ declare const __VLS_export: <M extends boolean = false>(__VLS_props: NonNullable
12
11
  onInteractOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any) | undefined;
13
12
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
14
13
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
15
15
  onHighlight?: ((payload?: import("@soybeanjs/headless/composables").CollectionItemData<import("@soybeanjs/headless").ListboxCollectionItemData> | undefined) => any) | undefined;
16
16
  onPlaced?: (() => any) | undefined;
17
17
  }> & (typeof globalThis extends {
@@ -20,7 +20,7 @@ declare const __VLS_export: <M extends boolean = false>(__VLS_props: NonNullable
20
20
  expose: (exposed: {}) => void;
21
21
  attrs: any;
22
22
  slots: ComboboxSlots<M>;
23
- emit: ((evt: "select", event: import("@soybeanjs/headless").SelectEvent<string>) => void) & ((evt: "update:modelValue", value: M extends true ? string[] : string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "highlight", payload?: import("@soybeanjs/headless/composables").CollectionItemData<import("@soybeanjs/headless").ListboxCollectionItemData> | undefined) => void) & ((evt: "placed") => void);
23
+ emit: ((evt: "select", event: import("@soybeanjs/headless").SelectEvent<string>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", value: M extends true ? string[] : string) => void) & ((evt: "highlight", payload?: import("@soybeanjs/headless/composables").CollectionItemData<import("@soybeanjs/headless").ListboxCollectionItemData> | undefined) => void) & ((evt: "placed") => void);
24
24
  }>) => import("vue").VNode & {
25
25
  __ctx?: Awaited<typeof __VLS_setup>;
26
26
  };
@@ -1 +1 @@
1
- import{themeSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../dialog/dialog-provider.js";import n from"../progress/progress-provider.js";import r from"../toast/toast-provider.js";import{provideConfigProviderContext as i}from"./context.js";import a from"../icon/icon.js";import{createBlock as o,createCommentVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,h as d,mergeProps as f,normalizeProps as p,openBlock as m,renderSlot as h,shallowRef as g,unref as _,watch as v,watchEffect as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{useStyleTag as S}from"@vueuse/core";import{ConfigProvider as C}from"@soybeanjs/headless/config-provider";import{isClient as w,isNuxt as T,transformPropsToContext as E}from"@soybeanjs/headless/shared";import{createShadcnTheme as D,isDefaultPresetOptions as O}from"@soybeanjs/shadcn-theme";const k=l({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},progress:{},toast:{},customToast:{type:Boolean},dir:{},locale:{},nonce:{},tooltip:{},iconRender:{},messages:{}},setup(l){let k=l,A=x(k,[`iconRender`,`theme`,`size`,`iconify`,`progress`,`toast`,`customToast`]),j=k.iconRender??(e=>d(a,{icon:e,ssr:T}));i({...E(k),iconRender:j});let M=g(``),N=()=>{let{getCss:e}=D(k.theme);M.value=e(k.theme,k.theme.radius)};return S(M,{id:`__SoybeanUI_theme`}),y(()=>{if(!w)return;let t=e[k.size??`md`];document.documentElement.style.fontSize=`${t}px`},{flush:`post`}),v(()=>k.theme,()=>{w&&(O(k.theme)||N())},{deep:!0,flush:`post`,immediate:!0}),(e,i)=>(m(),o(_(C),f(_(A),{"icon-render":_(j)}),{default:b(()=>[h(e.$slots,`default`),k.customToast?s(`v-if`,!0):(m(),o(r,p(f({key:0},k.toast)),null,16)),c(t),c(n,p(u(k.progress)),null,16)]),_:3},16,[`icon-render`]))}});export{k as default};
1
+ import{themeSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../dialog/dialog-provider.js";import n from"../progress/progress-provider.js";import r from"../toast/toast-provider.js";import{provideConfigProviderContext as i}from"./context.js";import a from"../icon/icon.js";import{createBlock as o,createCommentVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,h as d,mergeProps as f,normalizeProps as p,openBlock as m,renderSlot as h,shallowRef as g,unref as _,watch as v,watchEffect as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{useStyleTag as S}from"@vueuse/core";import{ConfigProvider as C}from"@soybeanjs/headless/config-provider";import{isClient as w,transformPropsToContext as T}from"@soybeanjs/headless/shared";import{createShadcnTheme as E}from"@soybeanjs/shadcn-theme";const D=l({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},progress:{},toast:{},customToast:{type:Boolean},dir:{},locale:{},nonce:{},tooltip:{},iconRender:{},messages:{}},setup(l){let D=l,O=x(D,[`iconRender`,`theme`,`size`,`iconify`,`progress`,`toast`,`customToast`]),k=D.iconRender??(e=>d(a,{icon:e,ssr:import.meta.env.SSR}));i({...T(D),iconRender:k});let A=g(``),j=()=>{let{getCss:e}=E(D.theme);A.value=e(D.theme,D.theme.radius)};return S(A,{id:`__SoybeanUI_theme`}),y(()=>{if(!w)return;let t=e[D.size??`md`];document.documentElement.style.fontSize=`${t}px`},{flush:`post`}),v(()=>D.theme,()=>{w&&j()},{deep:!0,flush:`post`,immediate:!0}),(e,i)=>(m(),o(_(C),f(_(O),{"icon-render":_(k)}),{default:b(()=>[h(e.$slots,`default`),D.customToast?s(`v-if`,!0):(m(),o(r,p(f({key:0},D.toast)),null,16)),c(t),c(n,p(u(D.progress)),null,16)]),_:3},16,[`icon-render`]))}});export{D as default};
@@ -5,7 +5,6 @@ import { DefinedValue } from "@soybeanjs/headless/types";
5
5
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
6
  props: import("vue").PublicProps & __VLS_PrettifyLocal<ContextMenuCheckboxProps<T> & {
7
7
  onSelect?: ((item: import("@soybeanjs/headless").MenuCheckboxOptionData<T>, event: Event) => any) | undefined;
8
- "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
9
8
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
10
9
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
11
10
  onPointerDownOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any) | undefined;
@@ -13,6 +12,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
13
12
  onInteractOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any) | undefined;
14
13
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
15
14
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
16
16
  onEntryFocus?: ((event: Event) => any) | undefined;
17
17
  }> & (typeof globalThis extends {
18
18
  __VLS_PROPS_FALLBACK: infer P;
@@ -20,7 +20,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
20
20
  expose: (exposed: {}) => void;
21
21
  attrs: any;
22
22
  slots: ContextMenuCheckboxSlots<T>;
23
- emit: ((evt: "select", item: import("@soybeanjs/headless").MenuCheckboxOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
23
+ emit: ((evt: "select", item: import("@soybeanjs/headless").MenuCheckboxOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "entryFocus", event: Event) => void);
24
24
  }>) => import("vue").VNode & {
25
25
  __ctx?: Awaited<typeof __VLS_setup>;
26
26
  };
@@ -5,7 +5,6 @@ import { AcceptableBooleanValue } from "@soybeanjs/headless/types";
5
5
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
6
  props: import("vue").PublicProps & __VLS_PrettifyLocal<ContextMenuRadioProps<T> & {
7
7
  onSelect?: ((item: import("@soybeanjs/headless").MenuRadioOptionData<T>, event: Event) => any) | undefined;
8
- "onUpdate:modelValue"?: ((payload: Exclude<T, undefined>) => any) | undefined;
9
8
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
10
9
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
11
10
  onPointerDownOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any) | undefined;
@@ -13,6 +12,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
13
12
  onInteractOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any) | undefined;
14
13
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
15
14
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((payload: Exclude<T, undefined>) => any) | undefined;
16
16
  onEntryFocus?: ((event: Event) => any) | undefined;
17
17
  }> & (typeof globalThis extends {
18
18
  __VLS_PROPS_FALLBACK: infer P;
@@ -20,7 +20,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
20
20
  expose: (exposed: {}) => void;
21
21
  attrs: any;
22
22
  slots: ContextMenuRadioSlots<T>;
23
- emit: ((evt: "select", item: import("@soybeanjs/headless").MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", payload: Exclude<T, undefined>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
23
+ emit: ((evt: "select", item: import("@soybeanjs/headless").MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", payload: Exclude<T, undefined>) => void) & ((evt: "entryFocus", event: Event) => void);
24
24
  }>) => import("vue").VNode & {
25
25
  __ctx?: Awaited<typeof __VLS_setup>;
26
26
  };
@@ -1 +1 @@
1
- import e from"../calendar/calendar.js";import{datePickerVariants as t}from"../../styles/date-picker.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{DatePickerCompact as p,provideDatePickerUi as m}from"@soybeanjs/headless/date-picker";const h=a({name:`SDatePicker`,__name:`date-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},calendarUi:{},dateFieldProps:{},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},positionerProps:{},popupProps:{},arrowProps:{},closeProps:{},disabled:{type:Boolean},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},locale:{},modelValue:{},defaultValue:{},multiple:{},placeholder:{},defaultPlaceholder:{},readonly:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},numberOfMonths:{},initialFocus:{type:Boolean},isDateDisabled:{},isDateUnavailable:{},nextPage:{},prevPage:{},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`update:modelValue`,`update:placeholder`],setup(a,{emit:h}){let g=a,_=h,v=f(g,[`class`,`size`,`ui`]),y=d(_);return m(n(()=>t({size:g.size},g.ui,{root:g.class}))),(t,n)=>(s(),r(l(p),o(l(v),c(l(y))),{default:u(({calendarProps:t,close:n,onUpdateModelValue:r,onUpdatePlaceholder:s})=>[i(e,o(t,{size:a.size,ui:a.calendarUi,"onUpdate:modelValue":e=>{r(e),n()},"onUpdate:placeholder":s}),null,16,[`size`,`ui`,`onUpdate:modelValue`,`onUpdate:placeholder`])]),_:1},16))}});export{h as default};
1
+ import e from"../calendar/calendar.js";import{datePickerVariants as t}from"../../styles/date-picker.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{DatePickerCompact as p,provideDatePickerUi as m}from"@soybeanjs/headless/date-picker";const h=a({name:`SDatePicker`,__name:`date-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},calendarUi:{},dateFieldProps:{},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},positionerProps:{},popupProps:{},arrowProps:{},closeProps:{},disabled:{type:Boolean},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},locale:{},modelValue:{},defaultValue:{},multiple:{type:Boolean},placeholder:{},defaultPlaceholder:{},readonly:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},numberOfMonths:{},initialFocus:{type:Boolean},isDateDisabled:{},isDateUnavailable:{},nextPage:{},prevPage:{},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`update:modelValue`,`update:placeholder`],setup(a,{emit:h}){let g=a,_=h,v=f(g,[`class`,`size`,`ui`]),y=d(_);return m(n(()=>t({size:g.size},g.ui,{root:g.class}))),(t,n)=>(s(),r(l(p),o(l(v),c(l(y))),{default:u(({calendarProps:t,close:n,onUpdateModelValue:r,onUpdatePlaceholder:s})=>[i(e,o(t,{size:a.size,ui:a.calendarUi,"onUpdate:modelValue":e=>{r(e),n()},"onUpdate:placeholder":s}),null,16,[`size`,`ui`,`onUpdate:modelValue`,`onUpdate:placeholder`])]),_:1},16))}});export{h as default};
@@ -2,7 +2,6 @@ import { DatePickerProps } from "./types.js";
2
2
 
3
3
  //#region src/components/date-picker/date-picker.vue.d.ts
4
4
  declare const __VLS_export: import("vue").DefineComponent<DatePickerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
- "update:modelValue": (date: import("@internationalized/date").DateValue | undefined) => any;
6
5
  "update:open": (value: boolean) => any;
7
6
  escapeKeyDown: (event: KeyboardEvent) => any;
8
7
  pointerDownOutside: (event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any;
@@ -10,9 +9,9 @@ declare const __VLS_export: import("vue").DefineComponent<DatePickerProps, {}, {
10
9
  interactOutside: (event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any;
11
10
  openAutoFocus: (event: Event) => any;
12
11
  closeAutoFocus: (event: Event) => any;
12
+ "update:modelValue": (date: import("@internationalized/date").DateValue | undefined) => any;
13
13
  "update:placeholder": (date: import("@internationalized/date").DateValue) => any;
14
14
  }, string, import("vue").PublicProps, Readonly<DatePickerProps> & Readonly<{
15
- "onUpdate:modelValue"?: ((date: import("@internationalized/date").DateValue | undefined) => any) | undefined;
16
15
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
17
16
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
18
17
  onPointerDownOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent) => any) | undefined;
@@ -20,6 +19,7 @@ declare const __VLS_export: import("vue").DefineComponent<DatePickerProps, {}, {
20
19
  onInteractOutside?: ((event: import("@soybeanjs/headless").PointerDownOutsideEvent | import("@soybeanjs/headless").FocusOutsideEvent) => any) | undefined;
21
20
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
22
21
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
22
+ "onUpdate:modelValue"?: ((date: import("@internationalized/date").DateValue | undefined) => any) | undefined;
23
23
  "onUpdate:placeholder"?: ((date: import("@internationalized/date").DateValue) => any) | undefined;
24
24
  }>, {
25
25
  open: boolean;