@jinntec/fore 1.0.0-4 → 1.1.0

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 (66) hide show
  1. package/README.md +26 -38
  2. package/dist/fore-dev.js +43 -0
  3. package/dist/fore-dev.js.map +1 -0
  4. package/dist/fore.js +37 -0
  5. package/dist/fore.js.map +1 -0
  6. package/index.js +4 -0
  7. package/package.json +42 -42
  8. package/resources/fore.css +186 -0
  9. package/resources/toastify.css +87 -0
  10. package/resources/{fore-styles.css → vars.css} +0 -292
  11. package/src/DependencyNotifyingDomFacade.js +10 -16
  12. package/src/ForeElementMixin.js +26 -19
  13. package/src/actions/abstract-action.js +30 -9
  14. package/src/actions/fx-action.js +6 -4
  15. package/src/actions/fx-append.js +8 -17
  16. package/src/actions/fx-confirm.js +5 -3
  17. package/src/actions/fx-delete.js +6 -3
  18. package/src/actions/fx-dispatch.js +9 -8
  19. package/src/actions/fx-hide.js +10 -6
  20. package/src/actions/fx-insert.js +49 -39
  21. package/src/actions/fx-message.js +3 -1
  22. package/src/actions/fx-refresh.js +15 -1
  23. package/src/actions/fx-replace.js +73 -0
  24. package/src/actions/fx-return.js +42 -0
  25. package/src/actions/fx-send.js +3 -1
  26. package/src/actions/fx-setfocus.js +37 -0
  27. package/src/actions/fx-setvalue.js +58 -51
  28. package/src/actions/fx-show.js +12 -4
  29. package/src/actions/fx-toggle.js +15 -10
  30. package/src/actions/fx-update.js +3 -1
  31. package/src/dep_graph.js +4 -2
  32. package/src/drawdown.js +67 -82
  33. package/src/fore.js +158 -12
  34. package/src/functions/fx-function.js +17 -3
  35. package/src/fx-bind.js +42 -202
  36. package/src/fx-fore.js +599 -567
  37. package/src/fx-header.js +3 -1
  38. package/src/fx-instance.js +9 -1
  39. package/src/fx-model.js +59 -23
  40. package/src/fx-submission.js +106 -48
  41. package/src/fx-var.js +7 -4
  42. package/src/getInScopeContext.js +37 -11
  43. package/src/modelitem.js +4 -4
  44. package/src/relevance.js +64 -0
  45. package/src/ui/abstract-control.js +64 -37
  46. package/src/ui/fx-alert.js +7 -1
  47. package/src/ui/fx-case.js +4 -3
  48. package/src/ui/fx-container.js +7 -1
  49. package/src/ui/fx-control.js +309 -34
  50. package/src/ui/fx-dialog.js +54 -40
  51. package/src/ui/fx-group.js +3 -1
  52. package/src/ui/fx-hint.js +4 -1
  53. package/src/ui/fx-inspector.js +120 -17
  54. package/src/ui/fx-items.js +8 -8
  55. package/src/ui/fx-output.js +16 -5
  56. package/src/ui/fx-repeat.js +33 -41
  57. package/src/ui/fx-repeatitem.js +10 -4
  58. package/src/ui/fx-switch.js +5 -3
  59. package/src/ui/fx-trigger.js +3 -1
  60. package/src/xpath-evaluation.js +621 -576
  61. package/src/xpath-util.js +15 -8
  62. package/dist/fore-all.js +0 -140
  63. package/dist/fore-debug.js +0 -140
  64. package/src/.DS_Store +0 -0
  65. package/src/actions/.DS_Store +0 -0
  66. package/src/ui/.DS_Store +0 -0
package/index.js CHANGED
@@ -27,6 +27,7 @@ import './src/ui/fx-items.js';
27
27
  // action classes
28
28
  import './src/actions/fx-append.js';
29
29
  import './src/actions/fx-delete.js';
30
+ import './src/actions/fx-setfocus.js';
30
31
  import './src/actions/fx-insert.js';
31
32
  import './src/actions/fx-message.js';
32
33
  import './src/actions/fx-setvalue.js';
@@ -35,8 +36,11 @@ import './src/actions/fx-toggle.js';
35
36
  import './src/actions/fx-dispatch.js';
36
37
  import './src/actions/fx-update.js';
37
38
  import './src/actions/fx-refresh.js';
39
+ import './src/actions/fx-replace.js';
40
+ import './src/actions/fx-return.js';
38
41
  import './src/actions/fx-confirm.js';
39
42
  import './src/actions/fx-show.js';
40
43
  import './src/actions/fx-hide.js';
41
44
 
42
45
  import './src/functions/fx-function.js';
46
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jinntec/fore",
3
- "version": "1.0.0-4",
4
- "description": "Fore - Forms for the Web",
3
+ "version": "1.1.0",
4
+ "description": "Fore - declarative user interfaces in plain HTML",
5
5
  "module": "./index.js",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -19,59 +19,57 @@
19
19
  },
20
20
  "files": [
21
21
  "index.js",
22
- "resources/fore-styles.css",
22
+ "resources/fore.css",
23
+ "resources/vars.css",
24
+ "resources/toastify.css",
23
25
  "src/**/*",
24
- "dist/fore-all.js",
25
- "dist/fore-debug.js"
26
+ "dist/fore.js",
27
+ "dist/fore.js.map",
28
+ "dist/fore-dev.js",
29
+ "dist/fore-dev.js.map",
30
+ "!.DS_Store"
26
31
  ],
27
32
  "dependencies": {
28
- "@jinntec/jinn-toast": "^1.0.2",
29
- "@polymer/iron-component-page": "^4.0.1",
30
- "@polymer/iron-demo-helpers": "^3.1.0",
31
- "@polymer/paper-button": "^3.0.1",
32
- "@polymer/paper-checkbox": "^3.1.0",
33
- "@polymer/paper-dialog": "^3.0.1",
34
- "@polymer/paper-dialog-scrollable": "^3.0.1",
35
- "@polymer/paper-input": "^3.2.1",
36
- "fontoxpath": "^3.20.4",
37
- "web-component-analyzer": "^1.1.6"
33
+ "@jinntec/jinn-toast": "^1.0.4",
34
+ "fontoxpath": "^3.26.0"
38
35
  },
39
36
  "devDependencies": {
40
- "@babel/plugin-proposal-class-properties": "^7.13.0",
41
- "@open-wc/building-rollup": "^0.21.1",
42
- "@open-wc/eslint-config": "^2.0.0",
37
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
38
+ "@open-wc/building-rollup": "^2.0.1",
39
+ "@open-wc/eslint-config": "^7.0.0",
43
40
  "@open-wc/prettier-config": "^0.1.10",
44
- "@open-wc/semantic-dom-diff": "^0.19.4",
45
- "@open-wc/testing": "^2.0.0",
41
+ "@open-wc/semantic-dom-diff": "^0.19.6",
42
+ "@open-wc/testing": "^3.1.5",
46
43
  "@open-wc/testing-karma": "^4.0.9",
47
- "@open-wc/testing-karma-bs": "^1.0.0",
48
- "@rollup/plugin-commonjs": "^11.1.0",
49
- "@rollup/plugin-node-resolve": "^6.1.0",
44
+ "@open-wc/testing-karma-bs": "^1.3.94",
45
+ "@rollup/plugin-commonjs": "^22.0.0",
46
+ "@rollup/plugin-node-resolve": "^13.3.0",
50
47
  "@rollup/plugin-strip": "^2.1.0",
51
48
  "@skypack/package-check": "^0.2.2",
52
- "@webcomponents/webcomponentsjs": "^2.0.0",
53
- "deepmerge": "^3.3.0",
54
- "es-dev-server": "^1.57.8",
55
- "eslint": "^6.1.0",
56
- "husky": "^1.0.0",
57
- "jsdoc": "^3.6.7",
58
- "lint-staged": "^8.0.0",
59
- "lit-html": "^1.1.2",
60
- "mocha": "^7.0.1",
61
- "np": "^7.5.0",
62
- "rimraf": "^2.7.1",
63
- "rollup": "^1.32.1",
49
+ "@webcomponents/webcomponentsjs": "^2.6.0",
50
+ "deepmerge": "^4.2.2",
51
+ "es-dev-server": "^2.1.0",
52
+ "eslint": "^8.16.0",
53
+ "husky": "^8.0.1",
54
+ "jsdoc": "^3.6.10",
55
+ "lint-staged": "^12.4.3",
56
+ "lit-html": "^2.2.5",
57
+ "mocha": "^10.0.0",
58
+ "np": "^7.6.1",
59
+ "rimraf": "^3.0.2",
60
+ "rollup": "^2.75.4",
64
61
  "rollup-plugin-babel": "^4.4.0",
65
62
  "rollup-plugin-minify-html-literals": "^1.2.6",
66
- "typescript": "^3.7.5",
63
+ "typescript": "^4.7.2",
64
+ "web-component-analyzer": "^1.1.6",
67
65
  "xmlserializer": "^0.6.1"
68
66
  },
69
67
  "scripts": {
70
68
  "test": "karma start",
71
- "lint:eslint": "eslint --ext .js,.html . --ignore-path .gitignore",
72
- "format:eslint": "eslint --ext .js,.html . --fix --ignore-path .gitignore",
73
- "lint:prettier": "prettier \"**/*.js\" --check --ignore-path .gitignore",
74
- "format:prettier": "prettier \"**/*.js\" --write --ignore-path .gitignore",
69
+ "lint:eslint": "eslint --ext .js,.html . --ignore-path .eslintignore",
70
+ "format:eslint": "eslint --ext .js,.html . --fix --ignore-path .eslintignore",
71
+ "lint:prettier": "prettier \"**/*.js\" --check --ignore-path .eslintignore",
72
+ "format:prettier": "prettier \"**/*.js\" --write --ignore-path .eslintignore",
75
73
  "docs": "wca src -f json --outFile fore-elements.json",
76
74
  "lint": "npm run lint:eslint && npm run lint:prettier",
77
75
  "lint:types": "tsc",
@@ -82,7 +80,7 @@
82
80
  "test:bs": "karma start karma.bs.config.js --coverage",
83
81
  "start:build": "cd dist && es-dev-server --open",
84
82
  "build": "rimraf dist && rollup -c rollup.config.js",
85
- "start": "es-dev-server --app-index index.html --node-resolve --watch --open"
83
+ "start": "es-dev-server --app-index doc/index.html --node-resolve --watch --open"
86
84
  },
87
85
  "keywords": [
88
86
  "Fore",
@@ -92,7 +90,9 @@
92
90
  "XQuery",
93
91
  "form",
94
92
  "xforms",
95
- "html form"
93
+ "html form",
94
+ "declarative",
95
+ "user interface"
96
96
  ],
97
97
  "author": "Joern Turner",
98
98
  "license": "MIT",
@@ -0,0 +1,186 @@
1
+ @import 'toastify.css';
2
+ @import 'vars.css';
3
+
4
+ html{
5
+ --inspector-bg:var(--paper-grey-300);
6
+ --inspector-pre-bg:var(--paper-grey-100);
7
+ --inspector-color:var(--paper-grey-800);
8
+ --inspector-instance-height:200px;
9
+ --inspector-handle-bg: var(--paper-blue-500);
10
+ --inspector-handle-width: 30px;
11
+
12
+ }
13
+ [unresolved]{
14
+ display: none;
15
+ }
16
+ [disabled] {
17
+ pointer-events: none;
18
+ cursor: default;
19
+ }
20
+ input[readonly]{
21
+ background: lightgrey;
22
+ }
23
+
24
+ /* fx-fore{ */
25
+ /* opacity: 0; */
26
+ /* } */
27
+ /* fx-fore.fx-ready{ */
28
+ /* opacity: 1; */
29
+ /* } */
30
+ fx-group, fx-switch, fx-repeat, fx-dialog{
31
+ display: block;
32
+ }
33
+ fx-trigger a[disabled] {
34
+ color:lightgrey;
35
+ }
36
+ fx-trigger img[disabled]{
37
+ filter:blur(2px);
38
+ }
39
+
40
+ .error{
41
+ background: var(--paper-red-500);
42
+ }
43
+ fx-alert{
44
+ color:darkred;
45
+ font-size: 0.9rem;
46
+ }
47
+
48
+ /* case not displayed by default - if you want e.g. apply transitions you have to overwrite this rule with display='inline' or similar */
49
+ fx-case{
50
+ display: none;
51
+ }
52
+
53
+ fx-model, fx-model *, fx-model ::slotted(fx-instance), fx-instance{
54
+ display:none;
55
+ }
56
+
57
+ fx-control, fx-trigger{
58
+ white-space: nowrap;
59
+ /* position: relative; */
60
+ }
61
+ .fx-checkbox{
62
+ white-space: nowrap;
63
+ }
64
+ fx-hint{
65
+ display: none;
66
+ }
67
+ fx-repeatitem{
68
+ position:relative;
69
+ /*
70
+ opacity:1;
71
+ -webkit-transition: opacity 3s;
72
+ -moz-transition: opacity 3s;
73
+ transition: opacity 3s;
74
+ */
75
+ }
76
+ .hidden {
77
+ visibility: hidden;
78
+ opacity: 0;
79
+ transition: visibility 0s 2s, opacity 2s linear;
80
+ }
81
+
82
+ /* fx-inspector styles */
83
+
84
+ /* ### FX-DIALOG STYLES ### */
85
+ /* ### FX-DIALOG STYLES ### */
86
+ /* ### FX-DIALOG STYLES ### */
87
+ fx-dialog{
88
+ display: none;
89
+ opacity: 0;
90
+ transition: opacity 1s linear;
91
+ }
92
+ fx-dialog.show{
93
+ display: block;
94
+ min-height: 200px;
95
+ border-radius: 0.5rem;
96
+ opacity: 1;
97
+ background:rgba(0,0,0,0.5);
98
+ z-index: 10;
99
+ transition: opacity 2s linear;
100
+ }
101
+
102
+ fx-dialog.show .dialog-content{
103
+ padding: 1rem;
104
+ width:fit-content;
105
+ height:fit-content;
106
+ border:thin solid;
107
+ border-radius: 0.3rem;
108
+ position: absolute;
109
+ left:50%;
110
+ top:50%;
111
+ transform:translateX(-50%) translateY(-50%);
112
+ background: white;
113
+
114
+ }
115
+ fx-dialog a.close-dialog{
116
+ position: absolute;
117
+ right: 0.4rem;
118
+ top:0.2rem;
119
+ color:var(--paper-grey-900);
120
+ text-decoration: none;
121
+ font-size:1.2rem;
122
+ }
123
+ fx-dialog .action{
124
+ width: 100%;
125
+ text-align: center;
126
+ display: block;
127
+ }
128
+
129
+
130
+
131
+ /*
132
+ .visible {
133
+ visibility: visible;
134
+ opacity: 1;
135
+ transition: opacity 2s linear;
136
+ }
137
+ */
138
+
139
+ .required:after {
140
+ content: '*';
141
+ color: red;
142
+ padding-left: 4px;
143
+ right:3px;
144
+ top:3px;
145
+ z-index: 1;
146
+ }
147
+
148
+ [required]:after {
149
+ content: "*";
150
+ display: inline;
151
+ color: red;
152
+ }
153
+ .logtree details{
154
+ padding:0.1rem 1rem;
155
+ margin:0;
156
+ }
157
+ .logtree details summary{
158
+
159
+ }
160
+ .non-relevant{
161
+ opacity: 0;
162
+ height: 0;
163
+ transition: opacity 1s;
164
+ }
165
+ .vertical label{
166
+ display: block;
167
+ }
168
+ [refresh-on-view]{
169
+ /*opacity: 0;*/
170
+ }
171
+ .loaded{
172
+ animation: fadein 0.3s forwards;
173
+ }
174
+ /* avoid flicker from nested lazily loaded elements */
175
+ .loaded .loaded{
176
+ animation: none;
177
+ opacity: 1;
178
+ }
179
+ /* @keyframes fadein { */
180
+ /* 0% { */
181
+ /* opacity:0; */
182
+ /* } */
183
+ /* 100% { */
184
+ /* opacity:1; */
185
+ /* } */
186
+ /* } */
@@ -0,0 +1,87 @@
1
+ /*!
2
+ * Toastify js 1.11.0
3
+ * https://github.com/apvarun/toastify-js
4
+ * @license MIT licensed
5
+ *
6
+ * Copyright (C) 2018 Varun A P
7
+ */
8
+
9
+ .toastify {
10
+ padding: 12px 20px;
11
+ color: #ffffff;
12
+ display: inline-block;
13
+ box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
14
+ background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
15
+ background: linear-gradient(135deg, #f8f8f9, #cfcfcf);
16
+ position: fixed;
17
+ opacity: 0;
18
+ transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
19
+ border-radius: 2px;
20
+ cursor: pointer;
21
+ text-decoration: none;
22
+ max-width: calc(50% - 20px);
23
+ z-index: 2147483647;
24
+ font-weight: 300;
25
+ color:black;
26
+ }
27
+
28
+ .toastify.on {
29
+ opacity: 1;
30
+ }
31
+
32
+ .toast-close {
33
+ opacity: 0.8;
34
+ padding: 0 5px;
35
+ }
36
+
37
+ .toastify-right {
38
+ right: 15px;
39
+ }
40
+ .toastify-right .toast-close {
41
+ margin-right:-10px;
42
+ }
43
+
44
+ .toastify-left {
45
+ left: 15px;
46
+ }
47
+ .toastify-left .toast-close{
48
+ margin-left:-10px;
49
+ }
50
+
51
+ .toastify-top {
52
+ top: -150px;
53
+ }
54
+
55
+ .toastify-bottom {
56
+ bottom: -150px;
57
+ }
58
+
59
+ .toastify-rounded {
60
+ border-radius: 25px;
61
+ }
62
+
63
+ .toastify-avatar {
64
+ width: 1.5em;
65
+ height: 1.5em;
66
+ margin: -7px 5px;
67
+ border-radius: 2px;
68
+ }
69
+
70
+ .toastify-center {
71
+ margin-left: auto;
72
+ margin-right: auto;
73
+ left: 0;
74
+ right: 0;
75
+ max-width: fit-content;
76
+ max-width: -moz-fit-content;
77
+ }
78
+
79
+ @media only screen and (max-width: 360px) {
80
+ .toastify-right, .toastify-left {
81
+ margin-left: auto;
82
+ margin-right: auto;
83
+ left: 0;
84
+ right: 0;
85
+ max-width: fit-content;
86
+ }
87
+ }
@@ -1,15 +1,5 @@
1
1
  /* Material Design color palette for Google products */
2
- /* Material Design color palette for Google products */
3
- /* Material Design color palette for Google products */
4
- /* Material Design color palette for Google products */
5
-
6
2
  html {
7
-
8
- --inspector-bg:var(--paper-grey-500);
9
- --inspector-pre-bg:var(--paper-grey-100);
10
- --inspector-color:var(--paper-grey-800);
11
- --inspector-instance-height:200px;
12
-
13
3
  --google-red-100: #f4c7c3;
14
4
  --google-red-300: #e67c73;
15
5
  --google-red-500: #db4437;
@@ -328,285 +318,3 @@ html {
328
318
  --model-element-margin:10px;
329
319
  }
330
320
 
331
- /*!
332
- * Toastify js 1.11.0
333
- * https://github.com/apvarun/toastify-js
334
- * @license MIT licensed
335
- *
336
- * Copyright (C) 2018 Varun A P
337
- */
338
-
339
- .toastify {
340
- padding: 12px 20px;
341
- color: #ffffff;
342
- display: inline-block;
343
- box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
344
- background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
345
- background: linear-gradient(135deg, #f8f8f9, #cfcfcf);
346
- position: fixed;
347
- opacity: 0;
348
- transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
349
- border-radius: 2px;
350
- cursor: pointer;
351
- text-decoration: none;
352
- max-width: calc(50% - 20px);
353
- z-index: 2147483647;
354
- font-weight: 300;
355
- color:black;
356
- }
357
-
358
- .toastify.on {
359
- opacity: 1;
360
- }
361
-
362
- .toast-close {
363
- opacity: 0.8;
364
- padding: 0 5px;
365
- }
366
-
367
- .toastify-right {
368
- right: 15px;
369
- }
370
- .toastify-right .toast-close {
371
- margin-right:-10px;
372
- }
373
-
374
- .toastify-left {
375
- left: 15px;
376
- }
377
- .toastify-left .toast-close{
378
- margin-left:-10px;
379
- }
380
-
381
- .toastify-top {
382
- top: -150px;
383
- }
384
-
385
- .toastify-bottom {
386
- bottom: -150px;
387
- }
388
-
389
- .toastify-rounded {
390
- border-radius: 25px;
391
- }
392
-
393
- .toastify-avatar {
394
- width: 1.5em;
395
- height: 1.5em;
396
- margin: -7px 5px;
397
- border-radius: 2px;
398
- }
399
-
400
- .toastify-center {
401
- margin-left: auto;
402
- margin-right: auto;
403
- left: 0;
404
- right: 0;
405
- max-width: fit-content;
406
- max-width: -moz-fit-content;
407
- }
408
-
409
- @media only screen and (max-width: 360px) {
410
- .toastify-right, .toastify-left {
411
- margin-left: auto;
412
- margin-right: auto;
413
- left: 0;
414
- right: 0;
415
- max-width: fit-content;
416
- }
417
- }
418
-
419
- /*!
420
- * Fore js 1.0.0-2
421
- * @license MIT licensed
422
- *
423
- * Copyright (C) 2012 Joern Turner
424
- */
425
-
426
- [unresolved]{
427
- display: none;
428
- }
429
- [disabled] {
430
- pointer-events: none;
431
- cursor: default;
432
- }
433
- [refresh-on-view]{
434
- /*opacity: 0;*/
435
- }
436
- [required]:after {
437
- content: "*";
438
- display: inline;
439
- color: red;
440
- }
441
-
442
- .error{
443
- background: var(--paper-red-500);
444
- }
445
-
446
- fx-alert{
447
- color:darkred;
448
- font-size: 0.9rem;
449
- }
450
-
451
- fx-control, fx-trigger{
452
- white-space: nowrap;
453
- position: relative;
454
- }
455
-
456
- .fx-checkbox{
457
- white-space: nowrap;
458
- }
459
- fx-dialog{
460
- display: none;
461
- }
462
- fx-dialog.show{
463
- display: block;
464
- min-height: 200px;
465
- border-radius: 0.5rem;
466
- /*opacity: 0.3;*/
467
- background:rgba(0,0,0,0.5);
468
- z-index: 10;
469
- }
470
- fx-dialog.show .dialog-content{
471
- padding: 1rem;
472
- width:fit-content;
473
- height:fit-content;
474
- border:thin solid;
475
- border-radius: 0.3rem;
476
- position: absolute;
477
- left:50%;
478
- top:50%;
479
- transform:translateX(-50%) translateY(-50%);
480
- background: white;
481
-
482
- }
483
- fx-dialog a.close-dialog{
484
- position: absolute;
485
- right: 0.4rem;
486
- top:0.2rem;
487
- color:var(--paper-grey-900);
488
- text-decoration: none;
489
- font-size:1.2rem;
490
- }
491
- fx-dialog .action{
492
- width: 100%;
493
- text-align: center;
494
- display: block;
495
- }
496
-
497
- fx-hint{
498
- display: none;
499
- }
500
-
501
- /* fx-inspector styles */
502
- fx-inspector{
503
- position:fixed;
504
- left:0;
505
- right:0;
506
- bottom:0;
507
- width: 100%;
508
- background: var(--inspector-bg);
509
- color: white;
510
- max-height: 33%;
511
- overflow: scroll;
512
- border-top:3px solid black;
513
- opacity: 0.9;
514
- }
515
- fx-inspector::before{
516
- content:'Instance Inspector';
517
- font-style:italic;
518
- position:absolute;
519
- top:0;
520
- right: 0.3rem;
521
- z-index: 10;
522
- font-size: 0.8rem;
523
- }
524
- fx-inspector details{
525
- padding: 1rem;
526
- }
527
- fx-inspector pre{
528
- background: var(--inspector-pre-bg);
529
- border-radius: 0.5rem;
530
- padding: 0.3rem;
531
- max-height: var(--inspector-instance-height);
532
- /*overflow: scroll;*/
533
- }
534
- fx-inspector details{
535
- overflow: auto;
536
- margin:0;
537
- }
538
- fx-inspector summary{
539
- padding: 0;
540
- }
541
-
542
- fx-model, fx-model *, fx-model ::slotted(fx-instance), fx-instance{
543
- display:none;
544
- }
545
-
546
- fx-trigger a[disabled] {
547
- color:lightgrey;
548
- }
549
- fx-trigger img[disabled]{
550
- filter:blur(2px);
551
- }
552
-
553
- fx-repeatitem{
554
- position:relative;
555
- /*
556
- opacity:1;
557
- -webkit-transition: opacity 3s;
558
- -moz-transition: opacity 3s;
559
- transition: opacity 3s;
560
- */
561
- }
562
- .hidden {
563
- visibility: hidden;
564
- opacity: 0;
565
- transition: visibility 0s 2s, opacity 2s linear;
566
- }
567
-
568
- .loaded{
569
- animation: fadein 0.3s forwards;
570
- }
571
- /* avoid flicker from nested lazily loaded elements */
572
- .loaded .loaded{
573
- animation: none;
574
- opacity: 1;
575
- }
576
-
577
- .logtree details{
578
- padding:0.1rem 1rem;
579
- margin:0;
580
- }
581
- .logtree details summary{
582
-
583
- }
584
-
585
- .non-relevant{
586
- opacity: 0;
587
- height: 0;
588
- transition: opacity 1s;
589
- }
590
- .required:after {
591
- content: '*';
592
- color: red;
593
- padding-left: 4px;
594
- right:3px;
595
- top:3px;
596
- z-index: 1;
597
- }
598
-
599
- .vertical label{
600
- display: block;
601
- }
602
- @keyframes fadein {
603
- 0% {
604
- opacity:0;
605
- }
606
- 100% {
607
- opacity:1;
608
- }
609
- }
610
-
611
-
612
-