@greypan/web-ui 3.0.1 → 4.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 +292 -31
- package/README.md +294 -31
- package/dist/_virtual/{_@oxc-project_runtime@0.140.0 → _@oxc-project_runtime@0.146.0}/helpers/esm/decorate.js +1 -1
- package/dist/assets/glass.js +1 -1
- package/dist/assets/glass.js.map +1 -1
- package/dist/assets/menu-portal.js +1 -1
- package/dist/assets/menu-portal.js.map +1 -1
- package/dist/assets/overlay-motion.js +1 -1
- package/dist/assets/overlay-motion.js.map +1 -1
- package/dist/assets/toast-containers.js +1 -1
- package/dist/assets/toast-containers.js.map +1 -1
- package/dist/components/autocomplete/index.d.ts +4 -12
- package/dist/components/autocomplete/index.js +95 -102
- package/dist/components/autocomplete/index.js.map +1 -1
- package/dist/components/autocomplete/style.js +1 -1
- package/dist/components/autocomplete/style.js.map +1 -1
- package/dist/components/avatar/index.d.ts +0 -1
- package/dist/components/avatar/index.js +8 -13
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/back-top/index.js +1 -1
- package/dist/components/back-top/style.js +1 -1
- package/dist/components/back-top/style.js.map +1 -1
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/index.js +12 -14
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.js +51 -38
- 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 +1 -2
- package/dist/components/button-group/index.js +19 -23
- package/dist/components/button-group/index.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +4 -7
- package/dist/components/checkbox/index.js +48 -37
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/style.js +1 -1
- package/dist/components/checkbox/style.js.map +1 -1
- package/dist/components/checkbox-group/index.d.ts +4 -10
- package/dist/components/checkbox-group/index.js +74 -60
- package/dist/components/checkbox-group/index.js.map +1 -1
- package/dist/components/context-menu/index.js +7 -8
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/dialog/index.js +6 -6
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/style.js +1 -1
- package/dist/components/dialog/style.js.map +1 -1
- package/dist/components/drawer/index.d.ts +15 -0
- package/dist/components/drawer/index.js +58 -34
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/style.js +1 -1
- package/dist/components/drawer/style.js.map +1 -1
- package/dist/components/dropdown/index.js +1 -1
- package/dist/components/dropdown-divider/index.js +1 -1
- package/dist/components/dropdown-header/index.js +1 -1
- package/dist/components/dropdown-header/style.js +1 -1
- package/dist/components/dropdown-header/style.js.map +1 -1
- package/dist/components/dropdown-item/index.js +3 -2
- package/dist/components/dropdown-item/index.js.map +1 -1
- package/dist/components/empty/index.js +1 -1
- package/dist/components/empty/style.js +1 -1
- package/dist/components/empty/style.js.map +1 -1
- package/dist/components/icon/index.js +1 -1
- package/dist/components/index.js +9 -9
- package/dist/components/input/index.d.ts +2 -3
- package/dist/components/input/index.js +62 -52
- 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 -3
- package/dist/components/input-number/index.js +58 -38
- 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 +53 -3
- package/dist/components/layout/index.js +146 -39
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/style.js +1 -1
- package/dist/components/layout/style.js.map +1 -1
- package/dist/components/option/index.js +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 +7 -5
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/style.js +1 -1
- package/dist/components/popover/style.js.map +1 -1
- package/dist/components/radio/index.d.ts +4 -7
- package/dist/components/radio/index.js +48 -37
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/style.js +1 -1
- package/dist/components/radio/style.js.map +1 -1
- package/dist/components/radio-group/index.d.ts +4 -10
- package/dist/components/radio-group/index.js +70 -52
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/segmented/index.d.ts +6 -11
- package/dist/components/segmented/index.js +67 -55
- package/dist/components/segmented/index.js.map +1 -1
- package/dist/components/segmented/style.js +1 -1
- package/dist/components/segmented/style.js.map +1 -1
- package/dist/components/segmented-trigger/index.d.ts +1 -2
- package/dist/components/segmented-trigger/index.js +18 -19
- package/dist/components/segmented-trigger/index.js.map +1 -1
- package/dist/components/segmented-trigger/style.js +1 -1
- package/dist/components/segmented-trigger/style.js.map +1 -1
- package/dist/components/select/index.d.ts +13 -8
- package/dist/components/select/index.js +110 -75
- 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/slider/index.d.ts +3 -5
- package/dist/components/slider/index.js +59 -42
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/style.js +1 -1
- package/dist/components/slider/style.js.map +1 -1
- package/dist/components/spinner/index.d.ts +0 -2
- package/dist/components/spinner/index.js +14 -13
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/spinner/style.js +1 -1
- package/dist/components/spinner/style.js.map +1 -1
- package/dist/components/svg-draw-lines/index.js +1 -1
- package/dist/components/switch/index.d.ts +5 -6
- package/dist/components/switch/index.js +51 -37
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/style.js +1 -1
- package/dist/components/switch/style.js.map +1 -1
- package/dist/components/textarea/index.d.ts +5 -6
- package/dist/components/textarea/index.js +73 -63
- 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.js +1 -1
- package/dist/components/theme/style.js +1 -1
- package/dist/components/theme/style.js.map +1 -1
- package/dist/components/toast/style.js +1 -1
- package/dist/components/toast/style.js.map +1 -1
- package/dist/components/toast/toast.js +12 -12
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/style.js +1 -1
- package/dist/components/tooltip/style.js.map +1 -1
- package/dist/icons/generated/lucide-clapperboard.d.ts +6 -0
- package/dist/icons/generated/lucide-clapperboard.js +10 -0
- package/dist/icons/generated/lucide-clapperboard.js.map +1 -0
- package/dist/icons/generated/lucide-eye.d.ts +6 -0
- package/dist/icons/generated/lucide-eye.js +10 -0
- package/dist/icons/generated/lucide-eye.js.map +1 -0
- package/dist/icons/generated/lucide-headphones.d.ts +6 -0
- package/dist/icons/generated/lucide-headphones.js +10 -0
- package/dist/icons/generated/lucide-headphones.js.map +1 -0
- package/dist/icons/generated/lucide-link.d.ts +6 -0
- package/dist/icons/generated/lucide-link.js +10 -0
- package/dist/icons/generated/lucide-link.js.map +1 -0
- package/dist/icons/generated/lucide-pen-line.d.ts +6 -0
- package/dist/icons/generated/lucide-pen-line.js +10 -0
- package/dist/icons/generated/lucide-pen-line.js.map +1 -0
- package/dist/icons/generated/lucide-play.d.ts +6 -0
- package/dist/icons/generated/lucide-play.js +10 -0
- package/dist/icons/generated/lucide-play.js.map +1 -0
- package/dist/icons/generated/lucide-sliders-horizontal.d.ts +6 -0
- package/dist/icons/generated/lucide-sliders-horizontal.js +10 -0
- package/dist/icons/generated/lucide-sliders-horizontal.js.map +1 -0
- package/dist/icons/index.d.ts +7 -0
- package/dist/icons/index.js +8 -1
- package/dist/node_modules/.pnpm/@floating-ui_core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.js +1 -3
- package/dist/node_modules/.pnpm/@floating-ui_core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +2 -1
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/shared/events/user-change.js.map +1 -1
- package/dist/shared/form-association/index.js +41 -0
- package/dist/shared/form-association/index.js.map +1 -0
- package/dist/shared/group-management/index.js +109 -0
- package/dist/shared/group-management/index.js.map +1 -0
- package/dist/shared/menu-portal/menu-tree.js +20 -7
- package/dist/shared/menu-portal/menu-tree.js.map +1 -1
- package/dist/shared/option-portal/index.js +65 -0
- package/dist/shared/option-portal/index.js.map +1 -0
- package/dist/shared/overlay/overlay.js +1 -1
- package/dist/shared/overlay/overlay.js.map +1 -1
- package/dist/shared/overlay/portal.js +9 -6
- package/dist/shared/overlay/portal.js.map +1 -1
- package/dist/shared/overlay/presence.js.map +1 -1
- package/dist/shared/visible-area/index.js +69 -0
- package/dist/shared/visible-area/index.js.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/shared/visible-area/index.ts"],"sourcesContent":["import { definePlugin } from '@greypan/js-kit'\nimport type { ReactiveController, ReactiveControllerHost } from 'lit'\n\nexport interface VisibleArea {\n readonly top: number\n readonly right: number\n readonly bottom: number\n readonly left: number\n readonly width: number\n readonly height: number\n}\n\nexport interface VisibleAreaTracker {\n setTarget(target: Element | null): void\n refresh(): void\n connect(): void\n disconnect(): void\n}\n\nconst emptyVisibleArea: VisibleArea = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n}\n\nfunction getVisibleArea(target: Element | null): VisibleArea {\n if (!target) return emptyVisibleArea\n\n const rect = target.getBoundingClientRect()\n const left = Math.max(0, rect.left)\n const top = Math.max(0, rect.top)\n const right = Math.min(window.innerWidth, rect.right)\n const bottom = Math.min(window.innerHeight, rect.bottom)\n\n if (right <= left || bottom <= top) return emptyVisibleArea\n\n return {\n top,\n right,\n bottom,\n left,\n width: right - left,\n height: bottom - top\n }\n}\n\nfunction visibleAreasEqual(a: VisibleArea | undefined, b: VisibleArea): boolean {\n return (\n a?.top === b.top &&\n a.right === b.right &&\n a.bottom === b.bottom &&\n a.left === b.left &&\n a.width === b.width &&\n a.height === b.height\n )\n}\n\n/**\n * 追踪单个元素与浏览器 viewport 的交集区域。\n *\n * 模块统一持有 ResizeObserver、viewport 监听器和 rAF 合帧;\n * 使用方只需管理 target 并响应可见区域变化。\n */\nexport function defineVisibleAreaTracker(options: { readonly onVisibleAreaChange: (area: VisibleArea) => void }) {\n return definePlugin<VisibleAreaTracker, Record<never, never>>(() => {\n let target: Element | null = null\n let observer: ResizeObserver | undefined\n let frame: number | undefined\n let connected = false\n let previousArea: VisibleArea | undefined\n\n const report = () => {\n frame = undefined\n if (!connected) return\n\n const nextArea = getVisibleArea(target)\n if (visibleAreasEqual(previousArea, nextArea)) return\n\n previousArea = nextArea\n options.onVisibleAreaChange(nextArea)\n }\n\n const refresh = () => {\n if (!connected || frame !== undefined) return\n frame = requestAnimationFrame(report)\n }\n\n const observeTarget = () => {\n observer?.disconnect()\n observer = undefined\n\n if (!target || typeof ResizeObserver === 'undefined') return\n\n observer = new ResizeObserver(refresh)\n observer.observe(target)\n }\n\n return {\n setTarget(nextTarget) {\n if (target === nextTarget) {\n refresh()\n return\n }\n\n target = nextTarget\n previousArea = undefined\n if (!connected) return\n\n observeTarget()\n refresh()\n },\n\n refresh,\n\n connect() {\n if (connected) return\n\n connected = true\n window.addEventListener('scroll', refresh, { passive: true })\n window.addEventListener('resize', refresh, { passive: true })\n observeTarget()\n refresh()\n },\n\n disconnect() {\n if (!connected) return\n\n connected = false\n window.removeEventListener('scroll', refresh)\n window.removeEventListener('resize', refresh)\n observer?.disconnect()\n observer = undefined\n previousArea = undefined\n\n if (frame !== undefined) cancelAnimationFrame(frame)\n frame = undefined\n }\n }\n })\n}\n\n/** 将内部可见区域追踪器接入 Lit host 生命周期。 */\nexport class VisibleAreaController implements ReactiveController {\n constructor(\n host: ReactiveControllerHost,\n private readonly tracker: VisibleAreaTracker\n ) {\n host.addController(this)\n }\n\n hostConnected() {\n this.tracker.connect()\n }\n\n hostDisconnected() {\n this.tracker.disconnect()\n }\n}\n"],"mappings":";;AAmBA,IAAM,IAAgC;CACpC,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;AACV;AAEA,SAAS,EAAe,GAAqC;CAC3D,IAAI,CAAC,GAAQ,OAAO;CAEpB,IAAM,IAAO,EAAO,sBAAsB,GACpC,IAAO,KAAK,IAAI,GAAG,EAAK,IAAI,GAC5B,IAAM,KAAK,IAAI,GAAG,EAAK,GAAG,GAC1B,IAAQ,KAAK,IAAI,OAAO,YAAY,EAAK,KAAK,GAC9C,IAAS,KAAK,IAAI,OAAO,aAAa,EAAK,MAAM;CAIvD,OAFI,KAAS,KAAQ,KAAU,IAAY,IAEpC;EACL;EACA;EACA;EACA;EACA,OAAO,IAAQ;EACf,QAAQ,IAAS;CACnB;AACF;AAEA,SAAS,EAAkB,GAA4B,GAAyB;CAC9E,OACE,GAAG,QAAQ,EAAE,OACb,EAAE,UAAU,EAAE,SACd,EAAE,WAAW,EAAE,UACf,EAAE,SAAS,EAAE,QACb,EAAE,UAAU,EAAE,SACd,EAAE,WAAW,EAAE;AAEnB;AAQA,SAAgB,EAAyB,GAAwE;CAC/G,OAAO,QAA6D;EAClE,IAAI,IAAyB,MACzB,GACA,GACA,IAAY,IACZ,GAEE,UAAe;GAEnB,IADA,IAAQ,KAAA,GACJ,CAAC,GAAW;GAEhB,IAAM,IAAW,EAAe,CAAM;GAClC,EAAkB,GAAc,CAAQ,MAE5C,IAAe,GACf,EAAQ,oBAAoB,CAAQ;EACtC,GAEM,UAAgB;GAChB,CAAC,KAAa,MAAU,KAAA,MAC5B,IAAQ,sBAAsB,CAAM;EACtC,GAEM,UAAsB;GAC1B,GAAU,WAAW,GACrB,IAAW,KAAA,GAEP,GAAC,KAAU,OAAO,iBAAmB,SAEzC,IAAW,IAAI,eAAe,CAAO,GACrC,EAAS,QAAQ,CAAM;EACzB;EAEA,OAAO;GACL,UAAU,GAAY;IACpB,IAAI,MAAW,GAAY;KACzB,EAAQ;KACR;IACF;IAEA,IAAS,GACT,IAAe,KAAA,GACV,MAEL,EAAc,GACd,EAAQ;GACV;GAEA;GAEA,UAAU;IACJ,MAEJ,IAAY,IACZ,OAAO,iBAAiB,UAAU,GAAS,EAAE,SAAS,GAAK,CAAC,GAC5D,OAAO,iBAAiB,UAAU,GAAS,EAAE,SAAS,GAAK,CAAC,GAC5D,EAAc,GACd,EAAQ;GACV;GAEA,aAAa;IACN,MAEL,IAAY,IACZ,OAAO,oBAAoB,UAAU,CAAO,GAC5C,OAAO,oBAAoB,UAAU,CAAO,GAC5C,GAAU,WAAW,GACrB,IAAW,KAAA,GACX,IAAe,KAAA,GAEX,MAAU,KAAA,KAAW,qBAAqB,CAAK,GACnD,IAAQ,KAAA;GACV;EACF;CACF,CAAC;AACH;AAGA,IAAa,IAAb,MAAiE;CAC/D,YACE,GACA,GACA;EACA,AAFiB,KAAA,UAAA,GAEjB,EAAK,cAAc,IAAI;CACzB;CAEA,gBAAgB;EACd,KAAK,QAAQ,QAAQ;CACvB;CAEA,mBAAmB;EACjB,KAAK,QAAQ,WAAW;CAC1B;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@greypan/web-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Lit-based web components for React, Vue, and vanilla JS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@floating-ui/dom": "^1.8.0",
|
|
44
|
-
"@greypan/
|
|
45
|
-
"@greypan/
|
|
44
|
+
"@greypan/js-kit": "2.0.0",
|
|
45
|
+
"@greypan/browser-kit": "2.0.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@iconify-json/jam": "^1.2.3",
|
|
49
|
-
"@iconify-json/lucide": "^1.2.
|
|
49
|
+
"@iconify-json/lucide": "^1.2.126",
|
|
50
50
|
"@iconify-json/si": "^1.2.17",
|
|
51
51
|
"@iconify-json/heroicons": "^1.2.3",
|
|
52
52
|
"@iconify-json/ooui": "^1.2.20",
|
|
@@ -56,6 +56,8 @@
|
|
|
56
56
|
"lit": "^3.3.3",
|
|
57
57
|
"vite-plugin-dts": "^5.0.3",
|
|
58
58
|
"vue": "^3.5.39",
|
|
59
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@0.3.0",
|
|
60
|
+
"vite-plus": "0.3.0",
|
|
59
61
|
"@greypan/tsconfig": "1.0.5"
|
|
60
62
|
},
|
|
61
63
|
"peerDependencies": {
|