bitwrench 2.0.32 → 2.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/README.md +210 -125
- package/dist/bitwrench-bccl.cjs.js +349 -188
- package/dist/bitwrench-bccl.cjs.min.js +2 -39
- package/dist/bitwrench-bccl.cjs.min.js.gz +0 -0
- package/dist/bitwrench-bccl.esm.js +349 -188
- package/dist/bitwrench-bccl.esm.min.js +2 -39
- package/dist/bitwrench-bccl.esm.min.js.gz +0 -0
- package/dist/bitwrench-bccl.umd.js +349 -188
- package/dist/bitwrench-bccl.umd.min.js +2 -39
- package/dist/bitwrench-bccl.umd.min.js.gz +0 -0
- package/dist/bitwrench-code-edit.cjs.js +17 -6
- package/dist/bitwrench-code-edit.cjs.min.js +2 -20
- package/dist/bitwrench-code-edit.es5.js +8 -3
- package/dist/bitwrench-code-edit.es5.min.js +2 -19
- package/dist/bitwrench-code-edit.esm.js +17 -6
- package/dist/bitwrench-code-edit.esm.min.js +2 -19
- package/dist/bitwrench-code-edit.umd.js +17 -6
- package/dist/bitwrench-code-edit.umd.min.js +2 -19
- package/dist/bitwrench-code-edit.umd.min.js.gz +0 -0
- package/dist/bitwrench-debug.js +1 -1
- package/dist/bitwrench-debug.min.js +1 -1
- package/dist/bitwrench-lean.cjs.js +2492 -1628
- package/dist/bitwrench-lean.cjs.min.js +2 -80
- package/dist/bitwrench-lean.cjs.min.js.gz +0 -0
- package/dist/bitwrench-lean.es5.js +2740 -1838
- package/dist/bitwrench-lean.es5.min.js +2 -49
- package/dist/bitwrench-lean.es5.min.js.gz +0 -0
- package/dist/bitwrench-lean.esm.js +2492 -1628
- package/dist/bitwrench-lean.esm.min.js +2 -80
- package/dist/bitwrench-lean.esm.min.js.gz +0 -0
- package/dist/bitwrench-lean.umd.js +2492 -1628
- package/dist/bitwrench-lean.umd.min.js +2 -80
- package/dist/bitwrench-lean.umd.min.js.gz +0 -0
- package/dist/bitwrench-util-color.cjs.js +251 -0
- package/dist/bitwrench-util-color.cjs.min.js +3 -0
- package/dist/bitwrench-util-color.es5.js +256 -0
- package/dist/bitwrench-util-color.es5.min.js +3 -0
- package/dist/bitwrench-util-color.esm.js +241 -0
- package/dist/bitwrench-util-color.esm.min.js +3 -0
- package/dist/bitwrench-util-color.umd.js +257 -0
- package/dist/bitwrench-util-color.umd.min.js +3 -0
- package/dist/bitwrench-util-css.cjs.js +2 -1
- package/dist/bitwrench-util-css.cjs.min.js +2 -21
- package/dist/bitwrench-util-css.es5.js +2 -1
- package/dist/bitwrench-util-css.es5.min.js +2 -20
- package/dist/bitwrench-util-css.esm.js +2 -1
- package/dist/bitwrench-util-css.esm.min.js +1 -19
- package/dist/bitwrench-util-css.umd.js +2 -1
- package/dist/bitwrench-util-css.umd.min.js +2 -20
- package/dist/bitwrench-util-css.umd.min.js.gz +0 -0
- package/dist/bitwrench.cjs.js +2826 -1801
- package/dist/bitwrench.cjs.min.js +2 -99
- package/dist/bitwrench.cjs.min.js.gz +0 -0
- package/dist/bitwrench.css +403 -479
- package/dist/bitwrench.d.ts +70 -73
- package/dist/bitwrench.es5.js +3106 -2020
- package/dist/bitwrench.es5.min.js +2 -67
- package/dist/bitwrench.es5.min.js.gz +0 -0
- package/dist/bitwrench.esm.js +2826 -1801
- package/dist/bitwrench.esm.min.js +2 -99
- package/dist/bitwrench.esm.min.js.gz +0 -0
- package/dist/bitwrench.min.css +1 -1
- package/dist/bitwrench.umd.js +2826 -1801
- package/dist/bitwrench.umd.min.js +2 -99
- package/dist/bitwrench.umd.min.js.gz +0 -0
- package/dist/builds.json +222 -134
- package/dist/bwserve.cjs.js +289 -282
- package/dist/bwserve.d.ts +157 -0
- package/dist/bwserve.esm.js +290 -283
- package/dist/sri.json +54 -46
- package/docs/README.md +6 -3
- package/docs/app-patterns.md +7 -6
- package/docs/bitwrench-for-wasm.md +53 -54
- package/docs/bitwrench-mcp.md +2 -2
- package/docs/bitwrench-northstar-principles.md +406 -0
- package/docs/bitwrench-taco-schema-discussion.md +2 -2
- package/docs/bitwrench_api.md +191 -106
- package/docs/bitwrench_typescript_usage.md +5 -5
- package/docs/bw-attach.md +29 -75
- package/docs/bwserve.md +200 -168
- package/docs/cli.md +36 -12
- package/docs/component-cheatsheet.md +2 -2
- package/docs/component-library.md +4 -4
- package/docs/component-lifecycle.md +234 -0
- package/docs/drift-lint.md +268 -0
- package/docs/framework-translation-table.md +4 -4
- package/docs/llm-bitwrench-guide.md +60 -50
- package/docs/routing.md +11 -13
- package/docs/state-management.md +110 -109
- package/docs/taco-format.md +13 -14
- package/docs/theming.md +13 -3
- package/docs/thinking-in-bitwrench.md +858 -983
- package/docs/tutorial-bwserve.md +37 -36
- package/docs/tutorial-embedded.md +10 -21
- package/docs/tutorial-website.md +2 -2
- package/package.json +38 -7
- package/readme.html +262 -160
- package/src/bitwrench-bccl-entry.js +2 -2
- package/src/bitwrench-bccl.js +346 -185
- package/src/bitwrench-code-edit.js +16 -5
- package/src/bitwrench-color-utils.js +117 -181
- package/src/bitwrench-file-ops.js +2 -2
- package/src/bitwrench-lean.js +4 -3
- package/src/bitwrench-router.js +5 -2
- package/src/bitwrench-styles.js +420 -504
- package/src/bitwrench-util-color.js +240 -0
- package/src/bitwrench-util-css.js +1 -0
- package/src/bitwrench-utils.js +4 -0
- package/src/bitwrench.d.ts +70 -73
- package/src/bitwrench.h +5 -0
- package/src/bitwrench.js +1939 -933
- package/src/bwserve/attach.js +0 -1
- package/src/bwserve/bwclient.js +172 -32
- package/src/bwserve/bwshell.js +0 -4
- package/src/bwserve/client.js +59 -220
- package/src/bwserve/index.js +59 -26
- package/src/bwserve.d.ts +157 -0
- package/src/bwserve.h +5 -0
- package/src/cli/attach.js +12 -75
- package/src/cli/convert.js +2 -2
- package/src/cli/serve.js +37 -35
- package/src/generate-css.js +1 -1
- package/src/mcp/knowledge.js +4 -4
- package/src/mcp/live.js +21 -13
- package/src/mcp/tools.js +0 -1
- package/src/version.js +3 -7
package/src/bitwrench-styles.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* @author M A Chatterjee <deftio [at] deftio [dot] com>
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import { derivePalette
|
|
25
|
+
import { derivePalette } from './bitwrench-color-utils.js';
|
|
26
26
|
|
|
27
27
|
// Re-export for use by bitwrench.js
|
|
28
28
|
export { derivePalette };
|
|
@@ -214,10 +214,14 @@ export function resolveLayout(config) {
|
|
|
214
214
|
*/
|
|
215
215
|
function scopeSelector(name, sel) {
|
|
216
216
|
if (!name) return sel;
|
|
217
|
+
/* c8 ignore next -- scopeSelector never receives comma-separated selectors from internal callers */
|
|
217
218
|
if (sel.includes(',')) return sel.split(',').map(function(s) { return '.' + name + ' ' + s.trim(); }).join(', ');
|
|
218
219
|
return '.' + name + ' ' + sel;
|
|
219
220
|
}
|
|
220
221
|
var _sx=scopeSelector;
|
|
222
|
+
function _tr(p,m,s){var d=m[s||'fast'];return p.split(',').map(function(x){return x.trim()+' '+d+' '+m.easing;}).join(', ');}
|
|
223
|
+
function _fr(f,sz){return '0 0 0 '+(sz||'0.25rem')+' '+f;}
|
|
224
|
+
function _sf(p){return p.surface||'#fff';}
|
|
221
225
|
|
|
222
226
|
// =========================================================================
|
|
223
227
|
// Themed CSS generators
|
|
@@ -229,7 +233,7 @@ function generateTypographyThemed(scope, palette, layout) {
|
|
|
229
233
|
rules[_sx(scope, 'a')] = {
|
|
230
234
|
'color': palette.primary.base,
|
|
231
235
|
'text-decoration': 'none',
|
|
232
|
-
'transition': 'color
|
|
236
|
+
'transition': _tr('color', mot)
|
|
233
237
|
};
|
|
234
238
|
rules[_sx(scope, 'a:hover')] = {
|
|
235
239
|
'color': palette.tertiary.hover,
|
|
@@ -244,25 +248,25 @@ function generateButtons(scope, palette, layout) {
|
|
|
244
248
|
var rd = layout.radius;
|
|
245
249
|
|
|
246
250
|
// Base button (only when scoped — unscoped uses defaultStyles)
|
|
247
|
-
rules[_sx(scope, '.
|
|
251
|
+
rules[_sx(scope, '.bw_bccl_btn')] = {
|
|
248
252
|
'padding': sp.btn,
|
|
249
253
|
'border-radius': rd.btn
|
|
250
254
|
};
|
|
251
|
-
rules[_sx(scope, '.
|
|
255
|
+
rules[_sx(scope, '.bw_bccl_btn:focus-visible')] = {
|
|
252
256
|
'outline': '2px solid currentColor',
|
|
253
257
|
'outline-offset': '2px',
|
|
254
|
-
'box-shadow':
|
|
258
|
+
'box-shadow': _fr(palette.primary.focus, '3px')
|
|
255
259
|
};
|
|
256
260
|
|
|
257
261
|
// Variant colors handled by palette class on component root
|
|
258
262
|
|
|
259
263
|
// Size variants (structural, reuse layout radius)
|
|
260
|
-
rules[_sx(scope, '.
|
|
264
|
+
rules[_sx(scope, '.bw_bccl_btn_lg')] = {
|
|
261
265
|
'padding': '0.625rem 1.5rem',
|
|
262
266
|
'font-size': '1rem',
|
|
263
267
|
'border-radius': rd.btn === '50rem' ? '50rem' : (parseInt(rd.btn) + 2) + 'px'
|
|
264
268
|
};
|
|
265
|
-
rules[_sx(scope, '.
|
|
269
|
+
rules[_sx(scope, '.bw_bccl_btn_sm')] = {
|
|
266
270
|
'padding': '0.25rem 0.75rem',
|
|
267
271
|
'font-size': '0.8125rem',
|
|
268
272
|
'border-radius': rd.btn === '50rem' ? '50rem' : (Math.max(parseInt(rd.btn) - 1, 0)) + 'px'
|
|
@@ -276,7 +280,7 @@ function generateAlerts(scope, palette, layout) {
|
|
|
276
280
|
var sp = layout.spacing;
|
|
277
281
|
var rd = layout.radius;
|
|
278
282
|
|
|
279
|
-
rules[_sx(scope, '.
|
|
283
|
+
rules[_sx(scope, '.bw_bccl_alert')] = {
|
|
280
284
|
'padding': sp.alert,
|
|
281
285
|
'border-radius': rd.alert
|
|
282
286
|
};
|
|
@@ -295,39 +299,39 @@ function generateCards(scope, palette, layout) {
|
|
|
295
299
|
|
|
296
300
|
var elev = layout.elevation;
|
|
297
301
|
var motion = layout.motion;
|
|
298
|
-
rules[_sx(scope, '.
|
|
299
|
-
'background-color': palette
|
|
302
|
+
rules[_sx(scope, '.bw_bccl_card')] = {
|
|
303
|
+
'background-color': _sf(palette),
|
|
300
304
|
'border': '1px solid ' + palette.light.border,
|
|
301
305
|
'border-radius': rd.card,
|
|
302
306
|
'box-shadow': elev.sm,
|
|
303
|
-
'transition': 'box-shadow
|
|
307
|
+
'transition': _tr('box-shadow,transform', motion, 'normal')
|
|
304
308
|
};
|
|
305
|
-
rules[_sx(scope, '.
|
|
309
|
+
rules[_sx(scope, '.bw_bccl_card:hover')] = {
|
|
306
310
|
'box-shadow': elev.md
|
|
307
311
|
};
|
|
308
|
-
rules[_sx(scope, '.
|
|
309
|
-
'transition': 'box-shadow
|
|
312
|
+
rules[_sx(scope, '.bw_bccl_card_hoverable')] = {
|
|
313
|
+
'transition': _tr('box-shadow,transform', motion, 'slow')
|
|
310
314
|
};
|
|
311
|
-
rules[_sx(scope, '.
|
|
315
|
+
rules[_sx(scope, '.bw_bccl_card_hoverable:hover')] = {
|
|
312
316
|
'box-shadow': elev.lg
|
|
313
317
|
};
|
|
314
|
-
rules[_sx(scope, '.
|
|
318
|
+
rules[_sx(scope, '.bw_bccl_card_body')] = {
|
|
315
319
|
'padding': sp.card
|
|
316
320
|
};
|
|
317
|
-
rules[_sx(scope, '.
|
|
321
|
+
rules[_sx(scope, '.bw_bccl_card_header')] = {
|
|
318
322
|
'padding': sp.card.split(' ').map(function(v) { return (parseFloat(v) * 0.7).toFixed(3).replace(/\.?0+$/, '') + 'rem'; }).join(' '),
|
|
319
323
|
'background-color': palette.surfaceAlt,
|
|
320
324
|
'border-bottom': '1px solid ' + palette.light.border
|
|
321
325
|
};
|
|
322
|
-
rules[_sx(scope, '.
|
|
326
|
+
rules[_sx(scope, '.bw_bccl_card_footer')] = {
|
|
323
327
|
'background-color': palette.surfaceAlt,
|
|
324
328
|
'border-top': '1px solid ' + palette.light.border,
|
|
325
329
|
'color': palette.secondary.base
|
|
326
330
|
};
|
|
327
|
-
rules[_sx(scope, '.
|
|
331
|
+
rules[_sx(scope, '.bw_bccl_card_title')] = {
|
|
328
332
|
'color': palette.dark.base
|
|
329
333
|
};
|
|
330
|
-
rules[_sx(scope, '.
|
|
334
|
+
rules[_sx(scope, '.bw_bccl_card_subtitle')] = {
|
|
331
335
|
'color': palette.secondary.base
|
|
332
336
|
};
|
|
333
337
|
|
|
@@ -341,57 +345,57 @@ function generateForms(scope, palette, layout) {
|
|
|
341
345
|
var sp = layout.spacing;
|
|
342
346
|
var rd = layout.radius;
|
|
343
347
|
|
|
344
|
-
rules[_sx(scope, '.
|
|
348
|
+
rules[_sx(scope, '.bw_bccl_form_control')] = {
|
|
345
349
|
'padding': sp.input,
|
|
346
350
|
'border-radius': rd.input,
|
|
347
351
|
'color': palette.dark.base,
|
|
348
|
-
'background-color': palette
|
|
352
|
+
'background-color': _sf(palette),
|
|
349
353
|
'border-color': palette.light.border
|
|
350
354
|
};
|
|
351
|
-
rules[_sx(scope, '.
|
|
355
|
+
rules[_sx(scope, '.bw_bccl_form_control:focus')] = {
|
|
352
356
|
'border-color': palette.primary.border,
|
|
353
357
|
'outline': '2px solid ' + palette.primary.base,
|
|
354
358
|
'outline-offset': '-1px',
|
|
355
|
-
'box-shadow':
|
|
359
|
+
'box-shadow': _fr(palette.primary.focus)
|
|
356
360
|
};
|
|
357
|
-
rules[_sx(scope, '.
|
|
361
|
+
rules[_sx(scope, '.bw_bccl_form_control::placeholder')] = {
|
|
358
362
|
'color': palette.secondary.base
|
|
359
363
|
};
|
|
360
|
-
rules[_sx(scope, '.
|
|
364
|
+
rules[_sx(scope, '.bw_bccl_form_label')] = {
|
|
361
365
|
'color': palette.dark.base
|
|
362
366
|
};
|
|
363
|
-
rules[_sx(scope, '.
|
|
367
|
+
rules[_sx(scope, '.bw_bccl_form_text')] = {
|
|
364
368
|
'color': palette.secondary.base
|
|
365
369
|
};
|
|
366
|
-
rules[_sx(scope, '.
|
|
370
|
+
rules[_sx(scope, '.bw_bccl_form_check_input:checked')] = {
|
|
367
371
|
'background-color': palette.primary.base,
|
|
368
372
|
'border-color': palette.primary.base
|
|
369
373
|
};
|
|
370
|
-
rules[_sx(scope, '.
|
|
371
|
-
'box-shadow':
|
|
374
|
+
rules[_sx(scope, '.bw_bccl_form_check_input:focus')] = {
|
|
375
|
+
'box-shadow': _fr(palette.primary.focus)
|
|
372
376
|
};
|
|
373
377
|
// Validation states
|
|
374
|
-
rules[_sx(scope, '.
|
|
375
|
-
rules[_sx(scope, '.
|
|
378
|
+
rules[_sx(scope, '.bw_bccl_form_control.bw_is_valid')] = { 'border-color': palette.success.base };
|
|
379
|
+
rules[_sx(scope, '.bw_bccl_form_control.bw_is_valid:focus')] = {
|
|
376
380
|
'border-color': palette.success.base,
|
|
377
|
-
'box-shadow': '0
|
|
381
|
+
'box-shadow': _fr(palette.success.focus, '0.2rem')
|
|
378
382
|
};
|
|
379
|
-
rules[_sx(scope, '.
|
|
380
|
-
rules[_sx(scope, '.
|
|
383
|
+
rules[_sx(scope, '.bw_bccl_form_control.bw_is_invalid')] = { 'border-color': palette.danger.base };
|
|
384
|
+
rules[_sx(scope, '.bw_bccl_form_control.bw_is_invalid:focus')] = {
|
|
381
385
|
'border-color': palette.danger.base,
|
|
382
|
-
'box-shadow': '0
|
|
386
|
+
'box-shadow': _fr(palette.danger.focus, '0.2rem')
|
|
383
387
|
};
|
|
384
388
|
// Form select
|
|
385
|
-
rules[_sx(scope, '.
|
|
389
|
+
rules[_sx(scope, '.bw_bccl_form_select')] = {
|
|
386
390
|
'padding': sp.input,
|
|
387
391
|
'border-radius': rd.input,
|
|
388
392
|
'color': palette.dark.base,
|
|
389
|
-
'background-color': palette
|
|
393
|
+
'background-color': _sf(palette),
|
|
390
394
|
'border-color': palette.light.border
|
|
391
395
|
};
|
|
392
|
-
rules[_sx(scope, '.
|
|
396
|
+
rules[_sx(scope, '.bw_bccl_form_select:focus')] = {
|
|
393
397
|
'border-color': palette.primary.border,
|
|
394
|
-
'box-shadow':
|
|
398
|
+
'box-shadow': _fr(palette.primary.focus)
|
|
395
399
|
};
|
|
396
400
|
|
|
397
401
|
return rules;
|
|
@@ -399,41 +403,41 @@ function generateForms(scope, palette, layout) {
|
|
|
399
403
|
|
|
400
404
|
function generateNavigation(scope, palette, layout) {
|
|
401
405
|
var rules = {};
|
|
402
|
-
rules[_sx(scope, '.
|
|
406
|
+
rules[_sx(scope, '.bw_bccl_navbar')] = {
|
|
403
407
|
'background-color': palette.surfaceAlt,
|
|
404
408
|
'border-bottom-color': palette.light.border
|
|
405
409
|
};
|
|
406
|
-
rules[_sx(scope, '.
|
|
410
|
+
rules[_sx(scope, '.bw_bccl_navbar_brand')] = {
|
|
407
411
|
'color': palette.dark.base
|
|
408
412
|
};
|
|
409
|
-
rules[_sx(scope, '.
|
|
413
|
+
rules[_sx(scope, '.bw_bccl_navbar_nav .bw_nav_link')] = {
|
|
410
414
|
'color': palette.secondary.base,
|
|
411
415
|
'border-radius': layout.radius.btn,
|
|
412
|
-
'transition': 'color
|
|
416
|
+
'transition': _tr('color,background-color', layout.motion)
|
|
413
417
|
};
|
|
414
|
-
rules[_sx(scope, '.
|
|
418
|
+
rules[_sx(scope, '.bw_bccl_navbar_nav .bw_nav_link:hover')] = {
|
|
415
419
|
'color': palette.tertiary.base,
|
|
416
420
|
'background-color': palette.surfaceAlt
|
|
417
421
|
};
|
|
418
|
-
rules[_sx(scope, '.
|
|
422
|
+
rules[_sx(scope, '.bw_bccl_navbar_nav .bw_nav_link.active')] = {
|
|
419
423
|
'color': palette.primary.base,
|
|
420
424
|
'background-color': palette.primary.focus,
|
|
421
425
|
'font-weight': '600'
|
|
422
426
|
};
|
|
423
|
-
rules[_sx(scope, '.
|
|
427
|
+
rules[_sx(scope, '.bw_bccl_navbar_dark')] = {
|
|
424
428
|
'background-color': palette.dark.base,
|
|
425
429
|
'border-bottom-color': palette.dark.hover
|
|
426
430
|
};
|
|
427
|
-
rules[_sx(scope, '.
|
|
431
|
+
rules[_sx(scope, '.bw_bccl_navbar_dark .bw_bccl_navbar_brand')] = {
|
|
428
432
|
'color': palette.light.base
|
|
429
433
|
};
|
|
430
|
-
rules[_sx(scope, '.
|
|
434
|
+
rules[_sx(scope, '.bw_bccl_navbar_dark .bw_nav_link')] = {
|
|
431
435
|
'color': palette.light.border
|
|
432
436
|
};
|
|
433
|
-
rules[_sx(scope, '.
|
|
437
|
+
rules[_sx(scope, '.bw_bccl_navbar_dark .bw_nav_link:hover')] = {
|
|
434
438
|
'color': palette.light.base
|
|
435
439
|
};
|
|
436
|
-
rules[_sx(scope, '.
|
|
440
|
+
rules[_sx(scope, '.bw_bccl_navbar_dark .bw_nav_link.active')] = {
|
|
437
441
|
'color': palette.light.base,
|
|
438
442
|
'font-weight': '600'
|
|
439
443
|
};
|
|
@@ -448,35 +452,35 @@ function generateTables(scope, palette, layout) {
|
|
|
448
452
|
var rules = {};
|
|
449
453
|
var sp = layout.spacing;
|
|
450
454
|
|
|
451
|
-
rules[_sx(scope, '.
|
|
455
|
+
rules[_sx(scope, '.bw_bccl_table')] = {
|
|
452
456
|
'color': palette.dark.base,
|
|
453
457
|
'border-color': palette.light.border
|
|
454
458
|
};
|
|
455
|
-
rules[_sx(scope, '.
|
|
459
|
+
rules[_sx(scope, '.bw_bccl_table > :not(caption) > * > *')] = {
|
|
456
460
|
'padding': sp.cell,
|
|
457
461
|
'border-bottom-color': palette.light.border
|
|
458
462
|
};
|
|
459
|
-
rules[_sx(scope, '.
|
|
463
|
+
rules[_sx(scope, '.bw_bccl_table > thead > tr > *')] = {
|
|
460
464
|
'color': palette.secondary.base,
|
|
461
465
|
'border-bottom-color': palette.light.border,
|
|
462
466
|
'background-color': palette.surfaceAlt
|
|
463
467
|
};
|
|
464
|
-
rules[_sx(scope, '.
|
|
468
|
+
rules[_sx(scope, '.bw_bccl_table_striped > tbody > tr:nth-of-type(odd) > *')] = {
|
|
465
469
|
'background-color': palette.surfaceAlt
|
|
466
470
|
};
|
|
467
|
-
rules[_sx(scope, '.
|
|
471
|
+
rules[_sx(scope, '.bw_bccl_table_hover > tbody > tr:hover > *')] = {
|
|
468
472
|
'background-color': palette.primary.focus
|
|
469
473
|
};
|
|
470
|
-
rules[_sx(scope, '.
|
|
474
|
+
rules[_sx(scope, '.bw_bccl_table_selectable > tbody > tr')] = {
|
|
471
475
|
'cursor': 'pointer'
|
|
472
476
|
};
|
|
473
|
-
rules[_sx(scope, '.
|
|
477
|
+
rules[_sx(scope, '.bw_bccl_table > tbody > tr.bw_bccl_table_row_selected > *')] = {
|
|
474
478
|
'background-color': palette.primary.light
|
|
475
479
|
};
|
|
476
|
-
rules[_sx(scope, '.
|
|
480
|
+
rules[_sx(scope, '.bw_bccl_table_bordered')] = {
|
|
477
481
|
'border-color': palette.light.border
|
|
478
482
|
};
|
|
479
|
-
rules[_sx(scope, '.
|
|
483
|
+
rules[_sx(scope, '.bw_bccl_table caption')] = {
|
|
480
484
|
'color': palette.secondary.base
|
|
481
485
|
};
|
|
482
486
|
|
|
@@ -490,7 +494,7 @@ function generateTabs(scope, palette, layout) {
|
|
|
490
494
|
};
|
|
491
495
|
rules[_sx(scope, '.bw_nav_link')] = {
|
|
492
496
|
'color': palette.secondary.base,
|
|
493
|
-
'transition': 'color
|
|
497
|
+
'transition': _tr('color,border-color,background-color', mo)
|
|
494
498
|
};
|
|
495
499
|
rules[_sx(scope, '.bw_nav_tabs .bw_nav_link:hover')] = {
|
|
496
500
|
'color': palette.tertiary.base,
|
|
@@ -513,9 +517,9 @@ function generateListGroups(scope, palette, layout) {
|
|
|
513
517
|
rules[_sx(scope, '.bw_list_group_item')] = {
|
|
514
518
|
'padding': sp.cell,
|
|
515
519
|
'color': palette.dark.base,
|
|
516
|
-
'background-color': palette
|
|
520
|
+
'background-color': _sf(palette),
|
|
517
521
|
'border-color': palette.light.border,
|
|
518
|
-
'transition': 'color
|
|
522
|
+
'transition': _tr('color,background-color', mo)
|
|
519
523
|
};
|
|
520
524
|
rules[_sx(scope, 'a.bw_list_group_item:hover')] = {
|
|
521
525
|
'background-color': palette.surfaceAlt,
|
|
@@ -528,7 +532,7 @@ function generateListGroups(scope, palette, layout) {
|
|
|
528
532
|
};
|
|
529
533
|
rules[_sx(scope, '.bw_list_group_item.disabled')] = {
|
|
530
534
|
'color': palette.secondary.base,
|
|
531
|
-
'background-color': palette
|
|
535
|
+
'background-color': _sf(palette)
|
|
532
536
|
};
|
|
533
537
|
|
|
534
538
|
return rules;
|
|
@@ -546,9 +550,9 @@ function generatePagination(scope, palette, layout) {
|
|
|
546
550
|
};
|
|
547
551
|
rules[_sx(scope, '.bw_page_link')] = {
|
|
548
552
|
'color': palette.primary.base,
|
|
549
|
-
'background-color': palette
|
|
553
|
+
'background-color': _sf(palette),
|
|
550
554
|
'border-color': palette.light.border,
|
|
551
|
-
'transition': 'color
|
|
555
|
+
'transition': _tr('color,background-color', mo)
|
|
552
556
|
};
|
|
553
557
|
rules[_sx(scope, '.bw_page_link:hover')] = {
|
|
554
558
|
'color': palette.primary.hover,
|
|
@@ -566,7 +570,7 @@ function generatePagination(scope, palette, layout) {
|
|
|
566
570
|
};
|
|
567
571
|
rules[_sx(scope, '.bw_page_item.bw_disabled .bw_page_link')] = {
|
|
568
572
|
'color': palette.secondary.base,
|
|
569
|
-
'background-color': palette
|
|
573
|
+
'background-color': _sf(palette),
|
|
570
574
|
'border-color': palette.light.border
|
|
571
575
|
};
|
|
572
576
|
return rules;
|
|
@@ -574,13 +578,13 @@ function generatePagination(scope, palette, layout) {
|
|
|
574
578
|
|
|
575
579
|
function generateProgress(scope, palette, layout) {
|
|
576
580
|
var rules = {};
|
|
577
|
-
var rd = layout
|
|
578
|
-
rules[_sx(scope, '.
|
|
581
|
+
var rd = layout.radius;
|
|
582
|
+
rules[_sx(scope, '.bw_bccl_progress')] = {
|
|
579
583
|
'background-color': palette.surfaceAlt,
|
|
580
584
|
'border-radius': rd.badge,
|
|
581
585
|
'box-shadow': 'inset 0 1px 2px rgba(0,0,0,.1)'
|
|
582
586
|
};
|
|
583
|
-
rules[_sx(scope, '.
|
|
587
|
+
rules[_sx(scope, '.bw_bccl_progress_bar')] = {
|
|
584
588
|
'color': palette.primary.textOn,
|
|
585
589
|
'background-color': palette.primary.base,
|
|
586
590
|
'border-radius': 'inherit',
|
|
@@ -590,7 +594,7 @@ function generateProgress(scope, palette, layout) {
|
|
|
590
594
|
return rules;
|
|
591
595
|
}
|
|
592
596
|
|
|
593
|
-
// generateHero: removed — palette class with .
|
|
597
|
+
// generateHero: removed — palette class with .bw_bccl_hero override handles variants
|
|
594
598
|
|
|
595
599
|
// generateUtilityColors: removed — palette classes replace utility colors
|
|
596
600
|
|
|
@@ -611,23 +615,23 @@ function generateResetThemed(scope, palette) {
|
|
|
611
615
|
|
|
612
616
|
function generateBreadcrumbThemed(scope, palette, layout) {
|
|
613
617
|
var rules = {}, mo = layout.motion;
|
|
614
|
-
rules[_sx(scope, '.
|
|
618
|
+
rules[_sx(scope, '.bw_bccl_breadcrumb')] = {
|
|
615
619
|
'background-color': palette.surfaceAlt,
|
|
616
620
|
'padding': '0.625rem 1rem',
|
|
617
621
|
'border-radius': layout.radius.btn
|
|
618
622
|
};
|
|
619
|
-
rules[_sx(scope, '.
|
|
623
|
+
rules[_sx(scope, '.bw_bccl_breadcrumb_item + .bw_bccl_breadcrumb_item::before')] = {
|
|
620
624
|
'color': palette.secondary.base
|
|
621
625
|
};
|
|
622
|
-
rules[_sx(scope, '.
|
|
626
|
+
rules[_sx(scope, '.bw_bccl_breadcrumb_item a')] = {
|
|
623
627
|
'color': palette.tertiary.base,
|
|
624
|
-
'transition': 'color
|
|
628
|
+
'transition': _tr('color', mo)
|
|
625
629
|
};
|
|
626
|
-
rules[_sx(scope, '.
|
|
630
|
+
rules[_sx(scope, '.bw_bccl_breadcrumb_item a:hover')] = {
|
|
627
631
|
'color': palette.tertiary.hover,
|
|
628
632
|
'text-decoration': 'underline'
|
|
629
633
|
};
|
|
630
|
-
rules[_sx(scope, '.
|
|
634
|
+
rules[_sx(scope, '.bw_bccl_breadcrumb_item.active')] = {
|
|
631
635
|
'color': palette.dark.base
|
|
632
636
|
};
|
|
633
637
|
return rules;
|
|
@@ -642,7 +646,7 @@ function generateCloseButtonThemed(scope, palette) {
|
|
|
642
646
|
'opacity': '0.5'
|
|
643
647
|
};
|
|
644
648
|
rules[_sx(scope, '.bw_close:focus')] = {
|
|
645
|
-
'box-shadow':
|
|
649
|
+
'box-shadow': _fr(palette.primary.focus)
|
|
646
650
|
};
|
|
647
651
|
return rules;
|
|
648
652
|
}
|
|
@@ -663,38 +667,38 @@ function generateSectionsThemed(scope, palette) {
|
|
|
663
667
|
|
|
664
668
|
function generateAccordionThemed(scope, palette, layout) {
|
|
665
669
|
var rules = {};
|
|
666
|
-
var rd = layout
|
|
667
|
-
rules[_sx(scope, '.
|
|
668
|
-
'background-color': palette
|
|
670
|
+
var rd = layout.radius;
|
|
671
|
+
rules[_sx(scope, '.bw_bccl_accordion_item')] = {
|
|
672
|
+
'background-color': _sf(palette),
|
|
669
673
|
'border-color': palette.light.border
|
|
670
674
|
};
|
|
671
|
-
rules[_sx(scope, '.
|
|
675
|
+
rules[_sx(scope, '.bw_bccl_accordion_item:first-child')] = {
|
|
672
676
|
'border-top-left-radius': rd.card,
|
|
673
677
|
'border-top-right-radius': rd.card
|
|
674
678
|
};
|
|
675
|
-
rules[_sx(scope, '.
|
|
679
|
+
rules[_sx(scope, '.bw_bccl_accordion_item:last-child')] = {
|
|
676
680
|
'border-bottom-left-radius': rd.card,
|
|
677
681
|
'border-bottom-right-radius': rd.card
|
|
678
682
|
};
|
|
679
|
-
rules[_sx(scope, '.
|
|
683
|
+
rules[_sx(scope, '.bw_bccl_accordion_button')] = {
|
|
680
684
|
'color': palette.dark.base
|
|
681
685
|
};
|
|
682
|
-
rules[_sx(scope, '.
|
|
686
|
+
rules[_sx(scope, '.bw_bccl_accordion_button:not(.bw_collapsed)')] = {
|
|
683
687
|
'color': palette.primary.darkText,
|
|
684
688
|
'background-color': palette.primary.light,
|
|
685
689
|
'border-left': '3px solid ' + palette.primary.base
|
|
686
690
|
};
|
|
687
|
-
rules[_sx(scope, '.
|
|
691
|
+
rules[_sx(scope, '.bw_bccl_accordion_button:hover')] = {
|
|
688
692
|
'background-color': palette.surfaceAlt
|
|
689
693
|
};
|
|
690
|
-
rules[_sx(scope, '.
|
|
694
|
+
rules[_sx(scope, '.bw_bccl_accordion_button:not(.bw_collapsed):hover')] = {
|
|
691
695
|
'background-color': palette.primary.base,
|
|
692
696
|
'color': palette.primary.textOn
|
|
693
697
|
};
|
|
694
|
-
rules[_sx(scope, '.
|
|
695
|
-
'box-shadow': '0
|
|
698
|
+
rules[_sx(scope, '.bw_bccl_accordion_button:focus-visible')] = {
|
|
699
|
+
'box-shadow': _fr(palette.primary.focus, '0.2rem')
|
|
696
700
|
};
|
|
697
|
-
rules[_sx(scope, '.
|
|
701
|
+
rules[_sx(scope, '.bw_bccl_accordion_body')] = {
|
|
698
702
|
'border-top': '1px solid ' + palette.light.border,
|
|
699
703
|
'background-color': palette.surfaceAlt
|
|
700
704
|
};
|
|
@@ -703,21 +707,21 @@ function generateAccordionThemed(scope, palette, layout) {
|
|
|
703
707
|
|
|
704
708
|
function generateCarouselThemed(scope, palette) {
|
|
705
709
|
var rules = {};
|
|
706
|
-
rules[_sx(scope, '.
|
|
710
|
+
rules[_sx(scope, '.bw_bccl_carousel')] = {
|
|
707
711
|
'background-color': palette.surfaceAlt
|
|
708
712
|
};
|
|
709
|
-
rules[_sx(scope, '.
|
|
713
|
+
rules[_sx(scope, '.bw_bccl_carousel_indicator.active')] = {
|
|
710
714
|
'background-color': palette.primary.base
|
|
711
715
|
};
|
|
712
|
-
rules[_sx(scope, '.
|
|
716
|
+
rules[_sx(scope, '.bw_bccl_carousel_control')] = {
|
|
713
717
|
'background-color': palette.dark.base,
|
|
714
718
|
'color': palette.dark.textOn,
|
|
715
719
|
'transition': 'background-color 0.15s ease-out'
|
|
716
720
|
};
|
|
717
|
-
rules[_sx(scope, '.
|
|
721
|
+
rules[_sx(scope, '.bw_bccl_carousel_control:hover')] = {
|
|
718
722
|
'background-color': palette.dark.hover
|
|
719
723
|
};
|
|
720
|
-
rules[_sx(scope, '.
|
|
724
|
+
rules[_sx(scope, '.bw_bccl_carousel_caption')] = {
|
|
721
725
|
'background': 'linear-gradient(transparent, ' + palette.dark.base + ')',
|
|
722
726
|
'color': palette.dark.textOn
|
|
723
727
|
};
|
|
@@ -726,20 +730,20 @@ function generateCarouselThemed(scope, palette) {
|
|
|
726
730
|
|
|
727
731
|
function generateModalThemed(scope, palette, layout) {
|
|
728
732
|
var rules = {};
|
|
729
|
-
var rd = layout
|
|
730
|
-
rules[_sx(scope, '.
|
|
731
|
-
'background-color': palette
|
|
733
|
+
var rd = layout.radius;
|
|
734
|
+
rules[_sx(scope, '.bw_bccl_modal_content')] = {
|
|
735
|
+
'background-color': _sf(palette),
|
|
732
736
|
'border-color': palette.light.border,
|
|
733
737
|
'border-radius': rd.card,
|
|
734
738
|
'box-shadow': layout.elevation.lg
|
|
735
739
|
};
|
|
736
|
-
rules[_sx(scope, '.
|
|
740
|
+
rules[_sx(scope, '.bw_bccl_modal_header')] = {
|
|
737
741
|
'border-bottom-color': palette.light.border
|
|
738
742
|
};
|
|
739
|
-
rules[_sx(scope, '.
|
|
743
|
+
rules[_sx(scope, '.bw_bccl_modal_footer')] = {
|
|
740
744
|
'border-top-color': palette.light.border
|
|
741
745
|
};
|
|
742
|
-
rules[_sx(scope, '.
|
|
746
|
+
rules[_sx(scope, '.bw_bccl_modal_title')] = {
|
|
743
747
|
'color': palette.dark.base
|
|
744
748
|
};
|
|
745
749
|
return rules;
|
|
@@ -747,14 +751,14 @@ function generateModalThemed(scope, palette, layout) {
|
|
|
747
751
|
|
|
748
752
|
function generateToastThemed(scope, palette, layout) {
|
|
749
753
|
var rules = {};
|
|
750
|
-
var rd = layout
|
|
751
|
-
rules[_sx(scope, '.
|
|
752
|
-
'background-color': palette
|
|
754
|
+
var rd = layout.radius;
|
|
755
|
+
rules[_sx(scope, '.bw_bccl_toast')] = {
|
|
756
|
+
'background-color': _sf(palette),
|
|
753
757
|
'border-color': palette.light.border,
|
|
754
758
|
'border-radius': rd.card,
|
|
755
759
|
'box-shadow': layout.elevation.lg
|
|
756
760
|
};
|
|
757
|
-
rules[_sx(scope, '.
|
|
761
|
+
rules[_sx(scope, '.bw_bccl_toast_header')] = {
|
|
758
762
|
'border-bottom-color': palette.light.border
|
|
759
763
|
};
|
|
760
764
|
// Variant toast borders handled by palette class
|
|
@@ -763,25 +767,25 @@ function generateToastThemed(scope, palette, layout) {
|
|
|
763
767
|
|
|
764
768
|
function generateDropdownThemed(scope, palette, layout) {
|
|
765
769
|
var rules = {};
|
|
766
|
-
var rd = layout
|
|
767
|
-
rules[_sx(scope, '.
|
|
768
|
-
'background-color': palette
|
|
770
|
+
var rd = layout.radius;
|
|
771
|
+
rules[_sx(scope, '.bw_bccl_dropdown_menu')] = {
|
|
772
|
+
'background-color': _sf(palette),
|
|
769
773
|
'border-color': palette.light.border,
|
|
770
774
|
'border-radius': rd.card,
|
|
771
775
|
'box-shadow': layout.elevation.md
|
|
772
776
|
};
|
|
773
|
-
rules[_sx(scope, '.
|
|
777
|
+
rules[_sx(scope, '.bw_bccl_dropdown_item')] = {
|
|
774
778
|
'color': palette.dark.base,
|
|
775
|
-
'transition': 'background-color
|
|
779
|
+
'transition': _tr('background-color', layout.motion)
|
|
776
780
|
};
|
|
777
|
-
rules[_sx(scope, '.
|
|
781
|
+
rules[_sx(scope, '.bw_bccl_dropdown_item:hover')] = {
|
|
778
782
|
'color': palette.dark.hover,
|
|
779
783
|
'background-color': palette.surfaceAlt
|
|
780
784
|
};
|
|
781
|
-
rules[_sx(scope, '.
|
|
785
|
+
rules[_sx(scope, '.bw_bccl_dropdown_item.disabled')] = {
|
|
782
786
|
'color': palette.secondary.base
|
|
783
787
|
};
|
|
784
|
-
rules[_sx(scope, '.
|
|
788
|
+
rules[_sx(scope, '.bw_bccl_dropdown_divider')] = {
|
|
785
789
|
'border-top-color': palette.light.border
|
|
786
790
|
};
|
|
787
791
|
return rules;
|
|
@@ -789,19 +793,19 @@ function generateDropdownThemed(scope, palette, layout) {
|
|
|
789
793
|
|
|
790
794
|
function generateSwitchThemed(scope, palette) {
|
|
791
795
|
var rules = {};
|
|
792
|
-
rules[_sx(scope, '.
|
|
796
|
+
rules[_sx(scope, '.bw_bccl_form_switch .bw_switch_input')] = {
|
|
793
797
|
'background-color': palette.secondary.base,
|
|
794
798
|
'border-color': palette.secondary.base
|
|
795
799
|
};
|
|
796
|
-
rules[_sx(scope, '.
|
|
800
|
+
rules[_sx(scope, '.bw_bccl_form_switch .bw_switch_input:checked')] = {
|
|
797
801
|
'background-color': palette.primary.base,
|
|
798
802
|
'border-color': palette.primary.base
|
|
799
803
|
};
|
|
800
|
-
rules[_sx(scope, '.
|
|
801
|
-
'box-shadow':
|
|
804
|
+
rules[_sx(scope, '.bw_bccl_form_switch .bw_switch_input:focus')] = {
|
|
805
|
+
'box-shadow': _fr(palette.primary.focus)
|
|
802
806
|
};
|
|
803
|
-
rules[_sx(scope, '.
|
|
804
|
-
'box-shadow':
|
|
807
|
+
rules[_sx(scope, '.bw_bccl_form_switch .bw_switch_input:focus-visible')] = {
|
|
808
|
+
'box-shadow': _fr(palette.primary.focus),
|
|
805
809
|
'outline': 'none'
|
|
806
810
|
};
|
|
807
811
|
return rules;
|
|
@@ -820,12 +824,12 @@ function generateSkeletonThemed(scope, palette) {
|
|
|
820
824
|
function generateStatCardThemed(scope, palette, layout) {
|
|
821
825
|
var rules = {}, mo = layout.motion, el = layout.elevation, rd = layout.radius;
|
|
822
826
|
rules[_sx(scope, '.bw_stat_card')] = {
|
|
823
|
-
'background-color': palette
|
|
827
|
+
'background-color': _sf(palette),
|
|
824
828
|
'color': palette.dark.base,
|
|
825
829
|
'border': '1px solid ' + palette.light.border,
|
|
826
830
|
'border-radius': rd.card,
|
|
827
831
|
'box-shadow': el.sm,
|
|
828
|
-
'transition': 'box-shadow
|
|
832
|
+
'transition': _tr('box-shadow,transform', mo)
|
|
829
833
|
};
|
|
830
834
|
rules[_sx(scope, '.bw_stat_card:hover')] = { 'box-shadow': el.md };
|
|
831
835
|
// Variant border colors handled by palette class
|
|
@@ -836,9 +840,9 @@ function generateStatCardThemed(scope, palette, layout) {
|
|
|
836
840
|
|
|
837
841
|
function generateTimelineThemed(scope, palette) {
|
|
838
842
|
var rules = {};
|
|
839
|
-
rules[_sx(scope, '.
|
|
843
|
+
rules[_sx(scope, '.bw_bccl_timeline::before')] = { 'background-color': palette.light.border };
|
|
840
844
|
// Variant marker colors handled by palette class
|
|
841
|
-
rules[_sx(scope, '.
|
|
845
|
+
rules[_sx(scope, '.bw_bccl_timeline_date')] = { 'color': palette.secondary.base };
|
|
842
846
|
return rules;
|
|
843
847
|
}
|
|
844
848
|
|
|
@@ -869,16 +873,16 @@ function generateStepperThemed(scope, palette) {
|
|
|
869
873
|
|
|
870
874
|
function generateChipInputThemed(scope, palette, layout) {
|
|
871
875
|
var rules = {};
|
|
872
|
-
var rd = layout
|
|
876
|
+
var rd = layout.radius;
|
|
873
877
|
rules[_sx(scope, '.bw_chip_input')] = {
|
|
874
878
|
'border-color': palette.light.border,
|
|
875
|
-
'background-color': palette
|
|
879
|
+
'background-color': _sf(palette),
|
|
876
880
|
'color': palette.dark.base,
|
|
877
881
|
'border-radius': rd.input
|
|
878
882
|
};
|
|
879
883
|
rules[_sx(scope, '.bw_chip_input:focus-within')] = {
|
|
880
884
|
'border-color': palette.primary.base,
|
|
881
|
-
'box-shadow': '0
|
|
885
|
+
'box-shadow': _fr(palette.primary.focus, '0.2rem')
|
|
882
886
|
};
|
|
883
887
|
rules[_sx(scope, '.bw_chip')] = {
|
|
884
888
|
'background-color': palette.surfaceAlt,
|
|
@@ -896,7 +900,7 @@ function generateFileUploadThemed(scope, palette, layout) {
|
|
|
896
900
|
rules[_sx(scope, '.bw_file_upload')] = {
|
|
897
901
|
'border-color': palette.light.border,
|
|
898
902
|
'background-color': palette.surfaceAlt,
|
|
899
|
-
'transition': 'border-color
|
|
903
|
+
'transition': _tr('border-color,background-color', mo)
|
|
900
904
|
};
|
|
901
905
|
rules[_sx(scope, '.bw_file_upload:hover')] = {
|
|
902
906
|
'border-color': palette.primary.base,
|
|
@@ -919,13 +923,13 @@ function generateRangeThemed(scope, palette) {
|
|
|
919
923
|
rules[_sx(scope, '.bw_range')] = { 'background-color': palette.light.border };
|
|
920
924
|
rules[_sx(scope, '.bw_range::-webkit-slider-thumb')] = {
|
|
921
925
|
'background-color': palette.primary.base,
|
|
922
|
-
'border-color': palette
|
|
926
|
+
'border-color': _sf(palette),
|
|
923
927
|
'box-shadow': '0 1px 3px rgba(0,0,0,0.2)',
|
|
924
928
|
'transition': 'background-color 0.15s ease-out, transform 0.15s ease-out'
|
|
925
929
|
};
|
|
926
930
|
rules[_sx(scope, '.bw_range::-moz-range-thumb')] = {
|
|
927
931
|
'background-color': palette.primary.base,
|
|
928
|
-
'border-color': palette
|
|
932
|
+
'border-color': _sf(palette),
|
|
929
933
|
'box-shadow': '0 1px 3px rgba(0,0,0,0.2)'
|
|
930
934
|
};
|
|
931
935
|
return rules;
|
|
@@ -933,10 +937,10 @@ function generateRangeThemed(scope, palette) {
|
|
|
933
937
|
|
|
934
938
|
function generateTooltipThemed(scope, palette, layout) {
|
|
935
939
|
var rules = {}, sp = layout.spacing, rd = layout.radius, el = layout.elevation, mo = layout.motion;
|
|
936
|
-
rules[_sx(scope, '.
|
|
940
|
+
rules[_sx(scope, '.bw_bccl_tooltip')] = {
|
|
937
941
|
'background-color': palette.dark.base, 'color': palette.dark.textOn,
|
|
938
942
|
'padding': sp.input, 'border-radius': rd.badge, 'box-shadow': el.md,
|
|
939
|
-
'transition': 'opacity
|
|
943
|
+
'transition': _tr('opacity,transform', mo)
|
|
940
944
|
};
|
|
941
945
|
return rules;
|
|
942
946
|
}
|
|
@@ -944,9 +948,9 @@ function generateTooltipThemed(scope, palette, layout) {
|
|
|
944
948
|
function generatePopoverThemed(scope, palette, layout) {
|
|
945
949
|
var rules = {}, sp = layout.spacing, rd = layout.radius, el = layout.elevation, mo = layout.motion;
|
|
946
950
|
rules[_sx(scope, '.bw_popover')] = {
|
|
947
|
-
'background-color': palette
|
|
951
|
+
'background-color': _sf(palette), 'color': palette.dark.base,
|
|
948
952
|
'border': '1px solid ' + palette.light.border, 'border-radius': rd.card, 'box-shadow': el.lg,
|
|
949
|
-
'transition': 'opacity
|
|
953
|
+
'transition': _tr('opacity,transform', mo)
|
|
950
954
|
};
|
|
951
955
|
rules[_sx(scope, '.bw_popover_header')] = {
|
|
952
956
|
'background-color': palette.surfaceAlt, 'border-bottom': '1px solid ' + palette.light.border,
|
|
@@ -959,11 +963,11 @@ function generatePopoverThemed(scope, palette, layout) {
|
|
|
959
963
|
function generateSearchThemed(scope, palette, layout) {
|
|
960
964
|
var rules = {}, mo = layout.motion;
|
|
961
965
|
rules[_sx(scope, '.bw_search_input')] = {
|
|
962
|
-
'background-color': palette
|
|
966
|
+
'background-color': _sf(palette),
|
|
963
967
|
'color': palette.dark.base
|
|
964
968
|
};
|
|
965
969
|
rules[_sx(scope, '.bw_search_clear')] = {
|
|
966
|
-
'transition': 'color
|
|
970
|
+
'transition': _tr('color,background-color', mo)
|
|
967
971
|
};
|
|
968
972
|
rules[_sx(scope, '.bw_search_clear:hover')] = { 'color': palette.dark.base };
|
|
969
973
|
return rules;
|
|
@@ -971,9 +975,9 @@ function generateSearchThemed(scope, palette, layout) {
|
|
|
971
975
|
|
|
972
976
|
function generateCodeDemoThemed(scope, palette, layout) {
|
|
973
977
|
var rules = {};
|
|
974
|
-
var rd = layout
|
|
978
|
+
var rd = layout.radius;
|
|
975
979
|
rules[_sx(scope, '.bw_code_demo')] = {
|
|
976
|
-
'background-color': palette
|
|
980
|
+
'background-color': _sf(palette),
|
|
977
981
|
'color': palette.dark.base,
|
|
978
982
|
'border-radius': rd.card
|
|
979
983
|
};
|
|
@@ -1040,14 +1044,14 @@ function generatePaletteClasses(scope, palette) {
|
|
|
1040
1044
|
// --- Component-specific overrides ---
|
|
1041
1045
|
|
|
1042
1046
|
// Alerts: light bg, dark text, subtle border
|
|
1043
|
-
rules[_sx(scope, '.
|
|
1047
|
+
rules[_sx(scope, '.bw_bccl_alert.bw_' + k)] = {
|
|
1044
1048
|
'background-color': s.light,
|
|
1045
1049
|
'color': s.darkText,
|
|
1046
1050
|
'border-color': s.border
|
|
1047
1051
|
};
|
|
1048
1052
|
|
|
1049
1053
|
// Toast: inherit bg, left border accent
|
|
1050
|
-
rules[_sx(scope, '.
|
|
1054
|
+
rules[_sx(scope, '.bw_bccl_toast.bw_' + k)] = {
|
|
1051
1055
|
'background-color': 'inherit',
|
|
1052
1056
|
'color': 'inherit',
|
|
1053
1057
|
'border-left': '4px solid ' + s.base
|
|
@@ -1061,14 +1065,14 @@ function generatePaletteClasses(scope, palette) {
|
|
|
1061
1065
|
};
|
|
1062
1066
|
|
|
1063
1067
|
// Card accent: left border accent, inherit bg
|
|
1064
|
-
rules[_sx(scope, '.
|
|
1068
|
+
rules[_sx(scope, '.bw_bccl_card.bw_' + k)] = {
|
|
1065
1069
|
'background-color': 'inherit',
|
|
1066
1070
|
'color': 'inherit',
|
|
1067
1071
|
'border-left': '4px solid ' + s.base
|
|
1068
1072
|
};
|
|
1069
1073
|
|
|
1070
1074
|
// Timeline marker: colored dot
|
|
1071
|
-
rules[_sx(scope, '.
|
|
1075
|
+
rules[_sx(scope, '.bw_bccl_timeline_marker.bw_' + k)] = {
|
|
1072
1076
|
'box-shadow': '0 0 0 2px ' + s.base
|
|
1073
1077
|
};
|
|
1074
1078
|
|
|
@@ -1092,24 +1096,24 @@ function generatePaletteClasses(scope, palette) {
|
|
|
1092
1096
|
};
|
|
1093
1097
|
|
|
1094
1098
|
// Outline button: transparent bg, colored border+text, solid on hover
|
|
1095
|
-
rules[_sx(scope, '.
|
|
1099
|
+
rules[_sx(scope, '.bw_bccl_btn_outline.bw_' + k)] = {
|
|
1096
1100
|
'background-color': 'transparent',
|
|
1097
1101
|
'color': s.base,
|
|
1098
1102
|
'border-color': s.base
|
|
1099
1103
|
};
|
|
1100
|
-
rules[_sx(scope, '.
|
|
1104
|
+
rules[_sx(scope, '.bw_bccl_btn_outline.bw_' + k + ':hover')] = {
|
|
1101
1105
|
'background-color': s.base,
|
|
1102
1106
|
'color': s.textOn
|
|
1103
1107
|
};
|
|
1104
1108
|
|
|
1105
1109
|
// Hero: gradient background
|
|
1106
|
-
rules[_sx(scope, '.
|
|
1110
|
+
rules[_sx(scope, '.bw_bccl_hero.bw_' + k)] = {
|
|
1107
1111
|
'background': 'linear-gradient(135deg, ' + s.base + ' 0%, ' + s.hover + ' 100%)',
|
|
1108
1112
|
'color': s.textOn
|
|
1109
1113
|
};
|
|
1110
1114
|
|
|
1111
1115
|
// Progress bar: contrasting text on colored bg
|
|
1112
|
-
rules[_sx(scope, '.
|
|
1116
|
+
rules[_sx(scope, '.bw_bccl_progress_bar.bw_' + k)] = {
|
|
1113
1117
|
'color': s.textOn
|
|
1114
1118
|
};
|
|
1115
1119
|
|
|
@@ -1208,6 +1212,16 @@ export function generateThemedCSS(scopeName, palette, layout) {
|
|
|
1208
1212
|
// a generate*Themed() function. That's it.
|
|
1209
1213
|
// =========================================================================
|
|
1210
1214
|
|
|
1215
|
+
// Generate 12-column grid rules for a given class prefix (e.g. 'bw_col', 'bw_col_sm')
|
|
1216
|
+
function _gridCols(prefix) {
|
|
1217
|
+
var r = {};
|
|
1218
|
+
for (var i = 1; i <= 12; i++) {
|
|
1219
|
+
var pct = +(100 * i / 12).toFixed(6) + '%';
|
|
1220
|
+
r['.' + prefix + '_' + i] = { 'flex': '0 0 ' + pct, 'max-width': pct };
|
|
1221
|
+
}
|
|
1222
|
+
return r;
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1211
1225
|
var structuralRules = {
|
|
1212
1226
|
// ---- Reset ----
|
|
1213
1227
|
base: {
|
|
@@ -1255,15 +1269,15 @@ var structuralRules = {
|
|
|
1255
1269
|
|
|
1256
1270
|
// ---- Grid ----
|
|
1257
1271
|
grid: {
|
|
1258
|
-
'.
|
|
1272
|
+
'.bw_bccl_container': {
|
|
1259
1273
|
'width': '100%', 'padding-right': '0.75rem', 'padding-left': '0.75rem',
|
|
1260
1274
|
'margin-right': 'auto', 'margin-left': 'auto'
|
|
1261
1275
|
},
|
|
1262
|
-
'@media (min-width: 576px)': { '.
|
|
1263
|
-
'@media (min-width: 768px)': { '.
|
|
1264
|
-
'@media (min-width: 992px)': { '.
|
|
1265
|
-
'@media (min-width: 1200px)': { '.
|
|
1266
|
-
'.
|
|
1276
|
+
'@media (min-width: 576px)': { '.bw_bccl_container': { 'max-width': '540px' } },
|
|
1277
|
+
'@media (min-width: 768px)': { '.bw_bccl_container': { 'max-width': '720px' } },
|
|
1278
|
+
'@media (min-width: 992px)': { '.bw_bccl_container': { 'max-width': '960px' } },
|
|
1279
|
+
'@media (min-width: 1200px)': { '.bw_bccl_container': { 'max-width': '1140px' } },
|
|
1280
|
+
'.bw_bccl_container_fluid': {
|
|
1267
1281
|
'width': '100%', 'padding-right': '0.75rem', 'padding-left': '0.75rem',
|
|
1268
1282
|
'margin-right': 'auto', 'margin-left': 'auto'
|
|
1269
1283
|
},
|
|
@@ -1278,109 +1292,98 @@ var structuralRules = {
|
|
|
1278
1292
|
'padding-left': 'calc(var(--bw_gutter_x, 0.75rem) * 0.5)'
|
|
1279
1293
|
},
|
|
1280
1294
|
'.bw_col': { 'flex-basis': '0', 'flex-grow': '1', 'max-width': '100%' },
|
|
1281
|
-
'
|
|
1282
|
-
'.bw_col_2': { 'flex': '0 0 16.666667%', 'max-width': '16.666667%' },
|
|
1283
|
-
'.bw_col_3': { 'flex': '0 0 25%', 'max-width': '25%' },
|
|
1284
|
-
'.bw_col_4': { 'flex': '0 0 33.333333%', 'max-width': '33.333333%' },
|
|
1285
|
-
'.bw_col_5': { 'flex': '0 0 41.666667%', 'max-width': '41.666667%' },
|
|
1286
|
-
'.bw_col_6': { 'flex': '0 0 50%', 'max-width': '50%' },
|
|
1287
|
-
'.bw_col_7': { 'flex': '0 0 58.333333%', 'max-width': '58.333333%' },
|
|
1288
|
-
'.bw_col_8': { 'flex': '0 0 66.666667%', 'max-width': '66.666667%' },
|
|
1289
|
-
'.bw_col_9': { 'flex': '0 0 75%', 'max-width': '75%' },
|
|
1290
|
-
'.bw_col_10': { 'flex': '0 0 83.333333%', 'max-width': '83.333333%' },
|
|
1291
|
-
'.bw_col_11': { 'flex': '0 0 91.666667%', 'max-width': '91.666667%' },
|
|
1292
|
-
'.bw_col_12': { 'flex': '0 0 100%', 'max-width': '100%' }
|
|
1295
|
+
..._gridCols('bw_col')
|
|
1293
1296
|
},
|
|
1294
1297
|
|
|
1295
1298
|
// ---- Buttons ----
|
|
1296
1299
|
buttons: {
|
|
1297
|
-
'.
|
|
1300
|
+
'.bw_bccl_btn': {
|
|
1298
1301
|
'display': 'inline-flex', 'align-items': 'center', 'justify-content': 'center',
|
|
1299
1302
|
'font-weight': '500', 'line-height': '1.5', 'text-align': 'center',
|
|
1300
1303
|
'text-decoration': 'none', 'vertical-align': 'middle', 'cursor': 'pointer',
|
|
1301
1304
|
'user-select': 'none', 'border': '1px solid transparent',
|
|
1302
1305
|
'font-size': '0.875rem', 'font-family': 'inherit', 'gap': '0.5rem'
|
|
1303
1306
|
},
|
|
1304
|
-
'.
|
|
1305
|
-
'.
|
|
1306
|
-
'.
|
|
1307
|
-
'.
|
|
1308
|
-
'.
|
|
1307
|
+
'.bw_bccl_btn:hover': { 'text-decoration': 'none', 'transform': 'translateY(-1px)' },
|
|
1308
|
+
'.bw_bccl_btn:active': { 'transform': 'translateY(0)' },
|
|
1309
|
+
'.bw_bccl_btn:focus-visible': { 'outline': '2px solid currentColor', 'outline-offset': '2px' },
|
|
1310
|
+
'.bw_bccl_btn:disabled': { 'opacity': '0.5', 'cursor': 'not-allowed', 'pointer-events': 'none' },
|
|
1311
|
+
'.bw_bccl_btn_block': { 'display': 'block', 'width': '100%' }
|
|
1309
1312
|
},
|
|
1310
1313
|
|
|
1311
1314
|
// ---- Cards ----
|
|
1312
1315
|
cards: {
|
|
1313
|
-
'.
|
|
1316
|
+
'.bw_bccl_card': {
|
|
1314
1317
|
'position': 'relative', 'display': 'flex', 'flex-direction': 'column',
|
|
1315
1318
|
'min-width': '0', 'height': '100%', 'word-wrap': 'break-word',
|
|
1316
1319
|
'background-clip': 'border-box', 'margin-bottom': '1.5rem', 'overflow': 'hidden'
|
|
1317
1320
|
},
|
|
1318
|
-
'.
|
|
1319
|
-
'.
|
|
1320
|
-
'.
|
|
1321
|
-
'.
|
|
1322
|
-
'.
|
|
1323
|
-
'.
|
|
1324
|
-
'.
|
|
1325
|
-
'.
|
|
1326
|
-
'.
|
|
1327
|
-
'.
|
|
1328
|
-
'.
|
|
1329
|
-
'.
|
|
1330
|
-
'.
|
|
1321
|
+
'.bw_bccl_card_body': { 'flex': '1 1 auto' },
|
|
1322
|
+
'.bw_bccl_card_body > *:last-child': { 'margin-bottom': '0' },
|
|
1323
|
+
'.bw_bccl_card_title': { 'margin-bottom': '0.5rem', 'font-size': '1.125rem', 'font-weight': '600', 'line-height': '1.3' },
|
|
1324
|
+
'.bw_bccl_card_text': { 'margin-bottom': '0', 'font-size': '0.9375rem', 'line-height': '1.6' },
|
|
1325
|
+
'.bw_bccl_card_header': { 'margin-bottom': '0', 'font-weight': '600', 'font-size': '0.875rem' },
|
|
1326
|
+
'.bw_bccl_card_footer': { 'font-size': '0.875rem' },
|
|
1327
|
+
'.bw_bccl_card_hoverable': {},
|
|
1328
|
+
'.bw_bccl_card_hoverable:hover': { 'transform': 'translateY(-4px)' },
|
|
1329
|
+
'.bw_bccl_card_img_top': { 'width': '100%' },
|
|
1330
|
+
'.bw_bccl_card_img_bottom': { 'width': '100%' },
|
|
1331
|
+
'.bw_bccl_card_img_left': { 'width': '40%', 'object-fit': 'cover' },
|
|
1332
|
+
'.bw_bccl_card_img_right': { 'width': '40%', 'object-fit': 'cover' },
|
|
1333
|
+
'.bw_bccl_card_subtitle, .card-subtitle': { 'margin-top': '-0.25rem', 'margin-bottom': '0.5rem', 'font-size': '0.875rem' }
|
|
1331
1334
|
},
|
|
1332
1335
|
|
|
1333
1336
|
// ---- Forms ----
|
|
1334
1337
|
forms: {
|
|
1335
|
-
'.
|
|
1338
|
+
'.bw_bccl_form_control': {
|
|
1336
1339
|
'display': 'block', 'width': '100%',
|
|
1337
1340
|
'font-size': '0.9375rem', 'font-weight': '400', 'line-height': '1.5',
|
|
1338
1341
|
'background-clip': 'padding-box', 'appearance': 'none',
|
|
1339
1342
|
'border': '1px solid transparent', 'font-family': 'inherit',
|
|
1340
1343
|
'transition': 'border-color 0.15s ease-out, box-shadow 0.15s ease-out'
|
|
1341
1344
|
},
|
|
1342
|
-
'.
|
|
1343
|
-
'.
|
|
1344
|
-
'.
|
|
1345
|
-
'.
|
|
1346
|
-
'.
|
|
1347
|
-
'select.
|
|
1345
|
+
'.bw_bccl_form_control:focus': { 'outline': '2px solid currentColor', 'outline-offset': '-1px' },
|
|
1346
|
+
'.bw_bccl_form_control::placeholder': { 'opacity': '1' },
|
|
1347
|
+
'.bw_bccl_form_label': { 'display': 'block', 'margin-bottom': '0.375rem', 'font-size': '0.875rem', 'font-weight': '600' },
|
|
1348
|
+
'.bw_bccl_form_group': { 'margin-bottom': '1.25rem' },
|
|
1349
|
+
'.bw_bccl_form_text': { 'margin-top': '0.25rem', 'font-size': '0.8125rem' },
|
|
1350
|
+
'select.bw_bccl_form_control': {
|
|
1348
1351
|
'padding-right': '2.25rem',
|
|
1349
1352
|
'background-image': "url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")",
|
|
1350
1353
|
'background-repeat': 'no-repeat', 'background-position': 'right 0.75rem center',
|
|
1351
1354
|
'background-size': '16px 12px'
|
|
1352
1355
|
},
|
|
1353
|
-
'textarea.
|
|
1356
|
+
'textarea.bw_bccl_form_control': { 'min-height': '5rem', 'resize': 'vertical' },
|
|
1354
1357
|
'.bw_valid_feedback': { 'display': 'block', 'font-size': '0.875rem', 'margin-top': '0.25rem' },
|
|
1355
1358
|
'.bw_invalid_feedback': { 'display': 'block', 'font-size': '0.875rem', 'margin-top': '0.25rem' }
|
|
1356
1359
|
},
|
|
1357
1360
|
|
|
1358
1361
|
// ---- Form checks ----
|
|
1359
1362
|
formChecks: {
|
|
1360
|
-
'.
|
|
1361
|
-
'.
|
|
1362
|
-
'.
|
|
1363
|
-
'.
|
|
1363
|
+
'.bw_bccl_form_check': { 'display': 'flex', 'align-items': 'center', 'gap': '0.5rem', 'min-height': '1.5rem', 'margin-bottom': '0.25rem' },
|
|
1364
|
+
'.bw_bccl_form_check_input': { 'width': '1rem', 'height': '1rem', 'margin': '0', 'cursor': 'pointer', 'flex-shrink': '0', 'border-radius': '0.25rem', 'appearance': 'auto' },
|
|
1365
|
+
'.bw_bccl_form_check_input:disabled': { 'opacity': '0.5', 'cursor': 'not-allowed' },
|
|
1366
|
+
'.bw_bccl_form_check_label': { 'cursor': 'pointer', 'user-select': 'none', 'font-size': '0.9375rem' }
|
|
1364
1367
|
},
|
|
1365
1368
|
|
|
1366
1369
|
// ---- Navigation ----
|
|
1367
1370
|
navigation: {
|
|
1368
|
-
'.
|
|
1371
|
+
'.bw_bccl_navbar': {
|
|
1369
1372
|
'position': 'relative', 'display': 'flex', 'flex-wrap': 'wrap',
|
|
1370
1373
|
'align-items': 'center', 'justify-content': 'space-between', 'padding': '0.5rem 1.5rem'
|
|
1371
1374
|
},
|
|
1372
|
-
'.
|
|
1373
|
-
'.
|
|
1375
|
+
'.bw_bccl_navbar > .bw_bccl_container, .bw_bccl_navbar > .container': { 'display': 'flex', 'flex-wrap': 'wrap', 'align-items': 'center', 'justify-content': 'space-between' },
|
|
1376
|
+
'.bw_bccl_navbar_brand': {
|
|
1374
1377
|
'display': 'inline-flex', 'align-items': 'center', 'gap': '0.5rem',
|
|
1375
1378
|
'padding-top': '0.25rem', 'padding-bottom': '0.25rem', 'margin-right': '1.5rem',
|
|
1376
1379
|
'font-size': '1.125rem', 'font-weight': '600', 'line-height': 'inherit',
|
|
1377
1380
|
'white-space': 'nowrap', 'text-decoration': 'none'
|
|
1378
1381
|
},
|
|
1379
|
-
'.
|
|
1382
|
+
'.bw_bccl_navbar_nav': {
|
|
1380
1383
|
'display': 'flex', 'flex-direction': 'row', 'padding-left': '0',
|
|
1381
1384
|
'margin-bottom': '0', 'list-style': 'none', 'gap': '0.25rem'
|
|
1382
1385
|
},
|
|
1383
|
-
'.
|
|
1386
|
+
'.bw_bccl_navbar_nav .bw_nav_link': {
|
|
1384
1387
|
'display': 'block', 'text-decoration': 'none',
|
|
1385
1388
|
'font-size': '0.875rem', 'font-weight': '500'
|
|
1386
1389
|
}
|
|
@@ -1388,68 +1391,68 @@ var structuralRules = {
|
|
|
1388
1391
|
|
|
1389
1392
|
// ---- Tables ----
|
|
1390
1393
|
tables: {
|
|
1391
|
-
'.
|
|
1394
|
+
'.bw_bccl_table': {
|
|
1392
1395
|
'width': '100%', 'margin-bottom': '1.5rem', 'vertical-align': 'top',
|
|
1393
1396
|
'border-collapse': 'collapse', 'font-size': '0.9375rem', 'line-height': '1.5'
|
|
1394
1397
|
},
|
|
1395
|
-
'.
|
|
1398
|
+
'.bw_bccl_table > :not(caption) > * > *': {
|
|
1396
1399
|
'background-color': 'transparent',
|
|
1397
1400
|
'border-bottom-width': '1px', 'border-bottom-style': 'solid'
|
|
1398
1401
|
},
|
|
1399
|
-
'.
|
|
1400
|
-
'.
|
|
1401
|
-
'.
|
|
1402
|
+
'.bw_bccl_table > tbody': { 'vertical-align': 'inherit' },
|
|
1403
|
+
'.bw_bccl_table > thead': { 'vertical-align': 'bottom' },
|
|
1404
|
+
'.bw_bccl_table > thead > tr > *': {
|
|
1402
1405
|
'font-size': '0.8125rem', 'font-weight': '600',
|
|
1403
1406
|
'text-transform': 'uppercase', 'letter-spacing': '0.04em',
|
|
1404
1407
|
'border-bottom-width': '2px'
|
|
1405
1408
|
},
|
|
1406
|
-
'.
|
|
1407
|
-
'.
|
|
1408
|
-
'.
|
|
1409
|
-
'.
|
|
1410
|
-
'.
|
|
1409
|
+
'.bw_bccl_table caption': { 'font-size': '0.875rem', 'caption-side': 'bottom' },
|
|
1410
|
+
'.bw_bccl_table_bordered > :not(caption) > * > *': { 'border-width': '1px', 'border-style': 'solid' },
|
|
1411
|
+
'.bw_bccl_table_selectable > tbody > tr': { 'cursor': 'pointer' },
|
|
1412
|
+
'.bw_bccl_table > tbody > tr.bw_bccl_table_row_selected > *': { 'background-color': 'rgba(0, 102, 102, 0.1)' },
|
|
1413
|
+
'.bw_bccl_table_responsive': { 'overflow-x': 'auto', '-webkit-overflow-scrolling': 'touch' }
|
|
1411
1414
|
},
|
|
1412
1415
|
|
|
1413
1416
|
// ---- Alerts ----
|
|
1414
1417
|
alerts: {
|
|
1415
|
-
'.
|
|
1418
|
+
'.bw_bccl_alert': {
|
|
1416
1419
|
'position': 'relative', 'margin-bottom': '1rem',
|
|
1417
1420
|
'border': '1px solid transparent',
|
|
1418
1421
|
'font-size': '0.9375rem', 'line-height': '1.6'
|
|
1419
1422
|
},
|
|
1420
|
-
'.
|
|
1421
|
-
'.
|
|
1422
|
-
'.
|
|
1423
|
-
'.
|
|
1423
|
+
'.bw_bccl_alert_heading, .alert-heading': { 'color': 'inherit' },
|
|
1424
|
+
'.bw_bccl_alert_link, .alert-link': { 'font-weight': '700' },
|
|
1425
|
+
'.bw_bccl_alert_dismissible': { 'padding-right': '3rem' },
|
|
1426
|
+
'.bw_bccl_alert_dismissible .btn-close': { 'position': 'absolute', 'top': '0', 'right': '0', 'z-index': '2', 'padding': '1.25rem 1rem' }
|
|
1424
1427
|
},
|
|
1425
1428
|
|
|
1426
1429
|
// ---- Badges ----
|
|
1427
1430
|
badges: {
|
|
1428
|
-
'.
|
|
1431
|
+
'.bw_bccl_badge': {
|
|
1429
1432
|
'display': 'inline-block', 'font-size': '0.875rem',
|
|
1430
1433
|
'font-weight': '600', 'line-height': '1.3', 'text-align': 'center',
|
|
1431
1434
|
'white-space': 'nowrap', 'vertical-align': 'baseline',
|
|
1432
1435
|
'padding': '0.35rem 0.65rem', 'border-radius': '0.25rem'
|
|
1433
1436
|
},
|
|
1434
|
-
'.
|
|
1435
|
-
'.
|
|
1436
|
-
'.
|
|
1437
|
-
'.
|
|
1437
|
+
'.bw_bccl_badge:empty': { 'display': 'none' },
|
|
1438
|
+
'.bw_bccl_badge_sm': { 'font-size': '0.75rem', 'padding': '0.25rem 0.5rem' },
|
|
1439
|
+
'.bw_bccl_badge_lg': { 'font-size': '1rem', 'padding': '0.5rem 0.875rem' },
|
|
1440
|
+
'.bw_bccl_badge_pill': { 'border-radius': '50rem' },
|
|
1438
1441
|
'.btn .badge': { 'position': 'relative', 'top': '-1px' }
|
|
1439
1442
|
},
|
|
1440
1443
|
|
|
1441
1444
|
// ---- Progress ----
|
|
1442
1445
|
progress: {
|
|
1443
|
-
'.
|
|
1444
|
-
'.
|
|
1446
|
+
'.bw_bccl_progress': { 'display': 'flex', 'height': '1.25rem', 'overflow': 'hidden', 'font-size': '.875rem' },
|
|
1447
|
+
'.bw_bccl_progress_bar': {
|
|
1445
1448
|
'display': 'flex', 'flex-direction': 'column', 'justify-content': 'center',
|
|
1446
1449
|
'overflow': 'hidden', 'text-align': 'center', 'white-space': 'nowrap', 'font-weight': '600'
|
|
1447
1450
|
},
|
|
1448
|
-
'.
|
|
1451
|
+
'.bw_bccl_progress_bar_striped': {
|
|
1449
1452
|
'background-image': 'linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)',
|
|
1450
1453
|
'background-size': '1rem 1rem'
|
|
1451
1454
|
},
|
|
1452
|
-
'.
|
|
1455
|
+
'.bw_bccl_progress_bar_animated': { 'animation': 'progress-bar-stripes 1s linear infinite' },
|
|
1453
1456
|
'@keyframes progress-bar-stripes': { '0%': { 'background-position-x': '1rem' } }
|
|
1454
1457
|
},
|
|
1455
1458
|
|
|
@@ -1467,9 +1470,9 @@ var structuralRules = {
|
|
|
1467
1470
|
'.bw_nav_link:focus-visible': { 'outline': '2px solid currentColor', 'outline-offset': '-2px' },
|
|
1468
1471
|
'.bw_nav_tabs .bw_nav_link': { 'border': 'none', 'border-bottom': '2px solid transparent', 'border-radius': '0', 'background-color': 'transparent' },
|
|
1469
1472
|
'.bw_nav_vertical': { 'flex-direction': 'column' },
|
|
1470
|
-
'.
|
|
1471
|
-
'.
|
|
1472
|
-
'.
|
|
1473
|
+
'.bw_bccl_tab_content': { 'padding': '1.25rem 0' },
|
|
1474
|
+
'.bw_bccl_tab_pane': { 'display': 'none' },
|
|
1475
|
+
'.bw_bccl_tab_pane.active': { 'display': 'block' },
|
|
1473
1476
|
'.bw_nav_scrollable': { 'flex-wrap': 'nowrap', 'overflow-x': 'auto', '-webkit-overflow-scrolling': 'touch', 'scrollbar-width': 'none' },
|
|
1474
1477
|
'.bw_nav_scrollable::-webkit-scrollbar': { 'display': 'none' },
|
|
1475
1478
|
'.bw_nav_scrollable .bw_nav_link': { 'white-space': 'nowrap' }
|
|
@@ -1492,7 +1495,7 @@ var structuralRules = {
|
|
|
1492
1495
|
|
|
1493
1496
|
// ---- Pagination ----
|
|
1494
1497
|
pagination: {
|
|
1495
|
-
'.
|
|
1498
|
+
'.bw_bccl_pagination': { 'display': 'flex', 'padding-left': '0', 'list-style': 'none', 'margin-bottom': '0' },
|
|
1496
1499
|
'.bw_page_item': { 'display': 'list-item', 'list-style': 'none' },
|
|
1497
1500
|
'.bw_page_link': {
|
|
1498
1501
|
'position': 'relative', 'display': 'block', 'padding': '0.375rem 0.75rem',
|
|
@@ -1506,22 +1509,22 @@ var structuralRules = {
|
|
|
1506
1509
|
|
|
1507
1510
|
// ---- Breadcrumb ----
|
|
1508
1511
|
breadcrumb: {
|
|
1509
|
-
'.
|
|
1510
|
-
'.
|
|
1511
|
-
'.
|
|
1512
|
-
'.
|
|
1513
|
-
'.
|
|
1514
|
-
'.
|
|
1512
|
+
'.bw_bccl_breadcrumb': { 'display': 'flex', 'flex-wrap': 'wrap', 'padding': '0 0', 'margin-bottom': '1rem', 'list-style': 'none' },
|
|
1513
|
+
'.bw_bccl_breadcrumb_item': { 'display': 'flex' },
|
|
1514
|
+
'.bw_bccl_breadcrumb_item + .bw_bccl_breadcrumb_item': { 'padding-left': '0.5rem' },
|
|
1515
|
+
'.bw_bccl_breadcrumb_item + .bw_bccl_breadcrumb_item::before': { 'float': 'left', 'padding-right': '0.5rem', 'content': '"/"' },
|
|
1516
|
+
'.bw_bccl_breadcrumb_item a': { 'text-decoration': 'none' },
|
|
1517
|
+
'.bw_bccl_breadcrumb_item.active': { 'font-weight': '500' }
|
|
1515
1518
|
},
|
|
1516
1519
|
|
|
1517
1520
|
// ---- Hero ----
|
|
1518
1521
|
hero: {
|
|
1519
|
-
'.
|
|
1520
|
-
'.
|
|
1521
|
-
'.
|
|
1522
|
-
'.
|
|
1523
|
-
'.
|
|
1524
|
-
'.
|
|
1522
|
+
'.bw_bccl_hero': { 'position': 'relative', 'overflow': 'hidden' },
|
|
1523
|
+
'.bw_bccl_hero_overlay': { 'position': 'absolute', 'top': '0', 'left': '0', 'right': '0', 'bottom': '0', 'z-index': '1' },
|
|
1524
|
+
'.bw_bccl_hero_content': { 'position': 'relative', 'z-index': '2' },
|
|
1525
|
+
'.bw_bccl_hero_title': { 'font-weight': '300', 'letter-spacing': '-0.05rem', 'color': 'inherit' },
|
|
1526
|
+
'.bw_bccl_hero_subtitle': { 'color': 'inherit' },
|
|
1527
|
+
'.bw_bccl_hero_actions': { 'display': 'flex', 'gap': '1rem', 'justify-content': 'center', 'flex-wrap': 'wrap' }
|
|
1525
1528
|
},
|
|
1526
1529
|
|
|
1527
1530
|
// ---- Features ----
|
|
@@ -1639,136 +1642,136 @@ var structuralRules = {
|
|
|
1639
1642
|
|
|
1640
1643
|
// ---- Button group ----
|
|
1641
1644
|
buttonGroup: {
|
|
1642
|
-
'.
|
|
1643
|
-
'.
|
|
1644
|
-
'.
|
|
1645
|
-
'.
|
|
1646
|
-
'.
|
|
1647
|
-
'.
|
|
1648
|
-
'.
|
|
1649
|
-
'.
|
|
1650
|
-
'.
|
|
1651
|
-
'.
|
|
1645
|
+
'.bw_bccl_btn_group, .bw_bccl_btn_group_vertical': { 'position': 'relative', 'display': 'inline-flex', 'vertical-align': 'middle' },
|
|
1646
|
+
'.bw_bccl_btn_group > .bw_bccl_btn, .bw_bccl_btn_group_vertical > .bw_bccl_btn': { 'position': 'relative', 'flex': '1 1 auto', 'border-radius': '0', 'margin-left': '-1px' },
|
|
1647
|
+
'.bw_bccl_btn_group > .bw_bccl_btn:first-child': { 'margin-left': '0' },
|
|
1648
|
+
'.bw_bccl_btn_group > .bw_bccl_btn:last-child': {},
|
|
1649
|
+
'.bw_bccl_btn_group_lg > .bw_bccl_btn': { 'padding': '0.625rem 1.5rem', 'font-size': '1rem' },
|
|
1650
|
+
'.bw_bccl_btn_group_sm > .bw_bccl_btn': { 'padding': '0.25rem 0.75rem', 'font-size': '0.8125rem' },
|
|
1651
|
+
'.bw_bccl_btn_group_vertical': { 'flex-direction': 'column', 'align-items': 'flex-start', 'justify-content': 'center' },
|
|
1652
|
+
'.bw_bccl_btn_group_vertical > .bw_bccl_btn': { 'width': '100%', 'margin-left': '0', 'margin-top': '-1px' },
|
|
1653
|
+
'.bw_bccl_btn_group_vertical > .bw_bccl_btn:first-child': { 'margin-top': '0' },
|
|
1654
|
+
'.bw_bccl_btn_group_vertical > .bw_bccl_btn:last-child': {}
|
|
1652
1655
|
},
|
|
1653
1656
|
|
|
1654
1657
|
// ---- Accordion ----
|
|
1655
1658
|
accordion: {
|
|
1656
|
-
'.
|
|
1657
|
-
'.
|
|
1658
|
-
'.
|
|
1659
|
-
'.
|
|
1660
|
-
'.
|
|
1659
|
+
'.bw_bccl_accordion': { 'overflow': 'hidden' },
|
|
1660
|
+
'.bw_bccl_accordion_item': { 'border': '1px solid transparent' },
|
|
1661
|
+
'.bw_bccl_accordion_item + .bw_bccl_accordion_item': { 'border-top': '0' },
|
|
1662
|
+
'.bw_bccl_accordion_header': { 'margin': '0' },
|
|
1663
|
+
'.bw_bccl_accordion_button': {
|
|
1661
1664
|
'position': 'relative', 'display': 'flex', 'align-items': 'center', 'width': '100%',
|
|
1662
1665
|
'padding': '0.875rem 1.25rem',
|
|
1663
1666
|
'font-size': '1rem', 'font-weight': '500', 'text-align': 'left',
|
|
1664
1667
|
'background-color': 'transparent', 'border': '0', 'overflow-anchor': 'none', 'cursor': 'pointer',
|
|
1665
1668
|
'font-family': 'inherit'
|
|
1666
1669
|
},
|
|
1667
|
-
'.
|
|
1670
|
+
'.bw_bccl_accordion_button::after': {
|
|
1668
1671
|
'flex-shrink': '0', 'width': '1.25rem', 'height': '1.25rem', 'margin-left': 'auto',
|
|
1669
1672
|
'content': '""',
|
|
1670
1673
|
'background-image': "url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")",
|
|
1671
1674
|
'background-repeat': 'no-repeat', 'background-size': '1.25rem',
|
|
1672
1675
|
'transition': 'transform 0.2s ease-out'
|
|
1673
1676
|
},
|
|
1674
|
-
'.
|
|
1675
|
-
'.
|
|
1676
|
-
'.
|
|
1677
|
-
'.
|
|
1677
|
+
'.bw_bccl_accordion_button:not(.bw_collapsed)::after': { 'transform': 'rotate(-180deg)' },
|
|
1678
|
+
'.bw_bccl_accordion_body': { 'padding': '1rem 1.25rem' },
|
|
1679
|
+
'.bw_bccl_accordion_collapse': { 'max-height': '0', 'overflow': 'hidden', 'transition': 'max-height 0.3s ease' },
|
|
1680
|
+
'.bw_bccl_accordion_collapse.bw_collapse_show': { 'max-height': 'none' }
|
|
1678
1681
|
},
|
|
1679
1682
|
|
|
1680
1683
|
// ---- Carousel ----
|
|
1681
1684
|
carousel: {
|
|
1682
|
-
'.
|
|
1683
|
-
'.
|
|
1684
|
-
'.
|
|
1685
|
+
'.bw_bccl_carousel': { 'position': 'relative', 'overflow': 'hidden' },
|
|
1686
|
+
'.bw_bccl_carousel_track': { 'display': 'flex', 'height': '100%' },
|
|
1687
|
+
'.bw_bccl_carousel_slide': {
|
|
1685
1688
|
'min-width': '100%', 'flex-shrink': '0', 'overflow': 'hidden',
|
|
1686
1689
|
'position': 'relative', 'display': 'flex', 'align-items': 'center', 'justify-content': 'center'
|
|
1687
1690
|
},
|
|
1688
|
-
'.
|
|
1689
|
-
'.
|
|
1690
|
-
'.
|
|
1691
|
+
'.bw_bccl_carousel_slide img': { 'width': '100%', 'height': '100%', 'object-fit': 'cover' },
|
|
1692
|
+
'.bw_bccl_carousel_caption': { 'position': 'absolute', 'bottom': '0', 'left': '0', 'right': '0', 'padding': '0.75rem 1rem', 'font-size': '0.875rem' },
|
|
1693
|
+
'.bw_bccl_carousel_control': {
|
|
1691
1694
|
'position': 'absolute', 'top': '50%', 'transform': 'translateY(-50%)',
|
|
1692
1695
|
'width': '40px', 'height': '40px', 'border': 'none', 'border-radius': '50%',
|
|
1693
1696
|
'cursor': 'pointer', 'display': 'flex', 'align-items': 'center', 'justify-content': 'center',
|
|
1694
1697
|
'z-index': '2', 'padding': '0'
|
|
1695
1698
|
},
|
|
1696
|
-
'.
|
|
1697
|
-
'.
|
|
1698
|
-
'.
|
|
1699
|
-
'.
|
|
1700
|
-
'.
|
|
1699
|
+
'.bw_bccl_carousel_control img': { 'width': '20px', 'height': '20px', 'pointer-events': 'none' },
|
|
1700
|
+
'.bw_bccl_carousel_control:focus-visible': { 'outline': '2px solid currentColor', 'outline-offset': '2px' },
|
|
1701
|
+
'.bw_bccl_carousel_control_prev': { 'left': '10px' },
|
|
1702
|
+
'.bw_bccl_carousel_control_next': { 'right': '10px' },
|
|
1703
|
+
'.bw_bccl_carousel_indicators': {
|
|
1701
1704
|
'position': 'absolute', 'bottom': '12px', 'left': '50%', 'transform': 'translateX(-50%)',
|
|
1702
1705
|
'display': 'flex', 'gap': '6px', 'z-index': '2'
|
|
1703
1706
|
},
|
|
1704
|
-
'.
|
|
1707
|
+
'.bw_bccl_carousel_indicator': {
|
|
1705
1708
|
'width': '10px', 'height': '10px', 'border-radius': '50%', 'border': '2px solid transparent',
|
|
1706
1709
|
'padding': '0', 'cursor': 'pointer'
|
|
1707
1710
|
},
|
|
1708
|
-
'.
|
|
1711
|
+
'.bw_bccl_carousel_indicator:hover': { 'opacity': '0.8' }
|
|
1709
1712
|
},
|
|
1710
1713
|
|
|
1711
1714
|
// ---- Modal ----
|
|
1712
1715
|
modal: {
|
|
1713
|
-
'.
|
|
1716
|
+
'.bw_bccl_modal': {
|
|
1714
1717
|
'display': 'flex', 'align-items': 'center', 'justify-content': 'center',
|
|
1715
1718
|
'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%',
|
|
1716
1719
|
'z-index': '1050', 'overflow-x': 'hidden', 'overflow-y': 'auto',
|
|
1717
1720
|
'opacity': '0', 'visibility': 'hidden', 'pointer-events': 'none',
|
|
1718
1721
|
'transition': 'opacity 0.2s ease-out, visibility 0.2s ease-out'
|
|
1719
1722
|
},
|
|
1720
|
-
'.
|
|
1721
|
-
'.
|
|
1723
|
+
'.bw_bccl_modal.bw_bccl_modal_show': { 'opacity': '1', 'visibility': 'visible', 'pointer-events': 'auto' },
|
|
1724
|
+
'.bw_bccl_modal_dialog': {
|
|
1722
1725
|
'position': 'relative', 'width': 'calc(100% - 1rem)', 'max-width': '500px', 'margin': '1.75rem auto',
|
|
1723
1726
|
'pointer-events': 'none', 'transform': 'translateY(-16px)',
|
|
1724
1727
|
'transition': 'transform 0.2s ease-out'
|
|
1725
1728
|
},
|
|
1726
|
-
'.
|
|
1727
|
-
'.
|
|
1728
|
-
'.
|
|
1729
|
-
'.
|
|
1730
|
-
'.
|
|
1729
|
+
'.bw_bccl_modal.bw_bccl_modal_show .bw_bccl_modal_dialog': { 'transform': 'translateY(0)' },
|
|
1730
|
+
'.bw_bccl_modal_sm': { 'max-width': '300px' },
|
|
1731
|
+
'.bw_bccl_modal_lg': { 'max-width': '800px' },
|
|
1732
|
+
'.bw_bccl_modal_xl': { 'max-width': '1140px' },
|
|
1733
|
+
'.bw_bccl_modal_content': {
|
|
1731
1734
|
'position': 'relative', 'display': 'flex', 'flex-direction': 'column', 'pointer-events': 'auto',
|
|
1732
1735
|
'background-clip': 'padding-box', 'border': '1px solid transparent', 'outline': '0'
|
|
1733
1736
|
},
|
|
1734
|
-
'.
|
|
1735
|
-
'.
|
|
1736
|
-
'.
|
|
1737
|
-
'.
|
|
1737
|
+
'.bw_bccl_modal_header': { 'display': 'flex', 'align-items': 'center', 'justify-content': 'space-between', 'padding': '1rem 1.25rem', 'border-bottom': '1px solid transparent' },
|
|
1738
|
+
'.bw_bccl_modal_title': { 'margin': '0', 'font-size': '1.25rem', 'font-weight': '600', 'line-height': '1.3' },
|
|
1739
|
+
'.bw_bccl_modal_body': { 'position': 'relative', 'flex': '1 1 auto', 'padding': '1rem 1.25rem' },
|
|
1740
|
+
'.bw_bccl_modal_footer': { 'display': 'flex', 'flex-wrap': 'wrap', 'align-items': 'center', 'justify-content': 'flex-end', 'gap': '0.5rem', 'padding': '0.75rem 1.25rem', 'border-top': '1px solid transparent' }
|
|
1738
1741
|
},
|
|
1739
1742
|
|
|
1740
1743
|
// ---- Toast ----
|
|
1741
1744
|
toast: {
|
|
1742
|
-
'.
|
|
1745
|
+
'.bw_bccl_toast_container': {
|
|
1743
1746
|
'position': 'fixed', 'z-index': '1080', 'pointer-events': 'none',
|
|
1744
1747
|
'display': 'flex', 'flex-direction': 'column', 'gap': '0.5rem', 'padding': '1rem'
|
|
1745
1748
|
},
|
|
1746
|
-
'.
|
|
1747
|
-
'.
|
|
1748
|
-
'.
|
|
1749
|
-
'.
|
|
1750
|
-
'.
|
|
1751
|
-
'.
|
|
1752
|
-
'.
|
|
1749
|
+
'.bw_bccl_toast_container.bw_bccl_toast_top_right': { 'top': '0', 'right': '0' },
|
|
1750
|
+
'.bw_bccl_toast_container.bw_bccl_toast_top_left': { 'top': '0', 'left': '0' },
|
|
1751
|
+
'.bw_bccl_toast_container.bw_bccl_toast_bottom_right': { 'bottom': '0', 'right': '0' },
|
|
1752
|
+
'.bw_bccl_toast_container.bw_bccl_toast_bottom_left': { 'bottom': '0', 'left': '0' },
|
|
1753
|
+
'.bw_bccl_toast_container.bw_bccl_toast_top_center': { 'top': '0', 'left': '50%', 'transform': 'translateX(-50%)' },
|
|
1754
|
+
'.bw_bccl_toast_container.bw_bccl_toast_bottom_center': { 'bottom': '0', 'left': '50%', 'transform': 'translateX(-50%)' },
|
|
1755
|
+
'.bw_bccl_toast': {
|
|
1753
1756
|
'pointer-events': 'auto', 'width': '350px', 'max-width': 'calc(100vw - 2rem)', 'background-clip': 'padding-box',
|
|
1754
1757
|
'opacity': '0', 'transform': 'translateY(-8px)',
|
|
1755
1758
|
'transition': 'opacity 0.2s ease-out, transform 0.2s ease-out'
|
|
1756
1759
|
},
|
|
1757
|
-
'.
|
|
1758
|
-
'.
|
|
1759
|
-
'.
|
|
1760
|
-
'.
|
|
1760
|
+
'.bw_bccl_toast.bw_bccl_toast_show': { 'opacity': '1', 'transform': 'translateY(0)' },
|
|
1761
|
+
'.bw_bccl_toast.bw_bccl_toast_hiding': { 'opacity': '0', 'transform': 'translateY(-8px)' },
|
|
1762
|
+
'.bw_bccl_toast_header': { 'display': 'flex', 'align-items': 'center', 'justify-content': 'space-between', 'padding': '0.5rem 0.75rem', 'font-size': '0.875rem', 'border-bottom': '1px solid transparent' },
|
|
1763
|
+
'.bw_bccl_toast_body': { 'padding': '0.5rem 0.75rem', 'font-size': '0.9375rem' }
|
|
1761
1764
|
},
|
|
1762
1765
|
|
|
1763
1766
|
// ---- Dropdown ----
|
|
1764
1767
|
dropdown: {
|
|
1765
|
-
'.
|
|
1766
|
-
'.
|
|
1768
|
+
'.bw_bccl_dropdown': { 'position': 'relative', 'display': 'inline-block' },
|
|
1769
|
+
'.bw_bccl_dropdown_toggle::after': {
|
|
1767
1770
|
'display': 'inline-block', 'margin-left': '0.255em', 'vertical-align': '0.255em',
|
|
1768
1771
|
'content': '""', 'border-top': '0.3em solid', 'border-right': '0.3em solid transparent',
|
|
1769
1772
|
'border-bottom': '0', 'border-left': '0.3em solid transparent'
|
|
1770
1773
|
},
|
|
1771
|
-
'.
|
|
1774
|
+
'.bw_bccl_dropdown_menu': {
|
|
1772
1775
|
'position': 'absolute', 'top': '100%', 'left': '0', 'z-index': '1000', 'display': 'block',
|
|
1773
1776
|
'min-width': '10rem', 'padding': '0.5rem 0', 'margin': '0.125rem 0 0',
|
|
1774
1777
|
'background-clip': 'padding-box', 'border': '1px solid transparent',
|
|
@@ -1776,21 +1779,21 @@ var structuralRules = {
|
|
|
1776
1779
|
'transform': 'translateY(-4px)',
|
|
1777
1780
|
'transition': 'opacity 0.15s ease-out, transform 0.15s ease-out, visibility 0.15s ease-out'
|
|
1778
1781
|
},
|
|
1779
|
-
'.
|
|
1780
|
-
'.
|
|
1781
|
-
'.
|
|
1782
|
+
'.bw_bccl_dropdown_menu.bw_bccl_dropdown_show': { 'opacity': '1', 'visibility': 'visible', 'pointer-events': 'auto', 'transform': 'translateY(0)' },
|
|
1783
|
+
'.bw_bccl_dropdown_menu_end': { 'left': 'auto', 'right': '0' },
|
|
1784
|
+
'.bw_bccl_dropdown_item': {
|
|
1782
1785
|
'display': 'block', 'width': '100%', 'padding': '0.4rem 1rem', 'clear': 'both',
|
|
1783
1786
|
'font-weight': '400', 'text-align': 'inherit', 'text-decoration': 'none', 'white-space': 'nowrap',
|
|
1784
1787
|
'background-color': 'transparent', 'border': '0', 'font-size': '0.9375rem', 'cursor': 'pointer'
|
|
1785
1788
|
},
|
|
1786
|
-
'.
|
|
1787
|
-
'.
|
|
1789
|
+
'.bw_bccl_dropdown_item:focus-visible': { 'outline': '2px solid currentColor', 'outline-offset': '-2px' },
|
|
1790
|
+
'.bw_bccl_dropdown_divider': { 'height': '0', 'margin': '0.5rem 0', 'overflow': 'hidden', 'opacity': '1' }
|
|
1788
1791
|
},
|
|
1789
1792
|
|
|
1790
1793
|
// ---- Form switch ----
|
|
1791
1794
|
formSwitch: {
|
|
1792
|
-
'.
|
|
1793
|
-
'.
|
|
1795
|
+
'.bw_bccl_form_switch': { 'padding-left': '2.5em' },
|
|
1796
|
+
'.bw_bccl_form_switch .bw_switch_input': {
|
|
1794
1797
|
'width': '2em', 'height': '1.125em', 'margin-left': '-2.5em', 'border-radius': '2em',
|
|
1795
1798
|
'appearance': 'none',
|
|
1796
1799
|
'background-image': "url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,1)'/%3e%3c/svg%3e\")",
|
|
@@ -1798,8 +1801,8 @@ var structuralRules = {
|
|
|
1798
1801
|
'background-size': 'contain', 'cursor': 'pointer',
|
|
1799
1802
|
'transition': 'background-color 0.15s ease-out, background-position 0.15s ease-out, border-color 0.15s ease-out'
|
|
1800
1803
|
},
|
|
1801
|
-
'.
|
|
1802
|
-
'.
|
|
1804
|
+
'.bw_bccl_form_switch .bw_switch_input:checked': { 'background-position': 'right center' },
|
|
1805
|
+
'.bw_bccl_form_switch .bw_switch_input:disabled': { 'opacity': '0.5', 'cursor': 'not-allowed' }
|
|
1803
1806
|
},
|
|
1804
1807
|
|
|
1805
1808
|
// ---- Skeleton ----
|
|
@@ -1841,21 +1844,21 @@ var structuralRules = {
|
|
|
1841
1844
|
|
|
1842
1845
|
// ---- Tooltip ----
|
|
1843
1846
|
tooltip: {
|
|
1844
|
-
'.
|
|
1845
|
-
'.
|
|
1847
|
+
'.bw_bccl_tooltip_wrapper': { 'position': 'relative', 'display': 'inline-block' },
|
|
1848
|
+
'.bw_bccl_tooltip': {
|
|
1846
1849
|
'position': 'absolute', 'z-index': '999',
|
|
1847
1850
|
'font-size': '0.875rem', 'white-space': 'nowrap', 'max-width': 'min(300px, calc(100vw - 1rem))', 'pointer-events': 'none',
|
|
1848
1851
|
'opacity': '0', 'visibility': 'hidden'
|
|
1849
1852
|
},
|
|
1850
|
-
'.
|
|
1851
|
-
'.
|
|
1852
|
-
'.
|
|
1853
|
-
'.
|
|
1854
|
-
'.
|
|
1855
|
-
'.
|
|
1856
|
-
'.
|
|
1857
|
-
'.
|
|
1858
|
-
'.
|
|
1853
|
+
'.bw_bccl_tooltip.bw_bccl_tooltip_show': { 'opacity': '1', 'visibility': 'visible' },
|
|
1854
|
+
'.bw_bccl_tooltip_top': { 'bottom': '100%', 'left': '50%', 'transform': 'translateX(-50%) translateY(-4px)', 'margin-bottom': '4px' },
|
|
1855
|
+
'.bw_bccl_tooltip_top.bw_bccl_tooltip_show': { 'transform': 'translateX(-50%) translateY(0)' },
|
|
1856
|
+
'.bw_bccl_tooltip_bottom': { 'top': '100%', 'left': '50%', 'transform': 'translateX(-50%) translateY(4px)', 'margin-top': '4px' },
|
|
1857
|
+
'.bw_bccl_tooltip_bottom.bw_bccl_tooltip_show': { 'transform': 'translateX(-50%) translateY(0)' },
|
|
1858
|
+
'.bw_bccl_tooltip_left': { 'right': '100%', 'top': '50%', 'transform': 'translateY(-50%) translateX(-4px)', 'margin-right': '4px' },
|
|
1859
|
+
'.bw_bccl_tooltip_left.bw_bccl_tooltip_show': { 'transform': 'translateY(-50%) translateX(0)' },
|
|
1860
|
+
'.bw_bccl_tooltip_right': { 'left': '100%', 'top': '50%', 'transform': 'translateY(-50%) translateX(4px)', 'margin-left': '4px' },
|
|
1861
|
+
'.bw_bccl_tooltip_right.bw_bccl_tooltip_show': { 'transform': 'translateY(-50%) translateX(0)' }
|
|
1859
1862
|
},
|
|
1860
1863
|
|
|
1861
1864
|
// ---- Popover ----
|
|
@@ -1938,18 +1941,18 @@ var structuralRules = {
|
|
|
1938
1941
|
|
|
1939
1942
|
// ---- Timeline ----
|
|
1940
1943
|
timeline: {
|
|
1941
|
-
'.
|
|
1942
|
-
'.
|
|
1944
|
+
'.bw_bccl_timeline': { 'position': 'relative', 'padding-left': '2rem' },
|
|
1945
|
+
'.bw_bccl_timeline::before': {
|
|
1943
1946
|
'content': '""', 'position': 'absolute', 'left': '0.5rem', 'top': '0', 'bottom': '0',
|
|
1944
1947
|
'width': '2px'
|
|
1945
1948
|
},
|
|
1946
|
-
'.
|
|
1947
|
-
'.
|
|
1948
|
-
'.
|
|
1949
|
-
'.
|
|
1950
|
-
'.
|
|
1951
|
-
'.
|
|
1952
|
-
'.
|
|
1949
|
+
'.bw_bccl_timeline_item': { 'position': 'relative', 'padding-bottom': '1.5rem' },
|
|
1950
|
+
'.bw_bccl_timeline_item:last-child': { 'padding-bottom': '0' },
|
|
1951
|
+
'.bw_bccl_timeline_marker': { 'position': 'absolute', 'left': '-1.75rem', 'top': '0.25rem', 'width': '0.75rem', 'height': '0.75rem', 'border-radius': '50%' },
|
|
1952
|
+
'.bw_bccl_timeline_content': { 'padding-left': '0.5rem' },
|
|
1953
|
+
'.bw_bccl_timeline_date': { 'font-size': '0.75rem', 'margin-bottom': '0.25rem', 'font-weight': '500' },
|
|
1954
|
+
'.bw_bccl_timeline_title': { 'font-size': '1rem', 'font-weight': '600', 'margin': '0 0 0.25rem 0', 'line-height': '1.3' },
|
|
1955
|
+
'.bw_bccl_timeline_text': { 'font-size': '0.875rem', 'margin': '0', 'line-height': '1.5' }
|
|
1953
1956
|
},
|
|
1954
1957
|
|
|
1955
1958
|
// ---- Stepper ----
|
|
@@ -2001,66 +2004,27 @@ var structuralRules = {
|
|
|
2001
2004
|
|
|
2002
2005
|
// ---- Responsive ----
|
|
2003
2006
|
responsive: {
|
|
2004
|
-
'@media (min-width: 576px)':
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
'.bw_col_sm_3': { 'flex': '0 0 25%', 'max-width': '25%' },
|
|
2008
|
-
'.bw_col_sm_4': { 'flex': '0 0 33.333333%', 'max-width': '33.333333%' },
|
|
2009
|
-
'.bw_col_sm_5': { 'flex': '0 0 41.666667%', 'max-width': '41.666667%' },
|
|
2010
|
-
'.bw_col_sm_6': { 'flex': '0 0 50%', 'max-width': '50%' },
|
|
2011
|
-
'.bw_col_sm_7': { 'flex': '0 0 58.333333%', 'max-width': '58.333333%' },
|
|
2012
|
-
'.bw_col_sm_8': { 'flex': '0 0 66.666667%', 'max-width': '66.666667%' },
|
|
2013
|
-
'.bw_col_sm_9': { 'flex': '0 0 75%', 'max-width': '75%' },
|
|
2014
|
-
'.bw_col_sm_10': { 'flex': '0 0 83.333333%', 'max-width': '83.333333%' },
|
|
2015
|
-
'.bw_col_sm_11': { 'flex': '0 0 91.666667%', 'max-width': '91.666667%' },
|
|
2016
|
-
'.bw_col_sm_12': { 'flex': '0 0 100%', 'max-width': '100%' }
|
|
2017
|
-
},
|
|
2018
|
-
'@media (min-width: 768px)': {
|
|
2019
|
-
'.bw_col_md_1': { 'flex': '0 0 8.333333%', 'max-width': '8.333333%' },
|
|
2020
|
-
'.bw_col_md_2': { 'flex': '0 0 16.666667%', 'max-width': '16.666667%' },
|
|
2021
|
-
'.bw_col_md_3': { 'flex': '0 0 25%', 'max-width': '25%' },
|
|
2022
|
-
'.bw_col_md_4': { 'flex': '0 0 33.333333%', 'max-width': '33.333333%' },
|
|
2023
|
-
'.bw_col_md_5': { 'flex': '0 0 41.666667%', 'max-width': '41.666667%' },
|
|
2024
|
-
'.bw_col_md_6': { 'flex': '0 0 50%', 'max-width': '50%' },
|
|
2025
|
-
'.bw_col_md_7': { 'flex': '0 0 58.333333%', 'max-width': '58.333333%' },
|
|
2026
|
-
'.bw_col_md_8': { 'flex': '0 0 66.666667%', 'max-width': '66.666667%' },
|
|
2027
|
-
'.bw_col_md_9': { 'flex': '0 0 75%', 'max-width': '75%' },
|
|
2028
|
-
'.bw_col_md_10': { 'flex': '0 0 83.333333%', 'max-width': '83.333333%' },
|
|
2029
|
-
'.bw_col_md_11': { 'flex': '0 0 91.666667%', 'max-width': '91.666667%' },
|
|
2030
|
-
'.bw_col_md_12': { 'flex': '0 0 100%', 'max-width': '100%' }
|
|
2031
|
-
},
|
|
2032
|
-
'@media (min-width: 992px)': {
|
|
2033
|
-
'.bw_col_lg_1': { 'flex': '0 0 8.333333%', 'max-width': '8.333333%' },
|
|
2034
|
-
'.bw_col_lg_2': { 'flex': '0 0 16.666667%', 'max-width': '16.666667%' },
|
|
2035
|
-
'.bw_col_lg_3': { 'flex': '0 0 25%', 'max-width': '25%' },
|
|
2036
|
-
'.bw_col_lg_4': { 'flex': '0 0 33.333333%', 'max-width': '33.333333%' },
|
|
2037
|
-
'.bw_col_lg_5': { 'flex': '0 0 41.666667%', 'max-width': '41.666667%' },
|
|
2038
|
-
'.bw_col_lg_6': { 'flex': '0 0 50%', 'max-width': '50%' },
|
|
2039
|
-
'.bw_col_lg_7': { 'flex': '0 0 58.333333%', 'max-width': '58.333333%' },
|
|
2040
|
-
'.bw_col_lg_8': { 'flex': '0 0 66.666667%', 'max-width': '66.666667%' },
|
|
2041
|
-
'.bw_col_lg_9': { 'flex': '0 0 75%', 'max-width': '75%' },
|
|
2042
|
-
'.bw_col_lg_10': { 'flex': '0 0 83.333333%', 'max-width': '83.333333%' },
|
|
2043
|
-
'.bw_col_lg_11': { 'flex': '0 0 91.666667%', 'max-width': '91.666667%' },
|
|
2044
|
-
'.bw_col_lg_12': { 'flex': '0 0 100%', 'max-width': '100%' }
|
|
2045
|
-
},
|
|
2007
|
+
'@media (min-width: 576px)': _gridCols('bw_col_sm'),
|
|
2008
|
+
'@media (min-width: 768px)': _gridCols('bw_col_md'),
|
|
2009
|
+
'@media (min-width: 992px)': _gridCols('bw_col_lg'),
|
|
2046
2010
|
'@media (max-width: 575px)': {
|
|
2047
|
-
'.
|
|
2048
|
-
'.
|
|
2049
|
-
'.
|
|
2011
|
+
'.bw_bccl_card_img_left, .bw_bccl_card-img-left': { 'width': '100%' },
|
|
2012
|
+
'.bw_bccl_card_img_right, .bw_bccl_card-img-right': { 'width': '100%' },
|
|
2013
|
+
'.bw_bccl_hero, .bw_bccl_hero': { 'padding': '2rem 1rem' },
|
|
2050
2014
|
'.bw_cta_actions, .bw_cta-actions': { 'flex-direction': 'column' },
|
|
2051
2015
|
'.bw_hstack, .bw_hstack': { 'flex-direction': 'column' },
|
|
2052
2016
|
'.bw_feature_grid, .bw_feature-grid': { 'grid-template-columns': '1fr' },
|
|
2053
|
-
'.
|
|
2054
|
-
'.
|
|
2055
|
-
'.
|
|
2056
|
-
'.
|
|
2057
|
-
'.
|
|
2058
|
-
'.
|
|
2059
|
-
'.
|
|
2060
|
-
'.
|
|
2017
|
+
'.bw_bccl_modal_dialog': { 'margin': '0.5rem auto' },
|
|
2018
|
+
'.bw_bccl_modal_lg': { 'max-width': 'calc(100% - 1rem)' },
|
|
2019
|
+
'.bw_bccl_modal_xl': { 'max-width': 'calc(100% - 1rem)' },
|
|
2020
|
+
'.bw_bccl_navbar': { 'padding': '0.5rem 0.75rem' },
|
|
2021
|
+
'.bw_bccl_navbar_brand': { 'margin-right': '0.5rem', 'font-size': '1rem' },
|
|
2022
|
+
'.bw_bccl_navbar_nav': { 'flex-wrap': 'wrap' },
|
|
2023
|
+
'.bw_bccl_tooltip': { 'white-space': 'normal' },
|
|
2024
|
+
'.bw_bccl_table': { 'display': 'block', 'overflow-x': 'auto', '-webkit-overflow-scrolling': 'touch' },
|
|
2061
2025
|
'.bw_col, .bw_col_1, .bw_col_2, .bw_col_3, .bw_col_4, .bw_col_5, .bw_col_6, .bw_col_7, .bw_col_8, .bw_col_9, .bw_col_10, .bw_col_11, .bw_col_12': { 'flex': '0 0 100%', 'max-width': '100%' },
|
|
2062
|
-
'.
|
|
2063
|
-
'.
|
|
2026
|
+
'.bw_bccl_container': { 'padding-right': '0.5rem', 'padding-left': '0.5rem' },
|
|
2027
|
+
'.bw_bccl_container_fluid': { 'padding-right': '0.5rem', 'padding-left': '0.5rem' }
|
|
2064
2028
|
}
|
|
2065
2029
|
}
|
|
2066
2030
|
};
|
|
@@ -2082,12 +2046,12 @@ function generateUtilityRules() {
|
|
|
2082
2046
|
rules['.bw_ms_' + k] = { 'margin-left': v + ' !important' };
|
|
2083
2047
|
rules['.bw_me_' + k] = { 'margin-right': v + ' !important' };
|
|
2084
2048
|
rules['.bw_p_' + k] = { 'padding': v + ' !important' };
|
|
2085
|
-
rules['.bw_pt_' + k
|
|
2086
|
-
rules['.bw_pb_' + k
|
|
2087
|
-
rules['.bw_ps_' + k
|
|
2088
|
-
rules['.bw_pe_' + k
|
|
2049
|
+
rules['.bw_pt_' + k] = { 'padding-top': v + ' !important' };
|
|
2050
|
+
rules['.bw_pb_' + k] = { 'padding-bottom': v + ' !important' };
|
|
2051
|
+
rules['.bw_ps_' + k] = { 'padding-left': v + ' !important' };
|
|
2052
|
+
rules['.bw_pe_' + k] = { 'padding-right': v + ' !important' };
|
|
2089
2053
|
}
|
|
2090
|
-
rules['.bw_m_auto
|
|
2054
|
+
rules['.bw_m_auto'] = { 'margin': 'auto !important' };
|
|
2091
2055
|
rules['.bw_py_3'] = { 'padding-top': '1rem !important', 'padding-bottom': '1rem !important' };
|
|
2092
2056
|
rules['.bw_py_4'] = { 'padding-top': '1.5rem !important', 'padding-bottom': '1.5rem !important' };
|
|
2093
2057
|
rules['.bw_py_5'] = { 'padding-top': '3rem !important', 'padding-bottom': '3rem !important' };
|
|
@@ -2126,6 +2090,10 @@ function generateUtilityRules() {
|
|
|
2126
2090
|
rules['.bw_text_lowercase'] = { 'text-transform': 'lowercase' };
|
|
2127
2091
|
rules['.bw_text_capitalize'] = { 'text-transform': 'capitalize' };
|
|
2128
2092
|
|
|
2093
|
+
// White-space
|
|
2094
|
+
rules['.bw_text_wrap'] = { 'white-space': 'normal' };
|
|
2095
|
+
rules['.bw_text_nowrap'] = { 'white-space': 'nowrap' };
|
|
2096
|
+
|
|
2129
2097
|
// Font size
|
|
2130
2098
|
rules['.bw_fs_sm'] = { 'font-size': '0.875rem' };
|
|
2131
2099
|
rules['.bw_fs_base'] = { 'font-size': '1rem' };
|
|
@@ -2134,95 +2102,66 @@ function generateUtilityRules() {
|
|
|
2134
2102
|
|
|
2135
2103
|
// Flexbox
|
|
2136
2104
|
var jc = { start: 'flex-start', end: 'flex-end', center: 'center', between: 'space-between', around: 'space-around' };
|
|
2137
|
-
for (var jk in jc) { rules['.bw_justify_content_' + jk
|
|
2105
|
+
for (var jk in jc) { rules['.bw_justify_content_' + jk] = { 'justify-content': jc[jk] }; }
|
|
2138
2106
|
var ai = { start: 'flex-start', end: 'flex-end', center: 'center' };
|
|
2139
|
-
for (var ak in ai) { rules['.bw_align_items_' + ak
|
|
2107
|
+
for (var ak in ai) { rules['.bw_align_items_' + ak] = { 'align-items': ai[ak] }; }
|
|
2140
2108
|
|
|
2141
2109
|
// Borders
|
|
2142
2110
|
rules['.bw_border'] = { 'border': '1px solid transparent !important' };
|
|
2143
2111
|
rules['.bw_border_0'] = { 'border': '0 !important' };
|
|
2144
|
-
rules['.bw_border_top_0
|
|
2145
|
-
rules['.bw_border_end_0
|
|
2146
|
-
rules['.bw_border_bottom_0
|
|
2147
|
-
rules['.bw_border_start_0
|
|
2112
|
+
rules['.bw_border_top_0'] = { 'border-top': '0 !important' };
|
|
2113
|
+
rules['.bw_border_end_0'] = { 'border-right': '0 !important' };
|
|
2114
|
+
rules['.bw_border_bottom_0'] = { 'border-bottom': '0 !important' };
|
|
2115
|
+
rules['.bw_border_start_0'] = { 'border-left': '0 !important' };
|
|
2148
2116
|
|
|
2149
2117
|
// Rounded
|
|
2150
2118
|
rules['.bw_rounded'] = { 'border-radius': '.375rem !important' };
|
|
2151
2119
|
rules['.bw_rounded_0'] = { 'border-radius': '0 !important' };
|
|
2152
|
-
rules['.bw_rounded_1
|
|
2153
|
-
rules['.bw_rounded_2
|
|
2154
|
-
rules['.bw_rounded_3
|
|
2120
|
+
rules['.bw_rounded_1'] = { 'border-radius': '.25rem !important' };
|
|
2121
|
+
rules['.bw_rounded_2'] = { 'border-radius': '.375rem !important' };
|
|
2122
|
+
rules['.bw_rounded_3'] = { 'border-radius': '.5rem !important' };
|
|
2155
2123
|
rules['.bw_rounded_circle'] = { 'border-radius': '50% !important' };
|
|
2156
|
-
rules['.bw_rounded_pill
|
|
2124
|
+
rules['.bw_rounded_pill'] = { 'border-radius': '50rem !important' };
|
|
2157
2125
|
|
|
2158
2126
|
// Shadows
|
|
2159
2127
|
rules['.bw_shadow'] = { 'box-shadow': '0 .5rem 1rem rgba(0,0,0,.15) !important' };
|
|
2160
2128
|
rules['.bw_shadow_sm'] = { 'box-shadow': '0 .125rem .25rem rgba(0,0,0,.075) !important' };
|
|
2161
2129
|
rules['.bw_shadow_lg'] = { 'box-shadow': '0 1rem 3rem rgba(0,0,0,.175) !important' };
|
|
2162
|
-
rules['.bw_shadow_none
|
|
2130
|
+
rules['.bw_shadow_none'] = { 'box-shadow': 'none !important' };
|
|
2163
2131
|
|
|
2164
2132
|
// Width/Height
|
|
2165
2133
|
['25', '50', '75', '100'].forEach(function(n) {
|
|
2166
|
-
rules['.bw_w_' + n
|
|
2167
|
-
rules['.bw_h_' + n
|
|
2134
|
+
rules['.bw_w_' + n] = { 'width': n + '% !important' };
|
|
2135
|
+
rules['.bw_h_' + n] = { 'height': n + '% !important' };
|
|
2168
2136
|
});
|
|
2169
|
-
rules['.bw_w_auto
|
|
2170
|
-
rules['.bw_h_auto
|
|
2171
|
-
rules['.bw_mw_100
|
|
2172
|
-
rules['.bw_mh_100
|
|
2137
|
+
rules['.bw_w_auto'] = { 'width': 'auto !important' };
|
|
2138
|
+
rules['.bw_h_auto'] = { 'height': 'auto !important' };
|
|
2139
|
+
rules['.bw_mw_100'] = { 'max-width': '100% !important' };
|
|
2140
|
+
rules['.bw_mh_100'] = { 'max-height': '100% !important' };
|
|
2173
2141
|
|
|
2174
2142
|
// Positioning
|
|
2175
2143
|
['static', 'relative', 'absolute', 'fixed', 'sticky'].forEach(function(p) {
|
|
2176
|
-
rules['.bw_position_' + p
|
|
2144
|
+
rules['.bw_position_' + p] = { 'position': p + ' !important' };
|
|
2177
2145
|
});
|
|
2178
|
-
rules['.bw_top_0
|
|
2179
|
-
rules['.bw_top_50
|
|
2180
|
-
rules['.bw_top_100
|
|
2181
|
-
rules['.bw_bottom_0
|
|
2182
|
-
rules['.bw_bottom_50
|
|
2183
|
-
rules['.bw_bottom_100
|
|
2184
|
-
rules['.bw_start_0
|
|
2185
|
-
rules['.bw_start_50
|
|
2186
|
-
rules['.bw_start_100
|
|
2187
|
-
rules['.bw_end_0
|
|
2188
|
-
rules['.bw_end_50
|
|
2189
|
-
rules['.bw_end_100
|
|
2190
|
-
rules['.bw_translate_middle
|
|
2146
|
+
rules['.bw_top_0'] = { 'top': '0 !important' };
|
|
2147
|
+
rules['.bw_top_50'] = { 'top': '50% !important' };
|
|
2148
|
+
rules['.bw_top_100'] = { 'top': '100% !important' };
|
|
2149
|
+
rules['.bw_bottom_0'] = { 'bottom': '0 !important' };
|
|
2150
|
+
rules['.bw_bottom_50'] = { 'bottom': '50% !important' };
|
|
2151
|
+
rules['.bw_bottom_100'] = { 'bottom': '100% !important' };
|
|
2152
|
+
rules['.bw_start_0'] = { 'left': '0 !important' };
|
|
2153
|
+
rules['.bw_start_50'] = { 'left': '50% !important' };
|
|
2154
|
+
rules['.bw_start_100'] = { 'left': '100% !important' };
|
|
2155
|
+
rules['.bw_end_0'] = { 'right': '0 !important' };
|
|
2156
|
+
rules['.bw_end_50'] = { 'right': '50% !important' };
|
|
2157
|
+
rules['.bw_end_100'] = { 'right': '100% !important' };
|
|
2158
|
+
rules['.bw_translate_middle'] = { 'transform': 'translate(-50%, -50%) !important' };
|
|
2191
2159
|
|
|
2192
2160
|
// Overflow
|
|
2193
2161
|
['auto', 'hidden', 'visible', 'scroll'].forEach(function(o) {
|
|
2194
|
-
rules['.bw_overflow_' + o
|
|
2162
|
+
rules['.bw_overflow_' + o] = { 'overflow': o + ' !important' };
|
|
2195
2163
|
});
|
|
2196
2164
|
|
|
2197
|
-
// Typography utilities
|
|
2198
|
-
rules['.fs-1'] = { 'font-size': 'calc(1.375rem + 1.5vw) !important' };
|
|
2199
|
-
rules['.fs-2'] = { 'font-size': 'calc(1.325rem + .9vw) !important' };
|
|
2200
|
-
rules['.fs-3'] = { 'font-size': 'calc(1.3rem + .6vw) !important' };
|
|
2201
|
-
rules['.fs-4'] = { 'font-size': 'calc(1.275rem + .3vw) !important' };
|
|
2202
|
-
rules['.fs-5'] = { 'font-size': '1.25rem !important' };
|
|
2203
|
-
rules['.fs-6'] = { 'font-size': '1rem !important' };
|
|
2204
|
-
rules['.fw-light'] = { 'font-weight': '300 !important' };
|
|
2205
|
-
rules['.fw-lighter'] = { 'font-weight': 'lighter !important' };
|
|
2206
|
-
rules['.fw-normal'] = { 'font-weight': '400 !important' };
|
|
2207
|
-
rules['.fw-bold'] = { 'font-weight': '700 !important' };
|
|
2208
|
-
rules['.fw-bolder'] = { 'font-weight': 'bolder !important' };
|
|
2209
|
-
rules['.fst-italic'] = { 'font-style': 'italic !important' };
|
|
2210
|
-
rules['.fst-normal'] = { 'font-style': 'normal !important' };
|
|
2211
|
-
rules['.text-decoration-none'] = { 'text-decoration': 'none !important' };
|
|
2212
|
-
rules['.text-decoration-underline'] = { 'text-decoration': 'underline !important' };
|
|
2213
|
-
rules['.text-decoration-line-through'] = { 'text-decoration': 'line-through !important' };
|
|
2214
|
-
rules['.text-lowercase'] = { 'text-transform': 'lowercase !important' };
|
|
2215
|
-
rules['.text-uppercase'] = { 'text-transform': 'uppercase !important' };
|
|
2216
|
-
rules['.text-capitalize'] = { 'text-transform': 'capitalize !important' };
|
|
2217
|
-
rules['.text-wrap'] = { 'white-space': 'normal !important' };
|
|
2218
|
-
rules['.text-nowrap'] = { 'white-space': 'nowrap !important' };
|
|
2219
|
-
|
|
2220
|
-
// List utilities
|
|
2221
|
-
rules['.list-unstyled'] = { 'padding-left': '0', 'list-style': 'none' };
|
|
2222
|
-
rules['.list-inline'] = { 'padding-left': '0', 'list-style': 'none' };
|
|
2223
|
-
rules['.list-inline-item'] = { 'display': 'inline-block' };
|
|
2224
|
-
rules['.list-inline-item:not(:last-child)'] = { 'margin-right': '.5rem' };
|
|
2225
|
-
|
|
2226
2165
|
// Typography — bw_ prefixed utilities via loops
|
|
2227
2166
|
var _imp = function(p, v) { var o = {}; o[p] = v + ' !important'; return o; };
|
|
2228
2167
|
[['fs',{'xs':'0.75rem','sm':'0.875rem','base':'1rem','lg':'1.125rem','xl':'1.25rem','2xl':'1.5rem'},'font-size'],
|
|
@@ -2230,6 +2169,12 @@ function generateUtilityRules() {
|
|
|
2230
2169
|
['lh',{tight:'1.25',normal:'1.5',relaxed:'1.75'},'line-height']
|
|
2231
2170
|
].forEach(function(d) { for (var dk in d[1]) rules['.bw_'+d[0]+'_'+dk] = _imp(d[2], d[1][dk]); });
|
|
2232
2171
|
|
|
2172
|
+
// List utilities
|
|
2173
|
+
rules['.bw_list_unstyled'] = { 'padding-left': '0', 'list-style': 'none' };
|
|
2174
|
+
rules['.bw_list_inline'] = { 'padding-left': '0', 'list-style': 'none' };
|
|
2175
|
+
rules['.bw_list_inline_item'] = { 'display': 'inline-block' };
|
|
2176
|
+
rules['.bw_list_inline_item:not(:last-child)'] = { 'margin-right': '.5rem' };
|
|
2177
|
+
|
|
2233
2178
|
// Flex utilities
|
|
2234
2179
|
rules['.bw_flex'] = { 'display': 'flex' };
|
|
2235
2180
|
rules['.bw_flex_column'] = { 'flex-direction': 'column' };
|
|
@@ -2238,24 +2183,24 @@ function generateUtilityRules() {
|
|
|
2238
2183
|
for (var gk in spacingValues) rules['.bw_gap_' + gk] = { 'gap': spacingValues[gk] + ' !important' };
|
|
2239
2184
|
|
|
2240
2185
|
// Visibility
|
|
2241
|
-
rules['.bw_visible
|
|
2242
|
-
rules['.bw_invisible
|
|
2186
|
+
rules['.bw_visible'] = { 'visibility': 'visible !important' };
|
|
2187
|
+
rules['.bw_invisible'] = { 'visibility': 'hidden !important' };
|
|
2243
2188
|
|
|
2244
2189
|
// User select
|
|
2245
2190
|
['all', 'auto', 'none'].forEach(function(u) {
|
|
2246
|
-
rules['.bw_user_select_' + u
|
|
2191
|
+
rules['.bw_user_select_' + u] = { 'user-select': u + ' !important' };
|
|
2247
2192
|
});
|
|
2248
2193
|
|
|
2249
2194
|
// Pointer events
|
|
2250
|
-
rules['.
|
|
2251
|
-
rules['.
|
|
2195
|
+
rules['.bw_pe_none'] = { 'pointer-events': 'none !important' };
|
|
2196
|
+
rules['.bw_pe_auto'] = { 'pointer-events': 'auto !important' };
|
|
2252
2197
|
|
|
2253
2198
|
// Opacity
|
|
2254
|
-
rules['.
|
|
2255
|
-
rules['.
|
|
2256
|
-
rules['.
|
|
2257
|
-
rules['.
|
|
2258
|
-
rules['.
|
|
2199
|
+
rules['.bw_opacity_0'] = { 'opacity': '0 !important' };
|
|
2200
|
+
rules['.bw_opacity_25'] = { 'opacity': '.25 !important' };
|
|
2201
|
+
rules['.bw_opacity_50'] = { 'opacity': '.5 !important' };
|
|
2202
|
+
rules['.bw_opacity_75'] = { 'opacity': '.75 !important' };
|
|
2203
|
+
rules['.bw_opacity_100'] = { 'opacity': '1 !important' };
|
|
2259
2204
|
|
|
2260
2205
|
return rules;
|
|
2261
2206
|
}
|
|
@@ -2341,7 +2286,7 @@ export var defaultStyles = Object.assign({}, structuralRules, {
|
|
|
2341
2286
|
},
|
|
2342
2287
|
reset: structuralRules.base,
|
|
2343
2288
|
enhancedCards: structuralRules.cards,
|
|
2344
|
-
tableResponsive: { '.
|
|
2289
|
+
tableResponsive: { '.bw_bccl_table_responsive': { 'overflow-x': 'auto', '-webkit-overflow-scrolling': 'touch' } },
|
|
2345
2290
|
utilities: generateUtilityRules()
|
|
2346
2291
|
});
|
|
2347
2292
|
|
|
@@ -2413,44 +2358,10 @@ export let theme = {
|
|
|
2413
2358
|
* @returns {Object} CSS rules object scoped under .bw_theme_alt (+ optional .name)
|
|
2414
2359
|
*/
|
|
2415
2360
|
export function generateAlternateCSS(name, altPalette, layout) {
|
|
2416
|
-
// Generate themed CSS using the same pipeline as primary
|
|
2417
2361
|
var rawRules = generateThemedCSS('', altPalette, layout);
|
|
2418
|
-
|
|
2419
|
-
// Re-scope every selector under .bw_theme_alt (+ optional theme name)
|
|
2420
2362
|
var altPrefix = name ? '.' + name + '.bw_theme_alt' : '.bw_theme_alt';
|
|
2421
|
-
var altRules =
|
|
2422
|
-
|
|
2423
|
-
for (var sel in rawRules) {
|
|
2424
|
-
if (!rawRules.hasOwnProperty(sel)) continue;
|
|
2363
|
+
var altRules = scopeRulesUnder(rawRules, altPrefix);
|
|
2425
2364
|
|
|
2426
|
-
if (sel.charAt(0) === '@') {
|
|
2427
|
-
// @media / @keyframes — recurse into the block
|
|
2428
|
-
var innerBlock = rawRules[sel];
|
|
2429
|
-
var altInner = {};
|
|
2430
|
-
for (var innerSel in innerBlock) {
|
|
2431
|
-
if (!innerBlock.hasOwnProperty(innerSel)) continue;
|
|
2432
|
-
altInner[altPrefix + ' ' + innerSel] = innerBlock[innerSel];
|
|
2433
|
-
}
|
|
2434
|
-
altRules[sel] = altInner;
|
|
2435
|
-
} else {
|
|
2436
|
-
// Regular selector — prefix with alt scope
|
|
2437
|
-
// Handle comma-separated selectors
|
|
2438
|
-
var parts = sel.split(',');
|
|
2439
|
-
var scopedParts = [];
|
|
2440
|
-
for (var i = 0; i < parts.length; i++) {
|
|
2441
|
-
var s = parts[i].trim();
|
|
2442
|
-
// 'body' selector gets special treatment: .bw_theme_alt body
|
|
2443
|
-
if (s === 'body' || s.indexOf('body') === 0) {
|
|
2444
|
-
scopedParts.push(altPrefix + ' ' + s);
|
|
2445
|
-
} else {
|
|
2446
|
-
scopedParts.push(altPrefix + ' ' + s);
|
|
2447
|
-
}
|
|
2448
|
-
}
|
|
2449
|
-
altRules[scopedParts.join(', ')] = rawRules[sel];
|
|
2450
|
-
}
|
|
2451
|
-
}
|
|
2452
|
-
|
|
2453
|
-
// Add body-level overrides for the alternate surface
|
|
2454
2365
|
altRules[altPrefix + ' body, :root' + altPrefix + ' body'] = {
|
|
2455
2366
|
'color': altPalette.dark.base,
|
|
2456
2367
|
'background-color': altPalette.light.base
|
|
@@ -2468,19 +2379,24 @@ export function generateAlternateCSS(name, altPalette, layout) {
|
|
|
2468
2379
|
* for the first segment: `#scope.bw_theme_alt .sel` vs `#scope .sel`
|
|
2469
2380
|
* @returns {Object} New rules object with scoped selectors
|
|
2470
2381
|
*/
|
|
2471
|
-
export function scopeRulesUnder(rules, prefix,
|
|
2382
|
+
export function scopeRulesUnder(rules, prefix, _compound) {
|
|
2472
2383
|
var scoped = {};
|
|
2473
2384
|
for (var sel in rules) {
|
|
2474
|
-
if (!
|
|
2385
|
+
if (!Object.prototype.hasOwnProperty.call(rules, sel)) continue;
|
|
2475
2386
|
if (sel.charAt(0) === '@') {
|
|
2476
|
-
// @media / @keyframes — recurse into the block
|
|
2477
2387
|
var innerBlock = rules[sel];
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2388
|
+
// @keyframes — steps (0%, 100%, from, to) are NOT selectors; pass through
|
|
2389
|
+
if (/^@keyframes\s/.test(sel)) {
|
|
2390
|
+
scoped[sel] = innerBlock;
|
|
2391
|
+
} else {
|
|
2392
|
+
// @media — prefix inner selectors
|
|
2393
|
+
var scopedInner = {};
|
|
2394
|
+
for (var innerSel in innerBlock) {
|
|
2395
|
+
if (!Object.prototype.hasOwnProperty.call(innerBlock, innerSel)) continue;
|
|
2396
|
+
scopedInner[_prefixSelector(innerSel, prefix)] = innerBlock[innerSel];
|
|
2397
|
+
}
|
|
2398
|
+
scoped[sel] = scopedInner;
|
|
2482
2399
|
}
|
|
2483
|
-
scoped[sel] = scopedInner;
|
|
2484
2400
|
} else {
|
|
2485
2401
|
scoped[_prefixSelector(sel, prefix)] = rules[sel];
|
|
2486
2402
|
}
|