@simai-studio/view 1.2.0 → 1.3.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 (27) hide show
  1. package/README.md +1 -1
  2. package/dist/package-receipt.json +61 -61
  3. package/dist/smart/view-flow/component.json +10 -2
  4. package/dist/smart/view-flow/component.json.gz +0 -0
  5. package/dist/smart/view-flow/css/view-flow.css +367 -0
  6. package/dist/smart/view-flow/css/view-flow.css.gz +0 -0
  7. package/dist/smart/view-flow/css/view-flow.min.css +1 -0
  8. package/dist/smart/view-flow/css/view-flow.min.css.gz +0 -0
  9. package/dist/smart/view-flow/js/view-flow.js +1552 -4
  10. package/dist/smart/view-flow/js/view-flow.js.gz +0 -0
  11. package/dist/smart/view-flow/js/view-flow.min.js +248 -137
  12. package/dist/smart/view-flow/js/view-flow.min.js.gz +0 -0
  13. package/dist/smart/view-flow/smart.manifest.json +11 -3
  14. package/dist/smart/view-flow/smart.manifest.json.gz +0 -0
  15. package/dist/smart/view-properties/component.json +8 -1
  16. package/dist/smart/view-properties/component.json.gz +0 -0
  17. package/dist/smart/view-properties/css/view-properties.css +367 -0
  18. package/dist/smart/view-properties/css/view-properties.css.gz +0 -0
  19. package/dist/smart/view-properties/css/view-properties.min.css +1 -0
  20. package/dist/smart/view-properties/css/view-properties.min.css.gz +0 -0
  21. package/dist/smart/view-properties/js/view-properties.js +1552 -4
  22. package/dist/smart/view-properties/js/view-properties.js.gz +0 -0
  23. package/dist/smart/view-properties/js/view-properties.min.js +491 -380
  24. package/dist/smart/view-properties/js/view-properties.min.js.gz +0 -0
  25. package/dist/smart/view-properties/smart.manifest.json +34 -3
  26. package/dist/smart/view-properties/smart.manifest.json.gz +0 -0
  27. package/package.json +1 -1
package/README.md CHANGED
@@ -66,7 +66,7 @@ and tags `view-<12>`; it is not run yet.
66
66
  or, from a base the page serves itself:
67
67
 
68
68
  ```js
69
- window.SF_BOOT_CONFIG = {packages: {view: {base: '/assets/ui-view/smart', version: '1.2.0'}}};
69
+ window.SF_BOOT_CONFIG = {packages: {view: {base: '/assets/ui-view/smart', version: '1.3.0'}}};
70
70
  ```
71
71
 
72
72
  ## Moving to a newer SIMAI Framework
@@ -9,9 +9,9 @@
9
9
  },
10
10
  "package_source": {
11
11
  "repository": "simai/ui-view",
12
- "revision": "f529c2354b0d0c622d0a8fa3feed19b17fefe30a",
12
+ "revision": "cd0d82aeb756245f9803c558e5464536db83c99b",
13
13
  "path": "package",
14
- "tree": "a2fd1b4a68c3fd8ddaf0ca65060ff9594a522a2d"
14
+ "tree": "5b7b2812521c62a0c12b73b1b092a9a1536b4e4b"
15
15
  },
16
16
  "licence": {
17
17
  "ref": "PolyForm-Small-Business-1.0.0 OR PolyForm-Noncommercial-1.0.0 OR LicenseRef-SIMAI-Commercial"
@@ -90,9 +90,9 @@
90
90
  "output": {
91
91
  "runtime_path": "smart",
92
92
  "files_count": 161,
93
- "manifest_sha256": "cdabf3d733e96a3d5e3f7174f281d44760eaa849df204580e8fb22ec7b70f455",
93
+ "manifest_sha256": "ee457363831974b99dfe2eb8c132361893b7366119dd845d1cde8b9ec865209c",
94
94
  "archive": "package-view.tar",
95
- "archive_sha256": "b8e433f916e3e1d8cd20b5fb4a3d8411a3d0c980d545b72c964b38d91fdbccb9",
95
+ "archive_sha256": "93d3c49be80d077e685ebf5c9b63a2a3f50bb81109d18448aa9921669e834b1e",
96
96
  "archive_format": "ustar; entries sorted; owner 0:0; mtime 0; modes 0755/0644"
97
97
  },
98
98
  "required_files": [
@@ -113,23 +113,23 @@
113
113
  },
114
114
  {
115
115
  "path": "smart/view-flow/js/view-flow.js",
116
- "sha256": "670d0fe90524bedd7d95be9799745dcf3401ae40b64fc950e824d147d4f42acc",
117
- "size": 263675
116
+ "sha256": "321ec13fcc3cc277463b0b342524f70cf7f4b3702b274e3f29cd5a584583e05a",
117
+ "size": 328628
118
118
  },
119
119
  {
120
120
  "path": "smart/view-flow/css/view-flow.css",
121
- "sha256": "5b21959d0b18208a837ece0cdf7787a635a443f41b09803ec4646f3d33cc3949",
122
- "size": 6865
121
+ "sha256": "dd06672f203b7dc626a7533a469272c702c30de6cbfcc03443155d70e7da0463",
122
+ "size": 18340
123
123
  },
124
124
  {
125
125
  "path": "smart/view-properties/js/view-properties.js",
126
- "sha256": "9f43cdb328bc379b99873a853b38f94f80ae6ee4c0645b3d97c118fc5ae18678",
127
- "size": 489234
126
+ "sha256": "2c4d510af91f848822513e1abc420ea30e057862c463b7b1c19a0b5503f3cb05",
127
+ "size": 554187
128
128
  },
129
129
  {
130
130
  "path": "smart/view-properties/css/view-properties.css",
131
- "sha256": "2c78eb262ab35b0df45a9c2495447ebffbde210f6f3ec673605f08b3f42984a6",
132
- "size": 57054
131
+ "sha256": "cd36e369241200aa8e7ec15c77d0e9441493e065e360323e080686888cb3f8e7",
132
+ "size": 68529
133
133
  },
134
134
  {
135
135
  "path": "smart/view-table/js/view-table.js",
@@ -397,7 +397,7 @@
397
397
  "requires_sets": [],
398
398
  "registry": {
399
399
  "status": "agrees",
400
- "sha256": "c6d996164497a08a5eef155409327b49658cd7dec9a62e9fa744e058870a17ea"
400
+ "sha256": "37b4053e0b1293cc4f4c1eb62a11040add6a2396421190979c9dd78a5de9d633"
401
401
  }
402
402
  },
403
403
  "files": [
@@ -568,33 +568,33 @@
568
568
  },
569
569
  {
570
570
  "path": "smart/view-flow/component.json",
571
- "sha256": "3c7f103b34b022cdc3a754f88afdf1b40467a8de15e3b307b1cff641d1b5078b",
572
- "size": 18390
571
+ "sha256": "6a8638c5e069a3d864e076f755e72f20a955e7ded71eeca61a2906790a8c6d98",
572
+ "size": 18755
573
573
  },
574
574
  {
575
575
  "path": "smart/view-flow/component.json.gz",
576
- "sha256": "396c74df273fff88bd8c21fc81c3edb0e03051c5e69d2c1b3074f449ede85e17",
577
- "size": 5154
576
+ "sha256": "6c2a77e7e2cdb7a652dac9d7c4f4dd18441a2cb6092d7557d7cb70c00df55b76",
577
+ "size": 5276
578
578
  },
579
579
  {
580
580
  "path": "smart/view-flow/css/view-flow.css",
581
- "sha256": "5b21959d0b18208a837ece0cdf7787a635a443f41b09803ec4646f3d33cc3949",
582
- "size": 6865
581
+ "sha256": "dd06672f203b7dc626a7533a469272c702c30de6cbfcc03443155d70e7da0463",
582
+ "size": 18340
583
583
  },
584
584
  {
585
585
  "path": "smart/view-flow/css/view-flow.css.gz",
586
- "sha256": "e2c08cf0d1614d7b42cb12fc4aeb0ec12107954775d53e8518b3ded3f8ad8372",
587
- "size": 1785
586
+ "sha256": "45e7704f963b7796e8340aeadf985536248329658e791984fd99be9cc0c28e04",
587
+ "size": 3437
588
588
  },
589
589
  {
590
590
  "path": "smart/view-flow/css/view-flow.min.css",
591
- "sha256": "3001da19573658f7f73ea923f38c8e8d0373c87e92e9d263a23a5468bfc50576",
592
- "size": 4455
591
+ "sha256": "ea0d24e6d6a7f3e98b80ead8e79f449e42cf5068aff1065b64a1a7db7142abea",
592
+ "size": 12581
593
593
  },
594
594
  {
595
595
  "path": "smart/view-flow/css/view-flow.min.css.gz",
596
- "sha256": "0adbc16ed1579cd18963a7e146e1a243018501c171515e7014a2c291237f1e9c",
597
- "size": 1091
596
+ "sha256": "fe864708c2492172ed18cfa1f8f6bc48507a560810d79fbf4c639f9b6b14c8b6",
597
+ "size": 2057
598
598
  },
599
599
  {
600
600
  "path": "smart/view-flow/examples.json",
@@ -608,23 +608,23 @@
608
608
  },
609
609
  {
610
610
  "path": "smart/view-flow/js/view-flow.js",
611
- "sha256": "670d0fe90524bedd7d95be9799745dcf3401ae40b64fc950e824d147d4f42acc",
612
- "size": 263675
611
+ "sha256": "321ec13fcc3cc277463b0b342524f70cf7f4b3702b274e3f29cd5a584583e05a",
612
+ "size": 328628
613
613
  },
614
614
  {
615
615
  "path": "smart/view-flow/js/view-flow.js.gz",
616
- "sha256": "490b3fba7d564ce62a402e996a0ca5fa7926fef2bf86347554abdaf4915df496",
617
- "size": 67674
616
+ "sha256": "de8e2232560c9752ce0f941f02de29c2f67caac4230cfc9d16e1bb03a5ae6c55",
617
+ "size": 83109
618
618
  },
619
619
  {
620
620
  "path": "smart/view-flow/js/view-flow.min.js",
621
- "sha256": "8d45bce5b175d286078e507b76fce6b4a85f121918ca40323a3f46874de0ed14",
622
- "size": 97676
621
+ "sha256": "4773b087891375613d2eb274a5b377d894632d5109bce78abdee6a9306baf568",
622
+ "size": 124259
623
623
  },
624
624
  {
625
625
  "path": "smart/view-flow/js/view-flow.min.js.gz",
626
- "sha256": "5677ddd485e54881e4665f3213d81de3c1067868a203d581c960481ca156602d",
627
- "size": 26428
626
+ "sha256": "635158bc3c31650d8a5ba495d20a5d8c73b9558483dfb2a23d515f612e58071e",
627
+ "size": 34788
628
628
  },
629
629
  {
630
630
  "path": "smart/view-flow/lang/en.json",
@@ -658,13 +658,13 @@
658
658
  },
659
659
  {
660
660
  "path": "smart/view-flow/smart.manifest.json",
661
- "sha256": "4b9d480d30ce3885f3f8793ff563fe2fcf03f126f5974abd3577e3d4fb52d6d8",
662
- "size": 14684
661
+ "sha256": "d5bf3e311474ef2de3652454959ec26e4b60b38cbd91ff644afc797471c65ceb",
662
+ "size": 15033
663
663
  },
664
664
  {
665
665
  "path": "smart/view-flow/smart.manifest.json.gz",
666
- "sha256": "2c28c0bdfdd2c8b655999c718566e52a3c27da81f025cfdbfd919c7a06fc8f98",
667
- "size": 4463
666
+ "sha256": "5b1019d155afaebca692978f03ce293b2c64016521bed6ad013bb02cbf3d2f43",
667
+ "size": 4604
668
668
  },
669
669
  {
670
670
  "path": "smart/view-flow/static/default/answered.html",
@@ -768,33 +768,33 @@
768
768
  },
769
769
  {
770
770
  "path": "smart/view-properties/component.json",
771
- "sha256": "17c25145c4faa17e252cb2dd255ce229ce76ee0028bf60f117e3c0acef7ad963",
772
- "size": 85297
771
+ "sha256": "25c2568af7f0d67d38d6296096e56ebd87abdda9f3e30c3000c7b23af4266c32",
772
+ "size": 86265
773
773
  },
774
774
  {
775
775
  "path": "smart/view-properties/component.json.gz",
776
- "sha256": "c017f1b568af862052d308d71325e118a773c823ab556cee545a917a0b9f23e9",
777
- "size": 19808
776
+ "sha256": "6c7098fee7a5900e849d610e10b71cc41b93f69ec49b080f674b76db23b960a1",
777
+ "size": 20180
778
778
  },
779
779
  {
780
780
  "path": "smart/view-properties/css/view-properties.css",
781
- "sha256": "2c78eb262ab35b0df45a9c2495447ebffbde210f6f3ec673605f08b3f42984a6",
782
- "size": 57054
781
+ "sha256": "cd36e369241200aa8e7ec15c77d0e9441493e065e360323e080686888cb3f8e7",
782
+ "size": 68529
783
783
  },
784
784
  {
785
785
  "path": "smart/view-properties/css/view-properties.css.gz",
786
- "sha256": "fc62f3d220799cc4bda837e90da00642eef6611154719331e35fce35c10bb4d1",
787
- "size": 14305
786
+ "sha256": "e221649491e13e0268096257d926082d987815c648fd99614aefd51f803d29d7",
787
+ "size": 15835
788
788
  },
789
789
  {
790
790
  "path": "smart/view-properties/css/view-properties.min.css",
791
- "sha256": "aa42baf163a997b6898d0b4d112642863021d936539f3d0c6b893531571fca3d",
792
- "size": 20728
791
+ "sha256": "77f1ede0b2dd3386ae3481f939fe4665c8d133d89e4c09e02297d49d3bd8f462",
792
+ "size": 28854
793
793
  },
794
794
  {
795
795
  "path": "smart/view-properties/css/view-properties.min.css.gz",
796
- "sha256": "f3e2778f4f6506f700a9281b62d70eb21c63f95e54831fcc5063d3b06d746f0c",
797
- "size": 3166
796
+ "sha256": "a7a8082e925facd8c30fe08645dea061aa112bc5c856131bf035f4db1cc22067",
797
+ "size": 4014
798
798
  },
799
799
  {
800
800
  "path": "smart/view-properties/examples.json",
@@ -808,23 +808,23 @@
808
808
  },
809
809
  {
810
810
  "path": "smart/view-properties/js/view-properties.js",
811
- "sha256": "9f43cdb328bc379b99873a853b38f94f80ae6ee4c0645b3d97c118fc5ae18678",
812
- "size": 489234
811
+ "sha256": "2c4d510af91f848822513e1abc420ea30e057862c463b7b1c19a0b5503f3cb05",
812
+ "size": 554187
813
813
  },
814
814
  {
815
815
  "path": "smart/view-properties/js/view-properties.js.gz",
816
- "sha256": "bc76a9947f8b74e7f31f1eb765ac8931e32b05192fcfbfadb781d90be19825ed",
817
- "size": 123532
816
+ "sha256": "7dd1d13b9643a5a4af6990fe5329d1ccbca7eb97156e89f9937523df729960a1",
817
+ "size": 138966
818
818
  },
819
819
  {
820
820
  "path": "smart/view-properties/js/view-properties.min.js",
821
- "sha256": "5bce8ceabad3f4a414bae6db53ef4d819c5ed8739735846089007b56c06ebb8b",
822
- "size": 213292
821
+ "sha256": "fdae3acfbbcba705863e3981788036ae56e2653373e8e8f49ee39881bf9e426c",
822
+ "size": 239875
823
823
  },
824
824
  {
825
825
  "path": "smart/view-properties/js/view-properties.min.js.gz",
826
- "sha256": "6273eeaa83df6ae96cde6c9dc4292a9b29d39d5af9265cc32ec759fd6bf2b486",
827
- "size": 50337
826
+ "sha256": "912bccf2a028b51c1a0f0459d4c88dc77c509675393658b8a3af097877a03676",
827
+ "size": 58534
828
828
  },
829
829
  {
830
830
  "path": "smart/view-properties/lang/en.json",
@@ -868,13 +868,13 @@
868
868
  },
869
869
  {
870
870
  "path": "smart/view-properties/smart.manifest.json",
871
- "sha256": "0712423de69e60b86ae4a6bc77452e0d91cc3186ebc4d6192286029c3349a1c6",
872
- "size": 61173
871
+ "sha256": "36f11bc3f5339a7daa7972765f7aafebb93058101f11b8c68012479869bd63b3",
872
+ "size": 63098
873
873
  },
874
874
  {
875
875
  "path": "smart/view-properties/smart.manifest.json.gz",
876
- "sha256": "2a2ce37fb982e6772b0e81fca27d597224e6a883cad664e81b3b0fffbac8a399",
877
- "size": 14553
876
+ "sha256": "55446ce5c4cbfd9a58402cd1ca276b822d1222f963a8ac9c9af4fbfa9c6efb1d",
877
+ "size": 15287
878
878
  },
879
879
  {
880
880
  "path": "smart/view-properties/static/default/full.html",
@@ -2,7 +2,7 @@
2
2
  "$comment": "sf-view-flow, standard simai.smart-component 1.4 (vocabulary 1.1.5): properties as a block in a flow. Design: ui-view docs/design/sf-view-flow.md. The confirm surface (SIMAI Framework helpers/confirm-surface.js) gives the states, the expiry, the answer and expired events and the actions open, answer, confirm and cancel; the field values are sf-view-properties' js/field-value.js over the Framework field renderers.",
3
3
  "id": "smart.view-flow",
4
4
  "tag": "sf-view-flow",
5
- "version": "1.0.0",
5
+ "version": "1.1.0",
6
6
  "kind": "leaf",
7
7
  "family": "record",
8
8
  "settings": {
@@ -601,7 +601,15 @@
601
601
  "focus": "A section named by its heading (role=heading at heading-level). The status line is a polite live region, present before it speaks; when the answers go, focus moves to it; when Send is stopped or refused, to the first field in error."
602
602
  },
603
603
  "compatibility": {
604
- "migrations": []
604
+ "migrations": [
605
+ {
606
+ "from": "1.0.0",
607
+ "to": "1.1.0",
608
+ "changes": [
609
+ "The block draws the property types money, percent, items, compound and ru.requisites with the record card's controls (view-properties js/set-fields.js, through the shared field value). Nothing changes for a host that sends none of them."
610
+ ]
611
+ }
612
+ ]
605
613
  },
606
614
  "inputs": {
607
615
  "template": {
@@ -201,3 +201,370 @@
201
201
  }
202
202
  }
203
203
  }
204
+ @layer sf.components {
205
+ /* The property types the set draws itself (js/set-fields.js): money, percent,
206
+ rows (items) and the compound fields. Framework tokens only; the controls in
207
+ them are the Framework's own and keep their own geometry on the size ladder. */
208
+ /* An amount with a currency choice: the amount takes the room, the currency
209
+ the width of its code and sign. */
210
+ .sf-view-fields-money {
211
+ width: 100%;
212
+ inline-size: 100%;
213
+ align-items: flex-start;
214
+ }
215
+ /* sf-input and sf-dropdown hosts may draw no box of their own (display:
216
+ contents), so the rules reach the box they draw as well. */
217
+ .sf-view-fields-money > .sf-view-fields-decimal,
218
+ .sf-view-fields-money > .sf-view-fields-decimal > .sf-input {
219
+ flex: 1 1 8rem;
220
+ min-width: 0;
221
+ min-inline-size: 0;
222
+ }
223
+ .sf-view-fields-money > .sf-view-fields-currency,
224
+ .sf-view-fields-money > .sf-view-fields-currency > .sf-dropdown {
225
+ flex: 0 0 8.5rem;
226
+ min-width: 0;
227
+ min-inline-size: 0;
228
+ }
229
+ /* A control in a cell or a part fills its track: a native input's own
230
+ width (twenty characters) pushed a cell over its neighbour. */
231
+ .sf-view-items-cell .sf-input {
232
+ width: 100%;
233
+ inline-size: 100%;
234
+ min-width: 0;
235
+ min-inline-size: 0;
236
+ }
237
+ .sf-view-items-cell .sf-dropdown {
238
+ width: 100%;
239
+ inline-size: 100%;
240
+ min-width: 0;
241
+ min-inline-size: 0;
242
+ }
243
+ .sf-view-items-cell .sf-input-date {
244
+ width: 100%;
245
+ inline-size: 100%;
246
+ min-width: 0;
247
+ min-inline-size: 0;
248
+ }
249
+ .sf-view-fields-part .sf-input {
250
+ width: 100%;
251
+ inline-size: 100%;
252
+ min-width: 0;
253
+ min-inline-size: 0;
254
+ }
255
+ .sf-view-fields-part .sf-dropdown {
256
+ width: 100%;
257
+ inline-size: 100%;
258
+ min-width: 0;
259
+ min-inline-size: 0;
260
+ }
261
+ .sf-view-items-cell .sf-input-field input,
262
+ .sf-view-fields-part .sf-input-field input {
263
+ width: 100%;
264
+ inline-size: 100%;
265
+ }
266
+ /* A number reads right-aligned where numbers stand in a column (a row's
267
+ cells, totals); a lone amount in a field keeps the field's start. */
268
+ _:-ms-input-placeholder, html:not([dir="rtl"]) .sf-view-items .sf-view-fields-decimal input {
269
+ text-align: right;
270
+ }
271
+ @supports not (text-align: end) {
272
+ html:not([dir="rtl"]) .sf-view-items .sf-view-fields-decimal input {
273
+ text-align: right;
274
+ }
275
+ }
276
+ .sf-view-items .sf-view-fields-decimal input:where(:dir(ltr)) {
277
+ text-align: right;
278
+ }
279
+ _:-ms-input-placeholder, [dir="rtl"] .sf-view-items .sf-view-fields-decimal input {
280
+ text-align: left;
281
+ }
282
+ @supports not (text-align: end) {
283
+ [dir="rtl"] .sf-view-items .sf-view-fields-decimal input {
284
+ text-align: left;
285
+ }
286
+ }
287
+ .sf-view-items .sf-view-fields-decimal input:where(:dir(rtl)) {
288
+ text-align: left;
289
+ }
290
+ .sf-view-items .sf-view-fields-decimal input {
291
+ text-align: end;
292
+ }
293
+ .sf-view-fields-amount,
294
+ .sf-view-items-numeric .sf-view-items-text {
295
+ -webkit-font-feature-settings: "tnum";
296
+ font-feature-settings: "tnum";
297
+ font-variant-numeric: tabular-nums;
298
+ }
299
+ /* --- A compound: its parts in a grid that wraps by the field's width --- */
300
+ .sf-view-fields-compound {
301
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr));
302
+ }
303
+ .sf-view-fields-part--wide {
304
+ grid-column: span 2;
305
+ }
306
+ .sf-view-fields-part-label {
307
+ font-size: var(--sf-text-size-1);
308
+ font-size: var(--sf-label-medium--size, var(--sf-text-size-1));
309
+ line-height: var(--sf-text-height-1);
310
+ line-height: var(--sf-label-medium--height, var(--sf-text-height-1));
311
+ }
312
+ @container (max-width: 24rem) {
313
+ .sf-view-fields-part--wide {
314
+ grid-column: auto;
315
+ }
316
+ }
317
+ /* --- Rows over columns --- */
318
+ /* A table of rows at any width the field has, and one card a row where it is
319
+ narrow (a phone, a half-width field): the field's own width decides, not the
320
+ window's, as the record's groups decide their columns. */
321
+ /* The box the rows ask for their width: a container query cannot restyle
322
+ the container itself, so the grid is inside it. */
323
+ .sf-view-items-box {
324
+ display: block;
325
+ container: sf-view-items/inline-size;
326
+ width: 100%;
327
+ inline-size: 100%;
328
+ min-width: 0;
329
+ min-inline-size: 0;
330
+ flex: 1 1 100%;
331
+ }
332
+ _:-ms-input-placeholder, html:not([dir="rtl"]) .sf-view-items {
333
+ text-align: left;
334
+ }
335
+ @supports not (text-align: start) {
336
+ html:not([dir="rtl"]) .sf-view-items {
337
+ text-align: left;
338
+ }
339
+ }
340
+ .sf-view-items:where(:dir(ltr)) {
341
+ text-align: left;
342
+ }
343
+ _:-ms-input-placeholder, [dir="rtl"] .sf-view-items {
344
+ text-align: right;
345
+ }
346
+ @supports not (text-align: start) {
347
+ [dir="rtl"] .sf-view-items {
348
+ text-align: right;
349
+ }
350
+ }
351
+ .sf-view-items:where(:dir(rtl)) {
352
+ text-align: right;
353
+ }
354
+ .sf-view-items {
355
+ display: grid;
356
+ width: 100%;
357
+ inline-size: 100%;
358
+ min-width: 0;
359
+ min-inline-size: 0;
360
+ grid-template-columns: 1fr;
361
+ grid-template-columns: var(--sf-view-items-columns, 1fr);
362
+ grid-column-gap: var(--sf-space-1);
363
+ -webkit-column-gap: var(--sf-space-1);
364
+ -moz-column-gap: var(--sf-space-1);
365
+ column-gap: var(--sf-space-1);
366
+ text-align: start;
367
+ }
368
+ .sf-view-items-head,
369
+ .sf-view-items-row {
370
+ display: grid;
371
+ grid-column: 1/-1;
372
+ grid-template-columns: subgrid;
373
+ align-items: center;
374
+ }
375
+ .sf-view-items-head {
376
+ padding-bottom: var(--sf-space-1);
377
+ -webkit-padding-after: var(--sf-space-1);
378
+ padding-block-end: var(--sf-space-1);
379
+ border-bottom: var(--sf-px) solid var(--sf-outline-variant);
380
+ -webkit-border-after: var(--sf-px) solid var(--sf-outline-variant);
381
+ border-block-end: var(--sf-px) solid var(--sf-outline-variant);
382
+ }
383
+ .sf-view-items-heading {
384
+ font-size: var(--sf-text-size-1);
385
+ font-size: var(--sf-label-medium--size, var(--sf-text-size-1));
386
+ line-height: var(--sf-text-height-1);
387
+ line-height: var(--sf-label-medium--height, var(--sf-text-height-1));
388
+ color: var(--sf-on-surface-variant);
389
+ min-width: 0;
390
+ min-inline-size: 0;
391
+ }
392
+ .sf-view-items-row {
393
+ padding-top: var(--sf-space-1);
394
+ padding-bottom: var(--sf-space-1);
395
+ padding-block: var(--sf-space-1);
396
+ border-bottom: var(--sf-px) solid var(--sf-outline-variant);
397
+ -webkit-border-after: var(--sf-px) solid var(--sf-outline-variant);
398
+ border-block-end: var(--sf-px) solid var(--sf-outline-variant);
399
+ }
400
+ .sf-view-items:not(.sf-view-items--edit) .sf-view-items-row {
401
+ padding-top: calc(var(--sf-space-1) / 2);
402
+ padding-bottom: calc(var(--sf-space-1) / 2);
403
+ padding-block: calc(var(--sf-space-1) / 2);
404
+ }
405
+ .sf-view-items-cell {
406
+ display: flex;
407
+ flex-direction: column;
408
+ min-width: 0;
409
+ min-inline-size: 0;
410
+ }
411
+ _:-ms-input-placeholder, html:not([dir="rtl"]) .sf-view-items-numeric {
412
+ text-align: right;
413
+ }
414
+ @supports not (text-align: end) {
415
+ html:not([dir="rtl"]) .sf-view-items-numeric {
416
+ text-align: right;
417
+ }
418
+ }
419
+ .sf-view-items-numeric:where(:dir(ltr)) {
420
+ text-align: right;
421
+ }
422
+ _:-ms-input-placeholder, [dir="rtl"] .sf-view-items-numeric {
423
+ text-align: left;
424
+ }
425
+ @supports not (text-align: end) {
426
+ [dir="rtl"] .sf-view-items-numeric {
427
+ text-align: left;
428
+ }
429
+ }
430
+ .sf-view-items-numeric:where(:dir(rtl)) {
431
+ text-align: left;
432
+ }
433
+ .sf-view-items-numeric {
434
+ text-align: end;
435
+ align-items: flex-end;
436
+ }
437
+ .sf-view-items-cell > :not(.sf-view-items-cell-label) {
438
+ width: 100%;
439
+ inline-size: 100%;
440
+ min-width: 0;
441
+ min-inline-size: 0;
442
+ }
443
+ .sf-view-items-text {
444
+ word-wrap: anywhere;
445
+ }
446
+ .sf-view-items-cell-label {
447
+ display: none;
448
+ font-size: var(--sf-text-size-1);
449
+ font-size: var(--sf-label-medium--size, var(--sf-text-size-1));
450
+ line-height: var(--sf-text-height-1);
451
+ line-height: var(--sf-label-medium--height, var(--sf-text-height-1));
452
+ }
453
+ .sf-view-items-totals {
454
+ border-bottom: 0;
455
+ -webkit-border-after: 0;
456
+ border-block-end: 0;
457
+ font-weight: 600;
458
+ }
459
+ .sf-view-items-foot {
460
+ grid-column: 1/-1;
461
+ padding-top: var(--sf-space-1);
462
+ -webkit-padding-before: var(--sf-space-1);
463
+ padding-block-start: var(--sf-space-1);
464
+ }
465
+ @container sf-view-items (max-width: 36rem) {
466
+ .sf-view-items {
467
+ grid-template-columns: 1fr;
468
+ row-gap: var(--sf-space-1);
469
+ }
470
+ .sf-view-items-head {
471
+ display: none;
472
+ }
473
+ /* A card a row: each cell its label over its value, the row's actions at
474
+ the card's foot. */
475
+ .sf-view-items-row {
476
+ grid-template-columns: 1fr;
477
+ row-gap: var(--sf-space-1);
478
+ padding: var(--sf-space-1) var(--sf-space-2);
479
+ border: var(--sf-px) solid var(--sf-outline-variant);
480
+ border-radius: var(--sf-radius-1);
481
+ }
482
+ .sf-view-items:not(.sf-view-items--edit) .sf-view-items-row {
483
+ padding: var(--sf-space-1) var(--sf-space-2);
484
+ }
485
+ _:-ms-input-placeholder, html:not([dir="rtl"]) .sf-view-items-cell,html:not([dir="rtl"])
486
+ .sf-view-items-numeric {
487
+ text-align: left;
488
+ }
489
+ @supports not (text-align: start) {
490
+ html:not([dir="rtl"]) .sf-view-items-cell,html:not([dir="rtl"])
491
+ .sf-view-items-numeric {
492
+ text-align: left;
493
+ }
494
+ }
495
+ .sf-view-items-cell:where(:dir(ltr)),
496
+ .sf-view-items-numeric:where(:dir(ltr)) {
497
+ text-align: left;
498
+ }
499
+ _:-ms-input-placeholder, [dir="rtl"] .sf-view-items-cell,[dir="rtl"]
500
+ .sf-view-items-numeric {
501
+ text-align: right;
502
+ }
503
+ @supports not (text-align: start) {
504
+ [dir="rtl"] .sf-view-items-cell,[dir="rtl"]
505
+ .sf-view-items-numeric {
506
+ text-align: right;
507
+ }
508
+ }
509
+ .sf-view-items-cell:where(:dir(rtl)),
510
+ .sf-view-items-numeric:where(:dir(rtl)) {
511
+ text-align: right;
512
+ }
513
+ .sf-view-items-cell,
514
+ .sf-view-items-numeric {
515
+ align-items: stretch;
516
+ text-align: start;
517
+ gap: calc(var(--sf-space-1) / 4);
518
+ }
519
+ _:-ms-input-placeholder, html:not([dir="rtl"]) .sf-view-items-numeric .sf-view-items-text,html:not([dir="rtl"])
520
+ .sf-view-items .sf-view-fields-decimal input {
521
+ text-align: left;
522
+ }
523
+ @supports not (text-align: start) {
524
+ html:not([dir="rtl"]) .sf-view-items-numeric .sf-view-items-text,html:not([dir="rtl"])
525
+ .sf-view-items .sf-view-fields-decimal input {
526
+ text-align: left;
527
+ }
528
+ }
529
+ .sf-view-items-numeric .sf-view-items-text:where(:dir(ltr)),
530
+ .sf-view-items .sf-view-fields-decimal input:where(:dir(ltr)) {
531
+ text-align: left;
532
+ }
533
+ _:-ms-input-placeholder, [dir="rtl"] .sf-view-items-numeric .sf-view-items-text,[dir="rtl"]
534
+ .sf-view-items .sf-view-fields-decimal input {
535
+ text-align: right;
536
+ }
537
+ @supports not (text-align: start) {
538
+ [dir="rtl"] .sf-view-items-numeric .sf-view-items-text,[dir="rtl"]
539
+ .sf-view-items .sf-view-fields-decimal input {
540
+ text-align: right;
541
+ }
542
+ }
543
+ .sf-view-items-numeric .sf-view-items-text:where(:dir(rtl)),
544
+ .sf-view-items .sf-view-fields-decimal input:where(:dir(rtl)) {
545
+ text-align: right;
546
+ }
547
+ .sf-view-items-numeric .sf-view-items-text,
548
+ .sf-view-items .sf-view-fields-decimal input {
549
+ text-align: start;
550
+ }
551
+ .sf-view-items-cell-label {
552
+ display: block;
553
+ }
554
+ .sf-view-items-cell--blank {
555
+ display: none;
556
+ }
557
+ .sf-view-items-actions {
558
+ justify-content: flex-end;
559
+ }
560
+ .sf-view-items-totals {
561
+ border: 0;
562
+ padding-left: var(--sf-space-2);
563
+ padding-right: var(--sf-space-2);
564
+ padding-inline: var(--sf-space-2);
565
+ }
566
+ .sf-view-items-totals .sf-view-items-total-word {
567
+ display: none;
568
+ }
569
+ }
570
+ }