@simai-studio/view 0.0.0-stage → 1.0.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 (127) hide show
  1. package/LICENSE.md +183 -0
  2. package/README.md +75 -2
  3. package/dist/package-receipt.json +971 -0
  4. package/dist/set.json +141 -0
  5. package/dist/smart/rule.js +278 -0
  6. package/dist/smart/rule.js.gz +0 -0
  7. package/dist/smart/view/aliases.json +129 -0
  8. package/dist/smart/view/aliases.json.gz +0 -0
  9. package/dist/smart/view/component.json +1620 -0
  10. package/dist/smart/view/component.json.gz +0 -0
  11. package/dist/smart/view/css/view.css +208 -0
  12. package/dist/smart/view/css/view.css.gz +0 -0
  13. package/dist/smart/view/css/view.min.css +2 -0
  14. package/dist/smart/view/css/view.min.css.gz +0 -0
  15. package/dist/smart/view/examples.json +668 -0
  16. package/dist/smart/view/examples.json.gz +0 -0
  17. package/dist/smart/view/js/view.js +3938 -0
  18. package/dist/smart/view/js/view.js.gz +0 -0
  19. package/dist/smart/view/js/view.min.js +1 -0
  20. package/dist/smart/view/js/view.min.js.gz +0 -0
  21. package/dist/smart/view/lang/en.json +61 -0
  22. package/dist/smart/view/lang/en.json.gz +0 -0
  23. package/dist/smart/view/lang/ru.json +61 -0
  24. package/dist/smart/view/lang/ru.json.gz +0 -0
  25. package/dist/smart/view/probe.json +165 -0
  26. package/dist/smart/view/probe.json.gz +0 -0
  27. package/dist/smart/view/smart.manifest.json +1570 -0
  28. package/dist/smart/view/smart.manifest.json.gz +0 -0
  29. package/dist/smart/view/static/default/embedded.html +96 -0
  30. package/dist/smart/view/static/default/embedded.html.gz +0 -0
  31. package/dist/smart/view/static/default/open-record.html +247 -0
  32. package/dist/smart/view/static/default/open-record.html.gz +0 -0
  33. package/dist/smart/view/static/default/reference.html +247 -0
  34. package/dist/smart/view/static/default/reference.html.gz +0 -0
  35. package/dist/smart/view/static/sheets.json +282 -0
  36. package/dist/smart/view/static/sheets.json.gz +0 -0
  37. package/dist/smart/view-properties/aliases.json +174 -0
  38. package/dist/smart/view-properties/aliases.json.gz +0 -0
  39. package/dist/smart/view-properties/component.json +1898 -0
  40. package/dist/smart/view-properties/component.json.gz +0 -0
  41. package/dist/smart/view-properties/css/view-properties.css +1153 -0
  42. package/dist/smart/view-properties/css/view-properties.css.gz +0 -0
  43. package/dist/smart/view-properties/css/view-properties.min.css +2 -0
  44. package/dist/smart/view-properties/css/view-properties.min.css.gz +0 -0
  45. package/dist/smart/view-properties/examples.json +841 -0
  46. package/dist/smart/view-properties/examples.json.gz +0 -0
  47. package/dist/smart/view-properties/js/view-properties.js +10416 -0
  48. package/dist/smart/view-properties/js/view-properties.js.gz +0 -0
  49. package/dist/smart/view-properties/js/view-properties.min.js +1421 -0
  50. package/dist/smart/view-properties/js/view-properties.min.js.gz +0 -0
  51. package/dist/smart/view-properties/lang/en.json +96 -0
  52. package/dist/smart/view-properties/lang/en.json.gz +0 -0
  53. package/dist/smart/view-properties/lang/ru.json +96 -0
  54. package/dist/smart/view-properties/lang/ru.json.gz +0 -0
  55. package/dist/smart/view-properties/probe.json +188 -0
  56. package/dist/smart/view-properties/probe.json.gz +0 -0
  57. package/dist/smart/view-properties/skeleton.html +13 -0
  58. package/dist/smart/view-properties/skeleton.html.gz +0 -0
  59. package/dist/smart/view-properties/smart.manifest.json +1590 -0
  60. package/dist/smart/view-properties/smart.manifest.json.gz +0 -0
  61. package/dist/smart/view-properties/static/default/full.html +2 -0
  62. package/dist/smart/view-properties/static/default/full.html.gz +0 -0
  63. package/dist/smart/view-properties/static/default/panel-closed.html +4 -0
  64. package/dist/smart/view-properties/static/default/panel-closed.html.gz +0 -0
  65. package/dist/smart/view-properties/static/default/panel.html +4 -0
  66. package/dist/smart/view-properties/static/default/panel.html.gz +0 -0
  67. package/dist/smart/view-properties/static/default/reference.html +2 -0
  68. package/dist/smart/view-properties/static/default/reference.html.gz +0 -0
  69. package/dist/smart/view-properties/static/sheets.json +426 -0
  70. package/dist/smart/view-properties/static/sheets.json.gz +0 -0
  71. package/dist/smart/view-properties/template/default.css +989 -0
  72. package/dist/smart/view-properties/template/default.css.gz +0 -0
  73. package/dist/smart/view-properties/template/default.js +1660 -0
  74. package/dist/smart/view-properties/template/default.js.gz +0 -0
  75. package/dist/smart/view-table/aliases.json +448 -0
  76. package/dist/smart/view-table/aliases.json.gz +0 -0
  77. package/dist/smart/view-table/component.json +2738 -0
  78. package/dist/smart/view-table/component.json.gz +0 -0
  79. package/dist/smart/view-table/css/view-table.css +3658 -0
  80. package/dist/smart/view-table/css/view-table.css.gz +0 -0
  81. package/dist/smart/view-table/css/view-table.min.css +2 -0
  82. package/dist/smart/view-table/css/view-table.min.css.gz +0 -0
  83. package/dist/smart/view-table/examples.json +499 -0
  84. package/dist/smart/view-table/examples.json.gz +0 -0
  85. package/dist/smart/view-table/js/view-table.js +13879 -0
  86. package/dist/smart/view-table/js/view-table.js.gz +0 -0
  87. package/dist/smart/view-table/js/view-table.min.js +1440 -0
  88. package/dist/smart/view-table/js/view-table.min.js.gz +0 -0
  89. package/dist/smart/view-table/lang/en.json +132 -0
  90. package/dist/smart/view-table/lang/en.json.gz +0 -0
  91. package/dist/smart/view-table/lang/ru.json +132 -0
  92. package/dist/smart/view-table/lang/ru.json.gz +0 -0
  93. package/dist/smart/view-table/probe.json +275 -0
  94. package/dist/smart/view-table/probe.json.gz +0 -0
  95. package/dist/smart/view-table/smart.manifest.json +2524 -0
  96. package/dist/smart/view-table/smart.manifest.json.gz +0 -0
  97. package/dist/smart/view-table/static/default/current.html +141 -0
  98. package/dist/smart/view-table/static/default/current.html.gz +0 -0
  99. package/dist/smart/view-table/static/default/current.skeleton.html +141 -0
  100. package/dist/smart/view-table/static/default/current.skeleton.html.gz +0 -0
  101. package/dist/smart/view-table/static/default/empty.html +149 -0
  102. package/dist/smart/view-table/static/default/empty.html.gz +0 -0
  103. package/dist/smart/view-table/static/default/loading.html +180 -0
  104. package/dist/smart/view-table/static/default/loading.html.gz +0 -0
  105. package/dist/smart/view-table/static/default/many.html +180 -0
  106. package/dist/smart/view-table/static/default/many.html.gz +0 -0
  107. package/dist/smart/view-table/static/default/reference.html +136 -0
  108. package/dist/smart/view-table/static/default/reference.html.gz +0 -0
  109. package/dist/smart/view-table/static/default/reference.skeleton.html +136 -0
  110. package/dist/smart/view-table/static/default/reference.skeleton.html.gz +0 -0
  111. package/dist/smart/view-table/static/default/typed-cells.html +229 -0
  112. package/dist/smart/view-table/static/default/typed-cells.html.gz +0 -0
  113. package/dist/smart/view-table/static/default/typed-cells.skeleton.html +229 -0
  114. package/dist/smart/view-table/static/default/typed-cells.skeleton.html.gz +0 -0
  115. package/dist/smart/view-table/static/sheets.json +480 -0
  116. package/dist/smart/view-table/static/sheets.json.gz +0 -0
  117. package/dist/smart/view-table/studio.fixture.json +17 -0
  118. package/dist/smart/view-table/studio.fixture.json.gz +0 -0
  119. package/dist/smart/view-table/studio.scenario.json +30 -0
  120. package/dist/smart/view-table/studio.scenario.json.gz +0 -0
  121. package/dist/smart/view-table/template/default.css +1301 -0
  122. package/dist/smart/view-table/template/default.css.gz +0 -0
  123. package/dist/smart/view-table/template/default.js +1215 -0
  124. package/dist/smart/view-table/template/default.js.gz +0 -0
  125. package/dist/smart/view-table/template/link-cell-contract.js +48 -0
  126. package/dist/smart/view-table/template/link-cell-contract.js.gz +0 -0
  127. package/package.json +29 -4
package/LICENSE.md ADDED
@@ -0,0 +1,183 @@
1
+ # Licence
2
+
3
+ - Product: **SIMAI View**
4
+ - Author: Rim Zabarov (Рим Забаров)
5
+ - Copyright 2026 Rim Zabarov. All rights reserved, except as granted below.
6
+ - Required Notice: Copyright 2026 Rim Zabarov (https://simai.io/)
7
+
8
+ "SIMAI" and "SIMAI View" are trademarks of their owner; this licence grants
9
+ no right to use them. Distributed and supported under licence by ООО «Симай».
10
+
11
+ This licence covers everything in this repository: the SIMAI View Smart
12
+ components (`package/`, the component set `view`), their tests, scripts,
13
+ documentation site and demonstrations. It does not cover the SIMAI Framework this
14
+ repository builds on (`simai/ui-source`, `simai/ui`, `@simai-studio/ui`),
15
+ which is licensed separately under Apache-2.0, nor third-party dependencies,
16
+ which keep their own licences.
17
+
18
+ You may use this software under **one** of the following licences, at your
19
+ choice:
20
+
21
+ 1. **Small businesses: free**, under the PolyForm Small Business License
22
+ 1.0.0 (full text below). In short: individuals, and companies with fewer
23
+ than 100 people working for them and less than USD 1,000,000 in revenue in
24
+ the last tax year, may use it for any purpose.
25
+ 2. **Non-commercial use: free**, under the PolyForm Noncommercial License
26
+ 1.0.0 (full text below): personal projects, study, research, charities,
27
+ schools and public institutions.
28
+ 3. **Everyone else** needs the **SIMAI Commercial License**, available on
29
+ request from SIMAI (https://simai.io/).
30
+
31
+ **Use as part of Larena** (SIMAI's CMS) is covered by Larena's own licence;
32
+ none of the three options above is needed for it.
33
+
34
+ SPDX-License-Identifier: PolyForm-Small-Business-1.0.0 OR PolyForm-Noncommercial-1.0.0 OR LicenseRef-SIMAI-Commercial
35
+
36
+ The two licence texts below are reproduced verbatim from
37
+ https://github.com/polyformproject/polyform-licenses (tag 1.0.0), as published
38
+ at https://polyformproject.org/licenses/small-business/1.0.0 and
39
+ https://polyformproject.org/licenses/noncommercial/1.0.0.
40
+
41
+ ---
42
+
43
+ # PolyForm Small Business License 1.0.0
44
+
45
+ <https://polyformproject.org/licenses/small-business/1.0.0>
46
+
47
+ ## Acceptance
48
+
49
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
50
+
51
+ ## Copyright License
52
+
53
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
54
+
55
+ ## Distribution License
56
+
57
+ The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
58
+
59
+ ## Notices
60
+
61
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
62
+
63
+ > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
64
+
65
+ ## Changes and New Works License
66
+
67
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
68
+
69
+ ## Patent License
70
+
71
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
72
+
73
+ ## Fair Use
74
+
75
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
76
+
77
+ ## Small Business
78
+
79
+ Use of the software for the benefit of your company is use for a permitted purpose if your company has fewer than 100 total individuals working as employees and independent contractors, and less than 1,000,000 USD (2019) total revenue in the prior tax year. Adjust this revenue threshold for inflation according to the United States Bureau of Labor Statistics' consumer price index for all urban consumers, U.S. city average, for all items, not seasonally adjusted, with 1982–1984=100 reference base.
80
+
81
+ ## No Other Rights
82
+
83
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
84
+
85
+ ## Patent Defense
86
+
87
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
88
+
89
+ ## Violations
90
+
91
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
92
+
93
+ ## No Liability
94
+
95
+ ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
96
+
97
+ ## Definitions
98
+
99
+ The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
100
+
101
+ **You** refers to the individual or entity agreeing to these terms.
102
+
103
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
104
+
105
+ **Your licenses** are all the licenses granted to you for the software under these terms.
106
+
107
+ **Use** means anything you do with the software requiring one of your licenses.
108
+
109
+ ---
110
+
111
+ # PolyForm Noncommercial License 1.0.0
112
+
113
+ <https://polyformproject.org/licenses/noncommercial/1.0.0>
114
+
115
+ ## Acceptance
116
+
117
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
118
+
119
+ ## Copyright License
120
+
121
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
122
+
123
+ ## Distribution License
124
+
125
+ The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
126
+
127
+ ## Notices
128
+
129
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
130
+
131
+ > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
132
+
133
+ ## Changes and New Works License
134
+
135
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
136
+
137
+ ## Patent License
138
+
139
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
140
+
141
+ ## Noncommercial Purposes
142
+
143
+ Any noncommercial purpose is a permitted purpose.
144
+
145
+ ## Personal Uses
146
+
147
+ Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
148
+
149
+ ## Noncommercial Organizations
150
+
151
+ Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
152
+
153
+ ## Fair Use
154
+
155
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
156
+
157
+ ## No Other Rights
158
+
159
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
160
+
161
+ ## Patent Defense
162
+
163
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
164
+
165
+ ## Violations
166
+
167
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
168
+
169
+ ## No Liability
170
+
171
+ ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
172
+
173
+ ## Definitions
174
+
175
+ The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
176
+
177
+ **You** refers to the individual or entity agreeing to these terms.
178
+
179
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
180
+
181
+ **Your licenses** are all the licenses granted to you for the software under these terms.
182
+
183
+ **Use** means anything you do with the software requiring one of your licenses.
package/README.md CHANGED
@@ -1,3 +1,76 @@
1
- # Temporary Holding Version
1
+ # The component set `view`
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ This folder is the source of the component set `view` (standard
4
+ `simai.component-set` 1.0.0 of SIMAI Framework), product «SIMAI View», Pro
5
+ licence: its passport `set.json`, the three data views under `src/smart/`,
6
+ their tests and the scripts that test, probe and stage them.
7
+
8
+ | Folder | Element | Former tag (until 2027-01-01) | What it is |
9
+ |:---|:---|:---|:---|
10
+ | `src/smart/view` | `sf-view` | `sf-data-view` | the data view: a host's data port (`simai.dataview-port`) drawn as a table with search, filters, sorting, pages, saved views and a tree |
11
+ | `src/smart/view-table` | `sf-view-table` | `sf-table` | the smart table: typed cells, columns, row actions, filters, pages; fed directly or by `sf-view` |
12
+ | `src/smart/view-properties` | `sf-view-properties` | `sf-property-view` | the record card: a record's properties in groups and sections, read and edited |
13
+
14
+ The components came from `simai/ui-pro` `components/src/smart/` at
15
+ `c2a3b48d140f` (the `pro` bundle keeps shipping them until it is rebuilt from
16
+ the sets). Their history before the move is there.
17
+
18
+ ## Built against a pinned ui-source
19
+
20
+ The components import the free SIMAI Framework by relative path
21
+ (`../../core/js/smart-base`, `../field-renderers/index.js`). They are built
22
+ and tested in an **overlay**: ui-source at the revision `framework.lock.json`
23
+ pins (from git, never a working tree), with this folder's `src/`, `tests/`
24
+ and `docs/` laid over it. A file here may not replace a ui-source file.
25
+
26
+ The pin is `ec2f29dfa5df`, the source of the released pair
27
+ `ui-62b1d9b6dc8d` (core.runtime 1.28.0). The passport names the same commit.
28
+
29
+ ```bash
30
+ node scripts/test.mjs # unit and contract suite in the overlay
31
+ node scripts/check-registry.mjs # passport against the name registry at ui-source main
32
+ node scripts/run-manifest-probes.mjs <free> <set build> # every probe.json, real Loader, set declared
33
+ node scripts/run-browser-probes.mjs <free> <set build> # tests/browser/*.browser.mjs in a real browser
34
+ node scripts/run-first-paint.mjs check|gate <free> <set build>
35
+ ```
36
+
37
+ `<free>` is the `distr` of the released pair (`git -C <ui> archive
38
+ 62b1d9b6dc8d distr`), `<set build>` the build output holding `smart/`
39
+ (`wave-1/output/package/view` of the build below). `scripts/gates.sh` runs
40
+ the whole chain: two builds, the receipt, the suite, the probes and the first
41
+ paint.
42
+
43
+ ## Building the set
44
+
45
+ ui-builder builds it over the pinned ui-source, from committed bytes, twice:
46
+
47
+ ```bash
48
+ node <ui-builder>/scripts/verify-package-reproducibility.cjs \
49
+ <ui-source> <new workspace> --package view \
50
+ --package-source <ui-view> --package-path package --package-revision <commit>
51
+ python3 <ui-builder>/scripts/write-package-receipt.py --report <workspace>/report.json --ui <ui>
52
+ ```
53
+
54
+ The output is `set.json`, `smart/<folder>/…` and `smart/rule.js`, one
55
+ `SF.RuleLoader.registerPackage("view", {rules})` call, and a receipt that names
56
+ the ui-source revision and the free release it was built over. The release
57
+ route (ui-builder `publish-package-release.sh`) lays it into `package/dist/`
58
+ and tags `view-<12>`; it is not run yet.
59
+
60
+ ## Connecting it
61
+
62
+ ```html
63
+ <script src="https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261105.829/distr/core/js/core.min.js" data-sf-sets="view"></script>
64
+ ```
65
+
66
+ or, from a base the page serves itself:
67
+
68
+ ```js
69
+ window.SF_BOOT_CONFIG = {packages: {view: {base: '/assets/ui-view/smart', version: '1.0.0'}}};
70
+ ```
71
+
72
+ ## Moving to a newer SIMAI Framework
73
+
74
+ Change `framework.lock.json` and `set.json` `framework.source_revision` to the
75
+ ui-source revision of a newer released pair, run the gates against it and
76
+ build. A set is built and tested against exactly one revision.