@ulu/frontend 0.1.0-beta.8 → 0.1.0-beta.80
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 +529 -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 +35 -28
- package/docs-dev/assets/main.js +8290 -635
- 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 +789 -338
- package/docs-dev/changelog/index.html +6553 -0
- package/docs-dev/demos/accordion/index.html +850 -328
- package/docs-dev/demos/badge/index.html +5265 -0
- package/docs-dev/demos/basic-hero/index.html +111 -0
- package/docs-dev/demos/breakpoints-manager/index.html +5276 -0
- package/docs-dev/demos/button/index.html +892 -328
- package/docs-dev/demos/button-verbose/index.html +5268 -0
- package/docs-dev/demos/callout/index.html +895 -332
- package/docs-dev/demos/captioned-figure/index.html +850 -327
- package/docs-dev/demos/card/index.html +930 -768
- package/docs-dev/demos/card-grid/index.html +5387 -0
- package/docs-dev/demos/counter-list/index.html +5270 -0
- package/docs-dev/demos/css-icons/index.html +850 -327
- package/docs-dev/demos/data-grid/index.html +870 -347
- package/docs-dev/demos/data-table/index.html +1024 -368
- package/docs-dev/demos/details-group/index.html +5297 -0
- package/docs-dev/demos/file-save/index.html +850 -327
- package/docs-dev/demos/flipcard/index.html +850 -327
- package/docs-dev/demos/form-theme/index.html +868 -358
- 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 +851 -328
- package/docs-dev/demos/list-inline/index.html +850 -327
- package/docs-dev/demos/list-lines/index.html +850 -327
- package/docs-dev/demos/menu-stack/index.html +884 -346
- package/docs-dev/demos/modals/index.html +968 -330
- package/docs-dev/demos/nav-strip/index.html +850 -327
- package/docs-dev/demos/overlay-section/index.html +939 -346
- package/docs-dev/demos/popovers/index.html +1112 -347
- package/docs-dev/demos/print/index.html +850 -327
- package/docs-dev/demos/pull-quote/index.html +850 -327
- package/docs-dev/demos/rule/index.html +863 -328
- package/docs-dev/demos/scroll-slider/index.html +72 -106
- package/docs-dev/demos/scrollpoints/index.html +851 -328
- package/docs-dev/demos/slider/index.html +12 -4
- package/docs-dev/demos/spoke-spinner/index.html +850 -327
- package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +883 -357
- package/docs-dev/demos/tabs/index.html +886 -327
- package/docs-dev/demos/tag/index.html +850 -327
- package/docs-dev/demos/theme-toggle/index.html +5309 -0
- package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
- package/docs-dev/demos/tiles/index.html +850 -327
- package/docs-dev/demos/tooltip/index.html +850 -327
- package/docs-dev/guide/building-stylesheet/index.html +850 -327
- package/docs-dev/guide/developing-ulu-scss-module/index.html +850 -327
- package/docs-dev/guide/index.html +850 -327
- package/docs-dev/index.html +850 -327
- package/docs-dev/javascript/events/index.html +847 -326
- package/docs-dev/javascript/index.html +850 -327
- package/docs-dev/javascript/settings/index.html +5430 -0
- package/docs-dev/javascript/ui-breakpoints/index.html +862 -341
- package/docs-dev/javascript/ui-collapsible/index.html +847 -326
- package/docs-dev/javascript/ui-details-group/index.html +5352 -0
- package/docs-dev/javascript/ui-dialog/index.html +879 -343
- package/docs-dev/javascript/ui-flipcard/index.html +908 -331
- package/docs-dev/javascript/ui-grid/index.html +857 -362
- package/docs-dev/javascript/ui-modal-builder/index.html +1047 -386
- package/docs-dev/javascript/ui-overflow-scroller/index.html +847 -326
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +847 -326
- package/docs-dev/javascript/ui-page/index.html +847 -326
- package/docs-dev/javascript/ui-popover/index.html +855 -338
- package/docs-dev/javascript/ui-print/index.html +847 -334
- package/docs-dev/javascript/ui-print-details/index.html +847 -326
- package/docs-dev/javascript/ui-programmatic-modal/index.html +847 -326
- package/docs-dev/javascript/ui-proxy-click/index.html +934 -328
- package/docs-dev/javascript/ui-resizer/index.html +847 -326
- package/docs-dev/javascript/ui-scroll-slider/index.html +885 -332
- package/docs-dev/javascript/ui-scrollpoint/index.html +853 -339
- package/docs-dev/javascript/ui-slider/index.html +1043 -331
- package/docs-dev/javascript/ui-tabs/index.html +858 -374
- package/docs-dev/javascript/ui-theme-toggle/index.html +5440 -0
- package/docs-dev/javascript/ui-tooltip/index.html +854 -337
- package/docs-dev/javascript/utils-class-logger/index.html +847 -326
- package/docs-dev/javascript/utils-css/index.html +5254 -0
- package/docs-dev/javascript/utils-dom/index.html +887 -446
- package/docs-dev/javascript/utils-file-save/index.html +847 -326
- package/docs-dev/javascript/utils-floating-ui/index.html +847 -326
- package/docs-dev/javascript/utils-id/index.html +847 -326
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +847 -326
- package/docs-dev/javascript/utils-system/index.html +5557 -0
- package/docs-dev/sass/base/color/index.html +847 -326
- package/docs-dev/sass/base/elements/index.html +847 -326
- package/docs-dev/sass/base/index/index.html +847 -326
- package/docs-dev/sass/base/index.html +850 -327
- package/docs-dev/sass/base/keyframes/index.html +847 -326
- package/docs-dev/sass/base/layout/index.html +847 -326
- package/docs-dev/sass/base/normalize/index.html +847 -326
- package/docs-dev/sass/base/print/index.html +847 -326
- package/docs-dev/sass/base/root/index.html +847 -326
- package/docs-dev/sass/base/typography/index.html +847 -326
- package/docs-dev/sass/components/accordion/index.html +866 -338
- package/docs-dev/sass/components/adaptive-spacing/index.html +847 -326
- package/docs-dev/sass/components/badge/index.html +869 -337
- package/docs-dev/sass/components/basic-hero/index.html +5415 -0
- package/docs-dev/sass/components/button/index.html +847 -326
- package/docs-dev/sass/components/button-verbose/index.html +933 -337
- package/docs-dev/sass/components/callout/index.html +958 -418
- package/docs-dev/sass/components/captioned-figure/index.html +970 -334
- package/docs-dev/sass/components/card/index.html +939 -346
- package/docs-dev/sass/components/card-grid/index.html +847 -326
- package/docs-dev/sass/components/counter-list/index.html +5497 -0
- package/docs-dev/sass/components/css-icon/index.html +864 -336
- package/docs-dev/sass/components/data-grid/index.html +868 -340
- package/docs-dev/sass/components/data-table/index.html +1063 -352
- package/docs-dev/sass/components/fill-context/index.html +847 -326
- package/docs-dev/sass/components/flipcard/index.html +888 -336
- package/docs-dev/sass/components/flipcard-grid/index.html +847 -326
- package/docs-dev/sass/components/form-theme/index.html +1063 -446
- package/docs-dev/sass/components/hero/index.html +903 -334
- package/docs-dev/sass/components/horizontal-rule/index.html +847 -326
- package/docs-dev/sass/components/image-grid/index.html +847 -326
- package/docs-dev/sass/components/index/index.html +860 -336
- package/docs-dev/sass/components/index.html +850 -327
- package/docs-dev/sass/components/links/index.html +847 -326
- package/docs-dev/sass/components/list-inline/index.html +847 -326
- package/docs-dev/sass/components/list-lines/index.html +847 -326
- package/docs-dev/sass/components/list-ordered/index.html +847 -326
- package/docs-dev/sass/components/list-unordered/index.html +847 -326
- package/docs-dev/sass/components/menu-stack/index.html +881 -347
- package/docs-dev/sass/components/modal/index.html +891 -342
- package/docs-dev/sass/components/nav-strip/index.html +855 -334
- package/docs-dev/sass/components/overlay-section/index.html +855 -334
- package/docs-dev/sass/components/pager/index.html +847 -326
- package/docs-dev/sass/components/placeholder-block/index.html +847 -326
- package/docs-dev/sass/components/popover/index.html +904 -347
- package/docs-dev/sass/components/pull-quote/index.html +859 -338
- package/docs-dev/sass/components/ratio-box/index.html +855 -334
- package/docs-dev/sass/components/rule/index.html +848 -327
- package/docs-dev/sass/components/scroll-slider/index.html +855 -346
- package/docs-dev/sass/components/skip-link/index.html +847 -326
- package/docs-dev/sass/components/slider/index.html +897 -388
- package/docs-dev/sass/components/spoke-spinner/index.html +849 -328
- package/docs-dev/sass/components/sticky-list/index.html +5633 -0
- package/docs-dev/sass/components/tabs/index.html +872 -336
- package/docs-dev/sass/components/tag/index.html +849 -328
- package/docs-dev/sass/components/tile-button/index.html +847 -326
- package/docs-dev/sass/components/tile-grid/index.html +847 -326
- package/docs-dev/sass/components/tile-grid-overlay/index.html +847 -326
- package/docs-dev/sass/components/vignette/index.html +861 -334
- package/docs-dev/sass/components/wysiwyg/index.html +847 -326
- package/docs-dev/sass/core/breakpoint/index.html +931 -358
- package/docs-dev/sass/core/button/index.html +847 -326
- package/docs-dev/sass/core/color/index.html +1019 -366
- package/docs-dev/sass/core/cssvar/index.html +847 -326
- package/docs-dev/sass/core/element/index.html +1108 -381
- package/docs-dev/sass/core/index.html +847 -326
- package/docs-dev/sass/core/layout/index.html +903 -363
- package/docs-dev/sass/core/path/index.html +847 -326
- package/docs-dev/sass/core/selector/index.html +847 -326
- package/docs-dev/sass/core/typography/index.html +847 -326
- package/docs-dev/sass/core/units/index.html +857 -330
- package/docs-dev/sass/core/utils/index.html +2104 -476
- package/docs-dev/sass/helpers/color/index.html +847 -326
- package/docs-dev/sass/helpers/display/index.html +848 -327
- package/docs-dev/sass/helpers/index/index.html +847 -326
- package/docs-dev/sass/helpers/index.html +850 -327
- package/docs-dev/sass/helpers/print/index.html +759 -298
- package/docs-dev/sass/helpers/typography/index.html +847 -326
- package/docs-dev/sass/helpers/units/index.html +847 -326
- package/docs-dev/sass/helpers/utilities/index.html +849 -328
- package/docs-dev/sass/index.html +850 -327
- package/js/index.js +1 -0
- package/js/settings.js +95 -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 +85 -42
- 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 +105 -59
- 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/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/css.js +13 -0
- package/js/utils/dom.js +23 -64
- package/js/utils/font-awesome.js +18 -0
- package/js/utils/index.js +2 -1
- package/js/utils/system.js +155 -0
- package/package.json +23 -8
- package/scss/README.md +4 -0
- package/scss/_breakpoint.scss +38 -4
- package/scss/_color.scss +40 -9
- package/scss/_element.scss +108 -2
- package/scss/_layout.scss +7 -8
- package/scss/_units.scss +3 -2
- package/scss/_utils.scss +380 -16
- package/scss/components/README.todos +14 -0
- package/scss/components/_accordion.scss +33 -19
- package/scss/components/_badge.scss +23 -4
- package/scss/components/_basic-hero.scss +112 -0
- package/scss/components/_button-verbose.scss +100 -18
- package/scss/components/_callout.scss +125 -78
- package/scss/components/_captioned-figure.scss +17 -0
- package/scss/components/_card-grid.scss +1 -1
- package/scss/components/_card.scss +246 -74
- package/scss/components/_counter-list.scss +151 -0
- package/scss/components/_css-icon.scss +25 -21
- package/scss/components/_data-grid.scss +55 -9
- package/scss/components/_data-table.scss +39 -3
- package/scss/components/_flipcard.scss +8 -3
- package/scss/components/_form-theme.scss +119 -108
- package/scss/components/_hero.scss +12 -10
- package/scss/components/_index.scss +18 -0
- package/scss/components/_menu-stack.scss +42 -26
- package/scss/components/_modal.scss +42 -26
- package/scss/components/_nav-strip.scss +2 -0
- package/scss/components/_overlay-section.scss +2 -5
- package/scss/components/_popover.scss +165 -64
- package/scss/components/_pull-quote.scss +13 -13
- 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/_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/_vignette.scss +3 -5
- package/scss/helpers/_display.scss +15 -18
- package/scss/helpers/_print.scss +12 -7
- package/scss/helpers/_utilities.scss +42 -32
- package/types/index.d.ts +1 -0
- package/types/settings.d.ts +66 -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 +2 -1
- package/types/ui/modal-builder.d.ts +113 -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/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 +2 -1
- package/types/utils/system.d.ts +113 -0
- package/types/utils/system.d.ts.map +1 -0
|
@@ -19,12 +19,20 @@ $-fallbacks: (
|
|
|
19
19
|
"link-border-radius" : (
|
|
20
20
|
"function" : meta.get-function("get", false, "button"),
|
|
21
21
|
"property" : "border-radius"
|
|
22
|
+
),
|
|
23
|
+
"label-line-height" : (
|
|
24
|
+
"function" : meta.get-function("get", false, "typography"),
|
|
25
|
+
"property" : "line-height-dense"
|
|
26
|
+
),
|
|
27
|
+
"link-line-height" : (
|
|
28
|
+
"function" : meta.get-function("get", false, "typography"),
|
|
29
|
+
"property" : "line-height-dense"
|
|
22
30
|
)
|
|
23
31
|
);
|
|
24
32
|
|
|
25
33
|
/// Module Settings
|
|
26
34
|
/// @type Map
|
|
27
|
-
/// @prop {Dimension}
|
|
35
|
+
/// @prop {Dimension} selectable-input-width [3em] The width of the checkbox/radio input
|
|
28
36
|
/// @prop {Boolean} link-separated-margin [false] Enables a margin between the items in the menu-stack.
|
|
29
37
|
/// @prop {Boolean} link-separated-rule-style [false] Enables a rule between the items in the menu-stack.
|
|
30
38
|
/// @prop {Dimension} nested-indent [0.5em] The indentation of child lists within the menu-stack.
|
|
@@ -36,7 +44,8 @@ $-fallbacks: (
|
|
|
36
44
|
/// @prop {Color} label-color [null] The type color of the label.
|
|
37
45
|
/// @prop {Dimension} label-margin [0.5em] The margin of the label.
|
|
38
46
|
/// @prop {CssValue} label-text-transform [uppercase] Transforms the label text.
|
|
39
|
-
/// @prop {CssValue} label-type-size [false] Adjusts the type size of the label.
|
|
47
|
+
/// @prop {CssValue} label-type-size [false] Adjusts the type size of the label. Only uses font-size from type size.
|
|
48
|
+
/// @prop {CssValue} label-line-height [true] Adjust the label line-height, defaults to typography line-height-dense
|
|
40
49
|
/// @prop {list} link-active-selectors [(.is-active, '[aria-current=page]')] Selectors to apply active styling.
|
|
41
50
|
/// @prop {Color} link-background-color [transparent] The background color of the menu-stack toggle.
|
|
42
51
|
/// @prop {Color} link-background-color-active [rgb(219, 219, 219)] The background color of the menu-stack toggle when active.
|
|
@@ -46,6 +55,7 @@ $-fallbacks: (
|
|
|
46
55
|
/// @prop {Color} link-color-active [black] The type color of the menu-stack toggle when active.
|
|
47
56
|
/// @prop {String} link-color-hover [link-hover] The type color of the menu-stack toggle when hovered or focused. This uses color.scss, so the value of this option should be a color variable from color.scss.
|
|
48
57
|
/// @prop {CssValue} link-font-weight [null] The font weight of the menu-stack toggle.
|
|
58
|
+
/// @prop {CssValue} label-line-height [true] Adjust the link line-height, defaults to typography line-height-dense
|
|
49
59
|
/// @prop {Dimension} link-icon-margin [0.65em] Adds a right margin to the icon.
|
|
50
60
|
/// @prop {Dimension} link-icon-width [1em] The width of the icon.
|
|
51
61
|
/// @prop {Dimension} link-margin [0.2em] Margin for the menu-stack toggle.
|
|
@@ -53,34 +63,35 @@ $-fallbacks: (
|
|
|
53
63
|
/// @prop {Dimension} link-padding-y [0.35em] Vertical padding for menu-stack toggle.
|
|
54
64
|
|
|
55
65
|
$config: (
|
|
56
|
-
"
|
|
66
|
+
"selectable-input-width" : 3em,
|
|
57
67
|
"nested-indent" : 0.5em,
|
|
58
|
-
"rule-style" : "
|
|
68
|
+
"rule-style" : "light",
|
|
59
69
|
"rule-margin" : 0.5em,
|
|
60
|
-
"link-separated-margin" : false,
|
|
61
|
-
"link-separated-rule-style" : false,
|
|
62
70
|
"toggle-icon-rotate" : false,
|
|
63
|
-
"compact-link-padding-x": 0.75em,
|
|
64
|
-
"compact-link-padding-y": 0.25em,
|
|
65
|
-
|
|
66
71
|
"label-color" : null,
|
|
67
72
|
"label-margin" : 0.5em,
|
|
68
73
|
"label-text-transform" : uppercase,
|
|
69
74
|
"label-type-size" : false,
|
|
75
|
+
"label-line-height" : true,
|
|
76
|
+
"link-separated-margin" : false,
|
|
77
|
+
"link-separated-rule-style" : false,
|
|
70
78
|
"link-active-selectors" : (".is-active", '[aria-current="page"]'),
|
|
71
79
|
"link-background-color" : transparent,
|
|
72
80
|
"link-background-color-active" : rgb(219, 219, 219),
|
|
73
|
-
"link-background-color-hover" : rgb(
|
|
81
|
+
"link-background-color-hover" : rgb(240, 240, 240),
|
|
74
82
|
"link-border-radius" : true,
|
|
75
83
|
"link-color" : "link",
|
|
76
84
|
"link-color-active" : black,
|
|
77
85
|
"link-color-hover" : "link-hover",
|
|
78
86
|
"link-font-weight" : null,
|
|
87
|
+
"link-line-height" : true,
|
|
79
88
|
"link-icon-margin" : 0.65em,
|
|
80
89
|
"link-icon-width" : 1em,
|
|
81
90
|
"link-margin" : 0.2em,
|
|
82
|
-
"link-padding-x":
|
|
83
|
-
"link-padding-y": 0.
|
|
91
|
+
"link-padding-x": 1.25em,
|
|
92
|
+
"link-padding-y": 0.5em,
|
|
93
|
+
"compact-link-padding-x": 0.75em,
|
|
94
|
+
"compact-link-padding-y": 0.25em,
|
|
84
95
|
) !default;
|
|
85
96
|
|
|
86
97
|
|
|
@@ -116,6 +127,7 @@ $config: (
|
|
|
116
127
|
|
|
117
128
|
@mixin styles {
|
|
118
129
|
$prefix: selector.class("menu-stack");
|
|
130
|
+
$selectable-y: (get("link-padding-y") + get("link-margin"));
|
|
119
131
|
|
|
120
132
|
#{ $prefix }--separated {
|
|
121
133
|
border-top: element.get-rule-style(get("rule-style"));
|
|
@@ -126,6 +138,7 @@ $config: (
|
|
|
126
138
|
text-transform: get("label-text-transform");
|
|
127
139
|
padding-bottom: get("label-margin");
|
|
128
140
|
color: color.get(get("label-color"));
|
|
141
|
+
line-height: get("label-line-height");
|
|
129
142
|
@if (get("label-type-size")) {
|
|
130
143
|
@include typography.size(get("label-type-size"), $only-font-size: true);
|
|
131
144
|
}
|
|
@@ -150,7 +163,7 @@ $config: (
|
|
|
150
163
|
// - Use the modifier "site-menu--contained" to keep the links within
|
|
151
164
|
// the parent container (no optical alignment), should be within something that contains it
|
|
152
165
|
#{ $prefix }__link,
|
|
153
|
-
#{ $prefix }
|
|
166
|
+
#{ $prefix }__selectable,
|
|
154
167
|
#{ $prefix }__toggle {
|
|
155
168
|
width: 100%;
|
|
156
169
|
display: flex;
|
|
@@ -159,6 +172,7 @@ $config: (
|
|
|
159
172
|
margin: get("link-margin") 0;
|
|
160
173
|
border-radius: get("link-border-radius");
|
|
161
174
|
font-weight: get("link-font-weight");
|
|
175
|
+
line-height: get("link-line-height");
|
|
162
176
|
color: color.get(get("link-color"));
|
|
163
177
|
background-color: color.get(get("link-background-color"));
|
|
164
178
|
box-sizing: border-box;
|
|
@@ -177,19 +191,21 @@ $config: (
|
|
|
177
191
|
}
|
|
178
192
|
}
|
|
179
193
|
}
|
|
180
|
-
#{ $prefix }
|
|
181
|
-
$checkbox-y: (get("link-padding-y") + get("link-margin"));
|
|
194
|
+
#{ $prefix }__selectable {
|
|
182
195
|
padding: 0;
|
|
183
196
|
position: relative;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
197
|
+
}
|
|
198
|
+
#{ $prefix }__selectable [type="checkbox"],
|
|
199
|
+
#{ $prefix }__selectable [type="radio"],
|
|
200
|
+
#{ $prefix }__selectable-input {
|
|
201
|
+
position: absolute;
|
|
202
|
+
top: $selectable-y;
|
|
203
|
+
left: get("link-padding-x");
|
|
204
|
+
}
|
|
205
|
+
#{ $prefix }__selectable label,
|
|
206
|
+
#{ $prefix }__selectable-label {
|
|
207
|
+
width: 100%;
|
|
208
|
+
padding: $selectable-y get("link-padding-x") $selectable-y get("selectable-input-width");
|
|
193
209
|
}
|
|
194
210
|
#{ $prefix }__link-text {
|
|
195
211
|
display: block;
|
|
@@ -220,8 +236,8 @@ $config: (
|
|
|
220
236
|
|
|
221
237
|
// Link buttons hang outside in margin so that text optically aligns
|
|
222
238
|
#{ $prefix }--hanging {
|
|
223
|
-
padding-left: get("link-padding-x");
|
|
224
|
-
padding-right: get("link-padding-x");
|
|
239
|
+
// padding-left: get("link-padding-x");
|
|
240
|
+
// padding-right: get("link-padding-x");
|
|
225
241
|
> #{ $prefix }__list > #{ $prefix }__item {
|
|
226
242
|
> #{ $prefix }__link,
|
|
227
243
|
>#{ $prefix }__collapsible > #{ $prefix }__toggle {
|
|
@@ -53,9 +53,13 @@ $-fallbacks: (
|
|
|
53
53
|
/// @prop {CssValue} header-border-bottom [none] Bottom-border on the modal header.
|
|
54
54
|
/// @prop {Color} header-color [white] Type color of the header.
|
|
55
55
|
/// @prop {Dimension} header-padding [1rem] The padding of the modal header.
|
|
56
|
+
/// @prop {Dimension} footer-padding [(0.5rem 1rem)] The padding of the modal footer.
|
|
57
|
+
/// @prop {Color} footer-background-color [(0.5rem 1rem)] The background color of the footer
|
|
58
|
+
/// @prop {Color} footer-border-top [(0.5rem 1rem)] The border between body and footer
|
|
59
|
+
/// @prop {CssValue} footer-text-align [right] Text alignment for footer
|
|
56
60
|
/// @prop {Color} resizer-background-color [rgb(221, 221, 221)] The background color of the resizer.
|
|
57
|
-
/// @prop {Color} resizer-background-color-hover [rgb(
|
|
58
|
-
/// @prop {Color} resizer-color [
|
|
61
|
+
/// @prop {Color} resizer-background-color-hover [rgb(192, 192, 192)] The background color of the resizer when hovered or focused.
|
|
62
|
+
/// @prop {Color} resizer-color [rgb(99, 99, 99)] The type color of the resizer.
|
|
59
63
|
/// @prop {Color} resizer-color-hover [black] The type color of the resizer when hovered or focused.
|
|
60
64
|
/// @prop {Dimension} resizer-width [1rem] The width of the resizer.
|
|
61
65
|
/// @prop {Color} title-color [white] Type color of the title.
|
|
@@ -69,14 +73,14 @@ $-fallbacks: (
|
|
|
69
73
|
$config: (
|
|
70
74
|
"backdrop-color" : true,
|
|
71
75
|
"backdrop-blur" : 4px,
|
|
72
|
-
"background-color":
|
|
73
|
-
"body-padding":
|
|
76
|
+
"background-color" : white,
|
|
77
|
+
"body-padding" : 1rem,
|
|
74
78
|
"border-radius" : true,
|
|
75
79
|
"box-shadow" : true,
|
|
76
80
|
"height": 340px,
|
|
77
81
|
"height-no-header": 100px,
|
|
78
82
|
"width": 60rem,
|
|
79
|
-
|
|
83
|
+
"width-left-right" : 30rem,
|
|
80
84
|
"animation-duration" : 300ms,
|
|
81
85
|
"animation-duration-exit" : 150ms,
|
|
82
86
|
"animation-timing-function" : cubic-bezier(0, 0, .2, 1),
|
|
@@ -91,11 +95,15 @@ $config: (
|
|
|
91
95
|
"header-border-bottom": none,
|
|
92
96
|
"header-color": white,
|
|
93
97
|
"header-padding": 1rem,
|
|
98
|
+
"footer-padding" : (0.5rem 1rem),
|
|
99
|
+
"footer-background-color" : #f6f6f6,
|
|
100
|
+
"footer-border-top" : none,
|
|
101
|
+
"footer-text-align" : right,
|
|
94
102
|
"resizer-background-color": rgb(221, 221, 221),
|
|
95
|
-
"resizer-background-color-hover": rgb(
|
|
96
|
-
"resizer-color":
|
|
103
|
+
"resizer-background-color-hover": rgb(192, 192, 192),
|
|
104
|
+
"resizer-color": rgb(99, 99, 99),
|
|
97
105
|
"resizer-color-hover": black,
|
|
98
|
-
"resizer-width":
|
|
106
|
+
"resizer-width": 1.25rem,
|
|
99
107
|
"title-color": white,
|
|
100
108
|
"title-font-weight": bold,
|
|
101
109
|
"title-font-family" : null,
|
|
@@ -142,6 +150,7 @@ $config: (
|
|
|
142
150
|
#{ $prefix } {
|
|
143
151
|
// Required for click outside
|
|
144
152
|
position: fixed;
|
|
153
|
+
flex-direction: column;
|
|
145
154
|
// Important: If you use the margin layout system (ie. auto) on dialogs they
|
|
146
155
|
// can't animate out correctly (thinking it jumps from dialog display system
|
|
147
156
|
// to normal block and doesn't work. This ALSO affects the z-index (seems to move from top-layer to normal layer). Z-index is for close
|
|
@@ -165,9 +174,8 @@ $config: (
|
|
|
165
174
|
box-sizing: border-box;
|
|
166
175
|
animation: uluModalCenterOut get("animation-duration-exit") get("animation-timing-function");
|
|
167
176
|
&[open] {
|
|
168
|
-
animation: uluModalCenterIn get("animation-duration") get("animation-timing-function");
|
|
169
177
|
display: flex;
|
|
170
|
-
|
|
178
|
+
animation: uluModalCenterIn get("animation-duration") get("animation-timing-function");
|
|
171
179
|
}
|
|
172
180
|
&::backdrop {
|
|
173
181
|
background: color.get(get("backdrop-color"));
|
|
@@ -190,6 +198,13 @@ $config: (
|
|
|
190
198
|
overflow: auto;
|
|
191
199
|
padding: get("body-padding");
|
|
192
200
|
}
|
|
201
|
+
#{ $prefix }__footer {
|
|
202
|
+
flex: 0;
|
|
203
|
+
padding: get("footer-padding");
|
|
204
|
+
background-color: color.get(get("footer-background-color"));
|
|
205
|
+
border-top: get("footer-border-top");
|
|
206
|
+
text-align: get("footer-text-align");
|
|
207
|
+
}
|
|
193
208
|
#{ $prefix }__title {
|
|
194
209
|
display: flex;
|
|
195
210
|
align-items: baseline;
|
|
@@ -247,12 +262,6 @@ $config: (
|
|
|
247
262
|
right: 0;
|
|
248
263
|
}
|
|
249
264
|
}
|
|
250
|
-
#{ $prefix }__content {
|
|
251
|
-
margin-top: 2rem;
|
|
252
|
-
margin-bottom: 2rem;
|
|
253
|
-
line-height: 1.5;
|
|
254
|
-
color: rgba(0,0,0,.8);
|
|
255
|
-
}
|
|
256
265
|
|
|
257
266
|
// Modifiers
|
|
258
267
|
@each $name, $size-width in get("sizes") {
|
|
@@ -260,10 +269,17 @@ $config: (
|
|
|
260
269
|
width: $size-width;
|
|
261
270
|
}
|
|
262
271
|
}
|
|
272
|
+
|
|
273
|
+
#{ $prefix }--fullscreen {
|
|
274
|
+
width: 100%;
|
|
275
|
+
height: 100%;
|
|
276
|
+
border-radius: 0;
|
|
277
|
+
}
|
|
263
278
|
#{ $prefix }--right,
|
|
264
279
|
#{ $prefix }--left {
|
|
265
280
|
border-radius: 0;
|
|
266
281
|
height: 100vh;
|
|
282
|
+
width: get("width-left-right");
|
|
267
283
|
top: 0;
|
|
268
284
|
bottom: 0;
|
|
269
285
|
transform: none;
|
|
@@ -370,13 +386,13 @@ $config: (
|
|
|
370
386
|
to {
|
|
371
387
|
opacity: 1;
|
|
372
388
|
transform: translate(-50%, -50%);
|
|
373
|
-
display:
|
|
389
|
+
display: flex;
|
|
374
390
|
}
|
|
375
391
|
}
|
|
376
392
|
@keyframes uluModalCenterOut {
|
|
377
393
|
from {
|
|
378
394
|
opacity: 1;
|
|
379
|
-
display:
|
|
395
|
+
display: flex;
|
|
380
396
|
transform: translate(-50%, -50%);
|
|
381
397
|
}
|
|
382
398
|
to {
|
|
@@ -394,13 +410,13 @@ $config: (
|
|
|
394
410
|
to {
|
|
395
411
|
opacity: 1;
|
|
396
412
|
transform: translate(-50%, 0);
|
|
397
|
-
display:
|
|
413
|
+
display: flex;
|
|
398
414
|
}
|
|
399
415
|
}
|
|
400
416
|
@keyframes uluModalTopOut {
|
|
401
417
|
from {
|
|
402
418
|
opacity: 1;
|
|
403
|
-
display:
|
|
419
|
+
display: flex;
|
|
404
420
|
transform: translate(-50%, 0);
|
|
405
421
|
}
|
|
406
422
|
to {
|
|
@@ -418,13 +434,13 @@ $config: (
|
|
|
418
434
|
to {
|
|
419
435
|
opacity: 1;
|
|
420
436
|
transform: translate(-50%, 0);
|
|
421
|
-
display:
|
|
437
|
+
display: flex;
|
|
422
438
|
}
|
|
423
439
|
}
|
|
424
440
|
@keyframes uluModalBottomOut {
|
|
425
441
|
from {
|
|
426
442
|
opacity: 1;
|
|
427
|
-
display:
|
|
443
|
+
display: flex;
|
|
428
444
|
transform: translate(-50%, 0);
|
|
429
445
|
}
|
|
430
446
|
to {
|
|
@@ -442,13 +458,13 @@ $config: (
|
|
|
442
458
|
to {
|
|
443
459
|
opacity: 1;
|
|
444
460
|
transform: translateX(0);
|
|
445
|
-
display:
|
|
461
|
+
display: flex;
|
|
446
462
|
}
|
|
447
463
|
}
|
|
448
464
|
@keyframes uluModalLeftOut {
|
|
449
465
|
from {
|
|
450
466
|
opacity: 1;
|
|
451
|
-
display:
|
|
467
|
+
display: flex;
|
|
452
468
|
transform: translateX(0);
|
|
453
469
|
}
|
|
454
470
|
to {
|
|
@@ -466,13 +482,13 @@ $config: (
|
|
|
466
482
|
to {
|
|
467
483
|
opacity: 1;
|
|
468
484
|
transform: translateX(0);
|
|
469
|
-
display:
|
|
485
|
+
display: flex;
|
|
470
486
|
}
|
|
471
487
|
}
|
|
472
488
|
@keyframes uluModalRightOut {
|
|
473
489
|
from {
|
|
474
490
|
opacity: 1;
|
|
475
|
-
display:
|
|
491
|
+
display: flex;
|
|
476
492
|
transform: translateX(0);
|
|
477
493
|
}
|
|
478
494
|
to {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
@use "../utils";
|
|
11
11
|
@use "../color";
|
|
12
12
|
@use "../selector";
|
|
13
|
+
@use "../layout";
|
|
13
14
|
@use "../typography";
|
|
14
15
|
|
|
15
16
|
/// Module Settings
|
|
@@ -88,6 +89,7 @@ $config: (
|
|
|
88
89
|
overflow-x: auto;
|
|
89
90
|
line-height: typography.get("line-height-dense");
|
|
90
91
|
gap: get("margin-between");
|
|
92
|
+
@include layout.remove-scrollbar();
|
|
91
93
|
}
|
|
92
94
|
#{ $prefix }__item,
|
|
93
95
|
#{ $prefix }--auto li {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@use "../utils";
|
|
10
10
|
@use "../breakpoint";
|
|
11
11
|
@use "../color";
|
|
12
|
+
@use "../layout";
|
|
12
13
|
|
|
13
14
|
/// Module Settings
|
|
14
15
|
/// @type Map
|
|
@@ -81,11 +82,7 @@ $config: (
|
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
.overlay-section__background {
|
|
84
|
-
|
|
85
|
-
top: 0;
|
|
86
|
-
left: 0;
|
|
87
|
-
right: 0;
|
|
88
|
-
bottom: 0;
|
|
85
|
+
@include layout.absolute-fill();
|
|
89
86
|
img,
|
|
90
87
|
video {
|
|
91
88
|
object-fit: cover;
|
|
@@ -29,38 +29,41 @@ $-fallbacks: (
|
|
|
29
29
|
|
|
30
30
|
/// Module Settings
|
|
31
31
|
/// @type Map
|
|
32
|
-
/// @prop {Dimension} arrow-size [16px]
|
|
33
|
-
/// @prop {
|
|
34
|
-
/// @prop {
|
|
35
|
-
/// @prop {Color} color [
|
|
36
|
-
/// @prop {Dimension}
|
|
37
|
-
/// @prop {
|
|
38
|
-
/// @prop {Dimension}
|
|
39
|
-
/// @prop {Dimension}
|
|
40
|
-
/// @prop {Dimension}
|
|
41
|
-
/// @prop {
|
|
42
|
-
/// @prop {
|
|
43
|
-
/// @prop {
|
|
44
|
-
/// @prop {
|
|
45
|
-
/// @prop {Color} header-background-color [#ccc]
|
|
46
|
-
/// @prop {Color} header-color [null]
|
|
47
|
-
/// @prop {Color} header-media-background-color [black]
|
|
48
|
-
/// @prop {Dimension} header-padding-y [0.25rem]
|
|
49
|
-
/// @prop {Color} footer-background-color [#ccc]
|
|
50
|
-
/// @prop {Color} footer-
|
|
51
|
-
/// @prop {
|
|
52
|
-
/// @prop {Dimension} footer-padding-y
|
|
53
|
-
/// @prop {
|
|
54
|
-
/// @prop {Color} tooltip-color [
|
|
55
|
-
/// @prop {
|
|
56
|
-
/// @prop {Dimension} tooltip-
|
|
57
|
-
/// @prop {Dimension} tooltip-
|
|
58
|
-
/// @prop {Dimension} width [
|
|
59
|
-
/// @prop {Dimension} width
|
|
60
|
-
/// @prop {Dimension} width-large
|
|
32
|
+
/// @prop {Dimension} arrow-size [16px] Size of the dropdown arrow.
|
|
33
|
+
/// @prop {Boolean} arrow-box-shadow [true] When true the arrow will get the popover's box shadow. Note if the box shadow is not a list (for example custom property), the mask won't be calculated from the box-shadow (use arrow-box-shadow-extent to specify manually)
|
|
34
|
+
/// @prop {Number} arrow-box-shadow-extent [null] If set will determine the amount of overlap added to the arrow mask, else it's calculated automatically by the box-shadow option (can be used if box-shadow is custom property)
|
|
35
|
+
/// @prop {Color} background-color [white] Background color of the popover.
|
|
36
|
+
/// @prop {Dimension} border-radius [6px] Border radius of the popover.
|
|
37
|
+
/// @prop {Color} color [inherit] Text color of the popover.
|
|
38
|
+
/// @prop {Dimension} max-width [90vw] Max width of the popover.
|
|
39
|
+
/// @prop {Dimension} max-height [25rem] Max height of the popover.
|
|
40
|
+
/// @prop {Dimension} padding [1rem] Padding of the popover.
|
|
41
|
+
/// @prop {Dimension} padding-large [2rem] Padding of the popover if using "--large" or "--large-x" styling.
|
|
42
|
+
/// @prop {Dimension} type-size [null] Font size of the popover.
|
|
43
|
+
/// @prop {Number} z-index [true] z-index of the popover.
|
|
44
|
+
/// @prop {CssValue} box-shadow [true] Box shadow of the popover.
|
|
45
|
+
/// @prop {Color} header-background-color [#ccc] Background color of the popover header
|
|
46
|
+
/// @prop {Color} header-color [null] Text color for the header.
|
|
47
|
+
/// @prop {Color} header-media-background-color [black] background color for header media.
|
|
48
|
+
/// @prop {Dimension} header-padding-y [0.25rem] Vertical padding of the header.
|
|
49
|
+
/// @prop {Color} footer-background-color [#ccc] Background color of the footer.
|
|
50
|
+
/// @prop {Color} footer-border-top [1px solid #dfdfdf] Optional border used to separate the content from footer
|
|
51
|
+
/// @prop {Color} footer-color [null] Text color of the footer.
|
|
52
|
+
/// @prop {Dimension} footer-padding-y [0.25rem] Vertical padding of the footer.
|
|
53
|
+
/// @prop {Dimension} footer-padding-y-large [0.5rem] Vertical padding of the footer if using "--large" or "--large-x" styling.
|
|
54
|
+
/// @prop {Color} tooltip-background-color [white] Background color of the tooltip.
|
|
55
|
+
/// @prop {Color} tooltip-color [null] Font color of the tooltip.
|
|
56
|
+
/// @prop {Dimension} tooltip-max-width [20rem] Max width of the tooltip.
|
|
57
|
+
/// @prop {Dimension} tooltip-padding [0.5rem] Padding of the tooltip.
|
|
58
|
+
/// @prop {Dimension} tooltip-width [auto] Width of the tooltip.
|
|
59
|
+
/// @prop {Dimension} width [15rem] Width of the popover.
|
|
60
|
+
/// @prop {Dimension} width-large [30rem] Width of the popover if using "--large".
|
|
61
|
+
/// @prop {Dimension} width-large-x [50rem] Width of the popover if using "--large-x".
|
|
61
62
|
|
|
62
63
|
$config: (
|
|
63
64
|
"arrow-size" : 16px,
|
|
65
|
+
"arrow-box-shadow" : true,
|
|
66
|
+
"arrow-box-shadow-extent" : null,
|
|
64
67
|
"background-color" : white,
|
|
65
68
|
"border-radius" : 6px,
|
|
66
69
|
"color" : inherit,
|
|
@@ -70,14 +73,12 @@ $config: (
|
|
|
70
73
|
"padding-large" : 2rem,
|
|
71
74
|
"type-size" : null,
|
|
72
75
|
"z-index" : true,
|
|
73
|
-
|
|
74
76
|
"box-shadow" : true,
|
|
75
|
-
"box-shadow-footer" : 0 0 4px,
|
|
76
|
-
"box-shadow-footer-color" : "box-shadow",
|
|
77
77
|
"header-background-color" : #ccc,
|
|
78
78
|
"header-color" : null,
|
|
79
79
|
"header-media-background-color": black,
|
|
80
80
|
"header-padding-y" : 0.25rem,
|
|
81
|
+
"footer-border-top" : 1px solid #dfdfdf,
|
|
81
82
|
"footer-background-color" : #ccc,
|
|
82
83
|
"footer-color" : null,
|
|
83
84
|
"footer-padding-y" : 0.25rem,
|
|
@@ -117,39 +118,9 @@ $config: (
|
|
|
117
118
|
|
|
118
119
|
@mixin styles {
|
|
119
120
|
$prefix: selector.class("popover");
|
|
120
|
-
$arrow-size-half: math.div(get("arrow-size"), 2);
|
|
121
121
|
|
|
122
122
|
@if (get("arrow-size")) {
|
|
123
|
-
|
|
124
|
-
display: block;
|
|
125
|
-
visibility: hidden;
|
|
126
|
-
z-index: 1;
|
|
127
|
-
&,
|
|
128
|
-
&:before {
|
|
129
|
-
position: absolute;
|
|
130
|
-
width: get("arrow-size");
|
|
131
|
-
height: get("arrow-size");
|
|
132
|
-
background: inherit;
|
|
133
|
-
}
|
|
134
|
-
&:before {
|
|
135
|
-
visibility: visible;
|
|
136
|
-
content: '';
|
|
137
|
-
transform: rotate(45deg);
|
|
138
|
-
// box-shadow: $box-shadow;
|
|
139
|
-
}
|
|
140
|
-
[data-placement^='top'] > & {
|
|
141
|
-
bottom: -($arrow-size-half);
|
|
142
|
-
}
|
|
143
|
-
[data-placement^='bottom'] > & {
|
|
144
|
-
top: -($arrow-size-half);
|
|
145
|
-
}
|
|
146
|
-
[data-placement^='left'] > & {
|
|
147
|
-
right: -($arrow-size-half);
|
|
148
|
-
}
|
|
149
|
-
[data-placement^='right'] > & {
|
|
150
|
-
left: -($arrow-size-half);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
123
|
+
@include -arrow-styles();
|
|
153
124
|
}
|
|
154
125
|
// Default position is on the right of the container (Popper handles positioning)
|
|
155
126
|
#{ $prefix } {
|
|
@@ -197,7 +168,7 @@ $config: (
|
|
|
197
168
|
background-color: color.get(get("header-media-background-color"));
|
|
198
169
|
}
|
|
199
170
|
#{ $prefix }__footer {
|
|
200
|
-
|
|
171
|
+
border-top: get("footer-border-top");
|
|
201
172
|
padding: get("footer-padding-y") get("padding");
|
|
202
173
|
color: color.get(get("footer-color"));
|
|
203
174
|
background-color: color.get(get("footer-background-color"));
|
|
@@ -260,4 +231,134 @@ $config: (
|
|
|
260
231
|
}
|
|
261
232
|
}
|
|
262
233
|
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@mixin -arrow-styles() {
|
|
237
|
+
@if get("arrow-box-shadow") {
|
|
238
|
+
@include -arrow-styles-with-box-shadow();
|
|
239
|
+
} @else {
|
|
240
|
+
@include -arrow-styles-simple();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// Internal mixin for original arrow styles without box-shadow
|
|
245
|
+
@mixin -arrow-styles-simple() {
|
|
246
|
+
$prefix: selector.class("popover");
|
|
247
|
+
$size: get("arrow-size");
|
|
248
|
+
$half: math.div($size, 2);
|
|
249
|
+
|
|
250
|
+
#{ $prefix }__arrow {
|
|
251
|
+
visibility: hidden;
|
|
252
|
+
z-index: 1;
|
|
253
|
+
&,
|
|
254
|
+
&::before {
|
|
255
|
+
display: block;
|
|
256
|
+
position: absolute;
|
|
257
|
+
width: $size;
|
|
258
|
+
height: $size;
|
|
259
|
+
background: inherit;
|
|
260
|
+
}
|
|
261
|
+
&::before {
|
|
262
|
+
visibility: visible;
|
|
263
|
+
content: '';
|
|
264
|
+
transform: rotate(45deg);
|
|
265
|
+
}
|
|
266
|
+
[data-placement^="top"] > & {
|
|
267
|
+
bottom: -($half);
|
|
268
|
+
}
|
|
269
|
+
[data-placement^="bottom"] > & {
|
|
270
|
+
top: -($half);
|
|
271
|
+
}
|
|
272
|
+
[data-placement^="left"] > & {
|
|
273
|
+
right: -($half);
|
|
274
|
+
}
|
|
275
|
+
[data-placement^="right"] > & {
|
|
276
|
+
left: -($half);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// Account for footer and change arrow color when positioned next to it
|
|
280
|
+
#{ $prefix }__footer ~ #{ $prefix }__arrow {
|
|
281
|
+
[data-placement^="top"] > & {
|
|
282
|
+
&::before {
|
|
283
|
+
background-color: get("footer-background-color");
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// Internal mixin for arrow styles when using the mask (extra pseudo element)
|
|
290
|
+
@mixin -arrow-styles-with-box-shadow() {
|
|
291
|
+
$prefix: selector.class("popover");
|
|
292
|
+
$box-shadow: get("box-shadow");
|
|
293
|
+
$size: get("arrow-size");
|
|
294
|
+
$half: math.div($size, 2);
|
|
295
|
+
$size-info: utils.number-info($size);
|
|
296
|
+
$unitless: map.get($size-info, "value");
|
|
297
|
+
$unit: map.get($size-info, "unit");
|
|
298
|
+
$hypotenuse: utils.hypotenuse($unitless, $unitless);
|
|
299
|
+
$hypotenuse-half: math.div($hypotenuse, 2);
|
|
300
|
+
$manual-extent: get("arrow-box-shadow-extent");
|
|
301
|
+
$shadow-extent: if(
|
|
302
|
+
$manual-extent,
|
|
303
|
+
$manual-extent,
|
|
304
|
+
if(utils.is-list($box-shadow), utils.box-shadow-extent($box-shadow), 5px)
|
|
305
|
+
);
|
|
306
|
+
$overlap: utils.strip-unit($shadow-extent);
|
|
307
|
+
$mask-height: utils.add-unit($hypotenuse-half + $overlap, $unit);
|
|
308
|
+
$mask-width: utils.add-unit($hypotenuse + $overlap, $unit);
|
|
309
|
+
|
|
310
|
+
#{ $prefix }__arrow {
|
|
311
|
+
visibility: hidden;
|
|
312
|
+
z-index: 1;
|
|
313
|
+
&,
|
|
314
|
+
&::before,
|
|
315
|
+
&::after {
|
|
316
|
+
display: block;
|
|
317
|
+
position: absolute;
|
|
318
|
+
width: $size;
|
|
319
|
+
height: $size;
|
|
320
|
+
background: inherit;
|
|
321
|
+
}
|
|
322
|
+
&::before,
|
|
323
|
+
&::after {
|
|
324
|
+
visibility: visible;
|
|
325
|
+
content: '';
|
|
326
|
+
}
|
|
327
|
+
&::before {
|
|
328
|
+
box-shadow: get("box-shadow");
|
|
329
|
+
transform: rotate(45deg);
|
|
330
|
+
}
|
|
331
|
+
// Masking shape
|
|
332
|
+
&::after {
|
|
333
|
+
top: 50%;
|
|
334
|
+
left: 50%;
|
|
335
|
+
transform: translateX(-50%);
|
|
336
|
+
height: $mask-height;
|
|
337
|
+
width: $mask-width;
|
|
338
|
+
}
|
|
339
|
+
[data-placement^="top"] > & {
|
|
340
|
+
bottom: -($half);
|
|
341
|
+
transform: rotate(180deg); // Rotate w. mask
|
|
342
|
+
}
|
|
343
|
+
[data-placement^="bottom"] > & {
|
|
344
|
+
top: -($half);
|
|
345
|
+
}
|
|
346
|
+
[data-placement^="left"] > & {
|
|
347
|
+
right: -($half);
|
|
348
|
+
transform: rotate(90deg); // Rotate w. mask
|
|
349
|
+
}
|
|
350
|
+
[data-placement^="right"] > & {
|
|
351
|
+
left: -($half);
|
|
352
|
+
transform: rotate(-90deg); // Rotate w. mask
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
// Account for footer and change arrow color when positioned next to it
|
|
356
|
+
#{ $prefix }__footer ~ #{ $prefix }__arrow {
|
|
357
|
+
[data-placement^="top"] > & {
|
|
358
|
+
&::before,
|
|
359
|
+
&::after {
|
|
360
|
+
background-color: get("footer-background-color");
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
263
364
|
}
|