@ulu/frontend 0.1.0-beta.11 → 0.1.0-beta.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +680 -0
- package/GEMINI.md +9 -0
- package/README.dev.md +3 -3
- package/README.md +14 -4
- package/dist/ulu-frontend.min.css +1 -1
- package/dist/ulu-frontend.min.js +36 -29
- package/docs-dev/.nojekyll +1 -0
- package/docs-dev/assets/main.js +832 -421
- package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
- package/docs-dev/assets/placeholder/icon-check.svg +1 -0
- package/docs-dev/assets/style.css +629 -233
- package/docs-dev/changelog/index.html +7484 -0
- package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
- package/docs-dev/demos/accordion/index.html +1442 -364
- package/docs-dev/demos/badge/index.html +5835 -0
- package/docs-dev/demos/badge-stack/index.html +5816 -0
- package/docs-dev/demos/basic-hero/index.html +111 -0
- package/docs-dev/demos/breadcrumb/index.html +5870 -0
- package/docs-dev/demos/breakpoints-manager/index.html +5846 -0
- package/docs-dev/demos/button/index.html +1490 -356
- package/docs-dev/demos/button-group/index.html +5832 -0
- package/docs-dev/demos/button-verbose/index.html +5838 -0
- package/docs-dev/demos/callout/index.html +1469 -349
- package/docs-dev/demos/captioned-figure/index.html +1446 -353
- package/docs-dev/demos/card/index.html +1518 -786
- package/docs-dev/demos/card-grid/index.html +5957 -0
- package/docs-dev/demos/card-new/index.html +5088 -0
- package/docs-dev/demos/card-old/index.html +5223 -0
- package/docs-dev/demos/card.1/index.html +5223 -0
- package/docs-dev/demos/card.TRASH/index.html +5541 -0
- package/docs-dev/demos/counter-list/index.html +5840 -0
- package/docs-dev/demos/css-icons/index.html +1466 -350
- package/docs-dev/demos/data-grid/index.html +1446 -353
- package/docs-dev/demos/data-table/index.html +1621 -395
- package/docs-dev/demos/details-group/index.html +5867 -0
- package/docs-dev/demos/donut-chart/index.html +5874 -0
- package/docs-dev/demos/file-save/index.html +1446 -353
- package/docs-dev/demos/flipcard/index.html +1446 -353
- package/docs-dev/demos/form-theme/index.html +1453 -360
- package/docs-dev/demos/headline-label/index.html +5802 -0
- package/docs-dev/demos/hero/index.html +12 -4
- package/docs-dev/demos/image-grid/index.html +12 -4
- package/docs-dev/demos/index.html +1447 -354
- package/docs-dev/demos/list-inline/index.html +1446 -353
- package/docs-dev/demos/list-lines/index.html +1446 -353
- package/docs-dev/demos/menu-stack/index.html +1550 -389
- package/docs-dev/demos/modals/index.html +1616 -400
- package/docs-dev/demos/nav-strip/index.html +1446 -353
- package/docs-dev/demos/overlay-section/index.html +1532 -369
- package/docs-dev/demos/panel/index.html +5862 -0
- package/docs-dev/demos/popovers/index.html +1710 -375
- package/docs-dev/demos/print/index.html +1446 -353
- package/docs-dev/demos/progress-bar/index.html +5964 -0
- package/docs-dev/demos/progress-circle/index.html +6137 -0
- package/docs-dev/demos/progress-donut/index.html +6107 -0
- package/docs-dev/demos/pull-quote/index.html +1446 -353
- package/docs-dev/demos/rail/index.html +5910 -0
- package/docs-dev/demos/rule/index.html +1455 -350
- package/docs-dev/demos/scroll-slider/index.html +72 -106
- package/docs-dev/demos/scrollpoints/index.html +1447 -354
- package/docs-dev/demos/skeleton/index.html +5858 -0
- package/docs-dev/demos/slider/index.html +12 -4
- package/docs-dev/demos/spoke-spinner/index.html +1446 -353
- package/docs-dev/demos/sticky-list/index.html +5823 -0
- package/docs-dev/demos/tabs/index.html +1474 -345
- package/docs-dev/demos/tag/index.html +1463 -358
- package/docs-dev/demos/theme-toggle/index.html +5879 -0
- package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
- package/docs-dev/demos/tiles/index.html +1446 -353
- package/docs-dev/demos/tooltip/index.html +1446 -353
- package/docs-dev/demos/wysiwyg/index.html +5852 -0
- package/docs-dev/guide/building-stylesheet/index.html +1446 -353
- package/docs-dev/guide/developing-ulu-scss-module/index.html +1446 -353
- package/docs-dev/guide/index.html +1446 -353
- package/docs-dev/guide/updates-and-changes/index.html +5033 -0
- package/docs-dev/index.html +1446 -353
- package/docs-dev/javascript/events/index.html +1476 -345
- package/docs-dev/javascript/index.html +1446 -353
- package/docs-dev/javascript/settings/index.html +6005 -0
- package/docs-dev/javascript/ui-breakpoints/index.html +1466 -375
- package/docs-dev/javascript/ui-collapsible/index.html +1451 -360
- package/docs-dev/javascript/ui-details-group/index.html +5922 -0
- package/docs-dev/javascript/ui-dialog/index.html +1469 -363
- package/docs-dev/javascript/ui-flipcard/index.html +1498 -351
- package/docs-dev/javascript/ui-grid/index.html +1448 -383
- package/docs-dev/javascript/ui-modal-builder/index.html +1661 -430
- package/docs-dev/javascript/ui-overflow-scroller/index.html +1451 -360
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1451 -360
- package/docs-dev/javascript/ui-page/index.html +1451 -360
- package/docs-dev/javascript/ui-popover/index.html +1447 -360
- package/docs-dev/javascript/ui-print/index.html +1443 -360
- package/docs-dev/javascript/ui-print-details/index.html +1451 -360
- package/docs-dev/javascript/ui-programmatic-modal/index.html +1451 -360
- package/docs-dev/javascript/ui-proxy-click/index.html +1555 -379
- package/docs-dev/javascript/ui-resizer/index.html +1756 -400
- package/docs-dev/javascript/ui-scroll-slider/index.html +1477 -354
- package/docs-dev/javascript/ui-scrollpoint/index.html +1448 -364
- package/docs-dev/javascript/ui-slider/index.html +1681 -399
- package/docs-dev/javascript/ui-tabs/index.html +1495 -441
- package/docs-dev/javascript/ui-theme-toggle/index.html +6010 -0
- package/docs-dev/javascript/ui-tooltip/index.html +1454 -367
- package/docs-dev/javascript/utils-class-logger/index.html +1452 -361
- package/docs-dev/javascript/utils-css/index.html +5824 -0
- package/docs-dev/javascript/utils-dom/index.html +1484 -473
- package/docs-dev/javascript/utils-file-save/index.html +1451 -360
- package/docs-dev/javascript/utils-floating-ui/index.html +1451 -360
- package/docs-dev/javascript/utils-id/index.html +1451 -360
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +1451 -360
- package/docs-dev/javascript/utils-system/index.html +6127 -0
- package/docs-dev/sass/base/color/index.html +1451 -360
- package/docs-dev/sass/base/elements/index.html +1452 -361
- package/docs-dev/sass/base/index/index.html +1452 -361
- package/docs-dev/sass/base/index.html +1446 -353
- package/docs-dev/sass/base/keyframes/index.html +1452 -361
- package/docs-dev/sass/base/layout/index.html +1452 -361
- package/docs-dev/sass/base/normalize/index.html +1451 -360
- package/docs-dev/sass/base/print/index.html +1452 -361
- package/docs-dev/sass/base/root/index.html +1455 -364
- package/docs-dev/sass/base/typography/index.html +1451 -360
- package/docs-dev/sass/components/accordion/index.html +1538 -406
- package/docs-dev/sass/components/adaptive-spacing/index.html +1451 -360
- package/docs-dev/sass/components/badge/index.html +1468 -359
- package/docs-dev/sass/components/badge-stack/index.html +5991 -0
- package/docs-dev/sass/components/basic-hero/index.html +5985 -0
- package/docs-dev/sass/components/breadcrumb/index.html +6032 -0
- package/docs-dev/sass/components/button/index.html +1451 -360
- package/docs-dev/sass/components/button-group/index.html +5983 -0
- package/docs-dev/sass/components/button-verbose/index.html +1523 -357
- package/docs-dev/sass/components/callout/index.html +1572 -422
- package/docs-dev/sass/components/captioned-figure/index.html +1591 -385
- package/docs-dev/sass/components/card/index.html +1511 -363
- package/docs-dev/sass/components/card-grid/index.html +1451 -360
- package/docs-dev/sass/components/counter-list/index.html +6067 -0
- package/docs-dev/sass/components/css-icon/index.html +1452 -361
- package/docs-dev/sass/components/data-grid/index.html +1465 -367
- package/docs-dev/sass/components/data-table/index.html +1648 -369
- package/docs-dev/sass/components/fill-context/index.html +1451 -360
- package/docs-dev/sass/components/flipcard/index.html +1479 -357
- package/docs-dev/sass/components/flipcard-grid/index.html +1451 -360
- package/docs-dev/sass/components/form-theme/index.html +1652 -566
- package/docs-dev/sass/components/headline-label/index.html +6013 -0
- package/docs-dev/sass/components/hero/index.html +1497 -358
- package/docs-dev/sass/components/horizontal-rule/index.html +1451 -360
- package/docs-dev/sass/components/image-grid/index.html +1451 -360
- package/docs-dev/sass/components/index/index.html +1466 -362
- package/docs-dev/sass/components/index.html +1446 -353
- package/docs-dev/sass/components/links/index.html +1451 -360
- package/docs-dev/sass/components/list-inline/index.html +1451 -360
- package/docs-dev/sass/components/list-lines/index.html +1451 -360
- package/docs-dev/sass/components/list-ordered/index.html +1451 -360
- package/docs-dev/sass/components/list-unordered/index.html +1451 -360
- package/docs-dev/sass/components/menu-stack/index.html +1476 -371
- package/docs-dev/sass/components/modal/index.html +1486 -360
- package/docs-dev/sass/components/nav-strip/index.html +1459 -368
- package/docs-dev/sass/components/overlay-section/index.html +1459 -368
- package/docs-dev/sass/components/pager/index.html +1451 -360
- package/docs-dev/sass/components/panel/index.html +6213 -0
- package/docs-dev/sass/components/placeholder-block/index.html +1451 -360
- package/docs-dev/sass/components/popover/index.html +1497 -370
- package/docs-dev/sass/components/progress-bar/index.html +6192 -0
- package/docs-dev/sass/components/progress-circle/index.html +6084 -0
- package/docs-dev/sass/components/pull-quote/index.html +1463 -372
- package/docs-dev/sass/components/rail/index.html +6003 -0
- package/docs-dev/sass/components/ratio-box/index.html +1459 -368
- package/docs-dev/sass/components/rule/index.html +1452 -361
- package/docs-dev/sass/components/scroll-slider/index.html +1447 -368
- package/docs-dev/sass/components/skeleton/index.html +6041 -0
- package/docs-dev/sass/components/skip-link/index.html +1451 -360
- package/docs-dev/sass/components/slider/index.html +1491 -412
- package/docs-dev/sass/components/spoke-spinner/index.html +1453 -362
- package/docs-dev/sass/components/sticky-list/index.html +6203 -0
- package/docs-dev/sass/components/table-sticky/index.html +5707 -0
- package/docs-dev/sass/components/tabs/index.html +1472 -366
- package/docs-dev/sass/components/tag/index.html +1563 -378
- package/docs-dev/sass/components/tile-button/index.html +1451 -360
- package/docs-dev/sass/components/tile-grid/index.html +1451 -360
- package/docs-dev/sass/components/tile-grid-overlay/index.html +1451 -360
- package/docs-dev/sass/components/vignette/index.html +1457 -360
- package/docs-dev/sass/components/wysiwyg/index.html +1477 -368
- package/docs-dev/sass/core/breakpoint/index.html +1530 -387
- package/docs-dev/sass/core/button/index.html +1483 -390
- package/docs-dev/sass/core/color/index.html +1666 -443
- package/docs-dev/sass/core/cssvar/index.html +1451 -360
- package/docs-dev/sass/core/element/index.html +1790 -417
- package/docs-dev/sass/core/index.html +1451 -360
- package/docs-dev/sass/core/layout/index.html +1491 -381
- package/docs-dev/sass/core/path/index.html +1451 -360
- package/docs-dev/sass/core/selector/index.html +1451 -360
- package/docs-dev/sass/core/typography/index.html +1591 -442
- package/docs-dev/sass/core/units/index.html +1453 -356
- package/docs-dev/sass/core/utils/index.html +2744 -504
- package/docs-dev/sass/helpers/color/index.html +1451 -360
- package/docs-dev/sass/helpers/display/index.html +1452 -361
- package/docs-dev/sass/helpers/index/index.html +1451 -360
- package/docs-dev/sass/helpers/index.html +1446 -353
- package/docs-dev/sass/helpers/print/index.html +759 -298
- package/docs-dev/sass/helpers/typography/index.html +1451 -360
- package/docs-dev/sass/helpers/units/index.html +1451 -360
- package/docs-dev/sass/helpers/utilities/index.html +1449 -354
- package/docs-dev/sass/index.html +1446 -353
- package/js/events/index.js +17 -5
- package/js/index.js +1 -0
- package/js/settings.js +97 -0
- package/js/ui/breakpoints.js +19 -16
- package/js/ui/collapsible.js +8 -1
- package/js/ui/details-group.js +112 -0
- package/js/ui/dialog.js +103 -44
- package/js/ui/dialog.todo +2 -36
- package/js/ui/flipcard.js +37 -57
- package/js/ui/grid.js +15 -13
- package/js/ui/index.js +1 -0
- package/js/ui/modal-builder.js +127 -70
- package/js/ui/overflow-scroller.js +6 -4
- package/js/ui/page.js +2 -2
- package/js/ui/popover.js +38 -38
- package/js/ui/print.js +16 -25
- package/js/ui/programmatic-modal.js +9 -3
- package/js/ui/proxy-click.js +50 -36
- package/js/ui/resizer.js +408 -39
- package/js/ui/scroll-slider.js +24 -30
- package/js/ui/scrollpoint.js +29 -64
- package/js/ui/slider.js +108 -63
- package/js/ui/tabs.js +23 -36
- package/js/ui/theme-toggle.js +332 -94
- package/js/ui/tooltip.js +27 -32
- package/js/utils/class-logger.js +3 -3
- package/js/utils/css.js +13 -0
- package/js/utils/dom.js +23 -64
- package/js/utils/font-awesome.js +19 -0
- package/js/utils/index.js +2 -1
- package/js/utils/system.js +155 -0
- package/package.json +23 -8
- package/scss/README.md +9 -0
- package/scss/_breakpoint.scss +39 -5
- package/scss/_button.scss +7 -5
- package/scss/_color.scss +71 -40
- package/scss/_element.scss +124 -2
- package/scss/_layout.scss +7 -8
- package/scss/_typography.scss +15 -0
- package/scss/_units.scss +3 -2
- package/scss/_utils.scss +387 -16
- package/scss/base/_elements.scss +0 -1
- package/scss/base/_index.scss +1 -1
- package/scss/base/_keyframes.scss +15 -0
- package/scss/base/_layout.scss +1 -0
- package/scss/base/_print.scss +2 -0
- package/scss/base/_root.scss +2 -0
- package/scss/components/README.todos +1 -0
- package/scss/components/_accordion.scss +166 -109
- package/scss/components/_badge-stack.scss +84 -0
- package/scss/components/_badge.scss +30 -7
- package/scss/components/_basic-hero.scss +112 -0
- package/scss/components/_breadcrumb.scss +110 -0
- package/scss/components/_button-group.scss +90 -0
- package/scss/components/_button-verbose.scss +100 -18
- package/scss/components/_callout.scss +112 -53
- package/scss/components/_captioned-figure.scss +17 -0
- package/scss/components/_card.scss +222 -66
- package/scss/components/_counter-list.scss +151 -0
- package/scss/components/_css-icon.scss +27 -17
- package/scss/components/_data-grid.scss +55 -12
- package/scss/components/_data-table.scss +31 -0
- package/scss/components/_flipcard.scss +8 -3
- package/scss/components/_form-theme.scss +106 -95
- package/scss/components/_headline-label.scss +83 -0
- package/scss/components/_hero.scss +12 -10
- package/scss/components/_index.scss +73 -0
- package/scss/components/_menu-stack.scss +69 -32
- package/scss/components/_modal.scss +51 -23
- package/scss/components/_nav-strip.scss +2 -0
- package/scss/components/_overlay-section.scss +2 -5
- package/scss/components/_panel.scss +246 -0
- package/scss/components/_popover.scss +165 -64
- package/scss/components/_progress-bar.scss +254 -0
- package/scss/components/_progress-circle.scss +175 -0
- package/scss/components/_pull-quote.scss +13 -13
- package/scss/components/_rail.scss +127 -0
- package/scss/components/_ratio-box.scss +2 -5
- package/scss/components/_rule.scss +1 -0
- package/scss/components/_scroll-slider.scss +1 -5
- package/scss/components/_skeleton.scss +126 -0
- package/scss/components/_slider.scss +49 -72
- package/scss/components/_spoke-spinner.scss +2 -2
- package/scss/components/_sticky-list.scss +206 -0
- package/scss/components/_tabs.scss +22 -4
- package/scss/components/_tag.scss +49 -7
- package/scss/components/_vignette.scss +3 -5
- package/scss/components/_wysiwyg.scss +21 -13
- package/scss/helpers/_display.scss +15 -18
- package/scss/helpers/_print.scss +12 -7
- package/scss/helpers/_utilities.scss +56 -34
- package/types/events/index.d.ts +10 -1
- package/types/events/index.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/settings.d.ts +70 -0
- package/types/settings.d.ts.map +1 -0
- package/types/ui/breakpoints.d.ts +14 -14
- package/types/ui/breakpoints.d.ts.map +1 -1
- package/types/ui/collapsible.d.ts.map +1 -1
- package/types/ui/details-group.d.ts +38 -0
- package/types/ui/details-group.d.ts.map +1 -0
- package/types/ui/dialog.d.ts +20 -14
- package/types/ui/dialog.d.ts.map +1 -1
- package/types/ui/flipcard.d.ts +16 -10
- package/types/ui/flipcard.d.ts.map +1 -1
- package/types/ui/grid.d.ts +4 -6
- package/types/ui/grid.d.ts.map +1 -1
- package/types/ui/index.d.ts +1 -0
- package/types/ui/modal-builder.d.ts +116 -11
- package/types/ui/modal-builder.d.ts.map +1 -1
- package/types/ui/overflow-scroller.d.ts +2 -2
- package/types/ui/overflow-scroller.d.ts.map +1 -1
- package/types/ui/popover.d.ts +6 -7
- package/types/ui/popover.d.ts.map +1 -1
- package/types/ui/print.d.ts +0 -4
- package/types/ui/print.d.ts.map +1 -1
- package/types/ui/programmatic-modal.d.ts.map +1 -1
- package/types/ui/proxy-click.d.ts +19 -3
- package/types/ui/proxy-click.d.ts.map +1 -1
- package/types/ui/resizer.d.ts +116 -16
- package/types/ui/resizer.d.ts.map +1 -1
- package/types/ui/scroll-slider.d.ts +5 -7
- package/types/ui/scroll-slider.d.ts.map +1 -1
- package/types/ui/scrollpoint.d.ts +3 -8
- package/types/ui/scrollpoint.d.ts.map +1 -1
- package/types/ui/slider.d.ts +33 -14
- package/types/ui/slider.d.ts.map +1 -1
- package/types/ui/tabs.d.ts +6 -8
- package/types/ui/tabs.d.ts.map +1 -1
- package/types/ui/theme-toggle.d.ts +51 -7
- package/types/ui/theme-toggle.d.ts.map +1 -1
- package/types/ui/tooltip.d.ts +3 -5
- package/types/ui/tooltip.d.ts.map +1 -1
- package/types/utils/css.d.ts +11 -0
- package/types/utils/css.d.ts.map +1 -0
- package/types/utils/dom.d.ts +12 -32
- package/types/utils/dom.d.ts.map +1 -1
- package/types/utils/font-awesome.d.ts +5 -0
- package/types/utils/font-awesome.d.ts.map +1 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/system.d.ts +113 -0
- package/types/utils/system.d.ts.map +1 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group progress-circle
|
|
3
|
+
/// A circular progress indicator.
|
|
4
|
+
////
|
|
5
|
+
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "sass:math";
|
|
8
|
+
@use "../selector";
|
|
9
|
+
@use "../utils";
|
|
10
|
+
@use "../color";
|
|
11
|
+
|
|
12
|
+
/// Module Settings
|
|
13
|
+
/// @type Map
|
|
14
|
+
/// @prop {Dimension} size [100px] The width and height of the chart.
|
|
15
|
+
/// @prop {Number} viewbox-size [32] The size of the SVG viewbox. Used to calculate mask radius.
|
|
16
|
+
/// @prop {Number} stroke-width [10] The width of the progress circle's stroke.
|
|
17
|
+
/// @prop {Color} color-track ["placeholder-background-alt"] The color of the inactive track. Can be a theme color name or a CSS variable.
|
|
18
|
+
/// @prop {Color} color-progress ["indicator"] The color of the progress stroke in a neutral state. Can be a theme color name or a CSS variable.
|
|
19
|
+
/// @prop {Color} color-mask [white] The color of the center mask that creates the donut hole. Can be a theme color name or a CSS variable.
|
|
20
|
+
/// @prop {Color} color-mask-pie [rgba(255, 255, 255, 0.5)] The mask color when using the pie style modifier.
|
|
21
|
+
/// @prop {Color} value-color ["type"] The theme color name for the percentage text inside the circle.
|
|
22
|
+
/// @prop {Color} value-color-outside ["type-tertiary"] The theme color name for the percentage text when displayed outside the circle.
|
|
23
|
+
/// @prop {Dimension | List} value-margin-outside [(0.1em 0.35em)] The margin for the outside value text.
|
|
24
|
+
/// @prop {Time} transition-duration [300ms] The duration for the stroke transition animation (when the component is updating already in the page)
|
|
25
|
+
/// @prop {Time} animation-duration [1s] The duration for the stroke animation (relies on template having a custom build animation per pie based on dash array). This is used for initial animations
|
|
26
|
+
/// @prop {Time} animation-delay [2s] The delay for the animation
|
|
27
|
+
/// @prop {Time} animation-timing [ease-in] Timing function for animation
|
|
28
|
+
/// @prop {Map} status-colors A map of status names to their corresponding colors (e.g., "low": "warning").
|
|
29
|
+
/// @prop {Map} sizes A map of size variations. Each key is a modifier name (e.g., "small") and the value is a map with `size` and `stroke-width` properties.
|
|
30
|
+
|
|
31
|
+
$config: (
|
|
32
|
+
"size": 100px,
|
|
33
|
+
"viewbox-size": 32,
|
|
34
|
+
"stroke-width": 10,
|
|
35
|
+
"color-track": "placeholder-background-alt",
|
|
36
|
+
"color-progress": "indicator",
|
|
37
|
+
"color-mask": white,
|
|
38
|
+
"color-mask-pie": rgba(255, 255, 255, 0.4),
|
|
39
|
+
"value-color": "type",
|
|
40
|
+
"value-color-outside": "type-tertiary",
|
|
41
|
+
"value-margin-outside" : (0.1em 0.35em),
|
|
42
|
+
"transition-duration" : 300ms,
|
|
43
|
+
"animation-duration" : 1s,
|
|
44
|
+
"animation-delay" : 2s,
|
|
45
|
+
"animation-timing" : ease-in,
|
|
46
|
+
"status-colors": (
|
|
47
|
+
"low": "danger",
|
|
48
|
+
"incomplete": "warning",
|
|
49
|
+
"complete": "success",
|
|
50
|
+
),
|
|
51
|
+
"sizes": (
|
|
52
|
+
"small" : (
|
|
53
|
+
"size": 40px,
|
|
54
|
+
"stroke-width": 13,
|
|
55
|
+
)
|
|
56
|
+
)
|
|
57
|
+
) !default;
|
|
58
|
+
|
|
59
|
+
/// Change modules $config
|
|
60
|
+
/// @param {Map} $changes Map of changes
|
|
61
|
+
@mixin set($changes) {
|
|
62
|
+
$config: map.merge($config, $changes) !global;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/// Get a config option
|
|
66
|
+
/// @param {String} $name Name of property
|
|
67
|
+
@function get($name) {
|
|
68
|
+
@return utils.require-map-get($config, $name, "progress-circle [config]");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// Prints component styles
|
|
72
|
+
/// @demo progress-circle
|
|
73
|
+
@mixin styles {
|
|
74
|
+
$prefix: selector.class("progress-circle");
|
|
75
|
+
|
|
76
|
+
#{ $prefix } {
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
align-items: center;
|
|
80
|
+
text-align: center;
|
|
81
|
+
--ulu-progress-circle-stroke-width: #{ get("stroke-width") };
|
|
82
|
+
}
|
|
83
|
+
#{ $prefix }__chart {
|
|
84
|
+
position: relative;
|
|
85
|
+
line-height: 1;
|
|
86
|
+
}
|
|
87
|
+
#{ $prefix }__chart-value {
|
|
88
|
+
position: absolute;
|
|
89
|
+
top: 50%;
|
|
90
|
+
left: 50%;
|
|
91
|
+
transform: translate(-50%, -50%);
|
|
92
|
+
color: color.get(get("value-color"));
|
|
93
|
+
text-shadow: none;
|
|
94
|
+
}
|
|
95
|
+
#{ $prefix }__chart-svg {
|
|
96
|
+
width: get("size");
|
|
97
|
+
height: get("size");
|
|
98
|
+
transform: rotate(-90deg);
|
|
99
|
+
border-radius: 50%;
|
|
100
|
+
}
|
|
101
|
+
#{ $prefix }__chart-track {
|
|
102
|
+
fill: transparent;
|
|
103
|
+
stroke: color.get(get("color-track"));
|
|
104
|
+
stroke-width: var(--ulu-progress-circle-stroke-width);
|
|
105
|
+
}
|
|
106
|
+
#{ $prefix }__chart-pie {
|
|
107
|
+
fill: transparent;
|
|
108
|
+
stroke: color.get(get("color-progress"));
|
|
109
|
+
stroke-width: var(--ulu-progress-circle-stroke-width);
|
|
110
|
+
stroke-dasharray: 0 100;
|
|
111
|
+
will-change: stroke-dasharray;
|
|
112
|
+
// If value is changing
|
|
113
|
+
transition: stroke get("transition-duration");
|
|
114
|
+
// For in template composed initial animation
|
|
115
|
+
animation-duration: get("animation-duration");
|
|
116
|
+
animation-delay: get("animation-delay");
|
|
117
|
+
animation-timing-function: get("animation-timing");
|
|
118
|
+
}
|
|
119
|
+
#{ $prefix }__chart-mask {
|
|
120
|
+
fill: color.get(get("color-mask"));
|
|
121
|
+
r: calc( (get("viewbox-size") / 2) - (var(--ulu-progress-circle-stroke-width) / 2) );
|
|
122
|
+
}
|
|
123
|
+
#{ $prefix }__value {
|
|
124
|
+
color: color.get(get("value-color-outside"));
|
|
125
|
+
margin: get("value-margin-outside");
|
|
126
|
+
font-weight: normal;
|
|
127
|
+
line-height: 1;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
#{ $prefix }--outside {
|
|
131
|
+
flex-direction: row;
|
|
132
|
+
justify-content: center;
|
|
133
|
+
flex-wrap: wrap;
|
|
134
|
+
}
|
|
135
|
+
#{ $prefix }--outside-below {
|
|
136
|
+
display: block;
|
|
137
|
+
}
|
|
138
|
+
#{ $prefix }--pie {
|
|
139
|
+
// Note do not adjust the custom property for this since we want the mask to still be sized correctly
|
|
140
|
+
#{ $prefix }__chart-pie {
|
|
141
|
+
stroke-width: get("viewbox-size"); // As large as the svg (so it fills the circle)
|
|
142
|
+
}
|
|
143
|
+
#{ $prefix }__chart-track {
|
|
144
|
+
fill: color.get(get("color-track"));
|
|
145
|
+
}
|
|
146
|
+
#{ $prefix }__chart-mask {
|
|
147
|
+
fill: color.get(get("color-mask-pie"));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
#{ $prefix }--no-mask {
|
|
151
|
+
#{ $prefix }__chart-mask {
|
|
152
|
+
display: none;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
@each $name, $props in get("sizes") {
|
|
158
|
+
#{ $prefix }--#{ $name } {
|
|
159
|
+
--ulu-progress-circle-stroke-width: #{map.get($props, "stroke-width")};
|
|
160
|
+
#{ $prefix }__chart-svg {
|
|
161
|
+
width: map.get($props, "size");
|
|
162
|
+
height: map.get($props, "size");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
@each $name, $color in get("status-colors") {
|
|
167
|
+
#{ $prefix }--#{ $name } {
|
|
168
|
+
#{ $prefix }__chart-pie {
|
|
169
|
+
stroke: color.get($color);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
}
|
|
@@ -21,18 +21,18 @@ $-fallbacks: (
|
|
|
21
21
|
|
|
22
22
|
/// Module Settings
|
|
23
23
|
/// @type Map
|
|
24
|
-
/// @prop {} body-line-height [true]
|
|
25
|
-
/// @prop {} image-margin-bottom [1rem]
|
|
26
|
-
/// @prop {} image-margin-top [2.5rem]
|
|
27
|
-
/// @prop {} name-margin-bottom [1rem]
|
|
28
|
-
/// @prop {} padding-y [2em]
|
|
29
|
-
/// @prop {} title-font-style [italic]
|
|
30
|
-
/// @prop {} quote-mark-character ["\201c"]
|
|
31
|
-
/// @prop {} quote-mark-color [null]
|
|
32
|
-
/// @prop {} quote-mark-font-family ["Georgia"]
|
|
33
|
-
/// @prop {} quote-mark-font-size [3.75em]
|
|
34
|
-
/// @prop {} quote-mark-enabled [true]
|
|
35
|
-
/// @prop {} quote-mark-line-height [0.35]
|
|
24
|
+
/// @prop {Number} body-line-height [true]
|
|
25
|
+
/// @prop {Dimension} image-margin-bottom [1rem]
|
|
26
|
+
/// @prop {Dimension} image-margin-top [2.5rem]
|
|
27
|
+
/// @prop {Dimension} name-margin-bottom [1rem]
|
|
28
|
+
/// @prop {Dimension} padding-y [2em]
|
|
29
|
+
/// @prop {CssValue} title-font-style [italic]
|
|
30
|
+
/// @prop {String} quote-mark-character ["\201c"]
|
|
31
|
+
/// @prop {Color} quote-mark-color [null]
|
|
32
|
+
/// @prop {String} quote-mark-font-family ["Georgia"]
|
|
33
|
+
/// @prop {Dimension} quote-mark-font-size [3.75em]
|
|
34
|
+
/// @prop {Boolean} quote-mark-enabled [true]
|
|
35
|
+
/// @prop {Number} quote-mark-line-height [0.35]
|
|
36
36
|
|
|
37
37
|
$config: (
|
|
38
38
|
"body-line-height" : true,
|
|
@@ -83,7 +83,7 @@ $config: (
|
|
|
83
83
|
#{ $prefix }__body {
|
|
84
84
|
line-height: get("body-line-height");
|
|
85
85
|
@if (get("quote-mark-enabled")) {
|
|
86
|
-
|
|
86
|
+
&::before {
|
|
87
87
|
display: block;
|
|
88
88
|
position: relative;
|
|
89
89
|
// content: open-quote;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group rail
|
|
3
|
+
////
|
|
4
|
+
/// A horizontal, flexible container for arranging diverse inline elements.
|
|
5
|
+
/// It provides a consistent layout for icons, labels, buttons, or other
|
|
6
|
+
/// modular components, aligning content to either end or centering it.
|
|
7
|
+
/// Item spacing is controlled via margins, allowing for individual item gap adjustments.
|
|
8
|
+
|
|
9
|
+
@use "sass:map";
|
|
10
|
+
@use "sass:meta";
|
|
11
|
+
@use "sass:math";
|
|
12
|
+
|
|
13
|
+
@use "../utils";
|
|
14
|
+
@use "../color";
|
|
15
|
+
@use "../selector";
|
|
16
|
+
@use "../layout";
|
|
17
|
+
@use "../element";
|
|
18
|
+
|
|
19
|
+
// Used for function fallback
|
|
20
|
+
$-fallbacks: (
|
|
21
|
+
"separator" : (
|
|
22
|
+
"function" : meta.get-function("get-rule-style", false, "element"),
|
|
23
|
+
"arguments" : ("light",)
|
|
24
|
+
),
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
/// Module Settings
|
|
29
|
+
/// @type Map
|
|
30
|
+
/// @prop {Dimension} gap [1em] The default space between items in the rail
|
|
31
|
+
/// @prop {Map} gap-modifiers [("small" : 0.5em, "large" : 2em )] Alternate gaps (use child modifiers .rail__item--gap-[name], these apply gap changes between the item and the item before it
|
|
32
|
+
/// @prop {Dimension} margin-bottom [1em] The default space after rail
|
|
33
|
+
/// @prop {CssValue} separator [true] Pass border property for separator, defaults to element rule style light
|
|
34
|
+
|
|
35
|
+
$config: (
|
|
36
|
+
"gap" : 1em,
|
|
37
|
+
"margin-bottom" : 1.5em,
|
|
38
|
+
"separator" : true,
|
|
39
|
+
"gap-modifiers": (
|
|
40
|
+
"small" : 0.5em,
|
|
41
|
+
"none" : 0,
|
|
42
|
+
"large" : 2em
|
|
43
|
+
),
|
|
44
|
+
"rule-size" : 1px,
|
|
45
|
+
"rule-color" : "rule",
|
|
46
|
+
"rule-margin" : 1em
|
|
47
|
+
) !default;
|
|
48
|
+
|
|
49
|
+
/// Change modules $config
|
|
50
|
+
/// @param {Map} $changes Map of changes
|
|
51
|
+
/// @example scss
|
|
52
|
+
/// @include ulu.component-rail-set(( "gap" : 1.5em ));
|
|
53
|
+
|
|
54
|
+
@mixin set($changes) {
|
|
55
|
+
$config: map.merge($config, $changes) !global;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/// Get a config option
|
|
59
|
+
/// @param {Map} $name Name of property
|
|
60
|
+
/// @example scss
|
|
61
|
+
/// @include ulu.component-rail-get("gap");
|
|
62
|
+
|
|
63
|
+
@function get($name) {
|
|
64
|
+
$value: utils.require-map-get($config, $name, "rail [config]");
|
|
65
|
+
@return utils.function-fallback($name, $value, $-fallbacks);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/// Prints component styles
|
|
69
|
+
/// @example scss
|
|
70
|
+
/// @include ulu.component-rail-styles();
|
|
71
|
+
|
|
72
|
+
@mixin styles {
|
|
73
|
+
$prefix: selector.class("rail");
|
|
74
|
+
$gap: get("gap");
|
|
75
|
+
|
|
76
|
+
#{ $prefix } {
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
flex-wrap: wrap;
|
|
80
|
+
gap: $gap;
|
|
81
|
+
margin-bottom: get("margin-bottom");
|
|
82
|
+
max-width: 100%;
|
|
83
|
+
}
|
|
84
|
+
#{ $prefix }--rule {
|
|
85
|
+
border-bottom: get("rule-size") solid color.get(get("rule-color"));
|
|
86
|
+
padding-bottom: get("rule-margin");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Modifiers
|
|
90
|
+
// - Note: Originally had mods for each type of flexbox layout
|
|
91
|
+
// simplified to just agnostic naming and only what is currently needed
|
|
92
|
+
// can update this in the future to add more alignment options if
|
|
93
|
+
// use cases come up
|
|
94
|
+
|
|
95
|
+
#{ $prefix }--justified {
|
|
96
|
+
justify-content: space-between;
|
|
97
|
+
}
|
|
98
|
+
#{ $prefix }--baseline {
|
|
99
|
+
align-items: baseline;
|
|
100
|
+
}
|
|
101
|
+
#{ $prefix }--nowrap {
|
|
102
|
+
flex-wrap: nowrap;
|
|
103
|
+
overflow-x: auto;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Item level modifiers
|
|
107
|
+
#{ $prefix }__item--pull {
|
|
108
|
+
margin-inline-start: auto;
|
|
109
|
+
}
|
|
110
|
+
#{ $prefix }__item--separator {
|
|
111
|
+
border-inline-start: get("separator");
|
|
112
|
+
padding-inline-start: $gap;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@each $name, $value in get("gap-modifiers") {
|
|
116
|
+
|
|
117
|
+
$calc-gap: $value - $gap;
|
|
118
|
+
|
|
119
|
+
#{ $prefix }__item--gap-#{ $name } {
|
|
120
|
+
margin-inline-start: $calc-gap;
|
|
121
|
+
|
|
122
|
+
&#{ $prefix }__item--separator {
|
|
123
|
+
padding-inline-start: $value;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use "sass:map";
|
|
7
7
|
@use "../utils";
|
|
8
|
+
@use "../layout";
|
|
8
9
|
|
|
9
10
|
/// Module Settings
|
|
10
11
|
/// @type Map
|
|
@@ -49,11 +50,7 @@ $config: (
|
|
|
49
50
|
padding: get("size") 0 0 0;
|
|
50
51
|
}
|
|
51
52
|
.ratio-box__content {
|
|
52
|
-
|
|
53
|
-
top: 0;
|
|
54
|
-
left: 0;
|
|
55
|
-
width: 100%;
|
|
56
|
-
height: 100%;
|
|
53
|
+
@include layout.absolute-fill(true);
|
|
57
54
|
border: 0;
|
|
58
55
|
}
|
|
59
56
|
@each $name, $size in get("sizes") {
|
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
/// @prop {Dimension} padding-bottom [0]
|
|
23
23
|
/// @prop {Dimension} padding-top [0]
|
|
24
24
|
/// @prop {String} prefix ["scroll-slide"]
|
|
25
|
-
/// @prop {Color} button-background-color [white]
|
|
26
|
-
/// @prop {Color} button-background-color-hover [white]
|
|
27
25
|
/// @prop {CssValue} button-border [2px solid white]
|
|
28
26
|
/// @prop {Color} button-border-color-hover [white]
|
|
29
27
|
/// @prop {Dimension} button-border-radius [50%]
|
|
@@ -46,8 +44,6 @@ $config: (
|
|
|
46
44
|
"padding-bottom" : 0,
|
|
47
45
|
"padding-top" : 0,
|
|
48
46
|
"prefix": "scroll-slider",
|
|
49
|
-
"button-background-color" : white,
|
|
50
|
-
"button-background-color-hover" : white,
|
|
51
47
|
"button-border" : 2px solid white,
|
|
52
48
|
"button-border-color-hover" : white,
|
|
53
49
|
"button-border-radius" : 50%,
|
|
@@ -124,7 +120,7 @@ $config: (
|
|
|
124
120
|
@include layout.match-container-margin("scroll-padding-left", get("container"));
|
|
125
121
|
// padding: 1rem;
|
|
126
122
|
// Add space to end of list
|
|
127
|
-
//
|
|
123
|
+
// &::after {
|
|
128
124
|
// content: "\00a0";
|
|
129
125
|
// display: block;
|
|
130
126
|
// width: 1rem;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group skeleton
|
|
3
|
+
/// Placeholder component for skeleton (ie. loading state
|
|
4
|
+
////
|
|
5
|
+
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "sass:list";
|
|
8
|
+
@use "sass:math";
|
|
9
|
+
@use "sass:meta";
|
|
10
|
+
|
|
11
|
+
@use "../selector";
|
|
12
|
+
@use "../utils";
|
|
13
|
+
@use "../color";
|
|
14
|
+
@use "../element";
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
// Used for function fallback
|
|
18
|
+
$-fallbacks: (
|
|
19
|
+
"border-radius" : (
|
|
20
|
+
"function" : meta.get-function("get", false, "element"),
|
|
21
|
+
"property" : "border-radius"
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
/// Module Settings
|
|
26
|
+
/// @type Map
|
|
27
|
+
/// @prop {CssValue} animation [pulse 2s cubic-bezier(0.4,0,0.6,1) infinite] The animation applied to skeleton elements.
|
|
28
|
+
/// @prop {Color} color [type-disabled] The base color for skeleton elements.
|
|
29
|
+
/// @prop {Color} background-color [#cbcbcb] The primary background color for skeleton elements.
|
|
30
|
+
/// @prop {Color} background-color-alt [#aeaeae] An alternative background color for skeleton elements, used for variations.
|
|
31
|
+
/// @prop {Dimension} border-radius [true] The border-radius for skeleton blocks and text. If set to true, uses the element.scss property for "border-radius".
|
|
32
|
+
/// @prop {Dimension} inline-margin [0.35em] The margin between inline skeleton text elements.
|
|
33
|
+
/// @prop {Number} media-ratio [(4/3)] The aspect ratio for skeleton media blocks (width/height).
|
|
34
|
+
/// @prop {Dimension} text-border-radius [3em] The border-radius for skeleton text lines.
|
|
35
|
+
/// @prop {Map} widths [Map] A map defining various width percentages for skeleton text lines (or used to size blocks/etc)
|
|
36
|
+
|
|
37
|
+
$config: (
|
|
38
|
+
"animation" : UluPulse 2s cubic-bezier(0.4,0,0.6,1) infinite,
|
|
39
|
+
"color" : "type-disabled",
|
|
40
|
+
"background-color" : #e2e2e2,
|
|
41
|
+
"background-color-alt" : #bababa,
|
|
42
|
+
"border-radius": true,
|
|
43
|
+
"inline-margin" : 0.35em,
|
|
44
|
+
"media-ratio" : list.slash(4, 3),
|
|
45
|
+
"media-font-size" : 2rem,
|
|
46
|
+
"text-border-radius" : 3em,
|
|
47
|
+
"widths": (
|
|
48
|
+
"small-xxx" : 10%,
|
|
49
|
+
"small-xx" : 20%,
|
|
50
|
+
"small-x" : 30%,
|
|
51
|
+
"small" : 40%,
|
|
52
|
+
"large" : 70%,
|
|
53
|
+
"large-x" : 85%,
|
|
54
|
+
"large-xx" : 100%
|
|
55
|
+
),
|
|
56
|
+
) !default;
|
|
57
|
+
|
|
58
|
+
/// Change modules $config
|
|
59
|
+
/// @param {Map} $changes Map of changes
|
|
60
|
+
/// @example scss
|
|
61
|
+
/// @include ulu.component-skeleton-set(( "property" : value ));
|
|
62
|
+
|
|
63
|
+
@mixin set($changes) {
|
|
64
|
+
$config: map.merge($config, $changes) !global;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Get a config option
|
|
68
|
+
/// @param {Map} $name Name of property
|
|
69
|
+
/// @example scss
|
|
70
|
+
/// @include ulu.component-skeleton-get("property");
|
|
71
|
+
|
|
72
|
+
@function get($name) {
|
|
73
|
+
$value: utils.require-map-get($config, $name, "skeleton [config]");
|
|
74
|
+
@return utils.function-fallback($name, $value, $-fallbacks);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/// Prints component styles
|
|
78
|
+
/// @demo skeleton
|
|
79
|
+
/// @example scss
|
|
80
|
+
/// @include ulu.component-skeleton-styles();
|
|
81
|
+
|
|
82
|
+
@mixin styles {
|
|
83
|
+
$prefix: selector.class("skeleton");
|
|
84
|
+
|
|
85
|
+
#{ $prefix } {
|
|
86
|
+
animation: get("animation");
|
|
87
|
+
color: color.get(get("color"));
|
|
88
|
+
}
|
|
89
|
+
#{ $prefix }--background {
|
|
90
|
+
background-color: color.get(get("background-color")) !important;
|
|
91
|
+
}
|
|
92
|
+
#{ $prefix }--block,
|
|
93
|
+
#{ $prefix }--text,
|
|
94
|
+
#{ $prefix }--media {
|
|
95
|
+
animation: get("animation");
|
|
96
|
+
color: color.get(get("color"));
|
|
97
|
+
background-color: color.get(get("background-color")) !important;
|
|
98
|
+
border-radius: get("border-radius");
|
|
99
|
+
}
|
|
100
|
+
#{ $prefix }--media {
|
|
101
|
+
display: flex;
|
|
102
|
+
align-items: center;
|
|
103
|
+
justify-content: center;
|
|
104
|
+
aspect-ratio: get("media-ratio");
|
|
105
|
+
font-size: get("media-font-size");
|
|
106
|
+
}
|
|
107
|
+
#{ $prefix }--text {
|
|
108
|
+
height: 1em;
|
|
109
|
+
width: 60%;
|
|
110
|
+
border-radius: get("text-border-radius");
|
|
111
|
+
}
|
|
112
|
+
#{ $prefix }--inline {
|
|
113
|
+
display: inline-block;
|
|
114
|
+
}
|
|
115
|
+
#{ $prefix }--inline + #{ $prefix }--inline {
|
|
116
|
+
margin-left: get("inline-margin");
|
|
117
|
+
}
|
|
118
|
+
#{ $prefix }--background-alt {
|
|
119
|
+
background-color: color.get(get("background-color-alt")) !important;
|
|
120
|
+
}
|
|
121
|
+
@each $name, $value in get("widths") {
|
|
122
|
+
#{ $prefix }--width-#{ $name } {
|
|
123
|
+
width: $value;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|