@ulu/frontend 0.1.0-beta.35 → 0.1.0-beta.36
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 +41 -2
- package/dist/ulu-frontend.min.css +1 -1
- package/dist/ulu-frontend.min.js +20 -20
- package/docs-dev/changelog/index.html +40 -1
- package/docs-dev/demos/button/index.html +10 -0
- package/docs-dev/demos/card/index.html +21 -15
- package/docs-dev/demos/card-grid/index.html +34 -38
- package/docs-dev/demos/data-table/index.html +158 -25
- package/docs-dev/demos/menu-stack/index.html +15 -0
- package/docs-dev/demos/overlay-section/index.html +73 -3
- package/docs-dev/demos/popovers/index.html +88 -0
- package/docs-dev/demos/rule/index.html +13 -1
- package/docs-dev/demos/scroll-slider/index.html +12 -12
- package/docs-dev/sass/components/card/index.html +15 -9
- package/docs-dev/sass/components/form-theme/index.html +17 -17
- package/docs-dev/sass/components/rule/index.html +1 -1
- package/js/settings.js +23 -6
- package/js/ui/breakpoints.js +18 -14
- package/js/ui/collapsible.js +8 -1
- package/js/ui/modal-builder.js +21 -17
- package/js/ui/overflow-scroller.js +1 -0
- package/js/utils/css.js +13 -0
- package/package.json +1 -1
- package/scss/_breakpoint.scss +15 -2
- package/scss/_utils.scss +19 -2
- package/scss/components/_button-verbose.scss +19 -2
- package/scss/components/_card.scss +54 -5
- package/scss/components/_data-grid.scss +36 -7
- package/scss/components/_form-theme.scss +17 -17
- package/scss/components/_modal.scss +6 -0
- package/scss/components/_rule.scss +1 -0
- package/types/settings.d.ts +31 -3
- package/types/settings.d.ts.map +1 -1
- 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/modal-builder.d.ts +1 -0
- package/types/ui/modal-builder.d.ts.map +1 -1
- package/types/ui/overflow-scroller.d.ts.map +1 -1
- package/types/utils/css.d.ts +11 -0
- package/types/utils/css.d.ts.map +1 -0
|
@@ -5090,7 +5090,8 @@
|
|
|
5090
5090
|
|
|
5091
5091
|
<hr class="rule rule--light rule--margin-large">
|
|
5092
5092
|
|
|
5093
|
-
<
|
|
5093
|
+
<h2 class="h2">Default Overlay Section (Center)</h2>
|
|
5094
|
+
<div class="overlay-section">
|
|
5094
5095
|
<div class="overlay-section__content crop-margins wysiwyg">
|
|
5095
5096
|
<h2 class="h2">
|
|
5096
5097
|
Featured Insight
|
|
@@ -5104,11 +5105,80 @@
|
|
|
5104
5105
|
</div>
|
|
5105
5106
|
<div class="overlay-section__background">
|
|
5106
5107
|
<img src="/frontend/assets/placeholder/image-1.jpg" alt="Paris Street">
|
|
5107
|
-
|
|
5108
|
+
</div>
|
|
5109
|
+
</div>
|
|
5110
|
+
<h2 class="h2">Top Overlay Section</h2>
|
|
5111
|
+
<div class="overlay-section overlay-section--top">
|
|
5112
|
+
<div class="overlay-section__content crop-margins wysiwyg">
|
|
5113
|
+
<h2 class="h2">
|
|
5114
|
+
Featured Insight
|
|
5115
|
+
</h2>
|
|
5116
|
+
<p class="type-large">
|
|
5117
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur ullamcorper lobortis. Donec sollicitudin ligula lacus, sed tempor sapien rhoncus at. Ut sodales urna ex, quis efficitur risus porttitor nec. Mauris pulvinar eu sapien a euismod. Aliquam mattis dui augue, at venenatis elit porta ac.
|
|
5118
|
+
</p>
|
|
5119
|
+
<p>
|
|
5120
|
+
<a class="button" href="#" rel="nofollow">Read More</a>
|
|
5121
|
+
</p>
|
|
5122
|
+
</div>
|
|
5123
|
+
<div class="overlay-section__background">
|
|
5124
|
+
<img src="/frontend/assets/placeholder/image-1.jpg" alt="Paris Street">
|
|
5125
|
+
</div>
|
|
5126
|
+
</div>
|
|
5127
|
+
<h2 class="h2">Bottom Overlay Section</h2>
|
|
5128
|
+
<div class="overlay-section overlay-section--bottom">
|
|
5129
|
+
<div class="overlay-section__content crop-margins wysiwyg">
|
|
5130
|
+
<h2 class="h2">
|
|
5131
|
+
Featured Insight
|
|
5132
|
+
</h2>
|
|
5133
|
+
<p class="type-large">
|
|
5134
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur ullamcorper lobortis. Donec sollicitudin ligula lacus, sed tempor sapien rhoncus at. Ut sodales urna ex, quis efficitur risus porttitor nec. Mauris pulvinar eu sapien a euismod. Aliquam mattis dui augue, at venenatis elit porta ac.
|
|
5135
|
+
</p>
|
|
5136
|
+
<p>
|
|
5137
|
+
<a class="button" href="#" rel="nofollow">Read More</a>
|
|
5138
|
+
</p>
|
|
5139
|
+
</div>
|
|
5140
|
+
<div class="overlay-section__background">
|
|
5141
|
+
<img src="/frontend/assets/placeholder/image-1.jpg" alt="Paris Street">
|
|
5142
|
+
</div>
|
|
5108
5143
|
</div>
|
|
5144
|
+
<h2 class="h2">Left Overlay Section</h2>
|
|
5145
|
+
<div class="overlay-section overlay-section--left">
|
|
5146
|
+
<div class="overlay-section__content crop-margins wysiwyg">
|
|
5147
|
+
<h2 class="h2">
|
|
5148
|
+
Featured Insight
|
|
5149
|
+
</h2>
|
|
5150
|
+
<p class="type-large">
|
|
5151
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur ullamcorper lobortis. Donec sollicitudin ligula lacus, sed tempor sapien rhoncus at. Ut sodales urna ex, quis efficitur risus porttitor nec. Mauris pulvinar eu sapien a euismod. Aliquam mattis dui augue, at venenatis elit porta ac.
|
|
5152
|
+
</p>
|
|
5153
|
+
<p>
|
|
5154
|
+
<a class="button" href="#" rel="nofollow">Read More</a>
|
|
5155
|
+
</p>
|
|
5156
|
+
</div>
|
|
5157
|
+
<div class="overlay-section__background">
|
|
5158
|
+
<img src="/frontend/assets/placeholder/image-1.jpg" alt="Paris Street">
|
|
5159
|
+
</div>
|
|
5160
|
+
</div>
|
|
5161
|
+
<h2 class="h2">Right Overlay Section</h2>
|
|
5162
|
+
<div class="overlay-section overlay-section--right">
|
|
5163
|
+
<div class="overlay-section__content crop-margins wysiwyg">
|
|
5164
|
+
<h2 class="h2">
|
|
5165
|
+
Featured Insight
|
|
5166
|
+
</h2>
|
|
5167
|
+
<p class="type-large">
|
|
5168
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur ullamcorper lobortis. Donec sollicitudin ligula lacus, sed tempor sapien rhoncus at. Ut sodales urna ex, quis efficitur risus porttitor nec. Mauris pulvinar eu sapien a euismod. Aliquam mattis dui augue, at venenatis elit porta ac.
|
|
5169
|
+
</p>
|
|
5170
|
+
<p>
|
|
5171
|
+
<a class="button" href="#" rel="nofollow">Read More</a>
|
|
5172
|
+
</p>
|
|
5173
|
+
</div>
|
|
5174
|
+
<div class="overlay-section__background">
|
|
5175
|
+
<img src="/frontend/assets/placeholder/image-1.jpg" alt="Paris Street">
|
|
5176
|
+
</div>
|
|
5177
|
+
</div>
|
|
5178
|
+
|
|
5109
5179
|
</div>
|
|
5110
5180
|
|
|
5111
|
-
</
|
|
5181
|
+
</main>
|
|
5112
5182
|
<footer></footer>
|
|
5113
5183
|
|
|
5114
5184
|
|
|
@@ -5204,6 +5204,94 @@
|
|
|
5204
5204
|
</div>
|
|
5205
5205
|
</div>
|
|
5206
5206
|
</div>
|
|
5207
|
+
|
|
5208
|
+
<h2 class="h2">Modifiers</h2>
|
|
5209
|
+
|
|
5210
|
+
|
|
5211
|
+
<button class="button" type="button" data-ulu-popover-trigger="">
|
|
5212
|
+
<span>Show Fixed Popover</span>
|
|
5213
|
+
<span class="button__icon">
|
|
5214
|
+
<span data-feather="fas fa-chevron-down"></span>
|
|
5215
|
+
</span>
|
|
5216
|
+
</button>
|
|
5217
|
+
<div class="popover popover--fixed" data-ulu-popover-content="">
|
|
5218
|
+
<div class="popover__inner">
|
|
5219
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam commodo felis nisi, nec pretium justo varius sit amet. Vestibulum vitae quam in velit scelerisque tincidunt et vitae mauris. Fusce aliquet, ipsum sit amet lacinia euismod, est risus rhoncus ligula, eget egestas urna ligula nec enim. Fusce vulputate ornare ligula ut tempus. Sed accumsan orci sed turpis iaculis, at aliquam nibh rhoncus. Maecenas porta lorem a sem tincidunt, sed tristique ex laoreet. Nullam accumsan metus at lobortis interdum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam sagittis sem erat, quis fermentum lectus ultrices quis.
|
|
5220
|
+
</div>
|
|
5221
|
+
<div class="popover__footer">Popover Footer</div>
|
|
5222
|
+
<span class="popover__arrow" data-ulu-popover-arrow=""></span>
|
|
5223
|
+
</div>
|
|
5224
|
+
|
|
5225
|
+
|
|
5226
|
+
|
|
5227
|
+
<button class="button" type="button" data-ulu-popover-trigger="">
|
|
5228
|
+
<span>Show No-padding Popover</span>
|
|
5229
|
+
<span class="button__icon">
|
|
5230
|
+
<span data-feather="fas fa-chevron-down"></span>
|
|
5231
|
+
</span>
|
|
5232
|
+
</button>
|
|
5233
|
+
<div class="popover popover--no-padding" data-ulu-popover-content="">
|
|
5234
|
+
<div class="popover__inner">
|
|
5235
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam commodo felis nisi, nec pretium justo varius sit amet. Vestibulum vitae quam in velit scelerisque tincidunt et vitae mauris. Fusce aliquet, ipsum sit amet lacinia euismod, est risus rhoncus ligula, eget egestas urna ligula nec enim. Fusce vulputate ornare ligula ut tempus. Sed accumsan orci sed turpis iaculis, at aliquam nibh rhoncus. Maecenas porta lorem a sem tincidunt, sed tristique ex laoreet. Nullam accumsan metus at lobortis interdum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam sagittis sem erat, quis fermentum lectus ultrices quis.
|
|
5236
|
+
</div>
|
|
5237
|
+
<div class="popover__footer">Popover Footer</div>
|
|
5238
|
+
<span class="popover__arrow" data-ulu-popover-arrow=""></span>
|
|
5239
|
+
</div>
|
|
5240
|
+
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
<button class="button" type="button" data-ulu-popover-trigger="">
|
|
5244
|
+
<span>Show Large Popover</span>
|
|
5245
|
+
<span class="button__icon">
|
|
5246
|
+
<span data-feather="fas fa-chevron-down"></span>
|
|
5247
|
+
</span>
|
|
5248
|
+
</button>
|
|
5249
|
+
<div class="popover popover--large" data-ulu-popover-content="">
|
|
5250
|
+
<div class="popover__inner">
|
|
5251
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam commodo felis nisi, nec pretium justo varius sit amet. Vestibulum vitae quam in velit scelerisque tincidunt et vitae mauris. Fusce aliquet, ipsum sit amet lacinia euismod, est risus rhoncus ligula, eget egestas urna ligula nec enim. Fusce vulputate ornare ligula ut tempus. Sed accumsan orci sed turpis iaculis, at aliquam nibh rhoncus. Maecenas porta lorem a sem tincidunt, sed tristique ex laoreet. Nullam accumsan metus at lobortis interdum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam sagittis sem erat, quis fermentum lectus ultrices quis.
|
|
5252
|
+
</div>
|
|
5253
|
+
<div class="popover__footer">Popover Footer</div>
|
|
5254
|
+
<span class="popover__arrow" data-ulu-popover-arrow=""></span>
|
|
5255
|
+
</div>
|
|
5256
|
+
|
|
5257
|
+
|
|
5258
|
+
|
|
5259
|
+
<button class="button" type="button" data-ulu-popover-trigger="">
|
|
5260
|
+
<span>Show Large-x Popover</span>
|
|
5261
|
+
<span class="button__icon">
|
|
5262
|
+
<span data-feather="fas fa-chevron-down"></span>
|
|
5263
|
+
</span>
|
|
5264
|
+
</button>
|
|
5265
|
+
<div class="popover popover--large-x" data-ulu-popover-content="">
|
|
5266
|
+
<div class="popover__inner">
|
|
5267
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam commodo felis nisi, nec pretium justo varius sit amet. Vestibulum vitae quam in velit scelerisque tincidunt et vitae mauris. Fusce aliquet, ipsum sit amet lacinia euismod, est risus rhoncus ligula, eget egestas urna ligula nec enim. Fusce vulputate ornare ligula ut tempus. Sed accumsan orci sed turpis iaculis, at aliquam nibh rhoncus. Maecenas porta lorem a sem tincidunt, sed tristique ex laoreet. Nullam accumsan metus at lobortis interdum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam sagittis sem erat, quis fermentum lectus ultrices quis.
|
|
5268
|
+
</div>
|
|
5269
|
+
<div class="popover__footer">Popover Footer</div>
|
|
5270
|
+
<span class="popover__arrow" data-ulu-popover-arrow=""></span>
|
|
5271
|
+
</div>
|
|
5272
|
+
|
|
5273
|
+
|
|
5274
|
+
<h3 class="h3 margin-top">Prints Modifier</h3>
|
|
5275
|
+
|
|
5276
|
+
<p>Note that the print modifier will show the hidden popover content when printing the page.</p>
|
|
5277
|
+
|
|
5278
|
+
|
|
5279
|
+
<button class="button" type="button" data-ulu-popover-trigger="">
|
|
5280
|
+
<span>Show Prints Popover</span>
|
|
5281
|
+
<span class="button__icon">
|
|
5282
|
+
<span data-feather="fas fa-chevron-down"></span>
|
|
5283
|
+
</span>
|
|
5284
|
+
</button>
|
|
5285
|
+
<div class="popover popover--prints" data-ulu-popover-content="">
|
|
5286
|
+
<div class="popover__inner">
|
|
5287
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam commodo felis nisi, nec pretium justo varius sit amet. Vestibulum vitae quam in velit scelerisque tincidunt et vitae mauris. Fusce aliquet, ipsum sit amet lacinia euismod, est risus rhoncus ligula, eget egestas urna ligula nec enim. Fusce vulputate ornare ligula ut tempus. Sed accumsan orci sed turpis iaculis, at aliquam nibh rhoncus. Maecenas porta lorem a sem tincidunt, sed tristique ex laoreet. Nullam accumsan metus at lobortis interdum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam sagittis sem erat, quis fermentum lectus ultrices quis.
|
|
5288
|
+
</div>
|
|
5289
|
+
<div class="popover__footer">Popover Footer</div>
|
|
5290
|
+
<span class="popover__arrow" data-ulu-popover-arrow=""></span>
|
|
5291
|
+
</div>
|
|
5292
|
+
|
|
5293
|
+
|
|
5294
|
+
|
|
5207
5295
|
</div>
|
|
5208
5296
|
|
|
5209
5297
|
</main>
|
|
@@ -5144,17 +5144,29 @@
|
|
|
5144
5144
|
<li>For the rule styles mixin, the class will be "rule--$key". For example, "rule--light". For the rule margins mixin, the class will be "rule--margin-$key". For example, "rule--margin-large". "Default" refers to the base "rule" class, <strong>not</strong> the "rule-default" class.</li>
|
|
5145
5145
|
</ul>
|
|
5146
5146
|
<h3 id="examples" tabindex="-1">Examples</h3>
|
|
5147
|
-
<
|
|
5147
|
+
<div>
|
|
5148
|
+
Base rule
|
|
5149
|
+
</div>
|
|
5148
5150
|
<div class="rule"></div>
|
|
5151
|
+
<div>
|
|
5149
5152
|
Short rule
|
|
5153
|
+
</div>
|
|
5150
5154
|
<div class="rule rule--short"></div>
|
|
5155
|
+
<div>
|
|
5151
5156
|
Large Rule
|
|
5157
|
+
</div>
|
|
5152
5158
|
<div class="rule rule--large"></div>
|
|
5159
|
+
<div>
|
|
5153
5160
|
Small Margin Rule
|
|
5161
|
+
</div>
|
|
5154
5162
|
<div class="rule rule--margin-small"></div>
|
|
5163
|
+
<div>
|
|
5155
5164
|
Large Margin Rule
|
|
5165
|
+
</div>
|
|
5156
5166
|
<div class="rule rule--margin-large"></div>
|
|
5167
|
+
<div>
|
|
5157
5168
|
Light Rule
|
|
5169
|
+
</div>
|
|
5158
5170
|
<div class="rule rule--light"></div>
|
|
5159
5171
|
</div>
|
|
5160
5172
|
</div>
|
|
@@ -82,66 +82,66 @@ Scroll-Slider
|
|
|
82
82
|
|
|
83
83
|
</li><p></p>
|
|
84
84
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
85
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
85
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
86
86
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 1 Title</a>
|
|
87
87
|
</h5><div>
|
|
88
88
|
This is the card content. It can contain around 2-3 sentences.
|
|
89
|
-
</div></div><div class="card__image ">
|
|
89
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
90
90
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
91
91
|
</div><div class="card__footer">
|
|
92
92
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
93
93
|
</div></article>
|
|
94
94
|
</li></p>
|
|
95
95
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
96
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
96
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
97
97
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 2 Title</a>
|
|
98
98
|
</h5><div>
|
|
99
99
|
This is the card content. It can contain around 2-3 sentences.
|
|
100
|
-
</div></div><div class="card__image ">
|
|
100
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
101
101
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
102
102
|
</div><div class="card__footer">
|
|
103
103
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
104
104
|
</div></article>
|
|
105
105
|
</li></p>
|
|
106
106
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
107
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
107
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
108
108
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 3 Title</a>
|
|
109
109
|
</h5><div>
|
|
110
110
|
This is the card content. It can contain around 2-3 sentences.
|
|
111
|
-
</div></div><div class="card__image ">
|
|
111
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
112
112
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
113
113
|
</div><div class="card__footer">
|
|
114
114
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
115
115
|
</div></article>
|
|
116
116
|
</li></p>
|
|
117
117
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
118
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
118
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
119
119
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 4 Title</a>
|
|
120
120
|
</h5><div>
|
|
121
121
|
This is the card content. It can contain around 2-3 sentences.
|
|
122
|
-
</div></div><div class="card__image ">
|
|
122
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
123
123
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
124
124
|
</div><div class="card__footer">
|
|
125
125
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
126
126
|
</div></article>
|
|
127
127
|
</li></p>
|
|
128
128
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
129
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
129
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
130
130
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 5 Title</a>
|
|
131
131
|
</h5><div>
|
|
132
132
|
This is the card content. It can contain around 2-3 sentences.
|
|
133
|
-
</div></div><div class="card__image ">
|
|
133
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
134
134
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
135
135
|
</div><div class="card__footer">
|
|
136
136
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
137
137
|
</div></article>
|
|
138
138
|
</li></p>
|
|
139
139
|
<p><li class="scroll-slider__slide" data-ulu-scroll-slider-slide="">
|
|
140
|
-
<article class="card " data-ulu-proxy-click=""><div class="card__body"><h5 class="card__title">
|
|
140
|
+
<article class="card " data-ulu-proxy-click=""><div class="card__body"><div class="card__main"><h5 class="card__title">
|
|
141
141
|
<a class="card__title-link" href="https://www.google.com" data-ulu-proxy-click-source="">Card 6 Title</a>
|
|
142
142
|
</h5><div>
|
|
143
143
|
This is the card content. It can contain around 2-3 sentences.
|
|
144
|
-
</div></div><div class="card__image ">
|
|
144
|
+
</div></div><div class="card__aside">This is the aside content</div></div><div class="card__image ">
|
|
145
145
|
<img src="/frontend/assets/placeholder/image-1.jpg">
|
|
146
146
|
</div><div class="card__footer">
|
|
147
147
|
<a class="button button--small" href="https://www.yahoo.com/">Footer</a>
|
|
@@ -5186,6 +5186,12 @@
|
|
|
5186
5186
|
<span class="pjs-token pjs-string">"overlay-background-color"</span><span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-function">rgba</span><span class="pjs-token pjs-punctuation">(</span>0<span class="pjs-token pjs-punctuation">,</span> 0<span class="pjs-token pjs-punctuation">,</span> 0<span class="pjs-token pjs-punctuation">,</span> 0.6<span class="pjs-token pjs-punctuation">)</span><span class="pjs-token pjs-punctuation">,</span>
|
|
5187
5187
|
<span class="pjs-token pjs-string">"overlay-shading"</span><span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-boolean">true</span><span class="pjs-token pjs-punctuation">,</span>
|
|
5188
5188
|
<span class="pjs-token pjs-string">"overlay-body-padding-y"</span><span class="pjs-token pjs-punctuation">:</span> 1rem<span class="pjs-token pjs-punctuation">,</span>
|
|
5189
|
+
<span class="pjs-token pjs-comment">// new below</span>
|
|
5190
|
+
<span class="pjs-token pjs-string">"toggle-aside-rule"</span> <span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-boolean">true</span><span class="pjs-token pjs-punctuation">,</span>
|
|
5191
|
+
<span class="pjs-token pjs-string">"aside-rule-width"</span> <span class="pjs-token pjs-punctuation">:</span> 6px<span class="pjs-token pjs-punctuation">,</span>
|
|
5192
|
+
<span class="pjs-token pjs-string">"aside-background-color"</span> <span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-function">rgb</span><span class="pjs-token pjs-punctuation">(</span>197<span class="pjs-token pjs-punctuation">,</span> 197<span class="pjs-token pjs-punctuation">,</span> 197<span class="pjs-token pjs-punctuation">)</span><span class="pjs-token pjs-punctuation">,</span>
|
|
5193
|
+
<span class="pjs-token pjs-string">"aside-rule-color"</span><span class="pjs-token pjs-punctuation">:</span> green<span class="pjs-token pjs-punctuation">,</span>
|
|
5194
|
+
|
|
5189
5195
|
<span class="pjs-token pjs-punctuation">)</span><span class="pjs-token pjs-punctuation">;</span></code></pre>
|
|
5190
5196
|
<details>
|
|
5191
5197
|
<summary>File Information</summary>
|
|
@@ -5194,7 +5200,7 @@
|
|
|
5194
5200
|
<li><strong>Group:</strong> card</li>
|
|
5195
5201
|
<li><strong>Type:</strong> variable</li>
|
|
5196
5202
|
<li><strong>Lines (comments):</strong> 18-68</li>
|
|
5197
|
-
<li><strong>Lines (code):</strong> 70-
|
|
5203
|
+
<li><strong>Lines (code):</strong> 70-131</li>
|
|
5198
5204
|
</ul>
|
|
5199
5205
|
</details>
|
|
5200
5206
|
<h4 id="map-properties" tabindex="-1">Map Properties</h4>
|
|
@@ -5518,8 +5524,8 @@
|
|
|
5518
5524
|
<li><strong>File:</strong> _card.scss</li>
|
|
5519
5525
|
<li><strong>Group:</strong> card</li>
|
|
5520
5526
|
<li><strong>Type:</strong> mixin</li>
|
|
5521
|
-
<li><strong>Lines (comments):</strong>
|
|
5522
|
-
<li><strong>Lines (code):</strong>
|
|
5527
|
+
<li><strong>Lines (comments):</strong> 133-136</li>
|
|
5528
|
+
<li><strong>Lines (code):</strong> 138-140</li>
|
|
5523
5529
|
</ul>
|
|
5524
5530
|
</details>
|
|
5525
5531
|
<h4 id="examples" tabindex="-1">Examples</h4>
|
|
@@ -5558,8 +5564,8 @@
|
|
|
5558
5564
|
<li><strong>File:</strong> _card.scss</li>
|
|
5559
5565
|
<li><strong>Group:</strong> card</li>
|
|
5560
5566
|
<li><strong>Type:</strong> mixin</li>
|
|
5561
|
-
<li><strong>Lines (comments):</strong>
|
|
5562
|
-
<li><strong>Lines (code):</strong>
|
|
5567
|
+
<li><strong>Lines (comments):</strong> 151-155</li>
|
|
5568
|
+
<li><strong>Lines (code):</strong> 157-187</li>
|
|
5563
5569
|
</ul>
|
|
5564
5570
|
</details>
|
|
5565
5571
|
<h4 id="examples-1" tabindex="-1">Examples</h4>
|
|
@@ -5606,8 +5612,8 @@
|
|
|
5606
5612
|
<li><strong>File:</strong> _card.scss</li>
|
|
5607
5613
|
<li><strong>Group:</strong> card</li>
|
|
5608
5614
|
<li><strong>Type:</strong> mixin</li>
|
|
5609
|
-
<li><strong>Lines (comments):</strong>
|
|
5610
|
-
<li><strong>Lines (code):</strong>
|
|
5615
|
+
<li><strong>Lines (comments):</strong> 194-198</li>
|
|
5616
|
+
<li><strong>Lines (code):</strong> 200-481</li>
|
|
5611
5617
|
</ul>
|
|
5612
5618
|
</details>
|
|
5613
5619
|
<div class="callout callout--demo crop-margins">
|
|
@@ -5636,8 +5642,8 @@
|
|
|
5636
5642
|
<li><strong>File:</strong> _card.scss</li>
|
|
5637
5643
|
<li><strong>Group:</strong> card</li>
|
|
5638
5644
|
<li><strong>Type:</strong> function</li>
|
|
5639
|
-
<li><strong>Lines (comments):</strong>
|
|
5640
|
-
<li><strong>Lines (code):</strong>
|
|
5645
|
+
<li><strong>Lines (comments):</strong> 142-145</li>
|
|
5646
|
+
<li><strong>Lines (code):</strong> 147-149</li>
|
|
5641
5647
|
</ul>
|
|
5642
5648
|
</details>
|
|
5643
5649
|
<h4 id="examples-3" tabindex="-1">Examples</h4>
|
|
@@ -5625,7 +5625,7 @@
|
|
|
5625
5625
|
<td style="text-align:left">fieldset-background</td>
|
|
5626
5626
|
<td style="text-align:left">Color</td>
|
|
5627
5627
|
<td style="text-align:left">transparent</td>
|
|
5628
|
-
<td style="text-align:left">Background color of fieldset.</td>
|
|
5628
|
+
<td style="text-align:left">Background color of fieldset element.</td>
|
|
5629
5629
|
</tr>
|
|
5630
5630
|
<tr>
|
|
5631
5631
|
<td style="text-align:left">fieldset-border</td>
|
|
@@ -5637,19 +5637,19 @@
|
|
|
5637
5637
|
<td style="text-align:left">fieldset-margin-bottom</td>
|
|
5638
5638
|
<td style="text-align:left">Dimension</td>
|
|
5639
5639
|
<td style="text-align:left">1rem</td>
|
|
5640
|
-
<td style="text-align:left"
|
|
5640
|
+
<td style="text-align:left">Bottom margin for the fieldset element.</td>
|
|
5641
5641
|
</tr>
|
|
5642
5642
|
<tr>
|
|
5643
5643
|
<td style="text-align:left">fieldset-margin-top</td>
|
|
5644
5644
|
<td style="text-align:left">Dimension</td>
|
|
5645
5645
|
<td style="text-align:left">1rem</td>
|
|
5646
|
-
<td style="text-align:left"
|
|
5646
|
+
<td style="text-align:left">Bottom margin for the fieldset element.</td>
|
|
5647
5647
|
</tr>
|
|
5648
5648
|
<tr>
|
|
5649
5649
|
<td style="text-align:left">fieldset-padding</td>
|
|
5650
5650
|
<td style="text-align:left">Dimension</td>
|
|
5651
5651
|
<td style="text-align:left">0</td>
|
|
5652
|
-
<td style="text-align:left"
|
|
5652
|
+
<td style="text-align:left">Padding for the fieldset element.</td>
|
|
5653
5653
|
</tr>
|
|
5654
5654
|
<tr>
|
|
5655
5655
|
<td style="text-align:left">fieldset-margin-compact</td>
|
|
@@ -5661,79 +5661,79 @@
|
|
|
5661
5661
|
<td style="text-align:left">fieldset-border-radius</td>
|
|
5662
5662
|
<td style="text-align:left">Dimension</td>
|
|
5663
5663
|
<td style="text-align:left">0</td>
|
|
5664
|
-
<td style="text-align:left"
|
|
5664
|
+
<td style="text-align:left">Border radius of the fieldset element.</td>
|
|
5665
5665
|
</tr>
|
|
5666
5666
|
<tr>
|
|
5667
5667
|
<td style="text-align:left">fieldset-legend-color</td>
|
|
5668
5668
|
<td style="text-align:left">Color</td>
|
|
5669
5669
|
<td style="text-align:left">inherit</td>
|
|
5670
|
-
<td style="text-align:left"
|
|
5670
|
+
<td style="text-align:left">Text color for the fieldset's label.</td>
|
|
5671
5671
|
</tr>
|
|
5672
5672
|
<tr>
|
|
5673
5673
|
<td style="text-align:left">fieldset-legend-border-bottom</td>
|
|
5674
5674
|
<td style="text-align:left">Dimension</td>
|
|
5675
5675
|
<td style="text-align:left">null</td>
|
|
5676
|
-
<td style="text-align:left"
|
|
5676
|
+
<td style="text-align:left">Bottom border color for the fieldset's label</td>
|
|
5677
5677
|
</tr>
|
|
5678
5678
|
<tr>
|
|
5679
5679
|
<td style="text-align:left">fieldset-legend-padding-bottom</td>
|
|
5680
5680
|
<td style="text-align:left">Dimension</td>
|
|
5681
5681
|
<td style="text-align:left">null</td>
|
|
5682
|
-
<td style="text-align:left"
|
|
5682
|
+
<td style="text-align:left">Bottom padding for the fieldset's label</td>
|
|
5683
5683
|
</tr>
|
|
5684
5684
|
<tr>
|
|
5685
5685
|
<td style="text-align:left">select-border-radius</td>
|
|
5686
5686
|
<td style="text-align:left">Dimension</td>
|
|
5687
5687
|
<td style="text-align:left">4px</td>
|
|
5688
|
-
<td style="text-align:left"
|
|
5688
|
+
<td style="text-align:left">Border radius for the select element.</td>
|
|
5689
5689
|
</tr>
|
|
5690
5690
|
<tr>
|
|
5691
5691
|
<td style="text-align:left">select-background-color</td>
|
|
5692
5692
|
<td style="text-align:left">Color</td>
|
|
5693
5693
|
<td style="text-align:left">null</td>
|
|
5694
|
-
<td style="text-align:left"
|
|
5694
|
+
<td style="text-align:left">Background color for the select element.</td>
|
|
5695
5695
|
</tr>
|
|
5696
5696
|
<tr>
|
|
5697
5697
|
<td style="text-align:left">select-border</td>
|
|
5698
5698
|
<td style="text-align:left">CssValue</td>
|
|
5699
5699
|
<td style="text-align:left">null</td>
|
|
5700
|
-
<td style="text-align:left"
|
|
5700
|
+
<td style="text-align:left">The border for the select element. Fallback to input border.</td>
|
|
5701
5701
|
</tr>
|
|
5702
5702
|
<tr>
|
|
5703
5703
|
<td style="text-align:left">select-padding-x</td>
|
|
5704
5704
|
<td style="text-align:left">Dimension</td>
|
|
5705
5705
|
<td style="text-align:left">null</td>
|
|
5706
|
-
<td style="text-align:left"
|
|
5706
|
+
<td style="text-align:left">Horizontal padding for the select element. Fallback to input-padding-x.</td>
|
|
5707
5707
|
</tr>
|
|
5708
5708
|
<tr>
|
|
5709
5709
|
<td style="text-align:left">select-padding-y</td>
|
|
5710
5710
|
<td style="text-align:left">Dimension</td>
|
|
5711
5711
|
<td style="text-align:left">null</td>
|
|
5712
|
-
<td style="text-align:left"
|
|
5712
|
+
<td style="text-align:left">Vertical padding for the select element. Fallback to input-padding-y.</td>
|
|
5713
5713
|
</tr>
|
|
5714
5714
|
<tr>
|
|
5715
5715
|
<td style="text-align:left">select-image</td>
|
|
5716
5716
|
<td style="text-align:left">CssValue</td>
|
|
5717
5717
|
<td style="text-align:left">null</td>
|
|
5718
|
-
<td style="text-align:left"
|
|
5718
|
+
<td style="text-align:left">Url for select element's background image.</td>
|
|
5719
5719
|
</tr>
|
|
5720
5720
|
<tr>
|
|
5721
5721
|
<td style="text-align:left">select-image-size</td>
|
|
5722
5722
|
<td style="text-align:left">Dimension</td>
|
|
5723
5723
|
<td style="text-align:left">0.9em</td>
|
|
5724
|
-
<td style="text-align:left"
|
|
5724
|
+
<td style="text-align:left">Background size for the select image.</td>
|
|
5725
5725
|
</tr>
|
|
5726
5726
|
<tr>
|
|
5727
5727
|
<td style="text-align:left">select-image-offset</td>
|
|
5728
5728
|
<td style="text-align:left">Dimension</td>
|
|
5729
5729
|
<td style="text-align:left">0.7em</td>
|
|
5730
|
-
<td style="text-align:left"
|
|
5730
|
+
<td style="text-align:left">Offset for the select image.</td>
|
|
5731
5731
|
</tr>
|
|
5732
5732
|
<tr>
|
|
5733
5733
|
<td style="text-align:left">select-image-margin</td>
|
|
5734
5734
|
<td style="text-align:left">Dimension</td>
|
|
5735
5735
|
<td style="text-align:left">0.65em</td>
|
|
5736
|
-
<td style="text-align:left"
|
|
5736
|
+
<td style="text-align:left">select image margin.</td>
|
|
5737
5737
|
</tr>
|
|
5738
5738
|
<tr>
|
|
5739
5739
|
<td style="text-align:left">inline-gap</td>
|
|
@@ -5228,7 +5228,7 @@
|
|
|
5228
5228
|
<li><strong>Group:</strong> rule</li>
|
|
5229
5229
|
<li><strong>Type:</strong> mixin</li>
|
|
5230
5230
|
<li><strong>Lines (comments):</strong> 40-42</li>
|
|
5231
|
-
<li><strong>Lines (code):</strong> 44-
|
|
5231
|
+
<li><strong>Lines (code):</strong> 44-96</li>
|
|
5232
5232
|
</ul>
|
|
5233
5233
|
</details>
|
|
5234
5234
|
<h4 id="examples-1" tabindex="-1">Examples</h4>
|
package/js/settings.js
CHANGED
|
@@ -3,12 +3,25 @@
|
|
|
3
3
|
* @description Manages shared configuration for the library.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Default settings
|
|
8
|
+
* @typedef {object} Defaults
|
|
9
|
+
* @property {string} iconClassClose - The CSS class string for the close icon
|
|
10
|
+
* @property {string} iconClassDragX - The CSS class string for the drag X icon
|
|
11
|
+
* @property {string} iconClassPrevious - The CSS class string for the previous icon
|
|
12
|
+
* @property {string} iconClassNext - The CSS class string for the next icon
|
|
13
|
+
* @property {string} cssvarPrefix - The prefix to use for CSS custom properties
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @type {Defaults}
|
|
18
|
+
*/
|
|
7
19
|
const defaults = {
|
|
8
20
|
iconClassClose: "css-icon css-icon--close",
|
|
9
21
|
iconClassDragX: "css-icon css-icon--drag-x",
|
|
10
22
|
iconClassPrevious: "css-icon css-icon--angle-left",
|
|
11
|
-
iconClassNext: "css-icon css-icon--angle-right"
|
|
23
|
+
iconClassNext: "css-icon css-icon--angle-right",
|
|
24
|
+
cssvarPrefix: "",
|
|
12
25
|
};
|
|
13
26
|
|
|
14
27
|
// Current configuration, initialized with defaults
|
|
@@ -66,13 +79,17 @@ export function updateSetting(key, value) {
|
|
|
66
79
|
* retrieves the current value of the specified setting. This allows the setting
|
|
67
80
|
* to be used as a string literal, dynamically retrieving its value.
|
|
68
81
|
*
|
|
69
|
-
* @param {
|
|
70
|
-
* @
|
|
82
|
+
* @param {String} key The key of the setting to wrap.
|
|
83
|
+
* @param {Function} transform Optional function to transform the setting's
|
|
84
|
+
* value when its string representation is requested.
|
|
85
|
+
* @returns {Object} An object with a `toString()` method that returns the
|
|
86
|
+
* (optionally transformed) setting value as a string.
|
|
71
87
|
*/
|
|
72
|
-
export function wrapSettingString(key) {
|
|
88
|
+
export function wrapSettingString(key, transform) {
|
|
73
89
|
return {
|
|
74
90
|
toString() {
|
|
75
|
-
|
|
91
|
+
const value = getSetting(key);
|
|
92
|
+
return transform ? transform(value) : value;
|
|
76
93
|
}
|
|
77
94
|
};
|
|
78
95
|
}
|
package/js/ui/breakpoints.js
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
// Pass breakpoints from CSS to stylesheet, use this to attach behaviors on breakpoints
|
|
6
6
|
import { removeArrayElement } from "@ulu/utils/array.js";
|
|
7
7
|
import { getName } from "../events/index.js";
|
|
8
|
+
import { wrapSettingString } from "../settings.js";
|
|
9
|
+
import { getCustomProperty } from "../utils/css.js";
|
|
8
10
|
import { log, logError } from "../utils/class-logger.js";
|
|
9
11
|
|
|
12
|
+
const getDefaultCustomProperty = prefix => getCustomProperty(prefix, "breakpoint");
|
|
10
13
|
|
|
11
14
|
// Resize Handler to update breakpoints for all instances (Called after resize finished)
|
|
12
15
|
window.addEventListener(getName("pageResized"), () => {
|
|
@@ -16,25 +19,26 @@ window.addEventListener(getName("pageResized"), () => {
|
|
|
16
19
|
/**
|
|
17
20
|
* @class
|
|
18
21
|
* Class that provides method for retrieving and acting on breakpoints passed
|
|
19
|
-
* from CSS (using element
|
|
22
|
+
* from CSS (using element pseudo content prop)
|
|
20
23
|
*/
|
|
21
24
|
export class BreakpointManager {
|
|
22
25
|
static instances = [];
|
|
23
26
|
static defaults = {
|
|
24
27
|
element: document?.documentElement,
|
|
25
|
-
|
|
28
|
+
valueFromPseudo: false,
|
|
26
29
|
customProperty: "--breakpoint",
|
|
27
|
-
|
|
30
|
+
customProperty: wrapSettingString("cssvarPrefix", getDefaultCustomProperty),
|
|
31
|
+
pseudoSelector: ':before',
|
|
28
32
|
order: ["none", "small", "medium", "large"],
|
|
29
33
|
debug: false
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
32
|
-
* @param {Object} config
|
|
36
|
+
* @param {Object} config Configuration object
|
|
33
37
|
* @param {Array} config.order Array of strings that correspond to the breakpoints setup in the styles, Breakpoints from smallest to largest, defaults to [small, medium, large]
|
|
34
38
|
* @param {Array} config.customProperty Property to grab breakpoint from (default is --breakpoint)
|
|
35
|
-
* @param {Array} config.
|
|
36
|
-
* @param {Node} config.element The element to retrieve active breakpoint from stylesheet. (default is html) For using the old
|
|
37
|
-
* @param {String} config.
|
|
39
|
+
* @param {Array} config.valueFromPseudo Use the legacy method of grabbing breakpoint from pseudo element, default uses custom property
|
|
40
|
+
* @param {Node} config.element The element to retrieve active breakpoint from stylesheet. (default is html) For using the old pseudo method, adjust this to document.body
|
|
41
|
+
* @param {String} config.pseudoSelector Change pseudo selector used to get the breakpoint from the pseudo's content property
|
|
38
42
|
*/
|
|
39
43
|
constructor(config) {
|
|
40
44
|
Object.assign(this, BreakpointManager.defaults, config);
|
|
@@ -51,9 +55,9 @@ export class BreakpointManager {
|
|
|
51
55
|
BreakpointManager.instances.push(this);
|
|
52
56
|
}
|
|
53
57
|
/**
|
|
54
|
-
* Add a callback for
|
|
58
|
+
* Add a callback for every time a breakpoint changes
|
|
55
59
|
* - Not recommended, possibly use to watch for changes, etc
|
|
56
|
-
* - For more control use
|
|
60
|
+
* - For more control use instance.at(name) with breakpoint methods
|
|
57
61
|
* @param {Function} callback Function to call, passed one argument current instance which can be used to get information about breakpoints
|
|
58
62
|
*/
|
|
59
63
|
onChange(callback) {
|
|
@@ -67,10 +71,10 @@ export class BreakpointManager {
|
|
|
67
71
|
removeArrayElement(this.onChangeCallbacks, callback);
|
|
68
72
|
}
|
|
69
73
|
/**
|
|
70
|
-
* Get breakpoint from a
|
|
74
|
+
* Get breakpoint from a pseudo element
|
|
71
75
|
*/
|
|
72
|
-
|
|
73
|
-
return window.getComputedStyle(this.element, this.
|
|
76
|
+
getBreakpointInPseudo() {
|
|
77
|
+
return window.getComputedStyle(this.element, this.pseudoSelector).content.replace(/^"|"$/g, '');
|
|
74
78
|
}
|
|
75
79
|
/**
|
|
76
80
|
* Get breakpoint from a custom property
|
|
@@ -82,8 +86,8 @@ export class BreakpointManager {
|
|
|
82
86
|
* Get breakpoint from element (design note: user could override prototype)
|
|
83
87
|
*/
|
|
84
88
|
getBreakpoint() {
|
|
85
|
-
if (this.
|
|
86
|
-
return this.
|
|
89
|
+
if (this.valueFromPseudo) {
|
|
90
|
+
return this.getBreakpointInPseudo();
|
|
87
91
|
} else {
|
|
88
92
|
return this.getBreakpointInProperty();
|
|
89
93
|
}
|