@ulu/frontend 0.0.3 → 0.0.5

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.
Files changed (246) hide show
  1. package/package.json +11 -10
  2. package/scss/_grid.scss +0 -1
  3. package/scss/_typography.scss +0 -1
  4. package/scss/helpers/_units.scss +1 -6
  5. package/scss/stylesheets/full.scss +1 -4
  6. package/trash/js-old/deprecated/doc-ready.js +0 -28
  7. package/trash/js-old/deprecated/jquery-prototypes.js +0 -309
  8. package/trash/js-old/deprecated/mini-collapsible-popper-positioning.js +0 -126
  9. package/trash/js-old/deprecated/mini-collapsible.js +0 -607
  10. package/trash/js-old/deprecated/script-loader.js +0 -60
  11. package/trash/js-old/events/index.js +0 -42
  12. package/trash/js-old/helpers/css-breakpoint.js +0 -247
  13. package/trash/js-old/helpers/file-save.js +0 -48
  14. package/trash/js-old/helpers/node-data-manager.js +0 -74
  15. package/trash/js-old/helpers/pause-youtube-video.js +0 -42
  16. package/trash/js-old/index.js +0 -15
  17. package/trash/js-old/polyfills/element-closest.js +0 -17
  18. package/trash/js-old/ui/flipcard.js +0 -202
  19. package/trash/js-old/ui/grid.js +0 -67
  20. package/trash/js-old/ui/modals.js +0 -219
  21. package/trash/js-old/ui/programmatic-modal.js +0 -91
  22. package/trash/js-old/ui/resizer.js +0 -60
  23. package/trash/js-old/ui/slider.js +0 -469
  24. package/trash/js-old/ui/tabs.js +0 -109
  25. package/trash/js-old/ui/tooltip.js +0 -82
  26. package/trash/js-old/utils/array.js +0 -28
  27. package/trash/js-old/utils/dom.js +0 -122
  28. package/trash/js-old/utils/logger.js +0 -69
  29. package/trash/js-old/utils/object.js +0 -22
  30. package/trash/js-old/utils/performance.js +0 -43
  31. package/trash/js-old/utils/regex.js +0 -10
  32. package/trash/js-old/utils/string.js +0 -107
  33. package/trash/js-old/waypoints/README.md +0 -3
  34. package/trash/js-old/waypoints/anchor-menu.js +0 -76
  35. package/trash/js-old/waypoints/element-waypoint.js +0 -75
  36. package/trash/js-old/waypoints/examples/page-link-menu.md +0 -106
  37. package/trash/js-old/waypoints/state-in-attribute.js +0 -32
  38. package/trash/js-old-230729/deprecated/doc-ready.js +0 -28
  39. package/trash/js-old-230729/deprecated/jquery-prototypes.js +0 -309
  40. package/trash/js-old-230729/deprecated/mini-collapsible-popper-positioning.js +0 -126
  41. package/trash/js-old-230729/deprecated/mini-collapsible.js +0 -607
  42. package/trash/js-old-230729/deprecated/script-loader.js +0 -60
  43. package/trash/js-old-230729/events/index.js +0 -42
  44. package/trash/js-old-230729/helpers/css-breakpoint.js +0 -247
  45. package/trash/js-old-230729/helpers/file-save.js +0 -48
  46. package/trash/js-old-230729/helpers/node-data-manager.js +0 -74
  47. package/trash/js-old-230729/helpers/pause-youtube-video.js +0 -42
  48. package/trash/js-old-230729/helpers/scrollbar-width-property.js +0 -10
  49. package/trash/js-old-230729/index.js +0 -15
  50. package/trash/js-old-230729/polyfills/element-closest.js +0 -17
  51. package/trash/js-old-230729/ui/flipcard.js +0 -202
  52. package/trash/js-old-230729/ui/grid.js +0 -67
  53. package/trash/js-old-230729/ui/modals.js +0 -219
  54. package/trash/js-old-230729/ui/overflow-scroller-pager.js +0 -58
  55. package/trash/js-old-230729/ui/overflow-scroller.js +0 -160
  56. package/trash/js-old-230729/ui/programmatic-modal.js +0 -91
  57. package/trash/js-old-230729/ui/resizer.js +0 -60
  58. package/trash/js-old-230729/ui/slider.js +0 -468
  59. package/trash/js-old-230729/ui/tabs.js +0 -109
  60. package/trash/js-old-230729/ui/tooltip.js +0 -82
  61. package/trash/js-old-230729/utils/array.js +0 -28
  62. package/trash/js-old-230729/utils/dom.js +0 -122
  63. package/trash/js-old-230729/utils/logger.js +0 -69
  64. package/trash/js-old-230729/utils/object.js +0 -22
  65. package/trash/js-old-230729/utils/performance.js +0 -43
  66. package/trash/js-old-230729/utils/regex.js +0 -10
  67. package/trash/js-old-230729/utils/string.js +0 -107
  68. package/trash/js-old-230729/waypoints/README.md +0 -3
  69. package/trash/js-old-230729/waypoints/anchor-menu.js +0 -76
  70. package/trash/js-old-230729/waypoints/element-waypoint.js +0 -75
  71. package/trash/js-old-230729/waypoints/examples/page-link-menu.md +0 -106
  72. package/trash/js-old-230729/waypoints/state-in-attribute.js +0 -32
  73. package/trash/logo-1.svg +0 -13
  74. package/trash/logo.svg +0 -16
  75. package/trash/scss-before-cqc-update/README.md +0 -58
  76. package/trash/scss-before-cqc-update/_breakpoint.scss +0 -190
  77. package/trash/scss-before-cqc-update/_button.scss +0 -229
  78. package/trash/scss-before-cqc-update/_calculate.scss +0 -65
  79. package/trash/scss-before-cqc-update/_color.scss +0 -211
  80. package/trash/scss-before-cqc-update/_cssvar.scss +0 -116
  81. package/trash/scss-before-cqc-update/_element.scss +0 -275
  82. package/trash/scss-before-cqc-update/_index.scss +0 -29
  83. package/trash/scss-before-cqc-update/_layout.scss +0 -247
  84. package/trash/scss-before-cqc-update/_path.scss +0 -59
  85. package/trash/scss-before-cqc-update/_selector.scss +0 -82
  86. package/trash/scss-before-cqc-update/_typography.scss +0 -322
  87. package/trash/scss-before-cqc-update/_units.scss +0 -48
  88. package/trash/scss-before-cqc-update/_utility.scss +0 -13
  89. package/trash/scss-before-cqc-update/_utils.scss +0 -211
  90. package/trash/scss-before-cqc-update/base/_color.scss +0 -14
  91. package/trash/scss-before-cqc-update/base/_elements.scss +0 -189
  92. package/trash/scss-before-cqc-update/base/_index.scss +0 -63
  93. package/trash/scss-before-cqc-update/base/_keyframes.scss +0 -74
  94. package/trash/scss-before-cqc-update/base/_layout.scss +0 -88
  95. package/trash/scss-before-cqc-update/base/_normalize.scss +0 -316
  96. package/trash/scss-before-cqc-update/base/_typography.scss +0 -42
  97. package/trash/scss-before-cqc-update/components/README.md +0 -5
  98. package/trash/scss-before-cqc-update/components/README.todos +0 -15
  99. package/trash/scss-before-cqc-update/components/_button.scss +0 -96
  100. package/trash/scss-before-cqc-update/components/_grid.scss +0 -671
  101. package/trash/scss-before-cqc-update/components/_index.scss +0 -70
  102. package/trash/scss-before-cqc-update/components/_links.scss +0 -35
  103. package/trash/scss-before-cqc-update/components/_list-lines.scss +0 -74
  104. package/trash/scss-before-cqc-update/components/_list-ordered.scss +0 -17
  105. package/trash/scss-before-cqc-update/components/_list-unordered.scss +0 -22
  106. package/trash/scss-before-cqc-update/components/_rule.scss +0 -94
  107. package/trash/scss-before-cqc-update/helpers/_color.scss +0 -15
  108. package/trash/scss-before-cqc-update/helpers/_display.scss +0 -73
  109. package/trash/scss-before-cqc-update/helpers/_index.scss +0 -68
  110. package/trash/scss-before-cqc-update/helpers/_print.scss +0 -59
  111. package/trash/scss-before-cqc-update/helpers/_typography.scss +0 -73
  112. package/trash/scss-before-cqc-update/helpers/_units.scss +0 -79
  113. package/trash/scss-before-cqc-update/helpers/_utilities.scss +0 -88
  114. package/trash/scss-before-cqc-update/stylesheets/README.md +0 -3
  115. package/trash/scss-before-cqc-update/stylesheets/full.scss +0 -17
  116. package/trash/scss-old/README.md +0 -58
  117. package/trash/scss-old/_breakpoint.scss +0 -140
  118. package/trash/scss-old/_button.scss +0 -223
  119. package/trash/scss-old/_calculate.scss +0 -64
  120. package/trash/scss-old/_color.scss +0 -200
  121. package/trash/scss-old/_element.scss +0 -262
  122. package/trash/scss-old/_grid.scss +0 -558
  123. package/trash/scss-old/_index.scss +0 -25
  124. package/trash/scss-old/_layout.scss +0 -170
  125. package/trash/scss-old/_path.scss +0 -58
  126. package/trash/scss-old/_selector.scss +0 -81
  127. package/trash/scss-old/_typography.scss +0 -320
  128. package/trash/scss-old/_units.scss +0 -47
  129. package/trash/scss-old/_utility.scss +0 -12
  130. package/trash/scss-old/_utils.scss +0 -186
  131. package/trash/scss-old/base/_color.scss +0 -13
  132. package/trash/scss-old/base/_elements.scss +0 -183
  133. package/trash/scss-old/base/_index.scss +0 -62
  134. package/trash/scss-old/base/_keyframes.scss +0 -74
  135. package/trash/scss-old/base/_layout.scss +0 -81
  136. package/trash/scss-old/base/_normalize.scss +0 -316
  137. package/trash/scss-old/base/_typography.scss +0 -42
  138. package/trash/scss-old/components/README.md +0 -5
  139. package/trash/scss-old/components/README.todos +0 -15
  140. package/trash/scss-old/components/_button.scss +0 -74
  141. package/trash/scss-old/components/_index.scss +0 -63
  142. package/trash/scss-old/components/_links.scss +0 -34
  143. package/trash/scss-old/components/_list-lines.scss +0 -73
  144. package/trash/scss-old/components/_list-ordered.scss +0 -16
  145. package/trash/scss-old/components/_list-unordered.scss +0 -21
  146. package/trash/scss-old/components/_rule.scss +0 -84
  147. package/trash/scss-old/helpers/_color.scss +0 -14
  148. package/trash/scss-old/helpers/_display.scss +0 -68
  149. package/trash/scss-old/helpers/_index.scss +0 -67
  150. package/trash/scss-old/helpers/_print.scss +0 -59
  151. package/trash/scss-old/helpers/_typography.scss +0 -73
  152. package/trash/scss-old/helpers/_units.scss +0 -68
  153. package/trash/scss-old/helpers/_utilities.scss +0 -82
  154. package/trash/scss-old/packages/README.md +0 -3
  155. package/trash/scss-old/packages/everything.scss +0 -17
  156. package/trash/scss-old-2/README.md +0 -58
  157. package/trash/scss-old-2/_breakpoint.scss +0 -139
  158. package/trash/scss-old-2/_button.scss +0 -223
  159. package/trash/scss-old-2/_calculate.scss +0 -64
  160. package/trash/scss-old-2/_color.scss +0 -202
  161. package/trash/scss-old-2/_element.scss +0 -263
  162. package/trash/scss-old-2/_grid.scss +0 -558
  163. package/trash/scss-old-2/_index.scss +0 -25
  164. package/trash/scss-old-2/_layout.scss +0 -170
  165. package/trash/scss-old-2/_path.scss +0 -58
  166. package/trash/scss-old-2/_selector.scss +0 -81
  167. package/trash/scss-old-2/_typography.scss +0 -320
  168. package/trash/scss-old-2/_units.scss +0 -47
  169. package/trash/scss-old-2/_utility.scss +0 -12
  170. package/trash/scss-old-2/_utils.scss +0 -186
  171. package/trash/scss-old-2/base/_color.scss +0 -13
  172. package/trash/scss-old-2/base/_elements.scss +0 -182
  173. package/trash/scss-old-2/base/_index.scss +0 -62
  174. package/trash/scss-old-2/base/_keyframes.scss +0 -73
  175. package/trash/scss-old-2/base/_layout.scss +0 -83
  176. package/trash/scss-old-2/base/_normalize.scss +0 -315
  177. package/trash/scss-old-2/base/_typography.scss +0 -41
  178. package/trash/scss-old-2/components/README.md +0 -5
  179. package/trash/scss-old-2/components/README.todos +0 -15
  180. package/trash/scss-old-2/components/_button.scss +0 -95
  181. package/trash/scss-old-2/components/_index.scss +0 -63
  182. package/trash/scss-old-2/components/_links.scss +0 -33
  183. package/trash/scss-old-2/components/_list-lines.scss +0 -73
  184. package/trash/scss-old-2/components/_list-ordered.scss +0 -16
  185. package/trash/scss-old-2/components/_list-unordered.scss +0 -21
  186. package/trash/scss-old-2/components/_rule.scss +0 -84
  187. package/trash/scss-old-2/helpers/_color.scss +0 -14
  188. package/trash/scss-old-2/helpers/_display.scss +0 -67
  189. package/trash/scss-old-2/helpers/_index.scss +0 -67
  190. package/trash/scss-old-2/helpers/_print.scss +0 -58
  191. package/trash/scss-old-2/helpers/_typography.scss +0 -72
  192. package/trash/scss-old-2/helpers/_units.scss +0 -68
  193. package/trash/scss-old-2/helpers/_utilities.scss +0 -81
  194. package/trash/scss-old-2/packages/README.md +0 -3
  195. package/trash/scss-old-2/packages/everything.scss +0 -17
  196. package/trash/scss-old-230729/README.md +0 -58
  197. package/trash/scss-old-230729/_breakpoint.scss +0 -139
  198. package/trash/scss-old-230729/_button.scss +0 -223
  199. package/trash/scss-old-230729/_calculate.scss +0 -64
  200. package/trash/scss-old-230729/_color.scss +0 -202
  201. package/trash/scss-old-230729/_element.scss +0 -273
  202. package/trash/scss-old-230729/_grid.scss +0 -694
  203. package/trash/scss-old-230729/_index.scss +0 -25
  204. package/trash/scss-old-230729/_layout.scss +0 -193
  205. package/trash/scss-old-230729/_path.scss +0 -58
  206. package/trash/scss-old-230729/_selector.scss +0 -81
  207. package/trash/scss-old-230729/_typography.scss +0 -320
  208. package/trash/scss-old-230729/_units.scss +0 -47
  209. package/trash/scss-old-230729/_utility.scss +0 -12
  210. package/trash/scss-old-230729/_utils.scss +0 -186
  211. package/trash/scss-old-230729/base/_color.scss +0 -13
  212. package/trash/scss-old-230729/base/_elements.scss +0 -188
  213. package/trash/scss-old-230729/base/_index.scss +0 -62
  214. package/trash/scss-old-230729/base/_keyframes.scss +0 -73
  215. package/trash/scss-old-230729/base/_layout.scss +0 -83
  216. package/trash/scss-old-230729/base/_normalize.scss +0 -315
  217. package/trash/scss-old-230729/base/_typography.scss +0 -41
  218. package/trash/scss-old-230729/components/README.md +0 -5
  219. package/trash/scss-old-230729/components/README.todos +0 -15
  220. package/trash/scss-old-230729/components/_button.scss +0 -95
  221. package/trash/scss-old-230729/components/_index.scss +0 -63
  222. package/trash/scss-old-230729/components/_links.scss +0 -34
  223. package/trash/scss-old-230729/components/_list-lines.scss +0 -73
  224. package/trash/scss-old-230729/components/_list-ordered.scss +0 -16
  225. package/trash/scss-old-230729/components/_list-unordered.scss +0 -21
  226. package/trash/scss-old-230729/components/_rule.scss +0 -93
  227. package/trash/scss-old-230729/helpers/_color.scss +0 -14
  228. package/trash/scss-old-230729/helpers/_display.scss +0 -73
  229. package/trash/scss-old-230729/helpers/_index.scss +0 -67
  230. package/trash/scss-old-230729/helpers/_print.scss +0 -58
  231. package/trash/scss-old-230729/helpers/_typography.scss +0 -72
  232. package/trash/scss-old-230729/helpers/_units.scss +0 -68
  233. package/trash/scss-old-230729/helpers/_utilities.scss +0 -87
  234. package/trash/scss-old-230729/packages/README.md +0 -3
  235. package/trash/scss-old-230729/packages/everything.scss +0 -17
  236. package/trash/vue/directives/background-image-url.js +0 -12
  237. package/trash/vue/helpers/add-required-components.js +0 -14
  238. package/trash/vue/ui/CollapsibleRegion/CollapsibleRegion.vue +0 -277
  239. package/trash/vue/ui/CollapsibleRegion/Demo.vue +0 -101
  240. package/trash/vue/ui/Dropdown/Dropdown.vue +0 -184
  241. package/trash/vue/ui/Modals/components/Modal.vue +0 -49
  242. package/trash/vue/ui/Modals/components/Modals.vue +0 -103
  243. package/trash/vue/ui/Modals/plugin.js +0 -215
  244. package/trash/vue/ui/Modals/readme.note +0 -10
  245. package/trash/vue/ui/Modals/reference/example-usage.vue +0 -27
  246. package/trash/vue/ui/Modals/reference/wcag-example/dialog.js +0 -324
@@ -1,694 +0,0 @@
1
- ////
2
- /// @group grid
3
- ////
4
-
5
- /// @version: 1.0.6
6
-
7
- /// HTML Attribute to use for selecting
8
- /// @example markup
9
- /// <!-- This grid does not use columns to ovoid repeating prefixes like: -->
10
- /// <div class="grid-columuns-12 grid-columuns-12-gutters">
11
- /// <div class="col-4 col-medium-6 col-offset-medium-3">
12
- /// </div>
13
- /// </div>
14
- ///
15
- /// <!-- instead it styles like: -->
16
- /// <div data-grid-container>
17
- /// <div data-grid="columns: 12, gutters: true">
18
- /// <div data-grid-item="width: 4, width-medium: 6, offset-medium: 3">
19
- /// </div>
20
- /// </div>
21
- /// </div>
22
-
23
- @use "sass:map";
24
- @use "sass:math";
25
- @use "breakpoint";
26
- @use "color";
27
- @use "element";
28
- @use "layout";
29
- @use "utils";
30
-
31
- /// Module Settings
32
- /// @type Map
33
- /// @prop {Number} $config.columns Default for grid mixin
34
- /// @prop {String} $config.attribute Default attribute to use for grid mixin
35
- /// @prop {Number} $config.gutter Default gutter for grid mixin
36
- /// @prop {Map} $config.extra-breakpoints Default extra breakpoints for grid mixin
37
- /// @prop {MaStringp} $config.position-class-column-first Classname for position system (JS) grid uses to display rules (layout can flow, script will update classes)
38
- /// @prop {String} $config.position-class-column-last See definition above
39
- /// @prop {String} $config.position-class-row-first See definition above
40
- /// @prop {String} $config.position-class-row-last See definition above
41
-
42
- $config: (
43
- "columns": 12,
44
- "attribute": "data-grid",
45
- "attribute-container" : "data-grid-container",
46
- "gutter": 14px,
47
- "breakpoint" : null, // Fallback to default
48
- "extra-breakpoints" : (
49
- "medium" : (
50
- "breakpoint" : "medium",
51
- "gutter" : 15px
52
- ),
53
- "large" : (
54
- "breakpoint" : "large",
55
- "gutter" : 20px
56
- )
57
- ),
58
- "position-class-column-first": "position-column-first",
59
- "position-class-column-last": "position-column-last",
60
- "position-class-row-first": "position-row-first",
61
- "position-class-row-last": "position-row-last"
62
- ) !default;
63
-
64
- /// Change modules $config
65
- /// @param {Map} $changes Map of changes
66
- /// @include module-name.set(( "property" : value ));
67
- @mixin set($changes) {
68
- $config: map.merge($config, $changes) !global;
69
- }
70
-
71
- /// Get a config option
72
- /// @param {Map} $name Name of property
73
- /// @include module-name.get("property");
74
-
75
- @function get($name) {
76
- @return utils.require-map-get($config, $name, "grid [config]");
77
- }
78
-
79
- /// Returns gutter size for grid breakpoint map, defaults to the config's values
80
- /// Pass custom map to get gutter values from it
81
- /// @param {String} $name The name of the "grid breakpoint" (could be a different name than the actual breakpoint name it maps too)
82
- /// @param {Map} $custom-map Provide custom map of grid breakpoints to get the gutter from (defaults to the grid module's defaults 'extra-breakpoints')
83
-
84
- @function get-gutter($name: null, $custom-map: null) {
85
- @if (not $name) {
86
- @return get("gutter");
87
- } @else {
88
- $map: if($custom-map, $custom-map, get("extra-breakpoints"));
89
- $settings: utils.require-map-get($map, $name, "grid [get-gutter]");
90
- @return map.get($settings, "gutter");
91
- }
92
- }
93
-
94
- @function get-default-breakpoint() {
95
- $breakpoint: get("breakpoint");
96
- @if ($breakpoint) {
97
- @return $breakpoint;
98
- } @else {
99
- @return breakpoint.get("default");
100
- }
101
- }
102
-
103
- /// Creates grid css (variation of original data-grid)
104
- /// @param {Number} $columns Columns in grid
105
- /// @param {Number} $breakpoint Breakpoint key for starting the grid
106
- /// @param {Map} $extra-breakpoints Map with other breakpoints to add (map of breakpoint and gutter see config.extra-breakpoints for an example (smalles to largest)
107
- /// @param {Number} $gutter Size in pixels for the gutters
108
- /// @param {Boolean} $include-rules Print styles for including rules
109
- /// @param {Number} $rule-size Size of the rule (border/seperator)
110
- /// @param {Map} $extra-rule-styles Map of other rule styles to add (map of maps of size, and color), key is the styles name ("name": ("size" : 4px, "color" : "color name" || color))
111
- /// @param {String} $extra-gutter-scales A map of gutter scales used like `data-grid="gutter-scale: large`, configuration map property becomes scale name and value is the amount (multiplier) to apply to the grid's gutter ie `( "large" : 2.25 )`
112
- /// @param {Map} $attribute Attribute to use for selecting grid and children. Children attribute get's "-item" as a suffix ("ie. data-grid, data-grid-item")
113
-
114
- @mixin create(
115
- $columns: 12,
116
- $breakpoint: get-default-breakpoint(),
117
- $extra-breakpoints: if(breakpoint.exists("large"), get("extra-breakpoints"), false),
118
- $gutter: get("gutter"),
119
- $include-rules: false,
120
- $rule-size: 1px,
121
- $rule-color: color.get("rule"),
122
- $extra-rule-styles: null,
123
- $extra-gutter-scales: null,
124
- $attribute: get("attribute"),
125
- $include-container: true,
126
- $container-attribute: get("attribute-container"),
127
- $container-gutter-scales: true
128
- ) {
129
- $attribute-item: "#{ $attribute }-item";
130
- $select-grid: '[#{ $attribute }*="columns: #{ $columns }"]';
131
- $select-item: '[#{ $attribute-item }]';
132
- $select-rule-col: ":before";
133
- $select-rule-row: ":after";
134
- $select-container: "[#{ $container-attribute }]";
135
- // These through off syntax highlighting when inside interpolation
136
- $position-class-column-first: get("position-class-column-first");
137
- $position-class-column-last: get("position-class-column-last");
138
- $position-class-row-first: get("position-class-row-first");
139
- $position-class-row-last: get("position-class-row-last");
140
-
141
- #{ $select-grid } {
142
- @include layout.clearfix(); // For legacy browsers
143
-
144
- // Ensure empty elements still take up space in layout
145
- > #{ $select-item } {
146
- min-height: 1px;
147
- width: 100%;
148
- }
149
- // This is for value of true and also covers all options below
150
- &#{'[#{ $attribute }*="gutters-row:"]'} {
151
- > #{ $select-item } {
152
- padding-top: $gutter;
153
- padding-bottom: $gutter;
154
- }
155
- @if $extra-gutter-scales {
156
- @each $scale, $amount in $extra-gutter-scales {
157
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
158
- > #{ $select-item } {
159
- padding-top: $gutter * $amount;
160
- padding-bottom: $gutter * $amount;
161
- }
162
- }
163
- }
164
- }
165
- }
166
- &#{'[#{ $attribute }*="gutters-row: top"]'} {
167
- > #{ $select-item } {
168
- &.#{ $position-class-row-last } {
169
- padding-bottom: 0;
170
- }
171
- }
172
- }
173
- &#{'[#{ $attribute }*="gutters-row: bottom"]'} {
174
- > #{ $select-item } {
175
- &.#{ $position-class-row-first } {
176
- padding-top: 0;
177
- }
178
- }
179
- }
180
- &#{'[#{ $attribute }*="gutters-row: fit"]'} {
181
- margin-top: -$gutter;
182
- margin-bottom: -$gutter;
183
- @if $extra-gutter-scales {
184
- @each $scale, $amount in $extra-gutter-scales {
185
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
186
- margin-top: -($gutter * $amount);
187
- margin-bottom: -($gutter * $amount);
188
- }
189
- }
190
- }
191
- }
192
- // Rules: Row
193
- &#{'[#{ $attribute }*="rules-row:"]'} {
194
- > #{ $select-item } {
195
- &#{ $select-rule-row } {
196
- position: absolute;
197
- left: 0;
198
- right: 0;
199
- height: $rule-size;
200
- background: color.get($rule-color);
201
- }
202
- }
203
- }
204
- // Rules: Applies to both column and row
205
- &#{'[#{ $attribute }*="rules"]'} {
206
- > #{ $select-item } {
207
- position: relative;
208
- }
209
- }
210
- // Rules: Column
211
- &#{'[#{ $attribute }*="rules-column:"]'} {
212
- > #{ $select-item } {
213
- &#{ $select-rule-col } {
214
- position: absolute;
215
- top: 0;
216
- bottom: 0;
217
- width: $rule-size;
218
- background: color.get($rule-color);
219
- }
220
- }
221
- }
222
- // Options for the left or right
223
- @include -create-rule-col-position(
224
- $position: "left",
225
- $size: $rule-size,
226
- $attribute: $attribute,
227
- $select-item: $select-item,
228
- $select-rule-col: $select-rule-col,
229
- $end-class: $position-class-column-first
230
- );
231
- @include -create-rule-col-position(
232
- $position: "right",
233
- $size: $rule-size,
234
- $attribute: $attribute,
235
- $select-item: $select-item,
236
- $select-rule-col: $select-rule-col,
237
- $end-class: $position-class-column-last
238
- );
239
- &#{'[#{ $attribute }*="rules-column-align: gutter"]'} {
240
- > #{ $select-item } {
241
- &#{ $select-rule-col } {
242
- top: $gutter;
243
- bottom: $gutter;
244
- }
245
- }
246
- @if $extra-gutter-scales {
247
- @each $scale, $amount in $extra-gutter-scales {
248
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
249
- > #{ $select-item } {
250
- &#{ $select-rule-col } {
251
- top: $gutter * $amount;
252
- bottom: $gutter * $amount;
253
- }
254
- }
255
- }
256
- }
257
- }
258
- }
259
- // Options for the left or right
260
- @include -create-rule-row-position(
261
- $position: "top",
262
- $size: $rule-size,
263
- $attribute: $attribute,
264
- $select-item: $select-item,
265
- $select-rule-row: $select-rule-row,
266
- $between: false
267
- );
268
- @include -create-rule-row-position(
269
- $position: "bottom",
270
- $size: $rule-size,
271
- $attribute: $attribute,
272
- $select-item: $select-item,
273
- $select-rule-row: $select-rule-row,
274
- $between: false
275
- );
276
-
277
- &#{'[#{ $attribute }*="rules-row: between"]'} {
278
- > #{ $select-item } {
279
- &#{ $select-rule-row } {
280
- bottom: math.floor(math.div($rule-size, 2)) * -1;
281
- }
282
- // For removing the rule per row (via equal heights for now)
283
- &.#{ $position-class-row-last } {
284
- &#{ $select-rule-row } {
285
- content: none;
286
- }
287
- }
288
- }
289
- }
290
- &#{'[#{ $attribute }*="rules-row-align: gutter"]'} {
291
- > #{ $select-item } {
292
- &#{ $select-rule-row } {
293
- @include breakpoint.min($breakpoint) {
294
- left: $gutter;
295
- right: $gutter;
296
- }
297
- }
298
- }
299
- @if $extra-gutter-scales {
300
- @each $scale, $amount in $extra-gutter-scales {
301
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
302
- > #{ $select-item } {
303
- &#{ $select-rule-row } {
304
- @include breakpoint.min($breakpoint) {
305
- left: $gutter * $amount;
306
- right: $gutter * $amount;
307
- }
308
- }
309
- }
310
- }
311
- }
312
- }
313
- }
314
- &#{'[#{ $attribute }*="rules-row-persist: true"]'},
315
- &#{'[#{ $attribute }*="rules-row-stacked-only: true"]'} {
316
- > #{ $select-item } {
317
- &#{ $select-rule-row } {
318
- content: '';
319
- }
320
- }
321
- }
322
- // IE for mobile/small (non grid / stacked)
323
- &#{'[#{ $attribute }*="rules-row-stacked-only: true"]'} {
324
- > #{ $select-item } {
325
- &#{ $select-rule-row } {
326
- @include breakpoint.min($breakpoint) {
327
- content: none !important;
328
- }
329
- }
330
- }
331
- }
332
- }
333
-
334
- @include breakpoint.min($breakpoint) {
335
-
336
- $select-gutter-false: '[#{ $attribute }*="gutters: false"]';
337
- $select-gutter-false-child: '#{ $select-container }:has(>#{ $select-gutter-false })';
338
-
339
- @if $include-container {
340
- #{ $select-container } {
341
- padding-left: $gutter;
342
- padding-right: $gutter;
343
- }
344
- #{ $select-gutter-false-child } {
345
- padding-left: 0;
346
- padding-right: 0;
347
- }
348
- @if $extra-gutter-scales and $container-gutter-scales {
349
- @each $scale, $amount in $extra-gutter-scales {
350
- #{'#{ $select-container }:has(>[#{ $attribute }*="gutter-scale: #{ $scale }"])'} {
351
- padding-left: ($gutter * $amount);
352
- padding-right: ($gutter * $amount);
353
- }
354
- }
355
- }
356
- }
357
- // Select the attribute with matching column count
358
- #{ $select-grid } {
359
- // Defaults for grid an item
360
- display: flex;
361
- flex-flow: row wrap;
362
- align-items: stretch;
363
- margin-left: -$gutter;
364
- margin-right: -$gutter;
365
-
366
- > #{ $select-item } {
367
- float: left; // Fallback
368
- padding-left: $gutter;
369
- padding-right: $gutter;
370
- }
371
-
372
- @if $extra-gutter-scales {
373
- @each $scale, $amount in $extra-gutter-scales {
374
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
375
- margin-left: -($gutter * $amount);
376
- margin-right: -($gutter * $amount);
377
-
378
- > #{ $select-item } {
379
- padding-left: $gutter * $amount;
380
- padding-right: $gutter * $amount;
381
- }
382
- }
383
- }
384
- }
385
-
386
- // Alignment options
387
- &#{'[#{ $attribute }*="justify: center"]'} {
388
- justify-content: center;
389
- }
390
- &#{'[#{ $attribute }*="justify: end"]'} {
391
- justify-content: flex-end;
392
- }
393
- &#{'[#{ $attribute }*="align: center"]'} {
394
- align-items: center;
395
- }
396
- &#{'[#{ $attribute }*="align: end"]'} {
397
- align-items: flex-end;
398
- }
399
- &#{'[#{ $attribute }*="align: start"]'} {
400
- align-items: flex-start;
401
- }
402
- // Alignment of the children when using stretch
403
- // - There is no stetch-start (that's defualt);
404
- // - There is no stetch-middle (that's covered by stretch-);
405
- &#{'[#{ $attribute }*="align: stretch-"]'} {
406
- // set the child to display as a single flex item
407
- > #{ $select-item } {
408
- display: flex;
409
- flex-direction: column;
410
- justify-content: center;
411
- }
412
- }
413
- &#{'[#{ $attribute }*="align: stretch-end"]'} {
414
- > #{ $select-item } {
415
- justify-content: flex-end;
416
- }
417
- }
418
- // Other options
419
- &#{ $select-gutter-false } {
420
- margin-left: 0;
421
- margin-right: 0;
422
- > #{ $select-item } {
423
- padding-left: 0;
424
- padding-right: 0;
425
- }
426
- }
427
- // Activate Rules
428
- &#{'[#{ $attribute }*="rules-column:"]'} {
429
- > #{ $select-item } {
430
- &#{ $select-rule-col } {
431
- content: '';
432
- }
433
- }
434
- }
435
- &#{'[#{ $attribute }*="rules-row:"]'} {
436
- > #{ $select-item } {
437
- &#{ $select-rule-row } {
438
- content: '';
439
- }
440
- }
441
- }
442
- // Override first or last column removing the rule using matching specificity
443
- &#{'[#{ $attribute }*="rules-column:"][#{ $attribute }*="rules-column-ends: true"]'} {
444
- > #{ $select-item } {
445
- &#{ $select-rule-col } {
446
- content: '';
447
- }
448
- }
449
- }
450
- // Generated props for item
451
- @include -create-column-widths(
452
- $columns: $columns,
453
- $attribute-item: $attribute-item,
454
- $suffix: ''
455
- );
456
- @include -create-column-offsets(
457
- $columns: $columns,
458
- $attribute-item: $attribute-item,
459
- $suffix: ''
460
- );
461
- }
462
- }
463
- @if $extra-breakpoints {
464
- @each $name, $options in $extra-breakpoints {
465
- $g: map.get($options, "gutter");
466
- @include -create-extra-breakpoint(
467
- $name: $name,
468
- $breakpoint: map.get($options, "breakpoint"),
469
- $gutter: if($g, $g, $gutter),
470
- $columns: $columns,
471
- $attribute: $attribute,
472
- $attribute-item: $attribute-item,
473
- $select-grid: $select-grid,
474
- $select-item: $select-item,
475
- $extra-gutter-scales: $extra-gutter-scales,
476
- $include-container: $include-container,
477
- $select-container: $select-container,
478
- $container-gutter-scales: $container-gutter-scales
479
- );
480
- }
481
- }
482
- @if $extra-rule-styles {
483
- @each $name, $options in $extra-rule-styles {
484
- $color: utils.require-map-get($options, "color", "grid [extra rule style]");
485
- $size: utils.require-map-get($options, "size", "grid [extra rule style]");
486
- #{ $select-grid } {
487
-
488
- &#{'[#{ $attribute }*="rules-column-style: #{ $name }"]'} {
489
- > #{ $select-item } {
490
- &#{ $select-rule-col } {
491
- background-color: color.get($color);
492
- width: $size;
493
- }
494
- }
495
- @include -create-rule-col-position(
496
- $position: "left",
497
- $size: $size,
498
- $attribute: $attribute,
499
- $select-item: $select-item,
500
- $select-rule-col: $select-rule-col,
501
- $end-class: false
502
- );
503
- @include -create-rule-col-position(
504
- $position: "right",
505
- $size: $size,
506
- $attribute: $attribute,
507
- $select-item: $select-item,
508
- $select-rule-col: $select-rule-col,
509
- $end-class: false
510
- );
511
- }
512
- &#{'[#{ $attribute }*="rules-row-style: #{ $name }"]'} {
513
- > #{ $select-item } {
514
- &#{ $select-rule-row } {
515
- background-color: $color;
516
- height: $size;
517
- }
518
- }
519
- @include -create-rule-row-position(
520
- $position: "top",
521
- $size: $size,
522
- $attribute: $attribute,
523
- $select-item: $select-item,
524
- $select-rule-row: $select-rule-row,
525
- $between: false
526
- );
527
- @include -create-rule-row-position(
528
- $position: "bottom",
529
- $size: $size,
530
- $attribute: $attribute,
531
- $select-item: $select-item,
532
- $select-rule-row: $select-rule-row,
533
- $between: false
534
- );
535
- @include -create-rule-row-position(
536
- $position: "bottom",
537
- $size: $size,
538
- $attribute: $attribute,
539
- $select-item: $select-item,
540
- $select-rule-row: $select-rule-row,
541
- $between: true
542
- );
543
- }
544
- }
545
- }
546
- }
547
- }
548
-
549
- @mixin -create-extra-breakpoint(
550
- $name,
551
- $breakpoint,
552
- $gutter,
553
- $columns,
554
- $attribute,
555
- $attribute-item,
556
- $select-grid,
557
- $select-item,
558
- $extra-gutter-scales,
559
- $include-container,
560
- $select-container,
561
- $container-gutter-scales
562
- ) {
563
- @include breakpoint.min($breakpoint) {
564
-
565
- @if $include-container {
566
- #{ $select-container } {
567
- padding-left: $gutter;
568
- padding-right: $gutter;
569
- }
570
- @if $extra-gutter-scales and $container-gutter-scales {
571
- @each $scale, $amount in $extra-gutter-scales {
572
- #{'#{ $select-container }:has(>[#{ $attribute }*="gutter-scale: #{ $scale }"])'} {
573
- padding-left: ($gutter * $amount);
574
- padding-right: ($gutter * $amount);
575
- }
576
- }
577
- }
578
- }
579
-
580
- #{ $select-grid } {
581
- margin-left: -$gutter;
582
- margin-right: -$gutter;
583
-
584
- > #{ $select-item } {
585
- padding-left: $gutter;
586
- padding-right: $gutter;
587
- }
588
-
589
- @if $extra-gutter-scales {
590
- @each $scale, $amount in $extra-gutter-scales {
591
- &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
592
- margin-left: -($gutter * $amount);
593
- margin-right: -($gutter * $amount);
594
- > #{ $select-item } {
595
- padding-left: $gutter * $amount;
596
- padding-right: $gutter * $amount;
597
- }
598
- }
599
- }
600
- }
601
-
602
- @include -create-column-widths(
603
- $columns: $columns,
604
- $attribute-item: $attribute-item,
605
- $suffix: "-#{ $name }"
606
- );
607
- @include -create-column-offsets(
608
- $columns: $columns,
609
- $attribute-item: $attribute-item,
610
- $suffix: "-#{ $name }"
611
- );
612
- }
613
- }
614
- }
615
-
616
- @mixin -create-column-widths(
617
- $columns,
618
- $attribute-item,
619
- $suffix: ''
620
- ) {
621
- $column-width: math.div(100%, $columns);
622
-
623
- @for $i from 1 through $columns {
624
- $width: $column-width * $i;
625
- & > #{'[#{ $attribute-item }*="width#{ $suffix }: #{ $i }"]'} {
626
- width: $width;
627
- flex-basis: $width;
628
- max-width: $width;
629
- }
630
- }
631
- }
632
-
633
- @mixin -create-column-offsets(
634
- $columns,
635
- $attribute-item,
636
- $suffix: ''
637
- ) {
638
- $column-width: math.div(100%, $columns);
639
-
640
- @for $i from 1 through $columns {
641
- & > #{'[#{ $attribute-item }*="offset#{ $suffix }: #{ $i }"]'} {
642
- margin-left: $column-width * $i;
643
- }
644
- }
645
- // For Zero (in case using breakpoints to remove)
646
- & > #{'[#{ $attribute-item }*="offset#{ $suffix }: 0"]'} {
647
- margin-left: 0;
648
- }
649
- }
650
-
651
- @mixin -create-rule-col-position(
652
- $position,
653
- $size,
654
- $attribute,
655
- $select-item,
656
- $select-rule-col,
657
- $end-class: false
658
- ) {
659
- &#{'[#{ $attribute }*="rules-column: #{ $position }"]'} {
660
- > #{ $select-item } {
661
- &#{ $select-rule-col } {
662
- #{$position}: math.floor(math.div($size, 2)) * -1;
663
- }
664
- // For removing the rule per row (via equal heights for now)
665
- @if $end-class {
666
- &.#{ $end-class } {
667
- &#{ $select-rule-col } {
668
- content: none;
669
- }
670
- }
671
- }
672
- }
673
- }
674
- }
675
-
676
- @mixin -create-rule-row-position(
677
- $position,
678
- $size,
679
- $attribute,
680
- $select-item,
681
- $select-rule-row,
682
- $between: false
683
- ) {
684
- $key: if($between, 'between', $position);
685
-
686
- &#{'[#{ $attribute }*="rules-row: #{ $key }"]'} {
687
- > #{ $select-item } {
688
- &#{ $select-rule-row } {
689
- content: $size;
690
- #{ $position }: math.floor(math.div($size, 2)) * -1;
691
- }
692
- }
693
- }
694
- }