@greypan/web-ui 3.0.0 → 3.0.1
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 +5 -3
- package/README.md +10 -8
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +7 -3
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/icons/generated/lucide-external-link.d.ts +6 -0
- package/dist/icons/generated/lucide-external-link.js +10 -0
- package/dist/icons/generated/lucide-external-link.js.map +1 -0
- package/dist/icons/generated/lucide-file-text.d.ts +6 -0
- package/dist/icons/generated/lucide-file-text.js +10 -0
- package/dist/icons/generated/lucide-file-text.js.map +1 -0
- package/dist/icons/generated/lucide-film.d.ts +6 -0
- package/dist/icons/generated/lucide-film.js +10 -0
- package/dist/icons/generated/lucide-film.js.map +1 -0
- package/dist/icons/generated/lucide-folder-open.d.ts +6 -0
- package/dist/icons/generated/lucide-folder-open.js +10 -0
- package/dist/icons/generated/lucide-folder-open.js.map +1 -0
- package/dist/icons/generated/lucide-layout-grid.d.ts +6 -0
- package/dist/icons/generated/lucide-layout-grid.js +10 -0
- package/dist/icons/generated/lucide-layout-grid.js.map +1 -0
- package/dist/icons/generated/lucide-music.d.ts +6 -0
- package/dist/icons/generated/lucide-music.js +10 -0
- package/dist/icons/generated/lucide-music.js.map +1 -0
- package/dist/icons/generated/lucide-package.d.ts +6 -0
- package/dist/icons/generated/lucide-package.js +10 -0
- package/dist/icons/generated/lucide-package.js.map +1 -0
- package/dist/icons/generated/lucide-pencil.d.ts +6 -0
- package/dist/icons/generated/lucide-pencil.js +10 -0
- package/dist/icons/generated/lucide-pencil.js.map +1 -0
- package/dist/icons/generated/lucide-refresh-cw.d.ts +6 -0
- package/dist/icons/generated/lucide-refresh-cw.js +10 -0
- package/dist/icons/generated/lucide-refresh-cw.js.map +1 -0
- package/dist/icons/generated/lucide-tags.d.ts +6 -0
- package/dist/icons/generated/lucide-tags.js +10 -0
- package/dist/icons/generated/lucide-tags.js.map +1 -0
- package/dist/icons/generated/lucide-wrench.d.ts +6 -0
- package/dist/icons/generated/lucide-wrench.js +10 -0
- package/dist/icons/generated/lucide-wrench.js.map +1 -0
- package/dist/icons/index.d.ts +11 -0
- package/dist/icons/index.js +12 -1
- package/dist/types/utils.d.ts +6 -1
- package/package.json +4 -4
package/README.CN.md
CHANGED
|
@@ -129,8 +129,9 @@ import '@greypan/web-ui/types/vue'
|
|
|
129
129
|
|
|
130
130
|
Vue 事件类型零 cast:带值组件上的 `@input`/`@change` 解析到组件 emit,`$event.target` 即为组件实例,
|
|
131
131
|
`value`/`checked` 直接读取;kebab-case 事件(如 `open-change`)的 `$event.detail` 保持 `CustomEvent` 载荷类型。
|
|
132
|
-
命名 handler 用 `WebUiEvent<WebUiXxx, 'change'>`
|
|
133
|
-
|
|
132
|
+
命名 handler 用 `WebUiEvent<WebUiXxx, 'change'>` 标注;当变量或泛型表示事件名时,使用
|
|
133
|
+
`WebUiEventName<WebUiXxx>`,它只接受该组件 `$events` 的 string key。未声明为 emit 的原生事件
|
|
134
|
+
(`@click`/`@focus` 等)在任何 `web-ui-*` 元素上仍可绑定。
|
|
134
135
|
|
|
135
136
|
### 属性与事件边界
|
|
136
137
|
|
|
@@ -485,6 +486,7 @@ ArrowUp/ArrowDown 键增减数值。空输入或 `-` 在提交时被忽略,值
|
|
|
485
486
|
| `open` | `boolean` | `false` | 对话框可见性 |
|
|
486
487
|
| `no-scroll-lock` | `boolean` | `false` | 打开时不锁定页面滚动 |
|
|
487
488
|
| `no-backdrop-close` | `boolean` | `false` | 禁止点击遮罩关闭 |
|
|
489
|
+
| `no-escape-close` | `boolean` | `false` | 禁止按 Escape 关闭 |
|
|
488
490
|
|
|
489
491
|
**事件:** `open-change` (`CustomEvent<{ open: boolean }>`)
|
|
490
492
|
|
|
@@ -492,7 +494,7 @@ ArrowUp/ArrowDown 键增减数值。空输入或 `-` 在提交时被忽略,值
|
|
|
492
494
|
|
|
493
495
|
**方法:** `showModal()`, `close()`
|
|
494
496
|
|
|
495
|
-
使用原生 `<dialog>`,`@cancel`
|
|
497
|
+
使用原生 `<dialog>`,`@cancel` 阻止默认关闭行为。除非存在 `no-escape-close`,否则 Escape 调用 `close()`;除非存在 `no-backdrop-close`,否则点击遮罩关闭。
|
|
496
498
|
|
|
497
499
|
#### `<web-ui-drawer>`
|
|
498
500
|
|
package/README.md
CHANGED
|
@@ -132,8 +132,9 @@ import '@greypan/web-ui/types/vue'
|
|
|
132
132
|
Vue events are typed cast-free: `@input`/`@change` on value-bearing components resolve to the component emit, so
|
|
133
133
|
`$event.target` is the component instance and `value`/`checked` are read directly. `$event.detail` keeps the
|
|
134
134
|
`CustomEvent` payload type for kebab-case events like `open-change`. Named handlers annotate with
|
|
135
|
-
`WebUiEvent<WebUiXxx, 'change'
|
|
136
|
-
|
|
135
|
+
`WebUiEvent<WebUiXxx, 'change'>`; use `WebUiEventName<WebUiXxx>` when a value or generic represents an
|
|
136
|
+
event name, because it accepts only the component's string `$events` keys. `@click`/`@focus` and other native
|
|
137
|
+
events not declared as emits remain bindable on any `web-ui-*` element.
|
|
137
138
|
|
|
138
139
|
### Attribute and event boundaries
|
|
139
140
|
|
|
@@ -490,11 +491,12 @@ Propagates `direction` attribute to child buttons.
|
|
|
490
491
|
|
|
491
492
|
Modal dialog using native `<dialog>` with `showModal()`.
|
|
492
493
|
|
|
493
|
-
| Attribute | Type | Default | Description
|
|
494
|
-
| ------------------- | --------- | ------- |
|
|
495
|
-
| `open` | `boolean` | `false` | Dialog visibility
|
|
496
|
-
| `no-scroll-lock` | `boolean` | `false` | Do not lock body scroll when open
|
|
497
|
-
| `no-backdrop-close` | `boolean` | `false` | Do not close on backdrop click
|
|
494
|
+
| Attribute | Type | Default | Description |
|
|
495
|
+
| ------------------- | --------- | ------- | ----------------------------------- |
|
|
496
|
+
| `open` | `boolean` | `false` | Dialog visibility |
|
|
497
|
+
| `no-scroll-lock` | `boolean` | `false` | Do not lock body scroll when open |
|
|
498
|
+
| `no-backdrop-close` | `boolean` | `false` | Do not close on backdrop click |
|
|
499
|
+
| `no-escape-close` | `boolean` | `false` | Do not close when Escape is pressed |
|
|
498
500
|
|
|
499
501
|
**Events:** `open-change` (`CustomEvent<{ open: boolean }>`)
|
|
500
502
|
|
|
@@ -502,7 +504,7 @@ Modal dialog using native `<dialog>` with `showModal()`.
|
|
|
502
504
|
|
|
503
505
|
**Methods:** `showModal()`, `close()`
|
|
504
506
|
|
|
505
|
-
Uses native `<dialog>` with `@cancel` prevention
|
|
507
|
+
Uses native `<dialog>` with `@cancel` prevention. Escape calls `close()` unless `no-escape-close` is present. Click on backdrop closes dialog unless `no-backdrop-close` is present.
|
|
506
508
|
|
|
507
509
|
#### `<web-ui-drawer>`
|
|
508
510
|
|
|
@@ -10,7 +10,7 @@ import { customElement as l, property as u, state as d } from "lit/decorators.js
|
|
|
10
10
|
//#region src/components/dialog/index.ts
|
|
11
11
|
var f = class extends o {
|
|
12
12
|
constructor(...e) {
|
|
13
|
-
super(...e), this.open = !1, this.noScrollLock = !1, this.noBackdropClose = !1, this._hasBody = !1, this._userOpenChange = new r(), this._scrollLock = n().make(), this._presence = i().make({
|
|
13
|
+
super(...e), this.open = !1, this.noScrollLock = !1, this.noBackdropClose = !1, this.noEscapeClose = !1, this._hasBody = !1, this._userOpenChange = new r(), this._scrollLock = n().make(), this._presence = i().make({
|
|
14
14
|
getDialog: () => this.dialog,
|
|
15
15
|
isConnected: () => this.isConnected,
|
|
16
16
|
isOpen: () => this.open
|
|
@@ -39,7 +39,7 @@ var f = class extends o {
|
|
|
39
39
|
this.open = !1;
|
|
40
40
|
}
|
|
41
41
|
handleCancel(e) {
|
|
42
|
-
e.preventDefault(), this._userOpenChange.mark(), this.close();
|
|
42
|
+
e.preventDefault(), !this.noEscapeClose && (this._userOpenChange.mark(), this.close());
|
|
43
43
|
}
|
|
44
44
|
handleBackdropClick(e) {
|
|
45
45
|
e.target === e.currentTarget && (this.noBackdropClose || (this._userOpenChange.mark(), this.close()));
|
|
@@ -88,7 +88,11 @@ e([u({
|
|
|
88
88
|
type: Boolean,
|
|
89
89
|
reflect: !0,
|
|
90
90
|
attribute: "no-backdrop-close"
|
|
91
|
-
})], f.prototype, "noBackdropClose", void 0), e([
|
|
91
|
+
})], f.prototype, "noBackdropClose", void 0), e([u({
|
|
92
|
+
type: Boolean,
|
|
93
|
+
reflect: !0,
|
|
94
|
+
attribute: "no-escape-close"
|
|
95
|
+
})], f.prototype, "noEscapeClose", void 0), e([d()], f.prototype, "_hasBody", void 0), f = e([l("web-ui-dialog")], f);
|
|
92
96
|
//#endregion
|
|
93
97
|
export { f as WebUiDialog };
|
|
94
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["import { html, LitElement, type PropertyValues, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport '@/components/button'\nimport glass from '@/assets/glass.css?inline'\nimport { UserChangeController } from '@/shared/events/user-change'\nimport { defineNativeDialogPresence } from '@/shared/overlay/native-dialog-presence'\nimport { defineScrollLockLease } from '@/shared/scroll-lock/scroll-lock'\n\nimport style from './style.css?inline'\n\n@customElement('web-ui-dialog')\nexport class WebUiDialog extends LitElement {\n static override styles = [unsafeCSS(glass), unsafeCSS(style)]\n\n @property({ type: Boolean, reflect: true }) open = false\n @property({ type: Boolean, reflect: true, attribute: 'no-scroll-lock' }) noScrollLock = false\n @property({ type: Boolean, reflect: true, attribute: 'no-backdrop-close' }) noBackdropClose = false\n\n @state() private _hasBody = false\n private readonly _userOpenChange = new UserChangeController()\n\n private readonly _scrollLock = defineScrollLockLease().make()\n private readonly _presence = defineNativeDialogPresence().make({\n getDialog: () => this.dialog,\n isConnected: () => this.isConnected,\n isOpen: () => this.open\n })\n\n private get dialog() {\n return this.shadowRoot?.querySelector('dialog') ?? null\n }\n\n protected override updated(props: PropertyValues) {\n super.updated(props)\n if (!this.isConnected) return\n\n if (props.has('open')) {\n if (this._userOpenChange.consume()) this.emitOpenChange()\n this._presence.sync(this.open)\n }\n if (props.has('open') || props.has('noScrollLock')) this._syncScrollLock()\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback()\n this._presence.dispose()\n this._scrollLock.release()\n }\n\n // 以模态方式打开对话框(命令式)\n showModal() {\n if (this.open) return\n this.open = true\n }\n\n close() {\n this.open = false\n }\n\n private handleCancel(e: Event) {\n // 保留 top layer 直到视觉退场完成,避免原生关闭跳过退出动画。\n e.preventDefault()\n this._userOpenChange.mark()\n this.close()\n }\n\n private handleBackdropClick(e: MouseEvent) {\n if (e.target !== (e.currentTarget as HTMLDialogElement)) return\n if (this.noBackdropClose) return\n this._userOpenChange.mark()\n this.close()\n }\n\n private emitOpenChange() {\n this.dispatchEvent(\n new CustomEvent('open-change', {\n detail: { open: this.open },\n bubbles: true,\n composed: true\n })\n )\n }\n\n private _onTransitionEnd = (event: TransitionEvent) => {\n this._presence.handleTransitionEnd(event)\n }\n\n private _onNativeClose = () => {\n if (!this.open) return\n this._presence.handleNativeClose()\n this._userOpenChange.mark()\n this.open = false\n }\n\n private _syncScrollLock(isOpen = this.open) {\n this._scrollLock.sync(isOpen && !this.noScrollLock)\n }\n\n private _onBodySlotChange(e: Event) {\n if (!(e.target instanceof HTMLSlotElement)) return\n this._hasBody = e.target.assignedElements().length > 0\n }\n\n override render() {\n return html`\n <dialog\n @cancel=${this.handleCancel}\n @close=${this._onNativeClose}\n @click=${this.handleBackdropClick}\n @transitionend=${this._onTransitionEnd}\n >\n <div class=\"wui-dialog-body wui-glass\">\n ${this._hasBody\n ? html`<slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>`\n : html`\n <slot name=\"body\" @slotchange=${this._onBodySlotChange} hidden></slot>\n <div class=\"title\"><slot name=\"title\"></slot></div>\n <div class=\"desc\"><slot></slot></div>\n <div class=\"wui-dialog-footer\"><slot name=\"footer\"></slot></div>\n `}\n </div>\n </dialog>\n `\n }\n\n declare readonly $events: {\n 'open-change': CustomEvent<{ open: boolean }>\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-dialog': WebUiDialog\n }\n}\n"],"mappings":";;;;;;;;;;AAYO,IAAM,IAAN,cAA0B,EAAW;;
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["import { html, LitElement, type PropertyValues, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport '@/components/button'\nimport glass from '@/assets/glass.css?inline'\nimport { UserChangeController } from '@/shared/events/user-change'\nimport { defineNativeDialogPresence } from '@/shared/overlay/native-dialog-presence'\nimport { defineScrollLockLease } from '@/shared/scroll-lock/scroll-lock'\n\nimport style from './style.css?inline'\n\n@customElement('web-ui-dialog')\nexport class WebUiDialog extends LitElement {\n static override styles = [unsafeCSS(glass), unsafeCSS(style)]\n\n @property({ type: Boolean, reflect: true }) open = false\n @property({ type: Boolean, reflect: true, attribute: 'no-scroll-lock' }) noScrollLock = false\n @property({ type: Boolean, reflect: true, attribute: 'no-backdrop-close' }) noBackdropClose = false\n @property({ type: Boolean, reflect: true, attribute: 'no-escape-close' }) noEscapeClose = false\n\n @state() private _hasBody = false\n private readonly _userOpenChange = new UserChangeController()\n\n private readonly _scrollLock = defineScrollLockLease().make()\n private readonly _presence = defineNativeDialogPresence().make({\n getDialog: () => this.dialog,\n isConnected: () => this.isConnected,\n isOpen: () => this.open\n })\n\n private get dialog() {\n return this.shadowRoot?.querySelector('dialog') ?? null\n }\n\n protected override updated(props: PropertyValues) {\n super.updated(props)\n if (!this.isConnected) return\n\n if (props.has('open')) {\n if (this._userOpenChange.consume()) this.emitOpenChange()\n this._presence.sync(this.open)\n }\n if (props.has('open') || props.has('noScrollLock')) this._syncScrollLock()\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback()\n this._presence.dispose()\n this._scrollLock.release()\n }\n\n // 以模态方式打开对话框(命令式)\n showModal() {\n if (this.open) return\n this.open = true\n }\n\n close() {\n this.open = false\n }\n\n private handleCancel(e: Event) {\n // 保留 top layer 直到视觉退场完成,避免原生关闭跳过退出动画。\n e.preventDefault()\n if (this.noEscapeClose) return\n this._userOpenChange.mark()\n this.close()\n }\n\n private handleBackdropClick(e: MouseEvent) {\n if (e.target !== (e.currentTarget as HTMLDialogElement)) return\n if (this.noBackdropClose) return\n this._userOpenChange.mark()\n this.close()\n }\n\n private emitOpenChange() {\n this.dispatchEvent(\n new CustomEvent('open-change', {\n detail: { open: this.open },\n bubbles: true,\n composed: true\n })\n )\n }\n\n private _onTransitionEnd = (event: TransitionEvent) => {\n this._presence.handleTransitionEnd(event)\n }\n\n private _onNativeClose = () => {\n if (!this.open) return\n this._presence.handleNativeClose()\n this._userOpenChange.mark()\n this.open = false\n }\n\n private _syncScrollLock(isOpen = this.open) {\n this._scrollLock.sync(isOpen && !this.noScrollLock)\n }\n\n private _onBodySlotChange(e: Event) {\n if (!(e.target instanceof HTMLSlotElement)) return\n this._hasBody = e.target.assignedElements().length > 0\n }\n\n override render() {\n return html`\n <dialog\n @cancel=${this.handleCancel}\n @close=${this._onNativeClose}\n @click=${this.handleBackdropClick}\n @transitionend=${this._onTransitionEnd}\n >\n <div class=\"wui-dialog-body wui-glass\">\n ${this._hasBody\n ? html`<slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>`\n : html`\n <slot name=\"body\" @slotchange=${this._onBodySlotChange} hidden></slot>\n <div class=\"title\"><slot name=\"title\"></slot></div>\n <div class=\"desc\"><slot></slot></div>\n <div class=\"wui-dialog-footer\"><slot name=\"footer\"></slot></div>\n `}\n </div>\n </dialog>\n `\n }\n\n declare readonly $events: {\n 'open-change': CustomEvent<{ open: boolean }>\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-dialog': WebUiDialog\n }\n}\n"],"mappings":";;;;;;;;;;AAYO,IAAM,IAAN,cAA0B,EAAW;;EA8EX,aA3EoB,KAAA,OAAA,IACqC,KAAA,eAAA,IACM,KAAA,kBAAA,IACJ,KAAA,gBAAA,IAE9D,KAAA,WAAA,IACO,KAAA,kBAAA,IAAI,EAAqB,GAE7B,KAAA,cAAA,EAAsB,CAAC,CAAC,KAAK,GAC/B,KAAA,YAAA,EAA2B,CAAC,CAAC,KAAK;GAC7D,iBAAiB,KAAK;GACtB,mBAAmB,KAAK;GACxB,cAAc,KAAK;EACrB,CAAC,GA0D2B,KAAA,oBAAA,MAA2B;GACrD,KAAK,UAAU,oBAAoB,CAAK;EAC1C,GAE+B,KAAA,uBAAA;GACxB,AAGL,KAAK,UAFL,KAAK,UAAU,kBAAkB,GACjC,KAAK,gBAAgB,KAAK,GACd;EACd;;;EAlFyB,KAAA,SAAA,CAAC,EAAU,CAAK,GAAG,EAAU,CAAK,CAAC;;CAiB5D,IAAY,SAAS;EACnB,OAAO,KAAK,YAAY,cAAc,QAAQ,KAAK;CACrD;CAEA,QAA2B,GAAuB;EAChD,MAAM,QAAQ,CAAK,GACd,KAAK,gBAEN,EAAM,IAAI,MAAM,MACd,KAAK,gBAAgB,QAAQ,KAAG,KAAK,eAAe,GACxD,KAAK,UAAU,KAAK,KAAK,IAAI,KAE3B,EAAM,IAAI,MAAM,KAAK,EAAM,IAAI,cAAc,MAAG,KAAK,gBAAgB;CAC3E;CAEA,uBAAgC;EAG9B,AAFA,MAAM,qBAAqB,GAC3B,KAAK,UAAU,QAAQ,GACvB,KAAK,YAAY,QAAQ;CAC3B;CAGA,YAAY;EACN,AACJ,KAAK,SAAO;CACd;CAEA,QAAQ;EACN,KAAK,OAAO;CACd;CAEA,aAAqB,GAAU;EAE7B,EAAE,eAAe,GACb,MAAK,kBACT,KAAK,gBAAgB,KAAK,GAC1B,KAAK,MAAM;CACb;CAEA,oBAA4B,GAAe;EACrC,EAAE,WAAY,EAAE,kBAChB,KAAK,oBACT,KAAK,gBAAgB,KAAK,GAC1B,KAAK,MAAM;CACb;CAEA,iBAAyB;EACvB,KAAK,cACH,IAAI,YAAY,eAAe;GAC7B,QAAQ,EAAE,MAAM,KAAK,KAAK;GAC1B,SAAS;GACT,UAAU;EACZ,CAAC,CACH;CACF;CAaA,gBAAwB,IAAS,KAAK,MAAM;EAC1C,KAAK,YAAY,KAAK,KAAU,CAAC,KAAK,YAAY;CACpD;CAEA,kBAA0B,GAAU;EAC5B,EAAE,kBAAkB,oBAC1B,KAAK,WAAW,EAAE,OAAO,iBAAiB,CAAC,CAAC,SAAS;CACvD;CAEA,SAAkB;EAChB,OAAO,CAAI;;kBAEG,KAAK,aAAa;iBACnB,KAAK,eAAe;iBACpB,KAAK,oBAAoB;yBACjB,KAAK,iBAAiB;;;YAGnC,KAAK,WACH,CAAI,iCAAiC,KAAK,kBAAkB,YAC5D,CAAI;gDAC8B,KAAK,kBAAkB;;;;gBAIvD;;;;CAId;AAKF;AApHG,EAAA,CAAA,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,GACzC,EAAA,CAAA,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAiB,CAAC,CAAA,GAAA,EAAA,WAAA,gBAAA,KAAA,CAAA,GACtE,EAAA,CAAA,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAoB,CAAC,CAAA,GAAA,EAAA,WAAA,mBAAA,KAAA,CAAA,GACzE,EAAA,CAAA,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAkB,CAAC,CAAA,GAAA,EAAA,WAAA,iBAAA,KAAA,CAAA,GAEvE,EAAA,CAAA,EAAM,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,GATR,IAAA,EAAA,CAAA,EAAc,eAAe,CAAA,GAAA,CAAA"}
|
|
@@ -33,7 +33,7 @@ export * from './toast';
|
|
|
33
33
|
export * from './svg-draw-lines';
|
|
34
34
|
export * from './switch';
|
|
35
35
|
export * from './tooltip';
|
|
36
|
-
export type { WebUiEvent } from '../types/utils';
|
|
36
|
+
export type { WebUiEvent, WebUiEventName } from '../types/utils';
|
|
37
37
|
export type WebUiElementMap = {
|
|
38
38
|
[K in keyof HTMLElementTagNameMap as K extends `web-ui-${string}` ? K : never]: HTMLElementTagNameMap[K];
|
|
39
39
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-external-link.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"/>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-external-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-external-link.js","names":[],"sources":["../../../src/icons/generated/lucide-external-link.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"/>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-file-text.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-file-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-file-text.js","names":[],"sources":["../../../src/icons/generated/lucide-file-text.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-film.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M7 3v18M3 7.5h4M3 12h18M3 16.5h4M17 3v18m0-13.5h4m-4 9h4\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-film.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-film.js","names":[],"sources":["../../../src/icons/generated/lucide-film.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M7 3v18M3 7.5h4M3 12h18M3 16.5h4M17 3v18m0-13.5h4m-4 9h4\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-folder-open.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"/>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-folder-open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-folder-open.js","names":[],"sources":["../../../src/icons/generated/lucide-folder-open.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"/>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-layout-grid.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"7\" height=\"7\" x=\"3\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"14\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"14\" y=\"14\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"3\" y=\"14\" rx=\"1\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-layout-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-layout-grid.js","names":[],"sources":["../../../src/icons/generated/lucide-layout-grid.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"7\" height=\"7\" x=\"3\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"14\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"14\" y=\"14\" rx=\"1\"/><rect width=\"7\" height=\"7\" x=\"3\" y=\"14\" rx=\"1\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-music.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M9 18V5l12-2v13\"/><circle cx=\"6\" cy=\"18\" r=\"3\"/><circle cx=\"18\" cy=\"16\" r=\"3\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-music.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-music.js","names":[],"sources":["../../../src/icons/generated/lucide-music.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M9 18V5l12-2v13\"/><circle cx=\"6\" cy=\"18\" r=\"3\"/><circle cx=\"18\" cy=\"16\" r=\"3\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-package.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73zm1 .27V12\"/><path d=\"M3.29 7L12 12l8.71-5M7.5 4.27l9 5.15\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-package.js","names":[],"sources":["../../../src/icons/generated/lucide-package.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73zm1 .27V12\"/><path d=\"M3.29 7L12 12l8.71-5M7.5 4.27l9 5.15\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-pencil.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"/>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-pencil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-pencil.js","names":[],"sources":["../../../src/icons/generated/lucide-pencil.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"/>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-refresh-cw.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8\"/><path d=\"M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16\"/><path d=\"M8 16H3v5\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-refresh-cw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-refresh-cw.js","names":[],"sources":["../../../src/icons/generated/lucide-refresh-cw.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8\"/><path d=\"M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16\"/><path d=\"M8 16H3v5\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-tags.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1zM2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193\"/><circle cx=\"10.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"/></g>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-tags.js","names":[],"sources":["../../../src/icons/generated/lucide-tags.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1zM2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193\"/><circle cx=\"10.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"/></g>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/icons/generated/lucide-wrench.ts
|
|
2
|
+
var e = {
|
|
3
|
+
body: "<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\"/>",
|
|
4
|
+
width: 24,
|
|
5
|
+
height: 24
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=lucide-wrench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide-wrench.js","names":[],"sources":["../../../src/icons/generated/lucide-wrench.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\n\nexport default {\n body: '<path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\"/>',\n width: 24,\n height: 24\n} satisfies IconifyIcon\n"],"mappings":";AAEA,IAAA,IAAe;CACb,MAAM;CACN,OAAO;CACP,QAAQ;AACV"}
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -38,3 +38,14 @@ export { default as lucideImage } from './generated/lucide-image';
|
|
|
38
38
|
export { default as lucideGlobe } from './generated/lucide-globe';
|
|
39
39
|
export { default as radixIconsPanelLeftMinimized } from './generated/radix-icons-panel-left-minimized';
|
|
40
40
|
export { default as oouiClose } from './generated/ooui-close';
|
|
41
|
+
export { default as lucideExternalLink } from './generated/lucide-external-link';
|
|
42
|
+
export { default as lucideFileText } from './generated/lucide-file-text';
|
|
43
|
+
export { default as lucideFilm } from './generated/lucide-film';
|
|
44
|
+
export { default as lucideFolderOpen } from './generated/lucide-folder-open';
|
|
45
|
+
export { default as lucideLayoutGrid } from './generated/lucide-layout-grid';
|
|
46
|
+
export { default as lucideMusic } from './generated/lucide-music';
|
|
47
|
+
export { default as lucidePackage } from './generated/lucide-package';
|
|
48
|
+
export { default as lucidePencil } from './generated/lucide-pencil';
|
|
49
|
+
export { default as lucideRefreshCw } from './generated/lucide-refresh-cw';
|
|
50
|
+
export { default as lucideTags } from './generated/lucide-tags';
|
|
51
|
+
export { default as lucideWrench } from './generated/lucide-wrench';
|
package/dist/icons/index.js
CHANGED
|
@@ -38,4 +38,15 @@ import I from "./generated/lucide-image.js";
|
|
|
38
38
|
import L from "./generated/lucide-globe.js";
|
|
39
39
|
import R from "./generated/radix-icons-panel-left-minimized.js";
|
|
40
40
|
import z from "./generated/ooui-close.js";
|
|
41
|
-
|
|
41
|
+
import B from "./generated/lucide-external-link.js";
|
|
42
|
+
import V from "./generated/lucide-file-text.js";
|
|
43
|
+
import H from "./generated/lucide-film.js";
|
|
44
|
+
import U from "./generated/lucide-folder-open.js";
|
|
45
|
+
import W from "./generated/lucide-layout-grid.js";
|
|
46
|
+
import G from "./generated/lucide-music.js";
|
|
47
|
+
import K from "./generated/lucide-package.js";
|
|
48
|
+
import q from "./generated/lucide-pencil.js";
|
|
49
|
+
import J from "./generated/lucide-refresh-cw.js";
|
|
50
|
+
import Y from "./generated/lucide-tags.js";
|
|
51
|
+
import X from "./generated/lucide-wrench.js";
|
|
52
|
+
export { k as heroiconsCheck16Solid, j as heroiconsXMark16Solid, w as jamCloseCircleF, r as lucideArrowDownToLine, n as lucideArrowUpToLine, P as lucideBell, T as lucideCheck, s as lucideChevronDown, i as lucideChevronLeft, a as lucideChevronRight, o as lucideChevronUp, O as lucideCircleAlert, h as lucideClipboardPaste, m as lucideCopy, y as lucideDownload, B as lucideExternalLink, f as lucideFile, V as lucideFileText, H as lucideFilm, p as lucideFolder, U as lucideFolderOpen, L as lucideGlobe, N as lucideHeart, I as lucideImage, e as lucideInbox, E as lucideInfo, W as lucideLayoutGrid, t as lucideLoaderCircle, F as lucideMail, l as lucideMinus, G as lucideMusic, K as lucidePackage, q as lucidePencil, c as lucidePlus, _ as lucidePrinter, S as lucideRedo2, J as lucideRefreshCw, C as lucideScissors, u as lucideSearch, v as lucideSettings, M as lucideStar, Y as lucideTags, g as lucideTrash2, D as lucideTriangleAlert, x as lucideUndo2, b as lucideUpload, A as lucideUser, X as lucideWrench, d as lucideX, z as oouiClose, R as radixIconsPanelLeftMinimized };
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -32,11 +32,16 @@ export type WithHost<T extends EventTarget, E> = E extends Event ? E & {
|
|
|
32
32
|
export type HostEventMap<T extends HTMLElement> = {
|
|
33
33
|
[K in keyof ComponentEvents<T>]: WithHost<T, ComponentEvents<T>[K]>;
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* 组件 `$events` 中的 string 事件名。
|
|
37
|
+
* 无公共事件或仅有非 string 键的组件得到 `never`。
|
|
38
|
+
*/
|
|
39
|
+
export type WebUiEventName<T extends HTMLElement> = keyof ComponentEvents<T> & string;
|
|
35
40
|
/**
|
|
36
41
|
* 具名 handler 的显式事件类型,用于 Vue 命名 handler 等无法从上下文推导 `$event` 的位置。
|
|
37
42
|
* 用法:`function onChange(e: WebUiEvent<WebUiSelect, 'change'>)`
|
|
38
43
|
*/
|
|
39
|
-
export type WebUiEvent<T extends HTMLElement, K extends
|
|
44
|
+
export type WebUiEvent<T extends HTMLElement, K extends WebUiEventName<T>> = HostEventMap<T>[K];
|
|
40
45
|
/**
|
|
41
46
|
* React 自定义事件(kebab-case 事件名)→ `on<event>` 绑定。
|
|
42
47
|
* 标准 DOM 事件(input/change/focus/blur)由 React 的 camelCase handler 提供,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@greypan/web-ui",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
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/browser-kit": "1.7.8",
|
|
45
|
+
"@greypan/js-kit": "1.6.7"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@iconify-json/jam": "^1.2.3",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"lit": "^3.3.3",
|
|
57
57
|
"vite-plugin-dts": "^5.0.3",
|
|
58
58
|
"vue": "^3.5.39",
|
|
59
|
-
"@greypan/tsconfig": "1.0.
|
|
59
|
+
"@greypan/tsconfig": "1.0.5"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@types/react": ">=19",
|