@greypan/web-ui 2.1.8 → 3.0.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.CN.md +44 -6
- package/README.md +46 -7
- package/dist/assets/menu-portal.js +1 -1
- package/dist/assets/menu-portal.js.map +1 -1
- package/dist/components/autocomplete/index.d.ts +121 -0
- package/dist/components/autocomplete/index.js +414 -0
- package/dist/components/autocomplete/index.js.map +1 -0
- package/dist/components/autocomplete/style.js +6 -0
- package/dist/components/autocomplete/style.js.map +1 -0
- package/dist/components/avatar/index.d.ts +0 -1
- package/dist/components/avatar/index.js +9 -9
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/back-top/index.d.ts +0 -1
- package/dist/components/back-top/index.js.map +1 -1
- package/dist/components/badge/index.d.ts +0 -1
- package/dist/components/badge/index.js +5 -5
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/button/index.d.ts +0 -1
- package/dist/components/button/index.js +8 -8
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/style.js +1 -1
- package/dist/components/button/style.js.map +1 -1
- package/dist/components/button-group/index.d.ts +0 -1
- package/dist/components/button-group/index.js.map +1 -1
- package/dist/components/checkbox/index.js +7 -5
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox-group/index.js +2 -2
- package/dist/components/checkbox-group/index.js.map +1 -1
- package/dist/components/context-menu/index.js +25 -25
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/dialog/index.js +3 -3
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/drawer/index.js +7 -7
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/dropdown/index.js +31 -30
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/dropdown-divider/index.d.ts +0 -1
- package/dist/components/dropdown-divider/index.js.map +1 -1
- package/dist/components/dropdown-header/index.d.ts +0 -1
- package/dist/components/dropdown-header/index.js.map +1 -1
- package/dist/components/dropdown-item/index.d.ts +0 -1
- package/dist/components/dropdown-item/index.js.map +1 -1
- package/dist/components/dropdown-item/style.js +1 -1
- package/dist/components/dropdown-item/style.js.map +1 -1
- package/dist/components/empty/index.d.ts +0 -1
- package/dist/components/empty/index.js +6 -6
- package/dist/components/empty/index.js.map +1 -1
- package/dist/components/icon/index.d.ts +0 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +36 -35
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.js +24 -13
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/style.js +1 -1
- package/dist/components/input/style.js.map +1 -1
- package/dist/components/input-number/index.d.ts +2 -0
- package/dist/components/input-number/index.js +25 -12
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/input-number/style.js +1 -1
- package/dist/components/input-number/style.js.map +1 -1
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.js +4 -4
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/option/index.d.ts +0 -11
- package/dist/components/option/index.js.map +1 -1
- package/dist/components/option/style.js +1 -1
- package/dist/components/option/style.js.map +1 -1
- package/dist/components/popover/index.js +12 -12
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/radio/index.js +8 -5
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio-group/index.js +2 -2
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/segmented/index.js +2 -2
- package/dist/components/segmented/index.js.map +1 -1
- package/dist/components/segmented-trigger/index.d.ts +1 -0
- package/dist/components/segmented-trigger/index.js +11 -2
- package/dist/components/segmented-trigger/index.js.map +1 -1
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/index.js +19 -30
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/style.js +1 -1
- package/dist/components/select/style.js.map +1 -1
- package/dist/components/spinner/index.d.ts +0 -1
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/svg-draw-lines/index.d.ts +0 -1
- package/dist/components/svg-draw-lines/index.js.map +1 -1
- package/dist/components/switch/index.js +6 -6
- package/dist/components/textarea/index.js +18 -15
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/style.js +1 -1
- package/dist/components/textarea/style.js.map +1 -1
- package/dist/components/theme/index.d.ts +0 -1
- package/dist/components/theme/index.js.map +1 -1
- package/dist/components/toast/toast.js +13 -13
- package/dist/components/tooltip/index.js +13 -13
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/shared/menu-portal/menu-portal.js +10 -11
- package/dist/shared/menu-portal/menu-portal.js.map +1 -1
- package/dist/shared/overlay/anchored-panel.js +12 -12
- package/dist/shared/overlay/overlay.js +55 -33
- package/dist/shared/overlay/overlay.js.map +1 -1
- package/dist/shared/overlay/portal.js +25 -13
- package/dist/shared/overlay/portal.js.map +1 -1
- package/dist/shared/scroll-lock/scroll-lock.js +13 -12
- package/dist/shared/scroll-lock/scroll-lock.js.map +1 -1
- package/dist/shared/theme/overlay-root.js +3 -3
- package/dist/types/react.d.ts +15 -41
- package/dist/types/utils.d.ts +33 -4
- package/dist/types/vue.d.ts +17 -49
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-lock.js","names":[],"sources":["../../../src/shared/scroll-lock/scroll-lock.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"scroll-lock.js","names":[],"sources":["../../../src/shared/scroll-lock/scroll-lock.ts"],"sourcesContent":["import { definePlugin } from '@greypan/js-kit'\n\nlet lockCount = 0\nlet savedOverflow = ''\nlet savedScrollY = 0\n\nexport interface ScrollLockLease {\n readonly isLocked: boolean\n sync(shouldLock: boolean): void\n release(): void\n}\n\n/**\n * 锁定页面滚动。支持嵌套调用(引用计数),仅在最后一个锁释放时恢复。\n */\nexport function lockScroll() {\n if (lockCount === 0) {\n savedScrollY = window.scrollY\n savedOverflow = document.documentElement.style.overflow\n document.documentElement.style.overflow = 'hidden'\n // 固定 body 防止 iOS 弹性滚动\n document.body.style.position = 'fixed'\n document.body.style.top = `-${savedScrollY}px`\n document.body.style.width = '100%'\n }\n lockCount++\n}\n\n/**\n * 解锁页面滚动。与 lockScroll 配对,引用归零时恢复。\n */\nexport function unlockScroll() {\n lockCount = Math.max(0, lockCount - 1)\n if (lockCount === 0) {\n document.documentElement.style.overflow = savedOverflow\n document.body.style.position = ''\n document.body.style.top = ''\n document.body.style.width = ''\n window.scrollTo(0, savedScrollY)\n }\n}\n\n/**\n * 构建组件实例持有的滚动锁租约。每个租约仅释放自身获得的那一次锁,\n * 因此卸载、属性切换和嵌套浮层不会互相影响。\n */\nexport const defineScrollLockLease = () =>\n definePlugin<ScrollLockLease, Record<never, never>>(() => {\n let isLocked = false\n\n const sync = (shouldLock: boolean) => {\n if (shouldLock === isLocked) return\n if (shouldLock) lockScroll()\n else unlockScroll()\n isLocked = shouldLock\n }\n\n return {\n get isLocked() {\n return isLocked\n },\n\n sync,\n\n release() {\n sync(false)\n }\n }\n })\n"],"mappings":";;AAEA,IAAI,IAAY,GACZ,IAAgB,IAChB,IAAe;AAWnB,SAAgB,IAAa;CAU3B,AATI,MAAc,MAChB,IAAe,OAAO,SACtB,IAAgB,SAAS,gBAAgB,MAAM,UAC/C,SAAS,gBAAgB,MAAM,WAAW,UAE1C,SAAS,KAAK,MAAM,WAAW,SAC/B,SAAS,KAAK,MAAM,MAAM,IAAI,EAAa,KAC3C,SAAS,KAAK,MAAM,QAAQ,SAE9B;AACF;AAKA,SAAgB,IAAe;CAE7B,AADA,IAAY,KAAK,IAAI,GAAG,IAAY,CAAC,GACjC,MAAc,MAChB,SAAS,gBAAgB,MAAM,WAAW,GAC1C,SAAS,KAAK,MAAM,WAAW,IAC/B,SAAS,KAAK,MAAM,MAAM,IAC1B,SAAS,KAAK,MAAM,QAAQ,IAC5B,OAAO,SAAS,GAAG,CAAY;AAEnC;AAMA,IAAa,UACX,QAA0D;CACxD,IAAI,IAAW,IAET,KAAQ,MAAwB;EAChC,MAAe,MACf,IAAY,EAAW,IACtB,EAAa,GAClB,IAAW;CACb;CAEA,OAAO;EACL,IAAI,WAAW;GACb,OAAO;EACT;EAEA;EAEA,UAAU;GACR,EAAK,EAAK;EACZ;CACF;AACF,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import e from "../../assets/glass.js";
|
|
2
|
-
import t from "../../assets/
|
|
3
|
-
import n from "../../assets/
|
|
2
|
+
import t from "../../assets/overlay-motion.js";
|
|
3
|
+
import n from "../../assets/menu-portal.js";
|
|
4
4
|
import r from "../../assets/toast-containers.js";
|
|
5
5
|
//#region src/shared/theme/overlay-root.ts
|
|
6
|
-
var i = "data-wui-overlay-root", a = `${e}\n${r}\n${
|
|
6
|
+
var i = "data-wui-overlay-root", a = `${e}\n${r}\n${n}\n${t}`;
|
|
7
7
|
function o(e) {
|
|
8
8
|
let t = document.createElement("style");
|
|
9
9
|
t.textContent = a, e.prepend(t);
|
package/dist/types/react.d.ts
CHANGED
|
@@ -1,45 +1,19 @@
|
|
|
1
1
|
import { DetailedHTMLProps, HTMLAttributes } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'web-ui-drawer': LitReactWrapper<WebUiDrawer>;
|
|
18
|
-
'web-ui-empty': LitReactWrapper<WebUiEmpty>;
|
|
19
|
-
'web-ui-dropdown-divider': LitReactWrapper<WebUiDropdownDivider>;
|
|
20
|
-
'web-ui-dropdown-header': LitReactWrapper<WebUiDropdownHeader>;
|
|
21
|
-
'web-ui-dropdown-item': LitReactWrapper<WebUiDropdownItem>;
|
|
22
|
-
'web-ui-dropdown': LitReactWrapper<WebUiDropdown>;
|
|
23
|
-
'web-ui-icon': LitReactWrapper<WebUiIcon>;
|
|
24
|
-
'web-ui-input': LitReactWrapper<WebUiInput>;
|
|
25
|
-
'web-ui-input-number': LitReactWrapper<WebUiInputNumber>;
|
|
26
|
-
'web-ui-select': LitReactWrapper<WebUiSelect>;
|
|
27
|
-
'web-ui-slider': LitReactWrapper<WebUiSlider>;
|
|
28
|
-
'web-ui-spinner': LitReactWrapper<WebUiSpinner>;
|
|
29
|
-
'web-ui-svg-draw-lines': LitReactWrapper<WebUiSvgDrawLines>;
|
|
30
|
-
'web-ui-option': LitReactWrapper<WebUiOption>;
|
|
31
|
-
'web-ui-popover': LitReactWrapper<WebUiPopover>;
|
|
32
|
-
'web-ui-radio': LitReactWrapper<WebUiRadio>;
|
|
33
|
-
'web-ui-radio-group': LitReactWrapper<WebUiRadioGroup>;
|
|
34
|
-
'web-ui-segmented': LitReactWrapper<WebUiSegmented>;
|
|
35
|
-
'web-ui-segmented-trigger': LitReactWrapper<WebUiSegmentedTrigger>;
|
|
36
|
-
'web-ui-layout': LitReactWrapper<WebUiLayout>;
|
|
37
|
-
'web-ui-switch': LitReactWrapper<WebUiSwitch>;
|
|
38
|
-
'web-ui-textarea': LitReactWrapper<WebUiTextarea>;
|
|
39
|
-
'web-ui-theme': LitReactWrapper<WebUiTheme>;
|
|
40
|
-
'web-ui-toast': LitReactWrapper<WebUiToast>;
|
|
41
|
-
'web-ui-tooltip': LitReactWrapper<WebUiTooltip>;
|
|
42
|
-
}
|
|
2
|
+
import { WebUiElementMap } from '../components';
|
|
3
|
+
import { ExtractProps, OmitLitBase, ReactCustomEventListeners } from './utils';
|
|
4
|
+
/**
|
|
5
|
+
* Lit Web Component 的 React 包装类型。
|
|
6
|
+
*
|
|
7
|
+
* - 标准 DOM 事件(input/change/focus/blur)使用 React 惯用 camelCase handler,
|
|
8
|
+
* `currentTarget` 收窄为组件实例(`target` 遵循 React SyntheticEvent 语义,不承诺)。
|
|
9
|
+
* - kebab-case 自定义事件(open-change/toast-close)生成精确的 `on<event>` 绑定。
|
|
10
|
+
* - 与 `HTMLAttributes<T>` 全量交叉:组件自身属性与通用 HTML 属性(含原生事件)共存,
|
|
11
|
+
* 重叠键类型相容(如 `placeholder`),组件类型在交叉中自然生效;`ref` 保持具体元素类型。
|
|
12
|
+
*/
|
|
13
|
+
export type LitReactWrapper<T extends HTMLElement> = DetailedHTMLProps<ExtractProps<OmitLitBase<T>> & ReactCustomEventListeners<T> & HTMLAttributes<T>, T>;
|
|
14
|
+
export type WebUiComponents = {
|
|
15
|
+
[K in keyof WebUiElementMap]: LitReactWrapper<WebUiElementMap[K]>;
|
|
16
|
+
};
|
|
43
17
|
declare module 'react' {
|
|
44
18
|
namespace JSX {
|
|
45
19
|
interface IntrinsicElements extends WebUiComponents {
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -10,10 +10,39 @@ export type ExtractProps<T> = {
|
|
|
10
10
|
};
|
|
11
11
|
export type OmitLitBase<T> = Omit<T, keyof HTMLElement | keyof LitElement>;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* 从组件 `$events` 接口提取公共事件映射。
|
|
14
|
+
* 无 `$events` 的组件(无公共事件)得到空映射。
|
|
15
15
|
*/
|
|
16
|
-
export type
|
|
17
|
-
|
|
16
|
+
export type ComponentEvents<T> = T extends {
|
|
17
|
+
readonly $events: infer E;
|
|
18
|
+
} ? E : Record<never, never>;
|
|
19
|
+
/**
|
|
20
|
+
* 事件宿主化:在事件本体上注入组件实例 target/currentTarget 类型。
|
|
21
|
+
* 浏览器组合事件在宿主上重定向后,`event.target` 恒等于宿主元素,因此该收窄零例外。
|
|
22
|
+
* target/currentTarget 标为 readonly,与 DOM `Event` 契约一致。
|
|
23
|
+
*/
|
|
24
|
+
export type WithHost<T extends EventTarget, E> = E extends Event ? E & {
|
|
25
|
+
readonly target: T;
|
|
26
|
+
readonly currentTarget: T;
|
|
27
|
+
} : E;
|
|
28
|
+
/**
|
|
29
|
+
* 组件宿主化事件映射:`$events` 的每个条目都收窄 target/currentTarget 到组件实例。
|
|
30
|
+
* React 自定义事件与 Vue emits 均从该映射生成 handler 类型。
|
|
31
|
+
*/
|
|
32
|
+
export type HostEventMap<T extends HTMLElement> = {
|
|
33
|
+
[K in keyof ComponentEvents<T>]: WithHost<T, ComponentEvents<T>[K]>;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* 具名 handler 的显式事件类型,用于 Vue 命名 handler 等无法从上下文推导 `$event` 的位置。
|
|
37
|
+
* 用法:`function onChange(e: WebUiEvent<WebUiSelect, 'change'>)`
|
|
38
|
+
*/
|
|
39
|
+
export type WebUiEvent<T extends HTMLElement, K extends keyof HostEventMap<T>> = HostEventMap<T>[K];
|
|
40
|
+
/**
|
|
41
|
+
* React 自定义事件(kebab-case 事件名)→ `on<event>` 绑定。
|
|
42
|
+
* 标准 DOM 事件(input/change/focus/blur)由 React 的 camelCase handler 提供,
|
|
43
|
+
* 不在适配层生成 lowercase 别名。
|
|
44
|
+
*/
|
|
45
|
+
export type ReactCustomEventListeners<T extends HTMLElement> = {
|
|
46
|
+
[K in keyof HostEventMap<T> & string as K extends `${string}-${string}` ? `on${K}` : never]?: (e: HostEventMap<T>[K]) => void;
|
|
18
47
|
};
|
|
19
48
|
export {};
|
package/dist/types/vue.d.ts
CHANGED
|
@@ -1,60 +1,28 @@
|
|
|
1
|
-
import { ComponentOptionsMixin, DefineComponent, HTMLAttributes } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
import { ExtractProps, OmitLitBase } from './utils';
|
|
4
|
-
type
|
|
1
|
+
import { ComponentOptionsMixin, DefineComponent, EmitsToProps, HTMLAttributes, PublicProps } from 'vue';
|
|
2
|
+
import { WebUiElementMap } from '../components';
|
|
3
|
+
import { ComponentEvents, ExtractProps, OmitLitBase, WithHost } from './utils';
|
|
4
|
+
type VueEmits<T extends HTMLElement> = T extends {
|
|
5
5
|
readonly $events: infer E;
|
|
6
6
|
} ? {
|
|
7
|
-
[K in keyof E]: (e: E[K]) => void;
|
|
8
|
-
} : Record<
|
|
7
|
+
[K in keyof E]: (e: WithHost<T, E[K]>) => void;
|
|
8
|
+
} : Record<never, never>;
|
|
9
|
+
type VueNativeAttrs<T extends HTMLElement> = Omit<HTMLAttributes, `on${Capitalize<keyof ComponentEvents<T> & string>}`>;
|
|
10
|
+
type VueProps<T extends HTMLElement> = ExtractProps<OmitLitBase<T>> & VueNativeAttrs<T>;
|
|
11
|
+
type VueResolvedProps<T extends HTMLElement> = Readonly<VueProps<T>> & (VueEmits<T> extends Record<string, never> ? unknown : EmitsToProps<VueEmits<T>>);
|
|
9
12
|
/**
|
|
10
13
|
* Lit Web Component 的 Vue 包装类型。
|
|
11
14
|
*
|
|
12
|
-
* - Props:
|
|
13
|
-
* - Emits: 从 $events
|
|
15
|
+
* - Props: 组件属性 + 局部 HTMLAttributes(含原生 DOM 事件),不污染其他 Vue 组件
|
|
16
|
+
* - Emits: 从 $events 提取的宿主化事件,Volar 可识别 @event 绑定
|
|
17
|
+
* - TypeEl: 模板 ref/$el 类型为具体 Custom Element 实例
|
|
18
|
+
* - 不再全局扩展 ComponentCustomProps
|
|
14
19
|
*/
|
|
15
|
-
export type LitVueWrapper<T> = T
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'web-ui-avatar': LitVueWrapper<WebUiAvatar>;
|
|
20
|
-
'web-ui-back-top': LitVueWrapper<WebUiBackTop>;
|
|
21
|
-
'web-ui-badge': LitVueWrapper<WebUiBadge>;
|
|
22
|
-
'web-ui-button': LitVueWrapper<WebUiButton>;
|
|
23
|
-
'web-ui-button-group': LitVueWrapper<WebUiButtonGroup>;
|
|
24
|
-
'web-ui-checkbox': LitVueWrapper<WebUiCheckbox>;
|
|
25
|
-
'web-ui-checkbox-group': LitVueWrapper<WebUiCheckboxGroup>;
|
|
26
|
-
'web-ui-context-menu': LitVueWrapper<WebUiContextMenu>;
|
|
27
|
-
'web-ui-dialog': LitVueWrapper<WebUiDialog>;
|
|
28
|
-
'web-ui-drawer': LitVueWrapper<WebUiDrawer>;
|
|
29
|
-
'web-ui-empty': LitVueWrapper<WebUiEmpty>;
|
|
30
|
-
'web-ui-dropdown-divider': LitVueWrapper<WebUiDropdownDivider>;
|
|
31
|
-
'web-ui-dropdown-header': LitVueWrapper<WebUiDropdownHeader>;
|
|
32
|
-
'web-ui-dropdown-item': LitVueWrapper<WebUiDropdownItem>;
|
|
33
|
-
'web-ui-dropdown': LitVueWrapper<WebUiDropdown>;
|
|
34
|
-
'web-ui-icon': LitVueWrapper<WebUiIcon>;
|
|
35
|
-
'web-ui-input': LitVueWrapper<WebUiInput>;
|
|
36
|
-
'web-ui-input-number': LitVueWrapper<WebUiInputNumber>;
|
|
37
|
-
'web-ui-select': LitVueWrapper<WebUiSelect>;
|
|
38
|
-
'web-ui-slider': LitVueWrapper<WebUiSlider>;
|
|
39
|
-
'web-ui-spinner': LitVueWrapper<WebUiSpinner>;
|
|
40
|
-
'web-ui-svg-draw-lines': LitVueWrapper<WebUiSvgDrawLines>;
|
|
41
|
-
'web-ui-option': LitVueWrapper<WebUiOption>;
|
|
42
|
-
'web-ui-popover': LitVueWrapper<WebUiPopover>;
|
|
43
|
-
'web-ui-radio': LitVueWrapper<WebUiRadio>;
|
|
44
|
-
'web-ui-radio-group': LitVueWrapper<WebUiRadioGroup>;
|
|
45
|
-
'web-ui-segmented': LitVueWrapper<WebUiSegmented>;
|
|
46
|
-
'web-ui-segmented-trigger': LitVueWrapper<WebUiSegmentedTrigger>;
|
|
47
|
-
'web-ui-layout': LitVueWrapper<WebUiLayout>;
|
|
48
|
-
'web-ui-switch': LitVueWrapper<WebUiSwitch>;
|
|
49
|
-
'web-ui-textarea': LitVueWrapper<WebUiTextarea>;
|
|
50
|
-
'web-ui-theme': LitVueWrapper<WebUiTheme>;
|
|
51
|
-
'web-ui-toast': LitVueWrapper<WebUiToast>;
|
|
52
|
-
'web-ui-tooltip': LitVueWrapper<WebUiTooltip>;
|
|
53
|
-
}
|
|
20
|
+
export type LitVueWrapper<T extends HTMLElement> = DefineComponent<VueProps<T>, Record<string, never>, Record<string, never>, Record<string, never>, Record<string, never>, ComponentOptionsMixin, ComponentOptionsMixin, VueEmits<T>, string, PublicProps, VueResolvedProps<T>, Record<never, never>, Record<never, never>, Record<never, never>, Record<never, never>, string, Record<never, never>, true, Record<never, never>, T>;
|
|
21
|
+
export type WebUiComponents = {
|
|
22
|
+
[K in keyof WebUiElementMap]: LitVueWrapper<WebUiElementMap[K]>;
|
|
23
|
+
};
|
|
54
24
|
declare module 'vue' {
|
|
55
25
|
interface GlobalComponents extends WebUiComponents {
|
|
56
26
|
}
|
|
57
|
-
interface ComponentCustomProps extends HTMLAttributes {
|
|
58
|
-
}
|
|
59
27
|
}
|
|
60
28
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@greypan/web-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Lit-based web components for React, Vue, and vanilla JS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@floating-ui/dom": "^1.8.0",
|
|
44
|
-
"@greypan/
|
|
45
|
-
"@greypan/
|
|
44
|
+
"@greypan/js-kit": "1.6.6",
|
|
45
|
+
"@greypan/browser-kit": "1.7.7"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@iconify-json/jam": "^1.2.3",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"@greypan/tsconfig": "1.0.4"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"@types/react": ">=
|
|
62
|
+
"@types/react": ">=19",
|
|
63
63
|
"lit": "^3.3.3",
|
|
64
|
-
"vue": ">=3"
|
|
64
|
+
"vue": ">=3.5"
|
|
65
65
|
},
|
|
66
66
|
"peerDependenciesMeta": {
|
|
67
67
|
"@types/react": {
|