@internetstiftelsen/styleguide 5.1.14-beta.0.4 → 5.1.14-beta.0.6

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.
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  function _export(target, all) {
7
7
  for(var name in all)Object.defineProperty(target, name, {
8
8
  enumerable: true,
9
- get: all[name]
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- destroyPlayer: function() {
13
+ get destroyPlayer () {
14
14
  return destroyPlayer;
15
15
  },
16
- setupPlayers: function() {
16
+ get setupPlayers () {
17
17
  return setupPlayers;
18
18
  }
19
19
  });
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  const progressbars = document.querySelectorAll('[data-width-progress]');
3
- if (progressbars) {
3
+ if (progressbars.length) {
4
4
  function progressBarWidths() {
5
- progressbars.forEach((container, index)=>{
5
+ progressbars.forEach((container)=>{
6
6
  const width = container.offsetWidth;
7
- document.documentElement.style.setProperty(`--progressbar-width`, width + 'px');
7
+ const value = +container.getAttribute('value') || 0;
8
+ const max = +container.getAttribute('max') || 100;
9
+ const percent = Math.round(value / max * 100 / 2) * 2;
10
+ document.documentElement.style.setProperty('--progressbar-width', width + 'px');
11
+ document.documentElement.style.setProperty('--progressbar-width-percent', percent + '%');
8
12
  });
9
13
  }
10
14
  window.addEventListener('DOMContentLoaded', progressBarWidths);
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- init: function() {
12
+ get init () {
13
13
  return init;
14
14
  },
15
- setupTextArea: function() {
15
+ get setupTextArea () {
16
16
  return setupTextArea;
17
17
  }
18
18
  });
@@ -42,3 +42,4 @@ require("./assets/js/iconToggle");
42
42
  require("./molecules/multi-select/multi-select");
43
43
  require("./organisms/haveibeenpwned/haveibeenpwned");
44
44
  require("./atoms/progress/progress");
45
+ require("./molecules/table-advanced/table-advanced");
@@ -5,23 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- clearQueue: function() {
12
+ get clearQueue () {
13
13
  return clearQueue;
14
14
  },
15
- close: function() {
15
+ get close () {
16
16
  return close;
17
17
  },
18
- onClose: function() {
18
+ get onClose () {
19
19
  return onClose;
20
20
  },
21
- onOpen: function() {
21
+ get onOpen () {
22
22
  return onOpen;
23
23
  },
24
- open: function() {
24
+ get open () {
25
25
  return open;
26
26
  }
27
27
  });
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _aggridcommunity = /*#__PURE__*/ _interop_require_wildcard(require("ag-grid-community"));
6
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
7
+ try {
8
+ var info = gen[key](arg);
9
+ var value = info.value;
10
+ } catch (error) {
11
+ reject(error);
12
+ return;
13
+ }
14
+ if (info.done) {
15
+ resolve(value);
16
+ } else {
17
+ Promise.resolve(value).then(_next, _throw);
18
+ }
19
+ }
20
+ function _async_to_generator(fn) {
21
+ return function() {
22
+ var self = this, args = arguments;
23
+ return new Promise(function(resolve, reject) {
24
+ var gen = fn.apply(self, args);
25
+ function _next(value) {
26
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
27
+ }
28
+ function _throw(err) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
30
+ }
31
+ _next(undefined);
32
+ });
33
+ };
34
+ }
35
+ function _getRequireWildcardCache(nodeInterop) {
36
+ if (typeof WeakMap !== "function") return null;
37
+ var cacheBabelInterop = new WeakMap();
38
+ var cacheNodeInterop = new WeakMap();
39
+ return (_getRequireWildcardCache = function(nodeInterop) {
40
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
41
+ })(nodeInterop);
42
+ }
43
+ function _interop_require_wildcard(obj, nodeInterop) {
44
+ if (!nodeInterop && obj && obj.__esModule) {
45
+ return obj;
46
+ }
47
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
48
+ return {
49
+ default: obj
50
+ };
51
+ }
52
+ var cache = _getRequireWildcardCache(nodeInterop);
53
+ if (cache && cache.has(obj)) {
54
+ return cache.get(obj);
55
+ }
56
+ var newObj = {
57
+ __proto__: null
58
+ };
59
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
60
+ for(var key in obj){
61
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
62
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
63
+ if (desc && (desc.get || desc.set)) {
64
+ Object.defineProperty(newObj, key, desc);
65
+ } else {
66
+ newObj[key] = obj[key];
67
+ }
68
+ }
69
+ }
70
+ newObj.default = obj;
71
+ if (cache) {
72
+ cache.set(obj, newObj);
73
+ }
74
+ return newObj;
75
+ }
76
+ _aggridcommunity.ModuleRegistry.registerModules([
77
+ _aggridcommunity.AllCommunityModule
78
+ ]);
79
+ // to use iisTheme in an application, pass it to the theme grid option
80
+ const iisTheme = _aggridcommunity.themeQuartz.withPart(_aggridcommunity.iconSetMaterial).withParams({
81
+ accentColor: "#0477CE",
82
+ backgroundColor: "#FFFFFF",
83
+ borderRadius: 3,
84
+ browserColorScheme: "light",
85
+ cellTextColor: "#1F2A36",
86
+ chromeBackgroundColor: {
87
+ ref: "foregroundColor",
88
+ mix: 0.07,
89
+ onto: "backgroundColor"
90
+ },
91
+ fontFamily: "inherit",
92
+ fontSize: 16,
93
+ foregroundColor: "#1F2A36",
94
+ headerBackgroundColor: "#D8D8D8",
95
+ headerFontFamily: "inherit",
96
+ headerFontSize: 16,
97
+ headerFontWeight: 400,
98
+ headerTextColor: "#1F2A36",
99
+ oddRowBackgroundColor: "#EDEDED",
100
+ wrapperBorderRadius: 3
101
+ });
102
+ let gridApi;
103
+ const gridOptions = {
104
+ theme: iisTheme,
105
+ sortable: true,
106
+ suppressAutoHideAllSortIcons: true,
107
+ columnDefs: [
108
+ {
109
+ headerName: 'Domain',
110
+ field: 'domain',
111
+ sortable: true,
112
+ filter: true
113
+ },
114
+ {
115
+ headerName: 'Score (%)',
116
+ field: 'score_percent',
117
+ sortable: true,
118
+ filter: 'agNumberColumnFilter',
119
+ width: 120
120
+ },
121
+ {
122
+ headerName: 'Report',
123
+ field: 'report_url',
124
+ cellRenderer: (params)=>{
125
+ return params.value ? `<a href="${params.value}" target="_blank" rel="noopener">View</a>` : '';
126
+ }
127
+ },
128
+ {
129
+ headerName: 'Results',
130
+ children: [
131
+ {
132
+ headerName: 'IPv6',
133
+ field: 'results.ipv6.status',
134
+ sortable: true,
135
+ filter: true,
136
+ cellClass: (params)=>`status-${params.value}`
137
+ },
138
+ {
139
+ headerName: 'DNSSEC',
140
+ field: 'results.dnssec.status',
141
+ sortable: true,
142
+ filter: true,
143
+ cellClass: (params)=>`status-${params.value}`
144
+ },
145
+ {
146
+ headerName: 'HTTPS',
147
+ field: 'results.https.status',
148
+ sortable: true,
149
+ filter: true,
150
+ cellClass: (params)=>`status-${params.value}`
151
+ },
152
+ {
153
+ headerName: 'Security Options',
154
+ field: 'results.security_options.status',
155
+ sortable: true,
156
+ filter: true,
157
+ cellClass: (params)=>`status-${params.value}`
158
+ },
159
+ {
160
+ headerName: 'RPKI',
161
+ field: 'results.rpki.status',
162
+ sortable: true,
163
+ filter: true,
164
+ cellClass: (params)=>`status-${params.value}`
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ };
170
+ (function fillLarge() {
171
+ setWidthAndHeight("100%");
172
+ })();
173
+ function setWidthAndHeight(size) {
174
+ const eGridDiv = document.querySelector("#myGrid");
175
+ eGridDiv.style.setProperty("width", size);
176
+ eGridDiv.style.setProperty("height", size);
177
+ }
178
+ const gridDiv = document.querySelector("#myGrid");
179
+ gridApi = _aggridcommunity.createGrid(gridDiv, gridOptions);
180
+ fetch('public/assets/json/table.json').then((res)=>_async_to_generator(function*() {
181
+ const ct = res.headers.get('content-type') || '';
182
+ if (!res.ok) {
183
+ const body = yield res.text();
184
+ throw new Error(`Fetch failed ${res.status} ${res.statusText}\n${body.slice(0, 200)}`);
185
+ }
186
+ if (!ct.includes('application/json')) {
187
+ const body = yield res.text();
188
+ throw new Error(`Expected JSON, got ${ct}. First 200 chars:\n${body.slice(0, 200)}`);
189
+ }
190
+ return res.json();
191
+ })()).then((data)=>{
192
+ console.log('Loaded JSON rows:', Array.isArray(data) ? data.length : data);
193
+ }).catch((e)=>{
194
+ console.error(e);
195
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetstiftelsen/styleguide",
3
- "version": "5.1.14-beta.0.4",
3
+ "version": "5.1.14-beta.0.6",
4
4
  "main": "dist/components.js",
5
5
  "ports": {
6
6
  "fractal": "3000"
@@ -14,6 +14,10 @@
14
14
  border: 0;
15
15
  counter-reset: table-counter;
16
16
 
17
+ &[aria-hidden="true"] {
18
+ display: none;
19
+ }
20
+
17
21
  caption {
18
22
  font-family: var.$font-family-headings;
19
23
  padding-top: func.rhythm(1);
@@ -1,5 +1,8 @@
1
1
  @charset "UTF-8";
2
2
  @use '../../configurations/variables' as var;
3
+ @use '../../configurations/extends';
4
+ @use '../../configurations/functions' as func;
5
+ @use '../../configurations/colors/colors' as colors;
3
6
 
4
7
  body {
5
8
  height: 100%;
@@ -12,3 +15,73 @@ body {
12
15
  --ag-header-font-size: 15px;
13
16
  --ag-font-size: 16px;
14
17
  }
18
+
19
+ .ag-header-cell,
20
+ .ag-header-cell-comp-wrapper {
21
+ text-shadow: 0 1px 0 colors.$color-snow;
22
+ }
23
+
24
+ /* Always show sort icons in headers */
25
+ .ag-header-cell .ag-sort-ascending-icon {
26
+ opacity: 1 !important;
27
+ visibility: visible !important;
28
+ }
29
+
30
+ /* Ensure the "unsorted" chevrons render when nothing is sorted yet */
31
+ .ag-header-cell .ag-sort-none-icon {
32
+ display: inline-block !important;
33
+ }
34
+
35
+ .ag-grid {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+
40
+ .ag-grid__wrapper {
41
+ flex: 1 1 0px;
42
+ width: 100%;
43
+ }
44
+
45
+ .ag-grid__inner {
46
+ height: 100%;
47
+ }
48
+
49
+ /*.ag-cell,
50
+ .ag-header-cell,
51
+ .ag-header-group-cell,
52
+ .ag-row,
53
+ .ag-spanned-cell-wrapper {
54
+ visibility: visible;
55
+ }*/
56
+
57
+ .ag-cell {
58
+ display: inline-flex;
59
+ }
60
+
61
+ .ag-cell span {
62
+ display: flex;
63
+ align-items: center;
64
+ }
65
+
66
+ .ag-cell span a {
67
+ @extend %link-styles;
68
+
69
+ line-height: initial;
70
+ }
71
+
72
+ .ag-cell svg {
73
+ margin-right: func.rhythm(1);
74
+ }
75
+
76
+ /* Vertically center any cells that render your icon+label markup */
77
+ .ag-cell .cell-center {
78
+ display: inline-flex;
79
+ align-items: center;
80
+ gap: 6px;
81
+ }
82
+
83
+ /* Optional: make sort icons always visible a bit stronger */
84
+ .ag-header-cell .ag-sort-indicator-icon { opacity: 1; }
85
+
86
+ .ag-header-group-cell-label.expand-header { cursor: pointer; }
87
+ .ag-header-group-cell-label.expand-header:hover { opacity: .9; }
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ status: 'wip',
3
+ default: 'Small table',
4
+
5
+ context: {
6
+ json: './table-small.json',
7
+ minHeight: '345px',
8
+ },
9
+ variants: [
10
+ {
11
+ name: 'Large table',
12
+ context: {
13
+ json: './table.json',
14
+ minHeight: '600px',
15
+ }
16
+ },
17
+ ],
18
+ };