@brickclay-org/ui 0.1.77 → 0.1.78
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/fesm2022/brickclay-org-ui.mjs +1822 -48
- package/fesm2022/brickclay-org-ui.mjs.map +1 -1
- package/index.d.ts +1053 -17
- package/package.json +1 -1
- package/src/assets/icons/no-data-found.jpg +0 -0
- package/src/lib/column-select/components/column-select/column-select.css +3 -2
- package/src/lib/input/input.css +88 -0
- package/src/lib/menu/menu.css +65 -13
- package/src/lib/table/table.css +646 -0
- package/src/styles.css +1 -0
package/package.json
CHANGED
|
Binary file
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
overflow-y: auto;
|
|
9
|
+
max-height: 225px;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
@media (max-height: 700px) {
|
|
12
|
+
/* @media (max-height: 700px) {
|
|
12
13
|
.column-select-options-list {
|
|
13
14
|
max-height: 125px;
|
|
14
15
|
}
|
|
@@ -24,4 +25,4 @@
|
|
|
24
25
|
.column-select-options-list {
|
|
25
26
|
max-height: 210px;
|
|
26
27
|
}
|
|
27
|
-
}
|
|
28
|
+
} */
|
package/src/lib/input/input.css
CHANGED
|
@@ -258,3 +258,91 @@
|
|
|
258
258
|
.input-container ::-webkit-scrollbar-thumb:hover {
|
|
259
259
|
background: #909090;
|
|
260
260
|
}
|
|
261
|
+
|
|
262
|
+
/* ============================== Compact / sm size ============================== */
|
|
263
|
+
.input-container--sm .input-label {
|
|
264
|
+
@apply text-xs;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.input-container--sm .input-hint,
|
|
268
|
+
.input-container--sm .input-error {
|
|
269
|
+
@apply text-[11px];
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.input-container--sm .input-field {
|
|
273
|
+
@apply py-1.5 px-2.5 text-xs;
|
|
274
|
+
height: 32px;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.input-container--sm .input-field--icon,
|
|
278
|
+
.input-container--sm .input-field--icon-left {
|
|
279
|
+
@apply pl-8;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.input-container--sm .input-field--icon-right {
|
|
283
|
+
@apply pr-8;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.input-container--sm .input-field--password {
|
|
287
|
+
@apply pr-8;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.input-container--sm .input-field--phone {
|
|
291
|
+
@apply pl-16;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.input-container--sm .input-field--url {
|
|
295
|
+
@apply pl-16;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.input-container--sm .input-field--icon.input-field--url {
|
|
299
|
+
@apply pl-24;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.input-container--sm .input-field--phone.input-field--icon {
|
|
303
|
+
@apply pl-24;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.input-container--sm .input-search-icon {
|
|
307
|
+
@apply w-4 h-4;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.input-container--sm .input-search-icon--left {
|
|
311
|
+
@apply left-2;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.input-container--sm .input-search-icon--right {
|
|
315
|
+
@apply right-2;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.input-container--sm .input-password-toggle {
|
|
319
|
+
@apply right-2 w-4 h-4;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.input-container--sm .input-password-icon {
|
|
323
|
+
@apply w-4 h-4;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.input-container--sm .input-phone-selector {
|
|
327
|
+
@apply px-2;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.input-container--sm .input-phone-selector-text {
|
|
331
|
+
@apply text-[11px];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.input-container--sm .input-url-prefix {
|
|
335
|
+
@apply py-1.5 px-2.5 text-xs;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.input-container--sm .input-phone-dropdown {
|
|
339
|
+
@apply w-[68px] mt-0.5;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.input-container--sm .input-phone-dropdown-item {
|
|
343
|
+
@apply px-3 py-1.5 text-[11px];
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.input-container--sm .input-phone-selector-arrow {
|
|
347
|
+
@apply w-3 h-3;
|
|
348
|
+
}
|
package/src/lib/menu/menu.css
CHANGED
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
.bk-menu {
|
|
9
9
|
--menu-bg: #ffffff;
|
|
10
|
+
/* Lightest gray — opt-in tint for an inline submenu's whole block (title +
|
|
11
|
+
rows) via [submenuBackground]="true". One shade lighter than
|
|
12
|
+
--menu-hover-bg, so a hovered row inside it still reads. Popups don't
|
|
13
|
+
offer this: their padding/insets differ, and the panel's own border
|
|
14
|
+
already sets it apart from the page. */
|
|
15
|
+
--menu-submenu-bg: #f8f8f8;
|
|
10
16
|
--menu-text: #141414;
|
|
11
17
|
--menu-subtext: #6b7080;
|
|
12
18
|
--menu-hover-bg: #edeef0;
|
|
@@ -22,6 +28,9 @@
|
|
|
22
28
|
--menu-font-size: 14px;
|
|
23
29
|
--menu-tracking: -0.28px;
|
|
24
30
|
--menu-pad-y: 10px;
|
|
31
|
+
/* Submenu rows (inline and pop-up) sit a touch tighter vertically than
|
|
32
|
+
top-level rows. */
|
|
33
|
+
--menu-submenu-pad-y: 8px;
|
|
25
34
|
--menu-pad-x: 12px;
|
|
26
35
|
--menu-gap: 8px;
|
|
27
36
|
--menu-icon-size: 16px;
|
|
@@ -30,6 +39,12 @@
|
|
|
30
39
|
/* How far a group title sits left of the rows it heads. */
|
|
31
40
|
--menu-title-outdent: 8px;
|
|
32
41
|
--menu-popup-pad: 4px;
|
|
42
|
+
/* Top/bottom inset for the pop-up panel — roomier than the horizontal pad
|
|
43
|
+
so the first/last row don't sit flush against the panel's rounded edge. */
|
|
44
|
+
--menu-popup-pad-y: 8px;
|
|
45
|
+
/* Horizontal padding for a pop-up's own rows and group-title label — wider
|
|
46
|
+
than the shared --menu-pad-x so pop-up text sits roomier than inline. */
|
|
47
|
+
--menu-popup-item-pad-x: 16px;
|
|
33
48
|
--menu-popup-min-w: 200px;
|
|
34
49
|
--menu-popup-max-w: 280px;
|
|
35
50
|
|
|
@@ -48,6 +63,7 @@
|
|
|
48
63
|
--menu-font-size: 12px;
|
|
49
64
|
--menu-tracking: -0.24px;
|
|
50
65
|
--menu-pad-y: 6px;
|
|
66
|
+
--menu-submenu-pad-y: 4px;
|
|
51
67
|
--menu-pad-x: 8px;
|
|
52
68
|
--menu-gap: 6px;
|
|
53
69
|
--menu-icon-size: 14px;
|
|
@@ -55,6 +71,8 @@
|
|
|
55
71
|
--menu-group-font-size: 10px;
|
|
56
72
|
--menu-title-outdent: 6px;
|
|
57
73
|
--menu-popup-pad: 3px;
|
|
74
|
+
--menu-popup-pad-y: 6px;
|
|
75
|
+
--menu-popup-item-pad-x: 14px;
|
|
58
76
|
--menu-popup-min-w: 160px;
|
|
59
77
|
--menu-popup-max-w: 240px;
|
|
60
78
|
}
|
|
@@ -129,6 +147,16 @@
|
|
|
129
147
|
/* Nested (child) items use the muted sub-text colour. */
|
|
130
148
|
.bk-menu__submenu .bk-menu__button {
|
|
131
149
|
@apply text-[color:var(--menu-subtext)] font-normal;
|
|
150
|
+
padding-top: var(--menu-submenu-pad-y);
|
|
151
|
+
padding-bottom: var(--menu-submenu-pad-y);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* Pop-up rows get their own, roomier horizontal padding (see
|
|
155
|
+
--menu-popup-item-pad-x) instead of the shared --menu-pad-x — vertical
|
|
156
|
+
padding is untouched, inherited from the base .bk-menu__button rule. */
|
|
157
|
+
.bk-menu__submenu--popup .bk-menu__button {
|
|
158
|
+
padding-left: var(--menu-popup-item-pad-x);
|
|
159
|
+
padding-right: var(--menu-popup-item-pad-x);
|
|
132
160
|
}
|
|
133
161
|
|
|
134
162
|
.bk-menu__submenu .bk-menu__button--active {
|
|
@@ -136,28 +164,44 @@
|
|
|
136
164
|
}
|
|
137
165
|
|
|
138
166
|
/* ---- Group title: names the child group, not selectable.
|
|
139
|
-
Reads as a heading over the rows
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
the panel's own padding to get there. ---- */
|
|
167
|
+
Reads as a heading over the rows it titles, not a rule under itself — a
|
|
168
|
+
group is only ever separated from what comes *after* it (the next group,
|
|
169
|
+
if any), never from its own rows. See the `--divider` modifier below. ---- */
|
|
143
170
|
.bk-menu__group-title {
|
|
144
171
|
@apply font-semibold uppercase tracking-wider text-[color:var(--menu-subtext)]
|
|
145
|
-
whitespace-nowrap overflow-hidden text-ellipsis select-none
|
|
146
|
-
border-b border-[var(--menu-border)] mb-1;
|
|
172
|
+
whitespace-nowrap overflow-hidden text-ellipsis select-none;
|
|
147
173
|
font-size: var(--menu-group-font-size);
|
|
148
174
|
padding: var(--menu-pad-y) var(--menu-pad-x) calc(var(--menu-pad-y) / 2);
|
|
149
175
|
/* Inline levels set padding-left themselves, indent-aware, from the template. */
|
|
150
176
|
padding-left: calc(var(--menu-pad-x) - var(--menu-title-outdent));
|
|
151
177
|
}
|
|
152
178
|
|
|
153
|
-
/* The panel is padded so its rows sit in from the border;
|
|
154
|
-
supposed to span it edge to edge, so pull
|
|
155
|
-
|
|
179
|
+
/* The panel is padded so its rows sit in from the border; a divider rule (see
|
|
180
|
+
`--divider` below) is supposed to span it edge to edge, so pull the title
|
|
181
|
+
back out to the edge and pad the text back in. Net indent then matches the
|
|
182
|
+
inline case exactly regardless of whether this particular title has one. */
|
|
156
183
|
.bk-menu__submenu--popup > .bk-menu__group-title {
|
|
157
184
|
margin-left: calc(var(--menu-popup-pad) * -1);
|
|
158
185
|
margin-right: calc(var(--menu-popup-pad) * -1);
|
|
159
|
-
|
|
160
|
-
padding-
|
|
186
|
+
/* +2px on top of the row's own inset — a touch roomier than the rows it titles. */
|
|
187
|
+
padding-left: calc(var(--menu-popup-item-pad-x) - var(--menu-title-outdent) + var(--menu-popup-pad) + 2px);
|
|
188
|
+
padding-right: calc(var(--menu-popup-item-pad-x) + var(--menu-popup-pad) + 2px);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* ---- Flat multi-group sections (MenuItem.groupLabel): several named groups
|
|
192
|
+
inside one always-visible list, e.g. a mega-menu. Extra breathing room
|
|
193
|
+
above each section's own heading, since it follows another group's rows. ---- */
|
|
194
|
+
.bk-menu__group-title--section {
|
|
195
|
+
@apply mb-0 tracking-wide;
|
|
196
|
+
padding-top: calc(var(--menu-pad-y) * 1.25);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* The rule that actually separates one group from the next — applied only
|
|
200
|
+
when a group has a preceding sibling group (never under a lone title, and
|
|
201
|
+
never trailing after the last group). */
|
|
202
|
+
.bk-menu__group-title--divider {
|
|
203
|
+
@apply border-t border-[var(--menu-border)];
|
|
204
|
+
margin-top: calc(var(--menu-pad-y) / 2);
|
|
161
205
|
}
|
|
162
206
|
|
|
163
207
|
/* ---- Icon (optional). Tinted monochrome when .bk-menu--tint. ---- */
|
|
@@ -216,16 +260,24 @@
|
|
|
216
260
|
@apply max-h-[1000px]; /* large enough to reveal nested content */
|
|
217
261
|
}
|
|
218
262
|
|
|
263
|
+
/* Opt-in tint, set via [submenuBackground]="true" — see --menu-submenu-bg above. */
|
|
264
|
+
.bk-menu__submenu--inline.bk-menu__submenu--bg {
|
|
265
|
+
background-color: var(--menu-submenu-bg);
|
|
266
|
+
}
|
|
267
|
+
|
|
219
268
|
/* =========================================================================
|
|
220
269
|
Pop-up submenus — floating panels, hidden until open.
|
|
221
270
|
========================================================================= */
|
|
222
271
|
.bk-menu__submenu--popup {
|
|
223
272
|
/* Fixed so the fly-out escapes the menu's overflow/scroll box and renders
|
|
224
273
|
outside the nav. Coordinates are set inline (top/left) from JS. */
|
|
274
|
+
/* max-width/max-height below are the ceiling; menu.ts narrows them inline to
|
|
275
|
+
whatever room the viewport actually leaves, and the panel scrolls past it.
|
|
276
|
+
overflow-x is hidden because rows ellipsise rather than widen the panel. */
|
|
225
277
|
@apply fixed z-[1000] max-h-[calc(100vh-16px)]
|
|
226
|
-
overflow-y-auto bg-[var(--menu-bg)] border border-[var(--menu-border)]
|
|
278
|
+
overflow-y-auto overflow-x-hidden bg-[var(--menu-bg)] border border-[var(--menu-border)]
|
|
227
279
|
rounded-xl shadow-[var(--menu-shadow)] hidden;
|
|
228
|
-
padding: var(--menu-popup-pad);
|
|
280
|
+
padding: var(--menu-popup-pad-y) var(--menu-popup-pad);
|
|
229
281
|
min-width: var(--menu-popup-min-w);
|
|
230
282
|
max-width: var(--menu-popup-max-w);
|
|
231
283
|
}
|