@ulu/frontend 0.1.0-beta.84 → 0.1.0-beta.86

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 (170) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/docs-dev/changelog/index.html +97 -0
  4. package/docs-dev/demos/accordion/index.html +60 -0
  5. package/docs-dev/demos/badge/index.html +60 -0
  6. package/docs-dev/demos/breakpoints-manager/index.html +60 -0
  7. package/docs-dev/demos/button/index.html +60 -0
  8. package/docs-dev/demos/button-group/index.html +60 -0
  9. package/docs-dev/demos/button-verbose/index.html +60 -0
  10. package/docs-dev/demos/callout/index.html +60 -0
  11. package/docs-dev/demos/captioned-figure/index.html +60 -0
  12. package/docs-dev/demos/card/index.html +76 -16
  13. package/docs-dev/demos/card-grid/index.html +60 -0
  14. package/docs-dev/demos/counter-list/index.html +60 -0
  15. package/docs-dev/demos/css-icons/index.html +60 -0
  16. package/docs-dev/demos/data-grid/index.html +60 -0
  17. package/docs-dev/demos/data-table/index.html +160 -100
  18. package/docs-dev/demos/details-group/index.html +60 -0
  19. package/docs-dev/demos/file-save/index.html +60 -0
  20. package/docs-dev/demos/flipcard/index.html +60 -0
  21. package/docs-dev/demos/form-theme/index.html +60 -0
  22. package/docs-dev/demos/headline-label/index.html +60 -0
  23. package/docs-dev/demos/index.html +60 -0
  24. package/docs-dev/demos/list-inline/index.html +60 -0
  25. package/docs-dev/demos/list-lines/index.html +60 -0
  26. package/docs-dev/demos/menu-stack/index.html +60 -0
  27. package/docs-dev/demos/modals/index.html +60 -0
  28. package/docs-dev/demos/nav-strip/index.html +60 -0
  29. package/docs-dev/demos/overlay-section/index.html +60 -0
  30. package/docs-dev/demos/panel/index.html +60 -0
  31. package/docs-dev/demos/popovers/index.html +0 -5723
  32. package/docs-dev/demos/print/index.html +60 -0
  33. package/docs-dev/demos/pull-quote/index.html +60 -0
  34. package/docs-dev/demos/rail/index.html +62 -2
  35. package/docs-dev/demos/rule/index.html +60 -0
  36. package/docs-dev/demos/scrollpoints/index.html +60 -0
  37. package/docs-dev/demos/spoke-spinner/index.html +60 -0
  38. package/docs-dev/demos/sticky-list/index.html +60 -0
  39. package/docs-dev/demos/tabs/index.html +60 -0
  40. package/docs-dev/demos/tag/index.html +60 -0
  41. package/docs-dev/demos/theme-toggle/index.html +60 -0
  42. package/docs-dev/demos/tiles/index.html +60 -0
  43. package/docs-dev/demos/tooltip/index.html +60 -0
  44. package/docs-dev/demos/wysiwyg/index.html +5582 -0
  45. package/docs-dev/guide/building-stylesheet/index.html +60 -0
  46. package/docs-dev/guide/developing-ulu-scss-module/index.html +60 -0
  47. package/docs-dev/guide/index.html +60 -0
  48. package/docs-dev/index.html +60 -0
  49. package/docs-dev/javascript/events/index.html +60 -0
  50. package/docs-dev/javascript/index.html +60 -0
  51. package/docs-dev/javascript/settings/index.html +60 -0
  52. package/docs-dev/javascript/ui-breakpoints/index.html +60 -0
  53. package/docs-dev/javascript/ui-collapsible/index.html +60 -0
  54. package/docs-dev/javascript/ui-details-group/index.html +60 -0
  55. package/docs-dev/javascript/ui-dialog/index.html +60 -0
  56. package/docs-dev/javascript/ui-flipcard/index.html +60 -0
  57. package/docs-dev/javascript/ui-grid/index.html +60 -0
  58. package/docs-dev/javascript/ui-modal-builder/index.html +60 -0
  59. package/docs-dev/javascript/ui-overflow-scroller/index.html +60 -0
  60. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +60 -0
  61. package/docs-dev/javascript/ui-page/index.html +60 -0
  62. package/docs-dev/javascript/ui-popover/index.html +60 -0
  63. package/docs-dev/javascript/ui-print/index.html +60 -0
  64. package/docs-dev/javascript/ui-print-details/index.html +60 -0
  65. package/docs-dev/javascript/ui-programmatic-modal/index.html +60 -0
  66. package/docs-dev/javascript/ui-proxy-click/index.html +60 -0
  67. package/docs-dev/javascript/ui-resizer/index.html +60 -0
  68. package/docs-dev/javascript/ui-scroll-slider/index.html +60 -0
  69. package/docs-dev/javascript/ui-scrollpoint/index.html +60 -0
  70. package/docs-dev/javascript/ui-slider/index.html +60 -0
  71. package/docs-dev/javascript/ui-tabs/index.html +60 -0
  72. package/docs-dev/javascript/ui-theme-toggle/index.html +60 -0
  73. package/docs-dev/javascript/ui-tooltip/index.html +60 -0
  74. package/docs-dev/javascript/utils-class-logger/index.html +60 -0
  75. package/docs-dev/javascript/utils-css/index.html +60 -0
  76. package/docs-dev/javascript/utils-dom/index.html +60 -0
  77. package/docs-dev/javascript/utils-file-save/index.html +60 -0
  78. package/docs-dev/javascript/utils-floating-ui/index.html +60 -0
  79. package/docs-dev/javascript/utils-id/index.html +60 -0
  80. package/docs-dev/javascript/utils-pause-youtube-video/index.html +60 -0
  81. package/docs-dev/javascript/utils-system/index.html +60 -0
  82. package/docs-dev/sass/base/color/index.html +60 -0
  83. package/docs-dev/sass/base/elements/index.html +60 -0
  84. package/docs-dev/sass/base/index/index.html +60 -0
  85. package/docs-dev/sass/base/index.html +60 -0
  86. package/docs-dev/sass/base/keyframes/index.html +60 -0
  87. package/docs-dev/sass/base/layout/index.html +60 -0
  88. package/docs-dev/sass/base/normalize/index.html +60 -0
  89. package/docs-dev/sass/base/print/index.html +60 -0
  90. package/docs-dev/sass/base/root/index.html +60 -0
  91. package/docs-dev/sass/base/typography/index.html +60 -0
  92. package/docs-dev/sass/components/accordion/index.html +60 -0
  93. package/docs-dev/sass/components/adaptive-spacing/index.html +60 -0
  94. package/docs-dev/sass/components/badge/index.html +60 -0
  95. package/docs-dev/sass/components/basic-hero/index.html +60 -0
  96. package/docs-dev/sass/components/button/index.html +60 -0
  97. package/docs-dev/sass/components/button-group/index.html +60 -0
  98. package/docs-dev/sass/components/button-verbose/index.html +60 -0
  99. package/docs-dev/sass/components/callout/index.html +60 -0
  100. package/docs-dev/sass/components/captioned-figure/index.html +60 -0
  101. package/docs-dev/sass/components/card/index.html +60 -0
  102. package/docs-dev/sass/components/card-grid/index.html +60 -0
  103. package/docs-dev/sass/components/counter-list/index.html +60 -0
  104. package/docs-dev/sass/components/css-icon/index.html +60 -0
  105. package/docs-dev/sass/components/data-grid/index.html +60 -0
  106. package/docs-dev/sass/components/data-table/index.html +60 -0
  107. package/docs-dev/sass/components/fill-context/index.html +60 -0
  108. package/docs-dev/sass/components/flipcard/index.html +60 -0
  109. package/docs-dev/sass/components/flipcard-grid/index.html +60 -0
  110. package/docs-dev/sass/components/form-theme/index.html +60 -0
  111. package/docs-dev/sass/components/headline-label/index.html +60 -0
  112. package/docs-dev/sass/components/hero/index.html +60 -0
  113. package/docs-dev/sass/components/horizontal-rule/index.html +60 -0
  114. package/docs-dev/sass/components/image-grid/index.html +60 -0
  115. package/docs-dev/sass/components/index/index.html +71 -10
  116. package/docs-dev/sass/components/index.html +60 -0
  117. package/docs-dev/sass/components/links/index.html +60 -0
  118. package/docs-dev/sass/components/list-inline/index.html +60 -0
  119. package/docs-dev/sass/components/list-lines/index.html +60 -0
  120. package/docs-dev/sass/components/list-ordered/index.html +60 -0
  121. package/docs-dev/sass/components/list-unordered/index.html +60 -0
  122. package/docs-dev/sass/components/menu-stack/index.html +60 -0
  123. package/docs-dev/sass/components/modal/index.html +60 -0
  124. package/docs-dev/sass/components/nav-strip/index.html +60 -0
  125. package/docs-dev/sass/components/overlay-section/index.html +60 -0
  126. package/docs-dev/sass/components/pager/index.html +60 -0
  127. package/docs-dev/sass/components/panel/index.html +60 -0
  128. package/docs-dev/sass/components/placeholder-block/index.html +60 -0
  129. package/docs-dev/sass/components/popover/index.html +60 -0
  130. package/docs-dev/sass/components/pull-quote/index.html +60 -0
  131. package/docs-dev/sass/components/rail/index.html +60 -0
  132. package/docs-dev/sass/components/ratio-box/index.html +60 -0
  133. package/docs-dev/sass/components/rule/index.html +60 -0
  134. package/docs-dev/sass/components/scroll-slider/index.html +60 -0
  135. package/docs-dev/sass/components/skip-link/index.html +60 -0
  136. package/docs-dev/sass/components/slider/index.html +60 -0
  137. package/docs-dev/sass/components/spoke-spinner/index.html +60 -0
  138. package/docs-dev/sass/components/sticky-list/index.html +60 -0
  139. package/docs-dev/sass/components/table-sticky/index.html +5707 -0
  140. package/docs-dev/sass/components/tabs/index.html +60 -0
  141. package/docs-dev/sass/components/tag/index.html +60 -0
  142. package/docs-dev/sass/components/tile-button/index.html +60 -0
  143. package/docs-dev/sass/components/tile-grid/index.html +60 -0
  144. package/docs-dev/sass/components/tile-grid-overlay/index.html +60 -0
  145. package/docs-dev/sass/components/vignette/index.html +60 -0
  146. package/docs-dev/sass/components/wysiwyg/index.html +90 -12
  147. package/docs-dev/sass/core/breakpoint/index.html +60 -0
  148. package/docs-dev/sass/core/button/index.html +60 -0
  149. package/docs-dev/sass/core/color/index.html +60 -0
  150. package/docs-dev/sass/core/cssvar/index.html +60 -0
  151. package/docs-dev/sass/core/element/index.html +60 -0
  152. package/docs-dev/sass/core/index.html +60 -0
  153. package/docs-dev/sass/core/layout/index.html +60 -0
  154. package/docs-dev/sass/core/path/index.html +60 -0
  155. package/docs-dev/sass/core/selector/index.html +60 -0
  156. package/docs-dev/sass/core/typography/index.html +60 -0
  157. package/docs-dev/sass/core/units/index.html +60 -0
  158. package/docs-dev/sass/core/utils/index.html +60 -0
  159. package/docs-dev/sass/helpers/color/index.html +60 -0
  160. package/docs-dev/sass/helpers/display/index.html +60 -0
  161. package/docs-dev/sass/helpers/index/index.html +60 -0
  162. package/docs-dev/sass/helpers/index.html +60 -0
  163. package/docs-dev/sass/helpers/typography/index.html +60 -0
  164. package/docs-dev/sass/helpers/units/index.html +60 -0
  165. package/docs-dev/sass/helpers/utilities/index.html +60 -0
  166. package/docs-dev/sass/index.html +60 -0
  167. package/package.json +1 -1
  168. package/scss/components/_index.scss +6 -0
  169. package/scss/components/_table-sticky.scss +185 -0
  170. package/scss/components/_wysiwyg.scss +21 -13
@@ -0,0 +1,185 @@
1
+ ////
2
+ /// @group table-sticky
3
+ /// For use with table-sticky plugin (vue) or other framework implementations, not output by default must be enabled.
4
+ ////
5
+
6
+ @use "sass:map";
7
+ @use "sass:meta";
8
+
9
+ @use "../selector";
10
+ @use "../utils";
11
+ @use "../color";
12
+ @use "../element";
13
+
14
+
15
+ // Used for function fallback
16
+ $-fallbacks: (
17
+ "box-shadow" : (
18
+ "function" : meta.get-function("get", false, "element"),
19
+ "property" : "box-shadow"
20
+ ),
21
+ );
22
+
23
+ /// Module Settings
24
+ /// @type Map
25
+ /// @prop {CssValue} box-shadow [true] Box shadow for controls, defaults to element box-shadow
26
+
27
+ $config: (
28
+ "box-shadow": true,
29
+ "ui-color-disabled": #6490af,
30
+ ) !default;
31
+
32
+ /// Change modules $config
33
+ /// @param {Map} $changes Map of changes
34
+ /// @example scss
35
+ /// @include ulu.component-table-sticky-set(( "property" : value ));
36
+
37
+ @mixin set($changes) {
38
+ $config: map.merge($config, $changes) !global;
39
+ }
40
+
41
+ /// Get a config option
42
+ /// @param {Map} $name Name of property
43
+ /// @example scss
44
+ /// @include ulu.component-table-sticky-get("property");
45
+
46
+ @function get($name) {
47
+ $value: utils.require-map-get($config, $name, "table-sticky [config]");
48
+ @return utils.function-fallback($name, $value, $-fallbacks);
49
+ }
50
+ /// Prints component styles
51
+ /// @demo table-sticky
52
+ /// @example scss
53
+ /// @include ulu.component-table-sticky-styles();
54
+
55
+ @mixin styles {
56
+ $prefix: selector.class("table-sticky");
57
+
58
+ #{ $prefix } {
59
+ position: relative; // For controls
60
+ width: 100%;
61
+ * {
62
+ box-sizing: border-box;
63
+ }
64
+ }
65
+ #{ $prefix }__display {
66
+ overflow-x: auto;
67
+ overflow-y: hidden;
68
+ // scroll-behavior: smooth;
69
+ }
70
+ #{ $prefix }__table {
71
+ // border-collapse: collapse;
72
+ margin: 0;
73
+ padding: 0;
74
+ width: 100%;
75
+ }
76
+ #{ $prefix }__sticky-wrap {
77
+ position: sticky;
78
+ top: -1px;
79
+ left: 0;
80
+ width: 100%;
81
+ z-index: 2;
82
+ margin-bottom: 200px; // Distance from bottom of table to disable
83
+ margin-top: -200px; // Distance from bottom of table to disable
84
+ }
85
+ #{ $prefix }__sticky-wrap--first-column-header {
86
+ z-index: 4;
87
+ }
88
+ #{ $prefix }__sticky-wrap--controls {
89
+ margin-top: -52vh;
90
+ margin-bottom: 52vh;
91
+ }
92
+ #{ $prefix }__header-wrap {
93
+ position: absolute;
94
+ top: 0;
95
+ left: 0;
96
+ right: 0;
97
+ overflow: hidden;
98
+ }
99
+ #{ $prefix }__table--first-column-header,
100
+ #{ $prefix }__table--first-column {
101
+ position: absolute;
102
+ top: 0;
103
+ left: 0;
104
+ width: auto !important;
105
+ }
106
+ #{ $prefix }__table--first-column {
107
+ z-index: 3;
108
+ }
109
+ #{ $prefix }__table--header {
110
+ will-change: transform;
111
+ }
112
+ #{ $prefix }__hidden-visually {
113
+ position: absolute;
114
+ left: -10000px;
115
+ top: auto;
116
+ width: 1px;
117
+ height: 1px;
118
+ overflow: hidden;
119
+ }
120
+ // NOTE: The table caption needs to be positioned normally
121
+ // as display table-cell. Making absolute for hidden-visually
122
+ // is causing chrome to add an anonymous cell to the table resulting in a 1px
123
+ // cell under the header. Which is messing up alignments. The only solution
124
+ // without removing the <caption> (not good for WCAG) is to position it at the
125
+ // of the table so it doesn't affect the header alignments. Then cropping it to
126
+ // a pixel and using negative margin to remove it's pixel from the flow beneath
127
+ #{ $prefix }__caption {
128
+ margin-bottom: -1px;
129
+ height: 1px;
130
+ padding: 0 !important;
131
+ margin: 0 !important;
132
+ overflow: hidden;
133
+ display: none;
134
+ }
135
+ // Allow initiating scrolling by dragging first column
136
+ #{ $prefix }--can-scroll-right:not(#{ $prefix }--can-scroll-left) {
137
+ #{ $prefix }__table--first-column-header,
138
+ #{ $prefix }__table--first-column {
139
+ // pointer-events: none;
140
+ visibility: hidden;
141
+ // opacity: 0 !important;
142
+ }
143
+ }
144
+ #{ $prefix }__controls {
145
+ position: absolute;
146
+ top: 50vh;
147
+ right: 20px;
148
+ }
149
+ #{ $prefix }__controls-inner {
150
+ display: flex;
151
+ }
152
+ #{ $prefix }__control {
153
+ box-shadow: get("box-shadow");
154
+ }
155
+ #{ $prefix }__sort-button {
156
+ display: flex;
157
+ align-items: center;
158
+ font-weight: inherit;
159
+ font-style: inherit;
160
+ font-size: inherit;
161
+ }
162
+ #{ $prefix }__sort-button--focused {
163
+ outline: 2px auto Highlight;
164
+ outline: 2px auto -webkit-focus-ring-color;
165
+ }
166
+ #{ $prefix }__sort-icon {
167
+ margin-left: auto;
168
+ padding-left: 1em;
169
+ display: block;
170
+ opacity: 0.5;
171
+ .sort-active & {
172
+ opacity: 1;
173
+ }
174
+ .sort-ascending & {
175
+ #{ $prefix }__sort-icon-inner {
176
+ transform: rotate(180deg);
177
+ }
178
+ }
179
+ }
180
+ #{ $prefix }__sort-icon-inner {
181
+ display: block;
182
+ }
183
+ }
184
+
185
+
@@ -13,13 +13,17 @@
13
13
 
14
14
  /// Module Settings
15
15
  /// @type Map
16
- /// @prop {List} img-excluded-selectors [(".wysiwyg__exclude",)]
17
- /// @prop {List} ul-excluded-selectors [(".list-lines", ".wysiwyg__exclude")]
18
- /// @prop {Map} headline-sizes [Map]
16
+ /// @prop {String} exclude-selector [".wysiwyg__exclude"] Applied to all selectors
17
+ /// @prop {List} img-excluded-selectors [()] Extra selectors to prevent <img> styling
18
+ /// @prop {List} ul-excluded-selectors [(".list-lines",)] Extra selectors to prevent <ul> styling
19
+ /// @prop {List} link-excluded-selectors [("[class]",)] Extra selectors to prevent <a> styling
20
+ /// @prop {Map} headline-sizes [Map] Headlines from typography sizes (ElementName : TypographySizeName, ...)
19
21
 
20
22
  $config: (
21
- "img-excluded-selectors" : (".wysiwyg__exclude",),
22
- "ul-excluded-selectors" : (".list-lines", ".wysiwyg__exclude"),
23
+ "exclude-selector" : ".wysiwyg__exclude",
24
+ "img-excluded-selectors" : (),
25
+ "ul-excluded-selectors" : (".list-lines",),
26
+ "link-excluded-selectors" : ("[class]",),
23
27
  "headline-sizes" : (
24
28
  "h2" : "h2",
25
29
  "h3" : "h3",
@@ -66,24 +70,28 @@ $config: (
66
70
 
67
71
  // Internal mixin
68
72
  @mixin _styles() {
69
- $ul-excludes: list.join(get("ul-excluded-selectors"), (), $separator: comma);
70
- $img-excludes: list.join(get("img-excluded-selectors"), (), $separator: comma);
73
+ $exclude-selector: get("exclude-selector");
74
+ $ul-excludes: list.join(get("ul-excluded-selectors"), ($exclude-selector), $separator: comma);
75
+ $img-excludes: list.join(get("img-excluded-selectors"), ($exclude-selector), $separator: comma);
76
+ $link-excludes: list.join(get("link-excluded-selectors"), ($exclude-selector), $separator: comma);
71
77
 
72
- a:not([class]) {
78
+ a:not(#{ $link-excludes }) {
73
79
  @include element.link($visited: true, $active: true);
74
80
  }
75
81
  ul:not(#{ $ul-excludes }) {
76
82
  @include element.styles-unordered-list();
83
+ margin-bottom: element.get("margin");
77
84
  }
78
- ol {
85
+ ol:not(#{ $exclude-selector }) {
79
86
  @include element.styles-ordered-list(inherit);
80
- }
81
- ul,
82
- ol {
83
87
  margin-bottom: element.get("margin");
84
88
  }
89
+ // ul,
90
+ // ol {
91
+ // margin-bottom: element.get("margin");
92
+ // }
85
93
  @each $element, $size in get("headline-sizes") {
86
- #{ $element } {
94
+ #{ $element }:not(#{ $exclude-selector }) {
87
95
  @include typography.size($size);
88
96
  }
89
97
  }