@dendelion/func-ui 0.2.2 → 0.3.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/CHANGELOG.md +29 -0
- package/README.md +9 -3
- package/dist/components/circular-progress/circular-progress.d.ts +2 -1
- package/dist/components/circular-progress/circular-progress.d.ts.map +1 -1
- package/dist/components/lamp-button/index.d.ts +3 -0
- package/dist/components/lamp-button/index.d.ts.map +1 -0
- package/dist/components/lamp-button/lamp-button.d.ts +10 -0
- package/dist/components/lamp-button/lamp-button.d.ts.map +1 -0
- package/dist/components/lamp-icon-button/index.d.ts +3 -0
- package/dist/components/lamp-icon-button/index.d.ts.map +1 -0
- package/dist/components/lamp-icon-button/lamp-icon-button.d.ts +10 -0
- package/dist/components/lamp-icon-button/lamp-icon-button.d.ts.map +1 -0
- package/dist/components/lamp-meter/index.d.ts +3 -0
- package/dist/components/lamp-meter/index.d.ts.map +1 -0
- package/dist/components/lamp-meter/lamp-meter.d.ts +14 -0
- package/dist/components/lamp-meter/lamp-meter.d.ts.map +1 -0
- package/dist/components/lamp-status/index.d.ts +3 -0
- package/dist/components/lamp-status/index.d.ts.map +1 -0
- package/dist/components/lamp-status/lamp-status.d.ts +8 -0
- package/dist/components/lamp-status/lamp-status.d.ts.map +1 -0
- package/dist/components/lamp-switch/index.d.ts +3 -0
- package/dist/components/lamp-switch/index.d.ts.map +1 -0
- package/dist/components/lamp-switch/lamp-switch.d.ts +9 -0
- package/dist/components/lamp-switch/lamp-switch.d.ts.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1397 -1147
- package/dist/index.mjs.map +1 -1
- package/dist/types/lamp.d.ts +3 -0
- package/dist/types/lamp.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/globals.scss +25 -0
- package/src/styles/_lamp.scss +118 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lamp.d.ts","sourceRoot":"","sources":["../../src/types/lamp.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
package/package.json
CHANGED
package/src/globals.scss
CHANGED
|
@@ -92,6 +92,22 @@
|
|
|
92
92
|
--fui-status-warning-text: #a66a1f;
|
|
93
93
|
--fui-status-error-fill: rgba(214, 86, 86, 0.16);
|
|
94
94
|
--fui-status-error-text: #b03a3a;
|
|
95
|
+
|
|
96
|
+
--fui-lamp-green: radial-gradient(circle at 50% 50%, #47f57d 7%, #6fce8c 74%);
|
|
97
|
+
--fui-lamp-green-glow: rgba(71, 245, 125, 0.5);
|
|
98
|
+
--fui-lamp-green-glow-strong: rgba(43, 165, 121, 0.7);
|
|
99
|
+
--fui-lamp-yellow: radial-gradient(circle at 50% 50%, #ffbd30 21%, #bea571 79%);
|
|
100
|
+
--fui-lamp-yellow-glow: rgba(254, 182, 28, 0.5);
|
|
101
|
+
--fui-lamp-yellow-glow-strong: rgba(191, 123, 10, 0.7);
|
|
102
|
+
--fui-lamp-gray: linear-gradient(180deg, #f2f2f2 0%, #bbae90 100%);
|
|
103
|
+
--fui-lamp-gray-glow: rgba(187, 174, 144, 0.5);
|
|
104
|
+
--fui-lamp-gray-glow-strong: rgba(130, 118, 92, 0.7);
|
|
105
|
+
--fui-lamp-red: radial-gradient(circle at 50% 50%, #ff5050 39%, #f99696 100%);
|
|
106
|
+
--fui-lamp-red-glow: rgba(255, 80, 80, 0.5);
|
|
107
|
+
--fui-lamp-red-glow-strong: rgba(192, 79, 79, 0.7);
|
|
108
|
+
--fui-lamp-dark: radial-gradient(circle at 50% 50%, #61675f 0%, #36302b 100%);
|
|
109
|
+
--fui-lamp-dark-glow: transparent;
|
|
110
|
+
--fui-lamp-dark-glow-strong: transparent;
|
|
95
111
|
}
|
|
96
112
|
|
|
97
113
|
.dark {
|
|
@@ -113,6 +129,15 @@
|
|
|
113
129
|
--fui-status-warning-text: #ecc487;
|
|
114
130
|
--fui-status-error-fill: rgba(226, 106, 106, 0.18);
|
|
115
131
|
--fui-status-error-text: #eda1a1;
|
|
132
|
+
|
|
133
|
+
--fui-lamp-green-glow: rgba(71, 245, 125, 0.4);
|
|
134
|
+
--fui-lamp-green-glow-strong: rgba(71, 245, 125, 0.6);
|
|
135
|
+
--fui-lamp-yellow-glow: rgba(254, 182, 28, 0.4);
|
|
136
|
+
--fui-lamp-yellow-glow-strong: rgba(254, 182, 28, 0.6);
|
|
137
|
+
--fui-lamp-gray-glow: rgba(242, 242, 242, 0.4);
|
|
138
|
+
--fui-lamp-gray-glow-strong: rgba(242, 242, 242, 0.6);
|
|
139
|
+
--fui-lamp-red-glow: rgba(255, 80, 80, 0.4);
|
|
140
|
+
--fui-lamp-red-glow-strong: rgba(255, 80, 80, 0.6);
|
|
116
141
|
}
|
|
117
142
|
|
|
118
143
|
// ─── Base ──────────────────────────────────────────────────────
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
$lamp-sizes: (
|
|
4
|
+
sm: (
|
|
5
|
+
height: 36px,
|
|
6
|
+
inset: 3.5px,
|
|
7
|
+
padding: 0 20px,
|
|
8
|
+
radius: 18px,
|
|
9
|
+
),
|
|
10
|
+
md: (
|
|
11
|
+
height: 48px,
|
|
12
|
+
inset: 4.5px,
|
|
13
|
+
padding: 0 20px,
|
|
14
|
+
radius: 24px,
|
|
15
|
+
),
|
|
16
|
+
lg: (
|
|
17
|
+
height: 56px,
|
|
18
|
+
inset: 5.8px,
|
|
19
|
+
padding: 0 24px,
|
|
20
|
+
radius: 28px,
|
|
21
|
+
),
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
@function lamp-size($size, $key) {
|
|
25
|
+
@return map.get($lamp-sizes, $size, $key);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$lamp-radius-full: 9999px;
|
|
29
|
+
$lamp-radius-xl: 24px;
|
|
30
|
+
|
|
31
|
+
$lamp-bezel-gradient: linear-gradient(
|
|
32
|
+
135deg,
|
|
33
|
+
#6e6e6e 0%,
|
|
34
|
+
#41403d 24%,
|
|
35
|
+
#373633 50%,
|
|
36
|
+
#1f1f1d 80%,
|
|
37
|
+
#1f1f1d 100%
|
|
38
|
+
);
|
|
39
|
+
$lamp-bezel-gradient-wide: linear-gradient(
|
|
40
|
+
135deg,
|
|
41
|
+
#6e6e6e 0%,
|
|
42
|
+
#41403d 24%,
|
|
43
|
+
#494947 50%,
|
|
44
|
+
#363636 80%,
|
|
45
|
+
#363636 100%
|
|
46
|
+
);
|
|
47
|
+
$lamp-bezel-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
48
|
+
$lamp-bezel-soft-shadow:
|
|
49
|
+
0 4px 8px -2px rgba(0, 0, 0, 0.3),
|
|
50
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.2);
|
|
51
|
+
|
|
52
|
+
$lamp-socket-color: #1a1a1a;
|
|
53
|
+
$lamp-socket-shadow:
|
|
54
|
+
1px 1px 2px rgba(0, 0, 0, 0.2),
|
|
55
|
+
3px 3px 2px rgba(0, 0, 0, 0.05),
|
|
56
|
+
2px 2px 8px rgba(0, 0, 0, 0.2);
|
|
57
|
+
|
|
58
|
+
$lamp-frosted-shadow:
|
|
59
|
+
inset 5px 2px 5px 2px rgba(0, 0, 0, 0.2),
|
|
60
|
+
inset -1px 3px 6px 1px rgba(255, 255, 255, 0.6);
|
|
61
|
+
$lamp-frosted-shadow-subtle:
|
|
62
|
+
inset 5px 2px 5px 2px rgba(0, 0, 0, 0.1),
|
|
63
|
+
inset -1px 3px 6px 1px rgba(255, 255, 255, 0.2);
|
|
64
|
+
|
|
65
|
+
$lamp-transition: all 200ms ease-out;
|
|
66
|
+
|
|
67
|
+
@mixin lamp-bezel {
|
|
68
|
+
position: absolute;
|
|
69
|
+
inset: 0;
|
|
70
|
+
border-radius: $lamp-radius-full;
|
|
71
|
+
background: $lamp-bezel-gradient;
|
|
72
|
+
box-shadow: $lamp-bezel-shadow;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@mixin lamp-bezel-soft {
|
|
76
|
+
position: absolute;
|
|
77
|
+
inset: 0;
|
|
78
|
+
background: $lamp-bezel-gradient-wide;
|
|
79
|
+
box-shadow: $lamp-bezel-soft-shadow;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@mixin lamp-socket($inset: lamp-size(lg, inset)) {
|
|
83
|
+
position: absolute;
|
|
84
|
+
inset: $inset;
|
|
85
|
+
border-radius: $lamp-radius-full;
|
|
86
|
+
background-color: $lamp-socket-color;
|
|
87
|
+
box-shadow: $lamp-socket-shadow;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@mixin lamp-surface($inset: lamp-size(lg, inset)) {
|
|
91
|
+
position: absolute;
|
|
92
|
+
inset: $inset;
|
|
93
|
+
border-radius: $lamp-radius-xl;
|
|
94
|
+
transition: $lamp-transition;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@mixin lamp-frosted-inner($subtle: false) {
|
|
98
|
+
@if $subtle {
|
|
99
|
+
box-shadow: $lamp-frosted-shadow-subtle;
|
|
100
|
+
} @else {
|
|
101
|
+
box-shadow: $lamp-frosted-shadow;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@mixin lamp-tone($tone) {
|
|
106
|
+
background: var(--fui-lamp-#{$tone});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@mixin lamp-glow($tone) {
|
|
110
|
+
@include lamp-frosted-inner;
|
|
111
|
+
|
|
112
|
+
&:hover {
|
|
113
|
+
box-shadow:
|
|
114
|
+
$lamp-frosted-shadow,
|
|
115
|
+
0 0 10px 2px var(--fui-lamp-#{$tone}-glow),
|
|
116
|
+
0 0 20px 0 var(--fui-lamp-#{$tone}-glow-strong);
|
|
117
|
+
}
|
|
118
|
+
}
|