@greypan/web-ui 11.2.0 → 12.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 +79 -68
- package/README.md +81 -72
- package/dist/_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js +8 -0
- package/dist/assets/menu-portal.js +3 -4
- package/dist/assets/menu-portal.js.map +1 -1
- package/dist/assets/modal-surface.js +3 -4
- package/dist/assets/modal-surface.js.map +1 -1
- package/dist/assets/overlay-motion.js +3 -4
- package/dist/assets/overlay-motion.js.map +1 -1
- package/dist/assets/scrollbar.js +5 -0
- package/dist/assets/scrollbar.js.map +1 -0
- package/dist/assets/selection-control.js +3 -4
- package/dist/assets/selection-control.js.map +1 -1
- package/dist/assets/toast-containers.js +3 -4
- package/dist/assets/toast-containers.js.map +1 -1
- package/dist/classes/glass.js +3 -4
- package/dist/classes/glass.js.map +1 -1
- package/dist/classes/glow.js +3 -4
- package/dist/classes/glow.js.map +1 -1
- package/dist/components/autocomplete/index.d.ts +485 -483
- package/dist/components/autocomplete/index.d.ts.map +1 -0
- package/dist/components/autocomplete/index.js +475 -267
- package/dist/components/autocomplete/index.js.map +1 -1
- package/dist/components/autocomplete/style.js +3 -4
- package/dist/components/autocomplete/style.js.map +1 -1
- package/dist/components/avatar/index.d.ts +26 -24
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +72 -52
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/style.js +3 -4
- package/dist/components/avatar/style.js.map +1 -1
- package/dist/components/back-top/index.d.ts +30 -27
- package/dist/components/back-top/index.d.ts.map +1 -0
- package/dist/components/back-top/index.js +96 -62
- package/dist/components/back-top/index.js.map +1 -1
- package/dist/components/back-top/style.js +3 -4
- package/dist/components/back-top/style.js.map +1 -1
- package/dist/components/badge/index.d.ts +32 -26
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +116 -74
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/badge/style.js +3 -4
- package/dist/components/badge/style.js.map +1 -1
- package/dist/components/button/index.d.ts +392 -390
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +108 -74
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/style.js +3 -4
- package/dist/components/button/style.js.map +1 -1
- package/dist/components/button-group/index.d.ts +14 -13
- package/dist/components/button-group/index.d.ts.map +1 -0
- package/dist/components/button-group/index.js +43 -33
- package/dist/components/button-group/index.js.map +1 -1
- package/dist/components/button-group/style.js +3 -4
- package/dist/components/button-group/style.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +399 -397
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +103 -74
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/style.js +3 -4
- package/dist/components/checkbox/style.js.map +1 -1
- package/dist/components/checkbox-group/index.d.ts +397 -396
- package/dist/components/checkbox-group/index.d.ts.map +1 -0
- package/dist/components/checkbox-group/index.js +92 -70
- package/dist/components/checkbox-group/index.js.map +1 -1
- package/dist/components/checkbox-group/style.js +3 -4
- package/dist/components/checkbox-group/style.js.map +1 -1
- package/dist/components/collapse/index.d.ts +72 -71
- package/dist/components/collapse/index.d.ts.map +1 -0
- package/dist/components/collapse/index.js +225 -130
- package/dist/components/collapse/index.js.map +1 -1
- package/dist/components/collapse/style.js +3 -4
- package/dist/components/collapse/style.js.map +1 -1
- package/dist/components/context-menu/index.d.ts +307 -310
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/context-menu/index.js +685 -270
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/context-menu/scrim.js +3 -4
- package/dist/components/context-menu/scrim.js.map +1 -1
- package/dist/components/context-menu/style.js +3 -4
- package/dist/components/context-menu/style.js.map +1 -1
- package/dist/components/dialog/index.d.ts +87 -78
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +183 -88
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/style.js +3 -4
- package/dist/components/dialog/style.js.map +1 -1
- package/dist/components/drawer/index.d.ts +159 -150
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +503 -242
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/style.js +3 -4
- package/dist/components/drawer/style.js.map +1 -1
- package/dist/components/dropdown/index.d.ts +125 -124
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/dropdown/index.js +556 -328
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/dropdown/style.js +3 -4
- package/dist/components/dropdown/style.js.map +1 -1
- package/dist/components/dropdown-divider/index.d.ts +7 -6
- package/dist/components/dropdown-divider/index.d.ts.map +1 -0
- package/dist/components/dropdown-divider/index.js +10 -11
- package/dist/components/dropdown-divider/index.js.map +1 -1
- package/dist/components/dropdown-divider/style.js +3 -4
- package/dist/components/dropdown-divider/style.js.map +1 -1
- package/dist/components/dropdown-header/index.d.ts +7 -6
- package/dist/components/dropdown-header/index.d.ts.map +1 -0
- package/dist/components/dropdown-header/index.js +10 -11
- package/dist/components/dropdown-header/index.js.map +1 -1
- package/dist/components/dropdown-header/style.js +3 -4
- package/dist/components/dropdown-header/style.js.map +1 -1
- package/dist/components/dropdown-item/index.d.ts +13 -11
- package/dist/components/dropdown-item/index.d.ts.map +1 -0
- package/dist/components/dropdown-item/index.js +32 -25
- package/dist/components/dropdown-item/index.js.map +1 -1
- package/dist/components/dropdown-item/style.js +3 -4
- package/dist/components/dropdown-item/style.js.map +1 -1
- package/dist/components/editable-text/index.d.ts +506 -505
- package/dist/components/editable-text/index.d.ts.map +1 -0
- package/dist/components/editable-text/index.js +281 -127
- package/dist/components/editable-text/index.js.map +1 -1
- package/dist/components/editable-text/style.js +3 -4
- package/dist/components/editable-text/style.js.map +1 -1
- package/dist/components/empty/index.d.ts +17 -15
- package/dist/components/empty/index.d.ts.map +1 -0
- package/dist/components/empty/index.js +66 -37
- package/dist/components/empty/index.js.map +1 -1
- package/dist/components/empty/style.js +3 -4
- package/dist/components/empty/style.js.map +1 -1
- package/dist/components/icon/index.d.ts +12 -11
- package/dist/components/icon/index.d.ts.map +1 -0
- package/dist/components/icon/index.js +34 -27
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/icon/style.js +3 -4
- package/dist/components/icon/style.js.map +1 -1
- package/dist/components/image-preview/index.d.ts +58 -44
- package/dist/components/image-preview/index.d.ts.map +1 -0
- package/dist/components/image-preview/index.js +536 -265
- package/dist/components/image-preview/index.js.map +1 -1
- package/dist/components/image-preview/style.js +3 -4
- package/dist/components/image-preview/style.js.map +1 -1
- package/dist/components/index.d.ts +46 -43
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +41 -41
- package/dist/components/input/index.d.ts +418 -413
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +148 -84
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/style.js +3 -4
- package/dist/components/input/style.js.map +1 -1
- package/dist/components/input-number/index.d.ts +453 -447
- package/dist/components/input-number/index.d.ts.map +1 -0
- package/dist/components/input-number/index.js +484 -292
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/input-number/style.js +3 -4
- package/dist/components/input-number/style.js.map +1 -1
- package/dist/components/layout/index.d.ts +110 -87
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +238 -144
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/style.js +3 -4
- package/dist/components/layout/style.js.map +1 -1
- package/dist/components/middle-ellipsis/index.d.ts +93 -92
- package/dist/components/middle-ellipsis/index.d.ts.map +1 -0
- package/dist/components/middle-ellipsis/index.js +261 -107
- package/dist/components/middle-ellipsis/index.js.map +1 -1
- package/dist/components/middle-ellipsis/style.js +3 -4
- package/dist/components/middle-ellipsis/style.js.map +1 -1
- package/dist/components/middle-ellipsis/truncate.js +60 -30
- package/dist/components/middle-ellipsis/truncate.js.map +1 -1
- package/dist/components/option/index.d.ts +20 -18
- package/dist/components/option/index.d.ts.map +1 -0
- package/dist/components/option/index.js +53 -40
- package/dist/components/option/index.js.map +1 -1
- package/dist/components/option/style.js +3 -4
- package/dist/components/option/style.js.map +1 -1
- package/dist/components/popover/index.d.ts +69 -68
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +221 -104
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/style.js +3 -4
- package/dist/components/popover/style.js.map +1 -1
- package/dist/components/radio/index.d.ts +396 -395
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +91 -62
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/interaction.js +10 -11
- package/dist/components/radio/interaction.js.map +1 -1
- package/dist/components/radio/style.js +3 -4
- package/dist/components/radio/style.js.map +1 -1
- package/dist/components/radio-group/index.d.ts +417 -416
- package/dist/components/radio-group/index.d.ts.map +1 -0
- package/dist/components/radio-group/index.js +307 -207
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/radio-group/style.js +3 -4
- package/dist/components/radio-group/style.js.map +1 -1
- package/dist/components/segmented/index.d.ts +408 -402
- package/dist/components/segmented/index.d.ts.map +1 -0
- package/dist/components/segmented/index.js +267 -158
- package/dist/components/segmented/index.js.map +1 -1
- package/dist/components/segmented/style.js +3 -4
- package/dist/components/segmented/style.js.map +1 -1
- package/dist/components/segmented-trigger/index.d.ts +18 -17
- package/dist/components/segmented-trigger/index.d.ts.map +1 -0
- package/dist/components/segmented-trigger/index.js +45 -36
- package/dist/components/segmented-trigger/index.js.map +1 -1
- package/dist/components/segmented-trigger/style.js +3 -4
- package/dist/components/segmented-trigger/style.js.map +1 -1
- package/dist/components/select/index.d.ts +450 -448
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +342 -188
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/style.js +3 -4
- package/dist/components/select/style.js.map +1 -1
- package/dist/components/slider/index.d.ts +428 -427
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +308 -216
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/style.js +3 -4
- package/dist/components/slider/style.js.map +1 -1
- package/dist/components/spinner/index.d.ts +39 -38
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +118 -65
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/spinner/style.js +3 -4
- package/dist/components/spinner/style.js.map +1 -1
- package/dist/components/svg-draw-lines/index.d.ts +40 -39
- package/dist/components/svg-draw-lines/index.d.ts.map +1 -0
- package/dist/components/svg-draw-lines/index.js +189 -106
- package/dist/components/svg-draw-lines/index.js.map +1 -1
- package/dist/components/svg-draw-lines/style.js +3 -4
- package/dist/components/svg-draw-lines/style.js.map +1 -1
- package/dist/components/switch/index.d.ts +411 -409
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +193 -106
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/style.js +3 -4
- package/dist/components/switch/style.js.map +1 -1
- package/dist/components/textarea/index.d.ts +430 -425
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +187 -100
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/style.js +3 -4
- package/dist/components/textarea/style.js.map +1 -1
- package/dist/components/theme/index.d.ts +45 -44
- package/dist/components/theme/index.d.ts.map +1 -0
- package/dist/components/theme/index.js +268 -161
- package/dist/components/theme/index.js.map +1 -1
- package/dist/components/theme/style.js +3 -4
- package/dist/components/theme/style.js.map +1 -1
- package/dist/components/toast/index.d.ts +4 -3
- package/dist/components/toast/index.js +3 -3
- package/dist/components/toast/manager.d.ts +9 -8
- package/dist/components/toast/manager.d.ts.map +1 -0
- package/dist/components/toast/manager.js +215 -119
- package/dist/components/toast/manager.js.map +1 -1
- package/dist/components/toast/style.js +3 -4
- package/dist/components/toast/style.js.map +1 -1
- package/dist/components/toast/toast.d.ts +75 -71
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +203 -96
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toast/types.d.ts +10 -9
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/tooltip/index.d.ts +72 -62
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +251 -93
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/style.js +3 -4
- package/dist/components/tooltip/style.js.map +1 -1
- package/dist/icons/generated/akar-icons-check.d.ts +5 -4
- package/dist/icons/generated/akar-icons-check.d.ts.map +1 -0
- package/dist/icons/generated/akar-icons-check.js +3 -4
- package/dist/icons/generated/akar-icons-check.js.map +1 -1
- package/dist/icons/generated/akar-icons-circle-check.d.ts +5 -4
- package/dist/icons/generated/akar-icons-circle-check.d.ts.map +1 -0
- package/dist/icons/generated/akar-icons-circle-check.js +3 -4
- package/dist/icons/generated/akar-icons-circle-check.js.map +1 -1
- package/dist/icons/generated/andrsrxn-inbox.d.ts +5 -4
- package/dist/icons/generated/andrsrxn-inbox.d.ts.map +1 -0
- package/dist/icons/generated/andrsrxn-inbox.js +3 -4
- package/dist/icons/generated/andrsrxn-inbox.js.map +1 -1
- package/dist/icons/generated/bi-check-lg.d.ts +5 -4
- package/dist/icons/generated/bi-check-lg.d.ts.map +1 -0
- package/dist/icons/generated/bi-check-lg.js +3 -4
- package/dist/icons/generated/bi-check-lg.js.map +1 -1
- package/dist/icons/generated/bi-check.d.ts +5 -4
- package/dist/icons/generated/bi-check.d.ts.map +1 -0
- package/dist/icons/generated/bi-check.js +3 -4
- package/dist/icons/generated/bi-check.js.map +1 -1
- package/dist/icons/generated/fluent-tag-search-24-regular.d.ts +5 -4
- package/dist/icons/generated/fluent-tag-search-24-regular.d.ts.map +1 -0
- package/dist/icons/generated/fluent-tag-search-24-regular.js +3 -4
- package/dist/icons/generated/fluent-tag-search-24-regular.js.map +1 -1
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-check-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-check-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-check-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-check-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-x-mark-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-x-mark-16-solid.js.map +1 -1
- package/dist/icons/generated/jam-close-circle-f.d.ts +7 -6
- package/dist/icons/generated/jam-close-circle-f.d.ts.map +1 -0
- package/dist/icons/generated/jam-close-circle-f.js +3 -4
- package/dist/icons/generated/jam-close-circle-f.js.map +1 -1
- package/dist/icons/generated/lucide-arrow-down-to-line.d.ts +5 -4
- package/dist/icons/generated/lucide-arrow-down-to-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-arrow-down-to-line.js +3 -4
- package/dist/icons/generated/lucide-arrow-down-to-line.js.map +1 -1
- package/dist/icons/generated/lucide-arrow-up-to-line.d.ts +5 -4
- package/dist/icons/generated/lucide-arrow-up-to-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-arrow-up-to-line.js +3 -4
- package/dist/icons/generated/lucide-arrow-up-to-line.js.map +1 -1
- package/dist/icons/generated/lucide-bell.d.ts +5 -4
- package/dist/icons/generated/lucide-bell.d.ts.map +1 -0
- package/dist/icons/generated/lucide-bell.js +3 -4
- package/dist/icons/generated/lucide-bell.js.map +1 -1
- package/dist/icons/generated/lucide-check.d.ts +5 -4
- package/dist/icons/generated/lucide-check.d.ts.map +1 -0
- package/dist/icons/generated/lucide-check.js +3 -4
- package/dist/icons/generated/lucide-check.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-down.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-down.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-down.js +3 -4
- package/dist/icons/generated/lucide-chevron-down.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-left.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-left.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-left.js +3 -4
- package/dist/icons/generated/lucide-chevron-left.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-right.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-right.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-right.js +3 -4
- package/dist/icons/generated/lucide-chevron-right.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-up.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-up.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-up.js +3 -4
- package/dist/icons/generated/lucide-chevron-up.js.map +1 -1
- package/dist/icons/generated/lucide-circle-alert.d.ts +5 -4
- package/dist/icons/generated/lucide-circle-alert.d.ts.map +1 -0
- package/dist/icons/generated/lucide-circle-alert.js +3 -4
- package/dist/icons/generated/lucide-circle-alert.js.map +1 -1
- package/dist/icons/generated/lucide-clapperboard.d.ts +5 -4
- package/dist/icons/generated/lucide-clapperboard.d.ts.map +1 -0
- package/dist/icons/generated/lucide-clapperboard.js +3 -4
- package/dist/icons/generated/lucide-clapperboard.js.map +1 -1
- package/dist/icons/generated/lucide-clipboard-paste.d.ts +5 -4
- package/dist/icons/generated/lucide-clipboard-paste.d.ts.map +1 -0
- package/dist/icons/generated/lucide-clipboard-paste.js +3 -4
- package/dist/icons/generated/lucide-clipboard-paste.js.map +1 -1
- package/dist/icons/generated/lucide-code.d.ts +5 -4
- package/dist/icons/generated/lucide-code.d.ts.map +1 -0
- package/dist/icons/generated/lucide-code.js +3 -4
- package/dist/icons/generated/lucide-code.js.map +1 -1
- package/dist/icons/generated/lucide-copy.d.ts +5 -4
- package/dist/icons/generated/lucide-copy.d.ts.map +1 -0
- package/dist/icons/generated/lucide-copy.js +3 -4
- package/dist/icons/generated/lucide-copy.js.map +1 -1
- package/dist/icons/generated/lucide-download.d.ts +5 -4
- package/dist/icons/generated/lucide-download.d.ts.map +1 -0
- package/dist/icons/generated/lucide-download.js +3 -4
- package/dist/icons/generated/lucide-download.js.map +1 -1
- package/dist/icons/generated/lucide-ellipsis-vertical.d.ts +5 -4
- package/dist/icons/generated/lucide-ellipsis-vertical.d.ts.map +1 -0
- package/dist/icons/generated/lucide-ellipsis-vertical.js +3 -4
- package/dist/icons/generated/lucide-ellipsis-vertical.js.map +1 -1
- package/dist/icons/generated/lucide-external-link.d.ts +5 -4
- package/dist/icons/generated/lucide-external-link.d.ts.map +1 -0
- package/dist/icons/generated/lucide-external-link.js +3 -4
- package/dist/icons/generated/lucide-external-link.js.map +1 -1
- package/dist/icons/generated/lucide-eye.d.ts +5 -4
- package/dist/icons/generated/lucide-eye.d.ts.map +1 -0
- package/dist/icons/generated/lucide-eye.js +3 -4
- package/dist/icons/generated/lucide-eye.js.map +1 -1
- package/dist/icons/generated/lucide-file-text.d.ts +5 -4
- package/dist/icons/generated/lucide-file-text.d.ts.map +1 -0
- package/dist/icons/generated/lucide-file-text.js +3 -4
- package/dist/icons/generated/lucide-file-text.js.map +1 -1
- package/dist/icons/generated/lucide-file.d.ts +5 -4
- package/dist/icons/generated/lucide-file.d.ts.map +1 -0
- package/dist/icons/generated/lucide-file.js +3 -4
- package/dist/icons/generated/lucide-file.js.map +1 -1
- package/dist/icons/generated/lucide-film.d.ts +5 -4
- package/dist/icons/generated/lucide-film.d.ts.map +1 -0
- package/dist/icons/generated/lucide-film.js +3 -4
- package/dist/icons/generated/lucide-film.js.map +1 -1
- package/dist/icons/generated/lucide-folder-open.d.ts +5 -4
- package/dist/icons/generated/lucide-folder-open.d.ts.map +1 -0
- package/dist/icons/generated/lucide-folder-open.js +3 -4
- package/dist/icons/generated/lucide-folder-open.js.map +1 -1
- package/dist/icons/generated/lucide-folder.d.ts +5 -4
- package/dist/icons/generated/lucide-folder.d.ts.map +1 -0
- package/dist/icons/generated/lucide-folder.js +3 -4
- package/dist/icons/generated/lucide-folder.js.map +1 -1
- package/dist/icons/generated/lucide-globe.d.ts +5 -4
- package/dist/icons/generated/lucide-globe.d.ts.map +1 -0
- package/dist/icons/generated/lucide-globe.js +3 -4
- package/dist/icons/generated/lucide-globe.js.map +1 -1
- package/dist/icons/generated/lucide-headphones.d.ts +5 -4
- package/dist/icons/generated/lucide-headphones.d.ts.map +1 -0
- package/dist/icons/generated/lucide-headphones.js +3 -4
- package/dist/icons/generated/lucide-headphones.js.map +1 -1
- package/dist/icons/generated/lucide-heart.d.ts +5 -4
- package/dist/icons/generated/lucide-heart.d.ts.map +1 -0
- package/dist/icons/generated/lucide-heart.js +3 -4
- package/dist/icons/generated/lucide-heart.js.map +1 -1
- package/dist/icons/generated/lucide-image.d.ts +5 -4
- package/dist/icons/generated/lucide-image.d.ts.map +1 -0
- package/dist/icons/generated/lucide-image.js +3 -4
- package/dist/icons/generated/lucide-image.js.map +1 -1
- package/dist/icons/generated/lucide-inbox.d.ts +5 -4
- package/dist/icons/generated/lucide-inbox.d.ts.map +1 -0
- package/dist/icons/generated/lucide-inbox.js +3 -4
- package/dist/icons/generated/lucide-inbox.js.map +1 -1
- package/dist/icons/generated/lucide-info.d.ts +5 -4
- package/dist/icons/generated/lucide-info.d.ts.map +1 -0
- package/dist/icons/generated/lucide-info.js +3 -4
- package/dist/icons/generated/lucide-info.js.map +1 -1
- package/dist/icons/generated/lucide-layout-grid.d.ts +5 -4
- package/dist/icons/generated/lucide-layout-grid.d.ts.map +1 -0
- package/dist/icons/generated/lucide-layout-grid.js +3 -4
- package/dist/icons/generated/lucide-layout-grid.js.map +1 -1
- package/dist/icons/generated/lucide-link.d.ts +5 -4
- package/dist/icons/generated/lucide-link.d.ts.map +1 -0
- package/dist/icons/generated/lucide-link.js +3 -4
- package/dist/icons/generated/lucide-link.js.map +1 -1
- package/dist/icons/generated/lucide-list-filter.d.ts +5 -4
- package/dist/icons/generated/lucide-list-filter.d.ts.map +1 -0
- package/dist/icons/generated/lucide-list-filter.js +3 -4
- package/dist/icons/generated/lucide-list-filter.js.map +1 -1
- package/dist/icons/generated/lucide-list-restart.d.ts +5 -4
- package/dist/icons/generated/lucide-list-restart.d.ts.map +1 -0
- package/dist/icons/generated/lucide-list-restart.js +3 -4
- package/dist/icons/generated/lucide-list-restart.js.map +1 -1
- package/dist/icons/generated/lucide-loader-circle.d.ts +5 -4
- package/dist/icons/generated/lucide-loader-circle.d.ts.map +1 -0
- package/dist/icons/generated/lucide-loader-circle.js +3 -4
- package/dist/icons/generated/lucide-loader-circle.js.map +1 -1
- package/dist/icons/generated/lucide-mail.d.ts +5 -4
- package/dist/icons/generated/lucide-mail.d.ts.map +1 -0
- package/dist/icons/generated/lucide-mail.js +3 -4
- package/dist/icons/generated/lucide-mail.js.map +1 -1
- package/dist/icons/generated/lucide-minus.d.ts +5 -4
- package/dist/icons/generated/lucide-minus.d.ts.map +1 -0
- package/dist/icons/generated/lucide-minus.js +3 -4
- package/dist/icons/generated/lucide-minus.js.map +1 -1
- package/dist/icons/generated/lucide-music.d.ts +5 -4
- package/dist/icons/generated/lucide-music.d.ts.map +1 -0
- package/dist/icons/generated/lucide-music.js +3 -4
- package/dist/icons/generated/lucide-music.js.map +1 -1
- package/dist/icons/generated/lucide-package.d.ts +5 -4
- package/dist/icons/generated/lucide-package.d.ts.map +1 -0
- package/dist/icons/generated/lucide-package.js +3 -4
- package/dist/icons/generated/lucide-package.js.map +1 -1
- package/dist/icons/generated/lucide-pen-line.d.ts +5 -4
- package/dist/icons/generated/lucide-pen-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-pen-line.js +3 -4
- package/dist/icons/generated/lucide-pen-line.js.map +1 -1
- package/dist/icons/generated/lucide-pencil.d.ts +5 -4
- package/dist/icons/generated/lucide-pencil.d.ts.map +1 -0
- package/dist/icons/generated/lucide-pencil.js +3 -4
- package/dist/icons/generated/lucide-pencil.js.map +1 -1
- package/dist/icons/generated/lucide-play.d.ts +5 -4
- package/dist/icons/generated/lucide-play.d.ts.map +1 -0
- package/dist/icons/generated/lucide-play.js +3 -4
- package/dist/icons/generated/lucide-play.js.map +1 -1
- package/dist/icons/generated/lucide-plus.d.ts +5 -4
- package/dist/icons/generated/lucide-plus.d.ts.map +1 -0
- package/dist/icons/generated/lucide-plus.js +3 -4
- package/dist/icons/generated/lucide-plus.js.map +1 -1
- package/dist/icons/generated/lucide-printer.d.ts +5 -4
- package/dist/icons/generated/lucide-printer.d.ts.map +1 -0
- package/dist/icons/generated/lucide-printer.js +3 -4
- package/dist/icons/generated/lucide-printer.js.map +1 -1
- package/dist/icons/generated/lucide-redo-2.d.ts +5 -4
- package/dist/icons/generated/lucide-redo-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-redo-2.js +3 -4
- package/dist/icons/generated/lucide-redo-2.js.map +1 -1
- package/dist/icons/generated/lucide-refresh-cw.d.ts +5 -4
- package/dist/icons/generated/lucide-refresh-cw.d.ts.map +1 -0
- package/dist/icons/generated/lucide-refresh-cw.js +3 -4
- package/dist/icons/generated/lucide-refresh-cw.js.map +1 -1
- package/dist/icons/generated/lucide-scissors.d.ts +5 -4
- package/dist/icons/generated/lucide-scissors.d.ts.map +1 -0
- package/dist/icons/generated/lucide-scissors.js +3 -4
- package/dist/icons/generated/lucide-scissors.js.map +1 -1
- package/dist/icons/generated/lucide-search.d.ts +5 -4
- package/dist/icons/generated/lucide-search.d.ts.map +1 -0
- package/dist/icons/generated/lucide-search.js +3 -4
- package/dist/icons/generated/lucide-search.js.map +1 -1
- package/dist/icons/generated/lucide-settings.d.ts +5 -4
- package/dist/icons/generated/lucide-settings.d.ts.map +1 -0
- package/dist/icons/generated/lucide-settings.js +3 -4
- package/dist/icons/generated/lucide-settings.js.map +1 -1
- package/dist/icons/generated/lucide-sliders-horizontal.d.ts +5 -4
- package/dist/icons/generated/lucide-sliders-horizontal.d.ts.map +1 -0
- package/dist/icons/generated/lucide-sliders-horizontal.js +3 -4
- package/dist/icons/generated/lucide-sliders-horizontal.js.map +1 -1
- package/dist/icons/generated/lucide-star.d.ts +5 -4
- package/dist/icons/generated/lucide-star.d.ts.map +1 -0
- package/dist/icons/generated/lucide-star.js +3 -4
- package/dist/icons/generated/lucide-star.js.map +1 -1
- package/dist/icons/generated/lucide-tag.d.ts +5 -4
- package/dist/icons/generated/lucide-tag.d.ts.map +1 -0
- package/dist/icons/generated/lucide-tag.js +3 -4
- package/dist/icons/generated/lucide-tag.js.map +1 -1
- package/dist/icons/generated/lucide-tags.d.ts +5 -4
- package/dist/icons/generated/lucide-tags.d.ts.map +1 -0
- package/dist/icons/generated/lucide-tags.js +3 -4
- package/dist/icons/generated/lucide-tags.js.map +1 -1
- package/dist/icons/generated/lucide-trash-2.d.ts +5 -4
- package/dist/icons/generated/lucide-trash-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-trash-2.js +3 -4
- package/dist/icons/generated/lucide-trash-2.js.map +1 -1
- package/dist/icons/generated/lucide-triangle-alert.d.ts +5 -4
- package/dist/icons/generated/lucide-triangle-alert.d.ts.map +1 -0
- package/dist/icons/generated/lucide-triangle-alert.js +3 -4
- package/dist/icons/generated/lucide-triangle-alert.js.map +1 -1
- package/dist/icons/generated/lucide-undo-2.d.ts +5 -4
- package/dist/icons/generated/lucide-undo-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-undo-2.js +3 -4
- package/dist/icons/generated/lucide-undo-2.js.map +1 -1
- package/dist/icons/generated/lucide-upload.d.ts +5 -4
- package/dist/icons/generated/lucide-upload.d.ts.map +1 -0
- package/dist/icons/generated/lucide-upload.js +3 -4
- package/dist/icons/generated/lucide-upload.js.map +1 -1
- package/dist/icons/generated/lucide-user.d.ts +5 -4
- package/dist/icons/generated/lucide-user.d.ts.map +1 -0
- package/dist/icons/generated/lucide-user.js +3 -4
- package/dist/icons/generated/lucide-user.js.map +1 -1
- package/dist/icons/generated/lucide-wrench.d.ts +5 -4
- package/dist/icons/generated/lucide-wrench.d.ts.map +1 -0
- package/dist/icons/generated/lucide-wrench.js +3 -4
- package/dist/icons/generated/lucide-wrench.js.map +1 -1
- package/dist/icons/generated/lucide-x.d.ts +5 -4
- package/dist/icons/generated/lucide-x.d.ts.map +1 -0
- package/dist/icons/generated/lucide-x.js +3 -4
- package/dist/icons/generated/lucide-x.js.map +1 -1
- package/dist/icons/generated/mdi-tag-search-outline.d.ts +5 -4
- package/dist/icons/generated/mdi-tag-search-outline.d.ts.map +1 -0
- package/dist/icons/generated/mdi-tag-search-outline.js +3 -4
- package/dist/icons/generated/mdi-tag-search-outline.js.map +1 -1
- package/dist/icons/generated/ooui-close.d.ts +5 -4
- package/dist/icons/generated/ooui-close.d.ts.map +1 -0
- package/dist/icons/generated/ooui-close.js +3 -4
- package/dist/icons/generated/ooui-close.js.map +1 -1
- package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts +5 -4
- package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts.map +1 -0
- package/dist/icons/generated/radix-icons-panel-left-minimized.js +3 -4
- package/dist/icons/generated/radix-icons-panel-left-minimized.js.map +1 -1
- package/dist/icons/generated/radix-icons-reset.d.ts +5 -4
- package/dist/icons/generated/radix-icons-reset.d.ts.map +1 -0
- package/dist/icons/generated/radix-icons-reset.js +3 -4
- package/dist/icons/generated/radix-icons-reset.js.map +1 -1
- package/dist/icons/generated/tabler-sort-ascending-letters.d.ts +5 -4
- package/dist/icons/generated/tabler-sort-ascending-letters.d.ts.map +1 -0
- package/dist/icons/generated/tabler-sort-ascending-letters.js +3 -4
- package/dist/icons/generated/tabler-sort-ascending-letters.js.map +1 -1
- package/dist/icons/index.d.ts +75 -74
- package/dist/icons/index.js +75 -75
- package/dist/shared/element-height/index.js +51 -25
- package/dist/shared/element-height/index.js.map +1 -1
- package/dist/shared/element-width/index.js +39 -24
- package/dist/shared/element-width/index.js.map +1 -1
- package/dist/shared/events/user-change.js +14 -8
- package/dist/shared/events/user-change.js.map +1 -1
- package/dist/shared/focus/pointer-focus.js +56 -30
- package/dist/shared/focus/pointer-focus.js.map +1 -1
- package/dist/shared/focus/tabbable.js +96 -0
- package/dist/shared/focus/tabbable.js.map +1 -0
- package/dist/shared/form-association/field-id.js +13 -6
- package/dist/shared/form-association/field-id.js.map +1 -1
- package/dist/shared/form-association/index.js +75 -42
- package/dist/shared/form-association/index.js.map +1 -1
- package/dist/shared/gesture/drag-gesture.js +239 -99
- package/dist/shared/gesture/drag-gesture.js.map +1 -1
- package/dist/shared/gesture/physics.js +49 -16
- package/dist/shared/gesture/physics.js.map +1 -1
- package/dist/shared/gesture/pinch-gesture.js +111 -60
- package/dist/shared/gesture/pinch-gesture.js.map +1 -1
- package/dist/shared/group-management/index.js +181 -84
- package/dist/shared/group-management/index.js.map +1 -1
- package/dist/shared/label-emptiness/index.js +45 -26
- package/dist/shared/label-emptiness/index.js.map +1 -1
- package/dist/shared/locale/builtin-labels.js +38 -0
- package/dist/shared/locale/builtin-labels.js.map +1 -0
- package/dist/shared/menu-behavior/index.js +113 -60
- package/dist/shared/menu-behavior/index.js.map +1 -1
- package/dist/shared/menu-portal/menu-portal.js +47 -26
- package/dist/shared/menu-portal/menu-portal.js.map +1 -1
- package/dist/shared/menu-portal/menu-tree.js +132 -75
- package/dist/shared/menu-portal/menu-tree.js.map +1 -1
- package/dist/shared/normalize/index.js +16 -7
- package/dist/shared/normalize/index.js.map +1 -1
- package/dist/shared/open-state/index.js +7 -8
- package/dist/shared/open-state/index.js.map +1 -1
- package/dist/shared/option-portal/combobox-shell.js +121 -56
- package/dist/shared/option-portal/combobox-shell.js.map +1 -1
- package/dist/shared/option-portal/index.js +65 -44
- package/dist/shared/option-portal/index.js.map +1 -1
- package/dist/shared/overlay/anchored-panel.js +75 -40
- package/dist/shared/overlay/anchored-panel.js.map +1 -1
- package/dist/shared/overlay/native-dialog-presence.js +116 -52
- package/dist/shared/overlay/native-dialog-presence.js.map +1 -1
- package/dist/shared/overlay/nested-drawer-layers.js +76 -46
- package/dist/shared/overlay/nested-drawer-layers.js.map +1 -1
- package/dist/shared/overlay/open-overlay.js +240 -136
- package/dist/shared/overlay/open-overlay.js.map +1 -1
- package/dist/shared/overlay/overlay-root.js +33 -24
- package/dist/shared/overlay/overlay-root.js.map +1 -1
- package/dist/shared/overlay/overlay.js +109 -66
- package/dist/shared/overlay/overlay.js.map +1 -1
- package/dist/shared/overlay/placement-props.js +9 -4
- package/dist/shared/overlay/placement-props.js.map +1 -1
- package/dist/shared/overlay/portal.d.ts +2 -0
- package/dist/shared/overlay/portal.d.ts.map +1 -0
- package/dist/shared/overlay/portal.js +202 -117
- package/dist/shared/overlay/portal.js.map +1 -1
- package/dist/shared/overlay/positioning-generation.js +9 -10
- package/dist/shared/overlay/positioning-generation.js.map +1 -1
- package/dist/shared/overlay/presence.js +43 -21
- package/dist/shared/overlay/presence.js.map +1 -1
- package/dist/shared/overlay/theme-overlay-scope.js +22 -19
- package/dist/shared/overlay/theme-overlay-scope.js.map +1 -1
- package/dist/shared/scroll-lock/scroll-lock.js +49 -15
- package/dist/shared/scroll-lock/scroll-lock.js.map +1 -1
- package/dist/shared/theme/duration.js +13 -6
- package/dist/shared/theme/duration.js.map +1 -1
- package/dist/shared/theme/reduced-motion.js +14 -9
- package/dist/shared/theme/reduced-motion.js.map +1 -1
- package/dist/shared/theme/root-sync.js +85 -32
- package/dist/shared/theme/root-sync.js.map +1 -1
- package/dist/shared/visible-area/index.js +81 -37
- package/dist/shared/visible-area/index.js.map +1 -1
- package/dist/types/iconify.d.ts +1 -1
- package/dist/types/iconify.js +0 -0
- package/dist/types/react.d.ts +8 -10
- package/dist/types/react.d.ts.map +1 -0
- package/dist/types/react.js +0 -0
- package/dist/types/utils.d.ts +8 -13
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +0 -0
- package/dist/types/vue.d.ts +9 -13
- package/dist/types/vue.d.ts.map +1 -0
- package/dist/types/vue.js +0 -0
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +30 -4
- package/dist/vite/index.js.map +1 -1
- package/package.json +10 -23
- package/dist/_virtual/_@oxc-project_runtime@0.149.0/helpers/esm/decorate.js +0 -9
- package/dist/components/middle-ellipsis/truncate.d.ts +0 -62
- package/dist/components/radio/interaction.d.ts +0 -4
- package/dist/scrollbars/index.d.ts +0 -33
- package/dist/scrollbars/index.js +0 -18
- package/dist/scrollbars/index.js.map +0 -1
- package/dist/scrollbars/internal.js +0 -6
- package/dist/scrollbars/internal.js.map +0 -1
- package/dist/scrollbars/style.css +0 -10
package/dist/types/react.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WebUiElementMap } from
|
|
3
|
-
import {
|
|
1
|
+
import { ExtractProps, OmitLitBase, ReactCustomEventListeners } from "./utils.js";
|
|
2
|
+
import { WebUiElementMap } from "../components/index.js";
|
|
3
|
+
import { DetailedHTMLProps, HTMLAttributes } from "react";
|
|
4
4
|
/**
|
|
5
5
|
* Lit Web Component 的 React 包装类型。
|
|
6
6
|
*
|
|
@@ -11,12 +11,10 @@ import { ExtractProps, OmitLitBase, ReactCustomEventListeners } from './utils';
|
|
|
11
11
|
* 重叠键类型相容(如 `placeholder`),组件类型在交叉中自然生效;`ref` 保持具体元素类型。
|
|
12
12
|
*/
|
|
13
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
|
-
};
|
|
14
|
+
export type WebUiComponents = { [K in keyof WebUiElementMap]: LitReactWrapper<WebUiElementMap[K]>; };
|
|
17
15
|
declare module 'react' {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
16
|
+
namespace JSX {
|
|
17
|
+
interface IntrinsicElements extends WebUiComponents {}
|
|
18
|
+
}
|
|
22
19
|
}
|
|
20
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","names":[],"sources":["../../src/types/react.ts"],"mappings":";;;;;;;;;;;;YAeY,gBAAgB,UAAU,eAAe,kBACnD,aAAa,YAAY,MAAM,0BAA0B,KAAK,eAAe,IAC7E;YAIU,qBACT,WAAW,kBAAkB,gBAAgB,gBAAgB;;YAKpD;cAEE,0BAA0B"}
|
|
File without changes
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import { LitElement } from
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
2
|
type Fn = (...args: unknown[]) => unknown;
|
|
3
3
|
/**
|
|
4
4
|
* 1. 移除属性中的函数
|
|
5
5
|
* 2. 移除 $events 虚拟属性
|
|
6
6
|
* 3. 属性全部设为可选(符合 web component 标准)
|
|
7
7
|
*/
|
|
8
|
-
export type ExtractProps<T> = {
|
|
9
|
-
[K in keyof T as T[K] extends Fn ? never : K extends '$events' ? never : K]?: T[K];
|
|
10
|
-
};
|
|
8
|
+
export type ExtractProps<T> = { [K in keyof T as T[K] extends Fn ? never : K extends '$events' ? never : K]?: T[K]; };
|
|
11
9
|
export type OmitLitBase<T> = Omit<T, keyof HTMLElement | keyof LitElement>;
|
|
12
10
|
/**
|
|
13
11
|
* 从组件 `$events` 接口提取公共事件映射。
|
|
14
12
|
* 无 `$events` 的组件(无公共事件)得到空映射。
|
|
15
13
|
*/
|
|
16
14
|
export type ComponentEvents<T> = T extends {
|
|
17
|
-
|
|
15
|
+
readonly $events: infer E;
|
|
18
16
|
} ? E : Record<never, never>;
|
|
19
17
|
/**
|
|
20
18
|
* 事件宿主化:在事件本体上注入组件实例 target/currentTarget 类型。
|
|
@@ -22,16 +20,14 @@ export type ComponentEvents<T> = T extends {
|
|
|
22
20
|
* target/currentTarget 标为 readonly,与 DOM `Event` 契约一致。
|
|
23
21
|
*/
|
|
24
22
|
export type WithHost<T extends EventTarget, E> = E extends Event ? E & {
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
readonly target: T;
|
|
24
|
+
readonly currentTarget: T;
|
|
27
25
|
} : E;
|
|
28
26
|
/**
|
|
29
27
|
* 组件宿主化事件映射:`$events` 的每个条目都收窄 target/currentTarget 到组件实例。
|
|
30
28
|
* React 自定义事件与 Vue emits 均从该映射生成 handler 类型。
|
|
31
29
|
*/
|
|
32
|
-
export type HostEventMap<T extends HTMLElement> = {
|
|
33
|
-
[K in keyof ComponentEvents<T>]: WithHost<T, ComponentEvents<T>[K]>;
|
|
34
|
-
};
|
|
30
|
+
export type HostEventMap<T extends HTMLElement> = { [K in keyof ComponentEvents<T>]: WithHost<T, ComponentEvents<T>[K]>; };
|
|
35
31
|
/**
|
|
36
32
|
* 组件 `$events` 中的 string 事件名。
|
|
37
33
|
* 无公共事件或仅有非 string 键的组件得到 `never`。
|
|
@@ -47,7 +43,6 @@ export type WebUiEvent<T extends HTMLElement, K extends WebUiEventName<T>> = Hos
|
|
|
47
43
|
* 标准 DOM 事件(input/change/focus/blur)由 React 的 camelCase handler 提供,
|
|
48
44
|
* 不在适配层生成 lowercase 别名。
|
|
49
45
|
*/
|
|
50
|
-
export type ReactCustomEventListeners<T extends HTMLElement> = {
|
|
51
|
-
[K in keyof HostEventMap<T> & string as K extends `${string}-${string}` ? `on${K}` : never]?: (e: HostEventMap<T>[K]) => void;
|
|
52
|
-
};
|
|
46
|
+
export type ReactCustomEventListeners<T extends HTMLElement> = { [K in keyof HostEventMap<T> & string as K extends `${string}-${string}` ? `on${K}` : never]?: (e: HostEventMap<T>[K]) => void; };
|
|
53
47
|
export {};
|
|
48
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/types/utils.ts"],"mappings":";KAEK,SAAS;;;;;;YAOF,aAAa,QACtB,WAAW,KAAK,EAAE,WAAW,aAAa,8BAA8B,KAAK,EAAE;YAGtE,YAAY,KAAK,KAAK,SAAS,oBAAoB;;;;;YAMnD,gBAAgB,KAAK;WAAqB,eAAe;IAAM,IAAI;;;;;;YAOnE,SAAS,UAAU,aAAa,KAAK,UAAU,QACvD;WAAe,QAAQ;WAAY,eAAe;IAClD;;;;;YAMQ,aAAa,UAAU,kBAChC,WAAW,gBAAgB,KAAK,SAAS,GAAG,gBAAgB,GAAG;;;;;YAOtD,eAAe,UAAU,qBAAqB,gBAAgB;;;;;YAM9D,WAAW,UAAU,aAAa,UAAU,eAAe,MAAM,aAAa,GAAG;;;;;;YAOjF,0BAA0B,UAAU,kBAC7C,WAAW,aAAa,eAAe,uCAAuC,gBAC7E,GAAG,aAAa,GAAG"}
|
|
File without changes
|
package/dist/types/vue.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WebUiElementMap } from
|
|
3
|
-
import {
|
|
1
|
+
import { ComponentEvents, ExtractProps, OmitLitBase, WithHost } from "./utils.js";
|
|
2
|
+
import { WebUiElementMap } from "../components/index.js";
|
|
3
|
+
import { ComponentOptionsMixin, DefineComponent, EmitsToProps, HTMLAttributes, PublicProps } from "vue";
|
|
4
4
|
type VueEmits<T extends HTMLElement> = T extends {
|
|
5
|
-
|
|
6
|
-
} ? {
|
|
7
|
-
[K in keyof E]: (e: WithHost<T, E[K]>) => void;
|
|
8
|
-
} : Record<never, never>;
|
|
5
|
+
readonly $events: infer E;
|
|
6
|
+
} ? { [K in keyof E]: (e: WithHost<T, E[K]>) => void; } : Record<never, never>;
|
|
9
7
|
type VueNativeAttrs<T extends HTMLElement> = Omit<HTMLAttributes, `on${Capitalize<keyof ComponentEvents<T> & string>}`>;
|
|
10
8
|
type VueProps<T extends HTMLElement> = ExtractProps<OmitLitBase<T>> & VueNativeAttrs<T>;
|
|
11
9
|
type VueResolvedProps<T extends HTMLElement> = Readonly<VueProps<T>> & (VueEmits<T> extends Record<string, never> ? unknown : EmitsToProps<VueEmits<T>>);
|
|
@@ -15,14 +13,12 @@ type VueResolvedProps<T extends HTMLElement> = Readonly<VueProps<T>> & (VueEmits
|
|
|
15
13
|
* - Props: 组件属性 + 局部 HTMLAttributes(含原生 DOM 事件),不污染其他 Vue 组件
|
|
16
14
|
* - Emits: 从 $events 提取的宿主化事件,Volar 可识别 @event 绑定
|
|
17
15
|
* - TypeEl: 模板 ref/$el 类型为具体 Custom Element 实例
|
|
18
|
-
* -
|
|
16
|
+
* - 不全局扩展 ComponentCustomProps
|
|
19
17
|
*/
|
|
20
18
|
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
|
-
};
|
|
19
|
+
export type WebUiComponents = { [K in keyof WebUiElementMap]: LitVueWrapper<WebUiElementMap[K]>; };
|
|
24
20
|
declare module 'vue' {
|
|
25
|
-
|
|
26
|
-
}
|
|
21
|
+
interface GlobalComponents extends WebUiComponents {}
|
|
27
22
|
}
|
|
28
23
|
export {};
|
|
24
|
+
//# sourceMappingURL=vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.d.ts","names":[],"sources":["../../src/types/vue.ts"],"mappings":";;;KAQK,SAAS,UAAU,eAAe;WAAqB,eAAe;OACpE,WAAW,KAAK,GAAG,SAAS,GAAG,EAAE,kBACpC;KAIC,eAAe,UAAU,eAAe,KAAK,qBAAqB,iBAAiB,gBAAgB;KAEnG,SAAS,UAAU,eAAe,aAAa,YAAY,MAAM,eAAe;KAKhF,iBAAiB,UAAU,eAAe,SAAS,SAAS,OAC9D,SAAS,WAAW,kCAAkC,aAAa,SAAS;;;;;;;;;YAUnE,cAAc,UAAU,eAAe,gBACjD,SAAS,IACT,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,SAAS,YAET,aACA,iBAAiB,IACjB,sBACA,sBACA,sBACA,8BAEA,4BAEA,sBACA;YAIU,qBACT,WAAW,kBAAkB,cAAc,gBAAgB;;YAK3C,yBAAyB"}
|
|
File without changes
|
package/dist/vite/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/vite/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;qBA2Ba"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/vite/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* 消费方 Vite 配置里 `optimizeDeps.include` 要补的 web-ui 运行时依赖。
|
|
4
|
+
*
|
|
5
|
+
* web-ui 的组件从自己的 dist 里带出 `lit`、`@lit/context`、`@floating-ui/dom` 这些裸依赖。它们不在
|
|
6
|
+
* 应用的 dependencies 里,应用自己解析不到,写裸名会被 Vite 静默跳过,于是 Vite 直到请求模块时才
|
|
7
|
+
* 发现它们并打印 `optimized dependencies changed. reloading`,那一次模块加载就失败了(症状是
|
|
8
|
+
* `Failed to fetch dynamically imported module`)。条目里的 `>` 是 Vite 的「从某个包的角度解析」
|
|
9
|
+
* 写法,让它们按 web-ui 的依赖树解析。
|
|
10
|
+
*
|
|
11
|
+
* 应用的依赖扫描器看不穿 web-ui 的组件图时才需要这份清单。典型场景是路由或页面由虚拟模块加载,
|
|
12
|
+
* 比如 file-based routing(`vue-router/vite`)或 `import.meta.glob`,扫描器进不去那些模块,路由页里
|
|
13
|
+
* 由组件库生成的导入就不可见。反过来,启动入口静态 import 到每个组件模块的应用,扫描器自己就能
|
|
14
|
+
* 发现这些裸依赖,不必列出。
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { webUiOptimizeDeps } from '@greypan/web-ui/vite'
|
|
18
|
+
*
|
|
19
|
+
* export default {
|
|
20
|
+
* optimizeDeps: {
|
|
21
|
+
* include: [...webUiOptimizeDeps]
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* 这份清单只影响 dev 期的依赖预打包,构建不受影响。web-ui 增删运行时依赖时清单要跟着改,所以应用
|
|
27
|
+
* 直接引用它,不要复制条目。
|
|
28
|
+
*/
|
|
29
|
+
const webUiOptimizeDeps = [
|
|
3
30
|
"@greypan/web-ui > lit",
|
|
4
31
|
"@greypan/web-ui > @lit/context",
|
|
5
32
|
"@greypan/web-ui > @floating-ui/dom",
|
|
@@ -10,7 +37,6 @@ var e = [
|
|
|
10
37
|
"@greypan/web-ui > lit/directives/style-map.js",
|
|
11
38
|
"@greypan/web-ui > lit/directives/unsafe-svg.js"
|
|
12
39
|
];
|
|
13
|
-
|
|
14
|
-
export { e as webUiOptimizeDeps };
|
|
40
|
+
export { webUiOptimizeDeps };
|
|
15
41
|
|
|
16
42
|
//# sourceMappingURL=index.js.map
|
package/dist/vite/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/vite/index.ts"],"sourcesContent":["/**\n * 消费方 Vite 配置里 `optimizeDeps.include` 要补的 web-ui 运行时依赖。\n *\n * web-ui 的组件从自己的 dist 里带出 `lit`、`@lit/context`、`@floating-ui/dom` 这些裸依赖。它们不在\n * 应用的 dependencies 里,应用自己解析不到,写裸名会被 Vite 静默跳过,于是 Vite 直到请求模块时才\n * 发现它们并打印 `optimized dependencies changed. reloading`,那一次模块加载就失败了(症状是\n * `Failed to fetch dynamically imported module`)。条目里的 `>` 是 Vite 的「从某个包的角度解析」\n * 写法,让它们按 web-ui 的依赖树解析。\n *\n * 应用的依赖扫描器看不穿 web-ui 的组件图时才需要这份清单。典型场景是路由或页面由虚拟模块加载,\n * 比如 file-based routing(`vue-router/vite`)或 `import.meta.glob`,扫描器进不去那些模块,路由页里\n * 由组件库生成的导入就不可见。反过来,启动入口静态 import 到每个组件模块的应用,扫描器自己就能\n * 发现这些裸依赖,不必列出。\n *\n * ```ts\n * import { webUiOptimizeDeps } from '@greypan/web-ui/vite'\n *\n * export default {\n * optimizeDeps: {\n * include: [...webUiOptimizeDeps]\n * }\n * }\n * ```\n *\n * 这份清单只影响 dev 期的依赖预打包,构建不受影响。web-ui 增删运行时依赖时清单要跟着改,所以应用\n * 直接引用它,不要复制条目。\n */\nexport const webUiOptimizeDeps: string[] = [\n '@greypan/web-ui > lit',\n '@greypan/web-ui > @lit/context',\n '@greypan/web-ui > @floating-ui/dom',\n '@greypan/web-ui > lit/decorators.js',\n '@greypan/web-ui > lit/directives/class-map.js',\n '@greypan/web-ui > lit/directives/if-defined.js',\n '@greypan/web-ui > lit/directives/repeat.js',\n '@greypan/web-ui > lit/directives/style-map.js',\n '@greypan/web-ui > lit/directives/unsafe-svg.js'\n]\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/vite/index.ts"],"sourcesContent":["/**\n * 消费方 Vite 配置里 `optimizeDeps.include` 要补的 web-ui 运行时依赖。\n *\n * web-ui 的组件从自己的 dist 里带出 `lit`、`@lit/context`、`@floating-ui/dom` 这些裸依赖。它们不在\n * 应用的 dependencies 里,应用自己解析不到,写裸名会被 Vite 静默跳过,于是 Vite 直到请求模块时才\n * 发现它们并打印 `optimized dependencies changed. reloading`,那一次模块加载就失败了(症状是\n * `Failed to fetch dynamically imported module`)。条目里的 `>` 是 Vite 的「从某个包的角度解析」\n * 写法,让它们按 web-ui 的依赖树解析。\n *\n * 应用的依赖扫描器看不穿 web-ui 的组件图时才需要这份清单。典型场景是路由或页面由虚拟模块加载,\n * 比如 file-based routing(`vue-router/vite`)或 `import.meta.glob`,扫描器进不去那些模块,路由页里\n * 由组件库生成的导入就不可见。反过来,启动入口静态 import 到每个组件模块的应用,扫描器自己就能\n * 发现这些裸依赖,不必列出。\n *\n * ```ts\n * import { webUiOptimizeDeps } from '@greypan/web-ui/vite'\n *\n * export default {\n * optimizeDeps: {\n * include: [...webUiOptimizeDeps]\n * }\n * }\n * ```\n *\n * 这份清单只影响 dev 期的依赖预打包,构建不受影响。web-ui 增删运行时依赖时清单要跟着改,所以应用\n * 直接引用它,不要复制条目。\n */\nexport const webUiOptimizeDeps: string[] = [\n '@greypan/web-ui > lit',\n '@greypan/web-ui > @lit/context',\n '@greypan/web-ui > @floating-ui/dom',\n '@greypan/web-ui > lit/decorators.js',\n '@greypan/web-ui > lit/directives/class-map.js',\n '@greypan/web-ui > lit/directives/if-defined.js',\n '@greypan/web-ui > lit/directives/repeat.js',\n '@greypan/web-ui > lit/directives/style-map.js',\n '@greypan/web-ui > lit/directives/unsafe-svg.js'\n]\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAa,oBAA8B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@greypan/web-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Lit-based web components for React, Vue, and vanilla JS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
"./src/components/**",
|
|
16
16
|
"./dist/components/**",
|
|
17
17
|
"./src/classes/**",
|
|
18
|
-
"./dist/classes/**"
|
|
19
|
-
"./src/scrollbars/**",
|
|
20
|
-
"./dist/scrollbars/**"
|
|
18
|
+
"./dist/classes/**"
|
|
21
19
|
],
|
|
22
20
|
"exports": {
|
|
23
21
|
".": {
|
|
@@ -33,17 +31,11 @@
|
|
|
33
31
|
"import": "./dist/icons/index.js"
|
|
34
32
|
},
|
|
35
33
|
"./classes.css": "./dist/classes/style.css",
|
|
36
|
-
"./scrollbars": {
|
|
37
|
-
"types": "./dist/scrollbars/index.d.ts",
|
|
38
|
-
"import": "./dist/scrollbars/index.js"
|
|
39
|
-
},
|
|
40
|
-
"./scrollbars.css": "./dist/scrollbars/style.css",
|
|
41
34
|
"./types/*": "./dist/types/*.d.ts",
|
|
42
35
|
"./vite": {
|
|
43
36
|
"types": "./dist/vite/index.d.ts",
|
|
44
37
|
"import": "./dist/vite/index.js"
|
|
45
|
-
}
|
|
46
|
-
"./package.json": "./package.json"
|
|
38
|
+
}
|
|
47
39
|
},
|
|
48
40
|
"publishConfig": {
|
|
49
41
|
"access": "public",
|
|
@@ -51,11 +43,12 @@
|
|
|
51
43
|
},
|
|
52
44
|
"dependencies": {
|
|
53
45
|
"@floating-ui/dom": "^1.8.0",
|
|
54
|
-
"@greypan/browser-kit": "3.0
|
|
55
|
-
"@greypan/js-kit": "3.0
|
|
46
|
+
"@greypan/browser-kit": "3.1.0",
|
|
47
|
+
"@greypan/js-kit": "3.1.0",
|
|
56
48
|
"@lit/context": "^1.1.6"
|
|
57
49
|
},
|
|
58
50
|
"devDependencies": {
|
|
51
|
+
"@greypan/monorepo-kit": "0.0.1",
|
|
59
52
|
"@greypan/tsconfig": "0.0.0",
|
|
60
53
|
"@iconify-json/akar-icons": "^1.2.7",
|
|
61
54
|
"@iconify-json/andrsrxn": "^1.2.2",
|
|
@@ -73,27 +66,21 @@
|
|
|
73
66
|
"@types/react": "^19.2.17",
|
|
74
67
|
"@types/react-dom": "^19.2.5",
|
|
75
68
|
"lit": "^3.3.3",
|
|
76
|
-
"overlayscrollbars": "^2.16.0",
|
|
77
69
|
"react": "^19.2.7",
|
|
78
70
|
"react-dom": "^19.2.7",
|
|
79
|
-
"vite-plugin-dts": "^5.0.3",
|
|
80
71
|
"vue": "^3.5.39",
|
|
81
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@
|
|
82
|
-
"vite-plus": "
|
|
72
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.4.0",
|
|
73
|
+
"vite-plus": "1.4.0"
|
|
83
74
|
},
|
|
84
75
|
"peerDependencies": {
|
|
85
76
|
"@types/react": ">=19",
|
|
86
77
|
"lit": "^3.3.3",
|
|
87
|
-
"overlayscrollbars": "^2.16.0",
|
|
88
78
|
"vue": ">=3.5"
|
|
89
79
|
},
|
|
90
80
|
"peerDependenciesMeta": {
|
|
91
81
|
"@types/react": {
|
|
92
82
|
"optional": true
|
|
93
83
|
},
|
|
94
|
-
"overlayscrollbars": {
|
|
95
|
-
"optional": true
|
|
96
|
-
},
|
|
97
84
|
"vue": {
|
|
98
85
|
"optional": true
|
|
99
86
|
}
|
|
@@ -107,9 +94,9 @@
|
|
|
107
94
|
"not dead"
|
|
108
95
|
],
|
|
109
96
|
"scripts": {
|
|
110
|
-
"build": "vp
|
|
97
|
+
"build": "vp pack",
|
|
111
98
|
"test": "vp test run",
|
|
112
|
-
"dev": "vp
|
|
99
|
+
"dev": "vp pack --watch --clean=false",
|
|
113
100
|
"generate-icons": "node --experimental-strip-types scripts/generate-icons.ts"
|
|
114
101
|
}
|
|
115
102
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
2
|
-
function e(e, t, n, r) {
|
|
3
|
-
var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
|
|
4
|
-
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
|
|
5
|
-
else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
|
|
6
|
-
return i > 3 && a && Object.defineProperty(t, n, a), a;
|
|
7
|
-
}
|
|
8
|
-
//#endregion
|
|
9
|
-
export { e as default };
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 单行「中间省略」的切分运算。
|
|
3
|
-
*
|
|
4
|
-
* 目标:把 `text` 拆成 `head + marker + tail`,两端各自在原串里连续、中间那段被丢掉,
|
|
5
|
-
* 且合串不超过可用行内空间。切点只落在**字素簇**边界上,代理对、组合符序列和 ZWJ emoji
|
|
6
|
-
* 都不会被从中间劈开——按 UTF-16 下标切一定会。
|
|
7
|
-
*
|
|
8
|
-
* 为什么这一层不能由 CSS 承担:`text-overflow` 渲染的是行盒里**一段连续**的内容,结构上
|
|
9
|
-
* 不可能同时显示首尾而丢掉中间。能靠 `direction` / 双值写法挪动的只是省略号落在行的哪一
|
|
10
|
-
* 端,而且 `direction: rtl` 那条路还会按双向算法重排内容(`2026-report.pdf` → `report.pdf-2026`)。
|
|
11
|
-
* 完整调研见 docs/research/web-ui-middle-ellipsis-261007.md。
|
|
12
|
-
*
|
|
13
|
-
* 宽度口径:两端额度按 `position` 从可用空间里分出来,各自用「前 i 簇 / 后 i 簇」的**实测**
|
|
14
|
-
* 宽度二分逼近。实测走调用方给的探针(Range 读取,不写 DOM),所以重算一次只有若干次读取,
|
|
15
|
-
* 没有回流——panel 里同时存在成百上千个这样的单元格时,这个差别就是「一帧一次布局」与
|
|
16
|
-
* 「一个单元格一次布局」的差别。
|
|
17
|
-
*
|
|
18
|
-
* 分段宽度不蕴含合串宽度:`head|marker` 与 `marker|tail` 两个接缝的字距和连字是分段量看不见
|
|
19
|
-
* 的。这里不做合串实测,因为那要写一次 DOM 再读、把上面省下的回流又付回去;复核交给调用方
|
|
20
|
-
* 对着**渲染出来的真实盒子**做一次(见组件的 `updated()`),那才是「放得下」的直接证据。
|
|
21
|
-
*/
|
|
22
|
-
/** 默认省略标记:U+2026 HORIZONTAL ELLIPSIS。 */
|
|
23
|
-
export declare const DEFAULT_MARKER = "\u2026";
|
|
24
|
-
/**
|
|
25
|
-
* 每个字素簇的 UTF-16 结束偏移(升序,不含 0),末项恒等于 `text.length`。
|
|
26
|
-
*
|
|
27
|
-
* `Intl.Segmenter` 的构造不便宜,单例复用。目标浏览器(见 package.json 的 browserslist)
|
|
28
|
-
* 与本地 node 测试环境都自带它,因此不写按码点切的退化分支——那会在部分环境里悄悄改变
|
|
29
|
-
* 切分口径,而这正是本模块唯一的正确性来源。
|
|
30
|
-
*/
|
|
31
|
-
export declare function clusterEnds(text: string): number[];
|
|
32
|
-
/**
|
|
33
|
-
* 宽度探针。
|
|
34
|
-
*
|
|
35
|
-
* 三段都必须是**真实排版**下量到的宽度:字体回退、字距、连字、`letter-spacing`、
|
|
36
|
-
* `text-transform` 都会改变字形的推进量,任何独立的估算(例如用 canvas 的 `measureText`)
|
|
37
|
-
* 都要自己复刻这一整套解析,复刻不全就是静默的量错。
|
|
38
|
-
*/
|
|
39
|
-
export interface WidthProbe {
|
|
40
|
-
/** 原文前 `units` 个 UTF-16 单元的渲染宽度。 */
|
|
41
|
-
prefix(units: number): number;
|
|
42
|
-
/** 原文后 `units` 个 UTF-16 单元的渲染宽度。 */
|
|
43
|
-
suffix(units: number): number;
|
|
44
|
-
/** 标记自身的渲染宽度。 */
|
|
45
|
-
marker(): number;
|
|
46
|
-
}
|
|
47
|
-
export interface MiddleTruncation {
|
|
48
|
-
/** 保留的原文前缀。 */
|
|
49
|
-
readonly head: string;
|
|
50
|
-
/** 保留的原文后缀。 */
|
|
51
|
-
readonly tail: string;
|
|
52
|
-
/** 是否真的丢掉了内容;`false` 时合串就是原文,标记不出现。 */
|
|
53
|
-
readonly truncated: boolean;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 在 `available` 内把 `text` 切成 `head + marker + tail`。
|
|
57
|
-
*
|
|
58
|
-
* `position` 与 CSSWG css-overflow-5 的 `text-overflow: ellipsis <length-percentage>` 同向:
|
|
59
|
-
* 量的是标记结束边距行末边的距离占可用行内空间的比例。`0` 把标记贴在行末(只剩头部,等价于
|
|
60
|
-
* 末尾省略),`100` 贴在行首(只剩尾部),`50` 居中;两端额度因此是 `(1 - p)` 与 `p`。
|
|
61
|
-
*/
|
|
62
|
-
export declare function truncateMiddle(text: string, marker: string, position: number, available: number, probe: WidthProbe): MiddleTruncation;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { PartialOptions } from 'overlayscrollbars';
|
|
2
|
-
/**
|
|
3
|
-
* `scrollbars.theme` 的取值,同时也是 `@greypan/web-ui/scrollbars.css` 里主题类的名字。
|
|
4
|
-
*/
|
|
5
|
-
export declare const WEB_UI_SCROLLBARS_THEME = "os-theme-macos";
|
|
6
|
-
/**
|
|
7
|
-
* 全仓统一的 scrollbar 行为:外观对齐 macOS、自动隐藏、滚动时短暂显示、track 点击直达。
|
|
8
|
-
*
|
|
9
|
-
* 内容尺寸或平台变化都不需要改这里,只有三条产品要求本身变了才改。覆盖层要实现的是
|
|
10
|
-
* 同一套手势语言,所以用法是把它整个传给 OverlayScrollbars 初始化,而不是逐项拼接:
|
|
11
|
-
*
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { webUiScrollbarsOptions } from '@greypan/web-ui/scrollbars'
|
|
14
|
-
* import '@greypan/web-ui/scrollbars.css'
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* - `autoHide: 'scroll'`:scrollbar 只在滚动时出现,停下 `autoHideDelay` 之后自动隐去。用户明确选了
|
|
18
|
-
* 这一档而不是 `'move'`——`'move'` 会让指针在滚动区域内移动就唤出,比 macOS 原生积极得多。
|
|
19
|
-
* 代价写清楚:**hover 本身不再唤出 scrollbar**(隐藏态的元素不可命中,指针根本落不到它上面),
|
|
20
|
-
* 所以 issue 里「hover 的时候短暂显示」那条只以「滚动时短暂显示」的形式满足。
|
|
21
|
-
* - `autoHideDelay: 2000`:这一档同时是「track 点击跳转」的可用窗口——scrollbar 隐去后它就不可命中。
|
|
22
|
-
* 指针从滚动的位置移到 track、再点下去,实测预算在 1s 上下,默认的 1300ms 太贴边;2000ms 留出
|
|
23
|
-
* 余量,又不至于让半透明 scrollbar 在静止画面上久留(macOS 原生的淡出也在 2s 这个量级)。
|
|
24
|
-
* - `autoHideSuspend` 保持关闭:打开会让 scrollbar 在首次滚动前一直可见,与「自动隐藏」相反。
|
|
25
|
-
* - `clickScroll` 走函数形态:`true` 只是「按一个视口步进」,跳到的是当前位置的下/上一屏,
|
|
26
|
-
* 与点击处的距离无关。`clickScrollDistance: 0` 才是「以点击处为目标」——库把 0 定义为
|
|
27
|
-
* 「距离等于目标距离」。函数形态是必需的:这个 option 只在实现里经过 `isFunction` 分支才会被读到,
|
|
28
|
-
* 直接传对象会被静默忽略。
|
|
29
|
-
* - `clickScrollDuration: 0`:库默认用 200ms 缓动滚到点击处,在渲染虚拟列表的资源列表上会卡顿,
|
|
30
|
-
* 这里改成即时落位。0 是合法时长而不是「非法值被忽略」:`animateNumber` 先用 `Math.max(0, ms)`
|
|
31
|
-
* 得到时长 0,首帧(同步执行、不经 rAF)就判定已到期并落到终点。
|
|
32
|
-
*/
|
|
33
|
-
export declare const webUiScrollbarsOptions: PartialOptions;
|
package/dist/scrollbars/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
import { ClickScrollPlugin as e, OverlayScrollbars as t } from "overlayscrollbars";
|
|
3
|
-
//#region src/scrollbars/index.ts
|
|
4
|
-
var n = "os-theme-macos";
|
|
5
|
-
t.plugin(e);
|
|
6
|
-
var r = { scrollbars: {
|
|
7
|
-
theme: n,
|
|
8
|
-
autoHide: "scroll",
|
|
9
|
-
autoHideDelay: 2e3,
|
|
10
|
-
clickScroll: () => ({
|
|
11
|
-
clickScrollDistance: 0,
|
|
12
|
-
clickScrollDuration: 0
|
|
13
|
-
})
|
|
14
|
-
} };
|
|
15
|
-
//#endregion
|
|
16
|
-
export { n as WEB_UI_SCROLLBARS_THEME, r as webUiScrollbarsOptions };
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/scrollbars/index.ts"],"sourcesContent":["import './style.css'\n\nimport { ClickScrollPlugin, OverlayScrollbars, type PartialOptions } from 'overlayscrollbars'\n\n/**\n * `scrollbars.theme` 的取值,同时也是 `@greypan/web-ui/scrollbars.css` 里主题类的名字。\n */\nexport const WEB_UI_SCROLLBARS_THEME = 'os-theme-macos'\n\n/*\n * track 点击滚动由 ClickScrollPlugin 提供;插件未注册时 `clickScroll` 静默失效——\n * 不报错、不打日志,track 只是没有反应。注册写在模块作用域,只要消费方用了本模块,\n * 插件就一定在位,不会因为漏掉一行 bootstrap 而退化。\n */\nOverlayScrollbars.plugin(ClickScrollPlugin)\n\n/**\n * 全仓统一的 scrollbar 行为:外观对齐 macOS、自动隐藏、滚动时短暂显示、track 点击直达。\n *\n * 内容尺寸或平台变化都不需要改这里,只有三条产品要求本身变了才改。覆盖层要实现的是\n * 同一套手势语言,所以用法是把它整个传给 OverlayScrollbars 初始化,而不是逐项拼接:\n *\n * ```ts\n * import { webUiScrollbarsOptions } from '@greypan/web-ui/scrollbars'\n * import '@greypan/web-ui/scrollbars.css'\n * ```\n *\n * - `autoHide: 'scroll'`:scrollbar 只在滚动时出现,停下 `autoHideDelay` 之后自动隐去。用户明确选了\n * 这一档而不是 `'move'`——`'move'` 会让指针在滚动区域内移动就唤出,比 macOS 原生积极得多。\n * 代价写清楚:**hover 本身不再唤出 scrollbar**(隐藏态的元素不可命中,指针根本落不到它上面),\n * 所以 issue 里「hover 的时候短暂显示」那条只以「滚动时短暂显示」的形式满足。\n * - `autoHideDelay: 2000`:这一档同时是「track 点击跳转」的可用窗口——scrollbar 隐去后它就不可命中。\n * 指针从滚动的位置移到 track、再点下去,实测预算在 1s 上下,默认的 1300ms 太贴边;2000ms 留出\n * 余量,又不至于让半透明 scrollbar 在静止画面上久留(macOS 原生的淡出也在 2s 这个量级)。\n * - `autoHideSuspend` 保持关闭:打开会让 scrollbar 在首次滚动前一直可见,与「自动隐藏」相反。\n * - `clickScroll` 走函数形态:`true` 只是「按一个视口步进」,跳到的是当前位置的下/上一屏,\n * 与点击处的距离无关。`clickScrollDistance: 0` 才是「以点击处为目标」——库把 0 定义为\n * 「距离等于目标距离」。函数形态是必需的:这个 option 只在实现里经过 `isFunction` 分支才会被读到,\n * 直接传对象会被静默忽略。\n * - `clickScrollDuration: 0`:库默认用 200ms 缓动滚到点击处,在渲染虚拟列表的资源列表上会卡顿,\n * 这里改成即时落位。0 是合法时长而不是「非法值被忽略」:`animateNumber` 先用 `Math.max(0, ms)`\n * 得到时长 0,首帧(同步执行、不经 rAF)就判定已到期并落到终点。\n */\nexport const webUiScrollbarsOptions: PartialOptions = {\n scrollbars: {\n theme: WEB_UI_SCROLLBARS_THEME,\n autoHide: 'scroll',\n autoHideDelay: 2000,\n clickScroll: () => ({ clickScrollDistance: 0, clickScrollDuration: 0 })\n }\n}\n"],"mappings":";;;AAOA,IAAa,IAA0B;AAOvC,EAAkB,OAAO,CAAiB;AA6B1C,IAAa,IAAyC,EACpD,YAAY;CACV,OAAO;CACP,UAAU;CACV,eAAe;CACf,oBAAoB;EAAE,qBAAqB;EAAG,qBAAqB;CAAE;AACvE,EACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","names":[],"sources":["../../src/scrollbars/internal.css?inline"],"sourcesContent":["/*\n * 组件内部滚动容器的原生 scrollbar 主题。\n *\n * 为什么不是直接上 OverlayScrollbars:库的结构样式挂在 `.os-scrollbar` 上、主题类\n * `.os-theme-macos` 也靠文档层的选择器命中,两者都进不了组件的 shadow——shadow 里既匹配不到\n * `web-ui-theme[...]` 这类后代选择器,也匹配不到 `html:has()`。库还会把宿主改成 flex 行、把\n * 子节点搬进它生成的 viewport,会破坏组件自身承重的布局。唯一能跨 shadow 边界的是继承的\n * 自定义属性,所以这里只**读**主题里同一组 `--wui-scrollbar-*`(由 `web-ui-theme` 的外观分支\n * 写、`.os-theme-macos` 的回退值兜底),颜色因此与整页的覆盖式 scrollbar 同源。\n *\n * 刻意**不写 `::-webkit-scrollbar`**:一旦给某条 scrollbar 声明了自定义 webkit 伪元素,引擎就会\n * 放弃平台自带的覆盖式 scrollbar,改用经典 scrollbar 并固定占一条布局宽度。实测(macOS Chromium,一条\n * `width: 7px` 的 `::-webkit-scrollbar`):同尺寸容器的 `offsetWidth - clientWidth` 从 0 变成 7。\n * 那正好违反 issue #225 的第 (1) 条「不占用宽度」。`scrollbar-color` / `scrollbar-width` 不触发\n * 这个切换:覆盖式平台上 scrollbar 保持零宽覆盖,经典平台上才按它们上色、收窄。\n *\n * 覆盖式平台(macOS、无头 Chromium)上这条规则几乎不可见——原生的覆盖 scrollbar 由系统绘制,并不\n * 看这两个属性;它真正的用处在经典 scrollbar 的平台(Windows / Linux)。想拿到与库逐像素一致的\n * 几何、圆角与自动隐藏只有上库这一条路,那需要把库初始化进每个 shadow root,超出 issue #225\n * 「组件不必引入第三方依赖」的范围。\n *\n * `scrollbar-color` 与 `scrollbar-width` 都是**继承属性**,写一次即可作用于容器自身及其后代;\n * 调用方只在组件自己的 shadow 里 adopted 本文件(见各组件 `static styles`),所以样式天然隔离,\n * 不会漏到文档层,满足第 (3) 条。\n */\n.wui-scroll {\n scrollbar-color: var(--wui-scrollbar-handle, rgb(0 0 0 / 0.39)) transparent;\n scrollbar-width: thin;\n}\n"],"mappings":""}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* OverlayScrollbars
|
|
3
|
-
* Version: 2.16.0
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Rene Haas | KingSora.
|
|
6
|
-
* https://github.com/KingSora
|
|
7
|
-
*
|
|
8
|
-
* Released under the MIT license.
|
|
9
|
-
*/
|
|
10
|
-
.os-size-observer,.os-size-observer-listener{direction:inherit;pointer-events:none;visibility:hidden;box-sizing:border-box;overflow:hidden;scroll-behavior:auto!important}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;top:0;left:0}.os-size-observer{z-index:-1;contain:strict;padding:inherit;border:inherit;box-sizing:inherit;flex-flow:row;margin:-133px;display:flex;inset:0;transform:scale(.1)}.os-size-observer:before{content:"";box-sizing:inherit;flex:none;width:10px;height:10px;padding:10px}.os-size-observer-appear{animation:1ms forwards os-size-observer-appear-animation}.os-size-observer-listener{box-sizing:border-box;padding:inherit;border:inherit;flex:auto;margin:-133px;position:relative;transform:scale(10)}.os-size-observer-listener.ltr{margin-left:0;margin-right:-266px}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:"";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{padding:inherit;border:inherit;box-sizing:content-box;flex:auto;display:block;position:relative}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{direction:ltr;flex:none;bottom:0;right:0;overflow:hidden}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{box-sizing:border-box;z-index:-1;contain:strict;border:none;flex:none;max-width:0;height:0;max-height:1px;margin:0;padding:0;position:relative;top:calc(100% + 1px);overflow:hidden}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;min-width:1px;height:1000%;min-height:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{margin:0;overflow:visible}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;scroll-behavior:auto!important;flex-flow:row!important;align-items:stretch!important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;z-index:0;border:none;flex:auto;width:100%;min-width:0;height:auto;margin:0;padding:0;position:relative}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:"";pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah);position:absolute}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden!important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible!important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x)!important;overflow-y:var(--os-viewport-overflow-y)!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0!important;line-height:0!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>:not(#osFakeId){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border-width:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;display:none!important;position:absolute!important;overflow:hidden!important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto!important;scroll-snap-type:none!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{grid-template:1fr/1fr;display:grid}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{width:auto!important;height:auto!important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc(var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction));contain:size layout;contain:size layout style;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;position:absolute}body>.os-scrollbar{z-index:99999;position:fixed}.os-scrollbar-transitionless{transition:none!important}.os-scrollbar-track{position:relative;border:none!important;padding:0!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{left:0;right:auto}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type:size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%));left:auto}.os-scrollbar-vertical .os-scrollbar-handle{transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%));top:auto}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{left:0;right:auto}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{left:0;right:auto}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity .15s,background-color .15s,border-color .15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";display:block;position:absolute;inset:0}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,height .15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,width .15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:#00000070;--os-handle-bg-hover:#0000008c;--os-handle-bg-active:#000000a8}.os-theme-light{--os-handle-bg:#ffffff70;--os-handle-bg-hover:#ffffff8c;--os-handle-bg-active:#ffffffa8}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar{appearance:none!important;width:0!important;height:0!important;display:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner{appearance:none!important;width:0!important;height:0!important;display:none!important}[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar{appearance:none!important;width:0!important;height:0!important;display:none!important}[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner{appearance:none!important;width:0!important;height:0!important;display:none!important}html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar{appearance:none!important;width:0!important;height:0!important;display:none!important}html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{appearance:none!important;width:0!important;height:0!important;display:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}.os-theme-macos{--os-size:13px;--os-padding-perpendicular:3px;--os-padding-axis:2px;--os-track-border-radius:100px;--os-handle-border-radius:100px;--os-handle-interactive-area-offset:4px;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-handle-bg:var(--wui-scrollbar-handle,#00000063);--os-handle-bg-hover:var(--wui-scrollbar-handle-hover,#00000082);--os-handle-bg-active:var(--wui-scrollbar-handle-active,#000000a1);box-sizing:border-box}web-ui-theme[resolved-appearance=light]{--wui-scrollbar-handle:#00000063;--wui-scrollbar-handle-hover:#00000082;--wui-scrollbar-handle-active:#000000a1}web-ui-theme[resolved-appearance=dark]{--wui-scrollbar-handle:#ffffff80;--wui-scrollbar-handle-hover:#ffffff9e;--wui-scrollbar-handle-active:#ffffffbd}html:has(web-ui-theme[resolved-appearance=dark]:not(web-ui-theme *)){--wui-scrollbar-handle:#ffffff80;--wui-scrollbar-handle-hover:#ffffff9e;--wui-scrollbar-handle-active:#ffffffbd}
|