@pathscale/ui 1.1.73 → 1.1.75
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/dist/components/glass-panel/GlassPanel.classes.d.ts +1 -0
- package/dist/components/glass-panel/GlassPanel.classes.js +1 -0
- package/dist/components/glass-panel/GlassPanel.css +43 -8
- package/dist/components/glass-panel/GlassPanel.d.ts +3 -1
- package/dist/components/glass-panel/GlassPanel.js +8 -2
- package/dist/components/glass-panel/index.d.ts +1 -1
- package/dist/purge-manifest.json +2504 -2501
- package/dist/styles/icons/generated-icons.css +1 -173
- package/package.json +4 -11
|
@@ -27,6 +27,7 @@ export declare const CLASSES: {
|
|
|
27
27
|
readonly ghost: "glass-panel--accent-ghost";
|
|
28
28
|
};
|
|
29
29
|
readonly flag: {
|
|
30
|
+
readonly liquid: "glass-panel--liquid";
|
|
30
31
|
readonly transparent: "glass-panel--transparent";
|
|
31
32
|
readonly glow: "glass-panel--glow";
|
|
32
33
|
readonly contentCollapsed: "glass-panel__content--collapsed";
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
@layer components {
|
|
2
2
|
.glass-panel {
|
|
3
|
+
position: relative;
|
|
3
4
|
border-radius: 0.75rem;
|
|
4
5
|
transition: all 200ms ease-in-out;
|
|
5
6
|
background: color-mix(in srgb, var(--color-base-300) 45%, transparent);
|
|
6
|
-
border: 1px solid
|
|
7
|
+
border: 1px solid
|
|
8
|
+
color-mix(in srgb, var(--color-base-content) 12%, transparent);
|
|
7
9
|
}
|
|
8
10
|
|
|
9
11
|
.glass-panel--transparent {
|
|
@@ -12,7 +14,44 @@
|
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
.glass-panel--glow {
|
|
15
|
-
box-shadow: inset 0 1px 0
|
|
17
|
+
box-shadow: inset 0 1px 0
|
|
18
|
+
color-mix(in srgb, var(--color-base-content) 5%, transparent);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.glass-panel--liquid {
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
background: color-mix(in srgb, var(--color-base-100) 4%, transparent);
|
|
24
|
+
border-color: color-mix(in srgb, var(--color-base-content) 9%, transparent);
|
|
25
|
+
box-shadow: inset 0 1px 0 color-mix(in srgb, white 18%, transparent), inset
|
|
26
|
+
0 -1px 0 color-mix(in srgb, black 7%, transparent);
|
|
27
|
+
backdrop-filter: blur(6px) saturate(1.12);
|
|
28
|
+
-webkit-backdrop-filter: blur(6px) saturate(1.12);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.glass-panel--liquid::after {
|
|
32
|
+
position: absolute;
|
|
33
|
+
inset: 0;
|
|
34
|
+
border-radius: inherit;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
content: "";
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.glass-panel--liquid::after {
|
|
40
|
+
z-index: 1;
|
|
41
|
+
padding: 1px;
|
|
42
|
+
background: color-mix(in srgb, white 34%, transparent) border-box;
|
|
43
|
+
mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
|
|
44
|
+
mask-composite: exclude;
|
|
45
|
+
-webkit-mask: linear-gradient(#000 0 0) content-box,
|
|
46
|
+
linear-gradient(#000 0 0);
|
|
47
|
+
-webkit-mask-composite: xor;
|
|
48
|
+
opacity: 0.34;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.glass-panel--liquid > .glass-panel__header-button,
|
|
52
|
+
.glass-panel--liquid > .glass-panel__content {
|
|
53
|
+
position: relative;
|
|
54
|
+
z-index: 2;
|
|
16
55
|
}
|
|
17
56
|
|
|
18
57
|
.glass-panel--blur-none {
|
|
@@ -99,9 +138,7 @@
|
|
|
99
138
|
color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
|
|
100
139
|
font-size: 0.875rem;
|
|
101
140
|
font-weight: 500;
|
|
102
|
-
transition:
|
|
103
|
-
color 150ms ease,
|
|
104
|
-
background-color 150ms ease;
|
|
141
|
+
transition: color 150ms ease, background-color 150ms ease;
|
|
105
142
|
}
|
|
106
143
|
|
|
107
144
|
.glass-panel__header-button:hover {
|
|
@@ -131,9 +168,7 @@
|
|
|
131
168
|
|
|
132
169
|
.glass-panel__content {
|
|
133
170
|
display: grid;
|
|
134
|
-
transition:
|
|
135
|
-
grid-template-rows 200ms ease-in-out,
|
|
136
|
-
opacity 200ms ease-in-out;
|
|
171
|
+
transition: grid-template-rows 200ms ease-in-out, opacity 200ms ease-in-out;
|
|
137
172
|
}
|
|
138
173
|
|
|
139
174
|
.glass-panel__content--collapsible {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import "./GlassPanel.css";
|
|
2
2
|
import { type JSX } from "solid-js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { ComponentColor, ComponentSize, IComponentBaseProps } from "../types";
|
|
4
4
|
export type GlassPanelBlur = "none" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
5
|
+
export type GlassPanelEffect = "default" | "liquid";
|
|
5
6
|
export type GlassPanelProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLDivElement> & {
|
|
6
7
|
blur?: GlassPanelBlur;
|
|
8
|
+
effect?: GlassPanelEffect;
|
|
7
9
|
collapsible?: boolean;
|
|
8
10
|
open?: boolean;
|
|
9
11
|
defaultOpen?: boolean;
|
|
@@ -7,6 +7,7 @@ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__
|
|
|
7
7
|
const GlassPanel = (props)=>{
|
|
8
8
|
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
9
9
|
"blur",
|
|
10
|
+
"effect",
|
|
10
11
|
"collapsible",
|
|
11
12
|
"open",
|
|
12
13
|
"defaultOpen",
|
|
@@ -28,16 +29,17 @@ const GlassPanel = (props)=>{
|
|
|
28
29
|
const contentId = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
|
|
29
30
|
const blur = ()=>local.blur ?? "none";
|
|
30
31
|
const size = ()=>local.size ?? "md";
|
|
32
|
+
const isLiquid = ()=>"liquid" === local.effect;
|
|
31
33
|
const isControlled = ()=>void 0 !== local.open;
|
|
32
34
|
const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(local.defaultOpen ?? true);
|
|
33
|
-
const isOpen = ()=>isControlled() ? local.open : internalOpen();
|
|
35
|
+
const isOpen = ()=>isControlled() ? true === local.open : internalOpen();
|
|
34
36
|
const accentKey = ()=>local.accent ?? "ghost";
|
|
35
37
|
const handleToggle = ()=>{
|
|
36
38
|
const next = !isOpen();
|
|
37
39
|
if (!isControlled()) setInternalOpen(next);
|
|
38
40
|
local.onToggle?.(next);
|
|
39
41
|
};
|
|
40
|
-
const containerClasses = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.base, !local.transparent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.blur[blur()], local.transparent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.transparent, local.glow && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.glow, local.accent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.accent[accentKey()], local.class, local.className);
|
|
42
|
+
const containerClasses = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.base, !local.transparent && !isLiquid() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.blur[blur()], !local.transparent && isLiquid() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.liquid, local.transparent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.transparent, local.glow && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.glow, local.accent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.accent[accentKey()], local.class, local.className);
|
|
41
43
|
const contentClasses = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.content, local.collapsible && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.contentCollapsible, local.collapsible && !isOpen() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.contentCollapsed, (!local.collapsible || isOpen()) && !(local.paddingX || local.paddingY) && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.size[size()], local.paddingX, local.paddingY);
|
|
42
44
|
return (()=>{
|
|
43
45
|
var _el$ = _tmpl$2(), _el$5 = _el$.firstChild, _el$6 = _el$5.firstChild;
|
|
@@ -47,6 +49,9 @@ const GlassPanel = (props)=>{
|
|
|
47
49
|
get ["data-theme"] () {
|
|
48
50
|
return local.dataTheme;
|
|
49
51
|
},
|
|
52
|
+
get ["data-glass-effect"] () {
|
|
53
|
+
return isLiquid() ? "liquid" : void 0;
|
|
54
|
+
},
|
|
50
55
|
get style () {
|
|
51
56
|
return local.style;
|
|
52
57
|
}
|
|
@@ -81,6 +86,7 @@ const GlassPanel = (props)=>{
|
|
|
81
86
|
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
|
|
82
87
|
class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.chevron, isOpen() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.chevronOpen)
|
|
83
88
|
}), {
|
|
89
|
+
"aria-hidden": "true",
|
|
84
90
|
fill: "none",
|
|
85
91
|
viewBox: "0 0 24 24",
|
|
86
92
|
stroke: "currentColor",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default, type
|
|
1
|
+
export { default, type GlassPanelBlur, type GlassPanelEffect, type GlassPanelProps, } from "./GlassPanel";
|