@benqoder/beam 0.1.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/LICENSE +21 -0
- package/README.md +1574 -0
- package/dist/DrawerFrame.d.ts +16 -0
- package/dist/DrawerFrame.d.ts.map +1 -0
- package/dist/DrawerFrame.js +12 -0
- package/dist/ModalFrame.d.ts +12 -0
- package/dist/ModalFrame.d.ts.map +1 -0
- package/dist/ModalFrame.js +8 -0
- package/dist/client.d.ts +41 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1847 -0
- package/dist/collect.d.ts +68 -0
- package/dist/collect.d.ts.map +1 -0
- package/dist/collect.js +90 -0
- package/dist/createBeam.d.ts +104 -0
- package/dist/createBeam.d.ts.map +1 -0
- package/dist/createBeam.js +421 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/render.d.ts +7 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +7 -0
- package/dist/types.d.ts +151 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/vite.d.ts +72 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +79 -0
- package/package.json +62 -0
- package/src/beam.css +288 -0
- package/src/virtual-beam.d.ts +4 -0
package/src/beam.css
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/* ============ BEAM CSS ============ */
|
|
2
|
+
/* UI state utilities for toggle, dropdown, collapse */
|
|
3
|
+
|
|
4
|
+
/* === HIDDEN / COLLAPSED BASE STATES === */
|
|
5
|
+
[beam-hidden] {
|
|
6
|
+
display: none !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[beam-collapsed] {
|
|
10
|
+
display: none !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* === TRANSITIONS === */
|
|
14
|
+
|
|
15
|
+
/* Fade transition */
|
|
16
|
+
[beam-transition="fade"] {
|
|
17
|
+
transition: opacity 150ms ease-out;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[beam-transition="fade"][beam-hidden] {
|
|
21
|
+
opacity: 0;
|
|
22
|
+
pointer-events: none;
|
|
23
|
+
/* Override display:none for transition */
|
|
24
|
+
display: block !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* Slide transition (slides down from top) */
|
|
28
|
+
[beam-transition="slide"] {
|
|
29
|
+
transition: opacity 150ms ease-out, transform 150ms ease-out;
|
|
30
|
+
transform-origin: top;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
[beam-transition="slide"][beam-hidden] {
|
|
34
|
+
opacity: 0;
|
|
35
|
+
transform: translateY(-10px);
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
display: block !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* Slide up transition */
|
|
41
|
+
[beam-transition="slide-up"] {
|
|
42
|
+
transition: opacity 150ms ease-out, transform 150ms ease-out;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[beam-transition="slide-up"][beam-hidden] {
|
|
46
|
+
opacity: 0;
|
|
47
|
+
transform: translateY(10px);
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
display: block !important;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Scale transition */
|
|
53
|
+
[beam-transition="scale"] {
|
|
54
|
+
transition: opacity 150ms ease-out, transform 150ms ease-out;
|
|
55
|
+
transform-origin: top;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[beam-transition="scale"][beam-hidden] {
|
|
59
|
+
opacity: 0;
|
|
60
|
+
transform: scale(0.95);
|
|
61
|
+
pointer-events: none;
|
|
62
|
+
display: block !important;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* === DROPDOWN POSITIONING === */
|
|
66
|
+
[beam-dropdown] {
|
|
67
|
+
position: relative;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
[beam-dropdown-content] {
|
|
71
|
+
position: absolute;
|
|
72
|
+
z-index: 50;
|
|
73
|
+
min-width: 100%;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Common dropdown positions */
|
|
77
|
+
[beam-dropdown-content][beam-position="left"] {
|
|
78
|
+
left: 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
[beam-dropdown-content][beam-position="right"] {
|
|
82
|
+
right: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
[beam-dropdown-content][beam-position="center"] {
|
|
86
|
+
left: 50%;
|
|
87
|
+
transform: translateX(-50%);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* === COLLAPSE ANIMATION === */
|
|
91
|
+
[beam-collapse-animate] {
|
|
92
|
+
overflow: hidden;
|
|
93
|
+
transition: max-height 200ms ease-out;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
[beam-collapse-animate][beam-collapsed] {
|
|
97
|
+
max-height: 0 !important;
|
|
98
|
+
display: block !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* === MODAL & DRAWER STYLES === */
|
|
102
|
+
|
|
103
|
+
/* Modal backdrop */
|
|
104
|
+
#modal-backdrop {
|
|
105
|
+
position: fixed;
|
|
106
|
+
inset: 0;
|
|
107
|
+
background: rgba(0, 0, 0, 0);
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
justify-content: center;
|
|
111
|
+
z-index: 100;
|
|
112
|
+
transition: background 200ms ease-out;
|
|
113
|
+
padding: 1rem;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#modal-backdrop.open {
|
|
117
|
+
background: rgba(0, 0, 0, 0.5);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
#modal-content {
|
|
121
|
+
background: white;
|
|
122
|
+
border-radius: 0.5rem;
|
|
123
|
+
max-width: 32rem;
|
|
124
|
+
width: 100%;
|
|
125
|
+
max-height: calc(100vh - 2rem);
|
|
126
|
+
overflow: auto;
|
|
127
|
+
transform: scale(0.95);
|
|
128
|
+
opacity: 0;
|
|
129
|
+
transition: transform 200ms ease-out, opacity 200ms ease-out;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
#modal-backdrop.open #modal-content {
|
|
133
|
+
transform: scale(1);
|
|
134
|
+
opacity: 1;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Drawer backdrop */
|
|
138
|
+
#drawer-backdrop {
|
|
139
|
+
position: fixed;
|
|
140
|
+
inset: 0;
|
|
141
|
+
background: rgba(0, 0, 0, 0);
|
|
142
|
+
z-index: 100;
|
|
143
|
+
transition: background 200ms ease-out;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
#drawer-backdrop.open {
|
|
147
|
+
background: rgba(0, 0, 0, 0.5);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#drawer-content {
|
|
151
|
+
position: fixed;
|
|
152
|
+
background: white;
|
|
153
|
+
max-height: 100vh;
|
|
154
|
+
overflow: auto;
|
|
155
|
+
transition: transform 200ms ease-out;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* Drawer positions */
|
|
159
|
+
#drawer-content[data-position="right"] {
|
|
160
|
+
top: 0;
|
|
161
|
+
right: 0;
|
|
162
|
+
bottom: 0;
|
|
163
|
+
transform: translateX(100%);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
#drawer-content[data-position="left"] {
|
|
167
|
+
top: 0;
|
|
168
|
+
left: 0;
|
|
169
|
+
bottom: 0;
|
|
170
|
+
transform: translateX(-100%);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
#drawer-content[data-position="top"] {
|
|
174
|
+
top: 0;
|
|
175
|
+
left: 0;
|
|
176
|
+
right: 0;
|
|
177
|
+
transform: translateY(-100%);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
#drawer-content[data-position="bottom"] {
|
|
181
|
+
bottom: 0;
|
|
182
|
+
left: 0;
|
|
183
|
+
right: 0;
|
|
184
|
+
transform: translateY(100%);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
#drawer-backdrop.open #drawer-content {
|
|
188
|
+
transform: translateX(0) translateY(0);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* Drawer sizes */
|
|
192
|
+
#drawer-content[data-size="small"] {
|
|
193
|
+
width: 20rem;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
#drawer-content[data-size="medium"] {
|
|
197
|
+
width: 28rem;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
#drawer-content[data-size="large"] {
|
|
201
|
+
width: 36rem;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
#drawer-content[data-size="full"] {
|
|
205
|
+
width: 100%;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Vertical drawers (top/bottom) use height instead */
|
|
209
|
+
#drawer-content[data-position="top"][data-size="small"],
|
|
210
|
+
#drawer-content[data-position="bottom"][data-size="small"] {
|
|
211
|
+
width: 100%;
|
|
212
|
+
height: 25vh;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
#drawer-content[data-position="top"][data-size="medium"],
|
|
216
|
+
#drawer-content[data-position="bottom"][data-size="medium"] {
|
|
217
|
+
width: 100%;
|
|
218
|
+
height: 50vh;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
#drawer-content[data-position="top"][data-size="large"],
|
|
222
|
+
#drawer-content[data-position="bottom"][data-size="large"] {
|
|
223
|
+
width: 100%;
|
|
224
|
+
height: 75vh;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Prevent body scroll when modal/drawer open */
|
|
228
|
+
body.modal-open,
|
|
229
|
+
body.drawer-open {
|
|
230
|
+
overflow: hidden;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/* === TOAST NOTIFICATIONS === */
|
|
234
|
+
#toast-container {
|
|
235
|
+
position: fixed;
|
|
236
|
+
bottom: 1rem;
|
|
237
|
+
right: 1rem;
|
|
238
|
+
z-index: 150;
|
|
239
|
+
display: flex;
|
|
240
|
+
flex-direction: column;
|
|
241
|
+
gap: 0.5rem;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.toast {
|
|
245
|
+
padding: 0.75rem 1rem;
|
|
246
|
+
border-radius: 0.375rem;
|
|
247
|
+
color: white;
|
|
248
|
+
font-size: 0.875rem;
|
|
249
|
+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
|
250
|
+
transform: translateX(100%);
|
|
251
|
+
opacity: 0;
|
|
252
|
+
transition: transform 300ms ease-out, opacity 300ms ease-out;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.toast.show {
|
|
256
|
+
transform: translateX(0);
|
|
257
|
+
opacity: 1;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.toast-success {
|
|
261
|
+
background: #10b981;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.toast-error {
|
|
265
|
+
background: #ef4444;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/* === LOADING STATES === */
|
|
269
|
+
[beam-loading] {
|
|
270
|
+
pointer-events: none;
|
|
271
|
+
opacity: 0.7;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.beam-active {
|
|
275
|
+
pointer-events: none;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/* === OFFLINE STATE === */
|
|
279
|
+
body.beam-offline [beam-offline-disable] {
|
|
280
|
+
opacity: 0.5;
|
|
281
|
+
cursor: not-allowed;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/* === NAVIGATION === */
|
|
285
|
+
[beam-nav] .beam-current,
|
|
286
|
+
a[beam-nav].beam-current {
|
|
287
|
+
/* Override in your app styles */
|
|
288
|
+
}
|