silentium-components 0.0.1

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 (76) hide show
  1. package/.husky/pre-commit +1 -0
  2. package/.vscode/settings.json +4 -0
  3. package/CHANGELOG.md +165 -0
  4. package/LICENSE.md +7 -0
  5. package/README.md +4 -0
  6. package/beforeRelease.sh +11 -0
  7. package/commitizen.cjs +50 -0
  8. package/dist/patron-components.cjs +372 -0
  9. package/dist/patron-components.cjs.map +1 -0
  10. package/dist/patron-components.d.ts +158 -0
  11. package/dist/patron-components.js +358 -0
  12. package/dist/patron-components.js.map +1 -0
  13. package/dist/patron-components.min.js +1 -0
  14. package/dist/patron-components.min.mjs +2 -0
  15. package/dist/patron-components.min.mjs.map +1 -0
  16. package/dist/patron-components.mjs +358 -0
  17. package/dist/patron-components.mjs.map +1 -0
  18. package/dist/silentium-components.cjs +372 -0
  19. package/dist/silentium-components.cjs.map +1 -0
  20. package/dist/silentium-components.d.ts +169 -0
  21. package/dist/silentium-components.js +358 -0
  22. package/dist/silentium-components.js.map +1 -0
  23. package/dist/silentium-components.min.js +1 -0
  24. package/dist/silentium-components.min.mjs +2 -0
  25. package/dist/silentium-components.min.mjs.map +1 -0
  26. package/dist/silentium-components.mjs +358 -0
  27. package/dist/silentium-components.mjs.map +1 -0
  28. package/docs/assets/css/base.css +3 -0
  29. package/docs/assets/img/github_16.jpg +0 -0
  30. package/docs/assets/js/index.mjs +70 -0
  31. package/docs/assets/lib/StyleFetched.mjs +16 -0
  32. package/docs/build.sh +25 -0
  33. package/docs/buildRoutes.sh +15 -0
  34. package/docs/favicon.ico +0 -0
  35. package/docs/index-dev.html +233 -0
  36. package/docs/index.html +233 -0
  37. package/docs/pages/404.html +1 -0
  38. package/docs/pages/index.html +7 -0
  39. package/docs/pages/navigation/navigation.html +1 -0
  40. package/docs/pages/navigation/router.html +1 -0
  41. package/docs/pages/navigation.html +12 -0
  42. package/docs/routes.json +1 -0
  43. package/docs/template.html +233 -0
  44. package/eslint.config.mjs +42 -0
  45. package/package.json +63 -0
  46. package/rollup.config.js +52 -0
  47. package/src/behaviors/Dirty.test.ts +20 -0
  48. package/src/behaviors/Dirty.ts +62 -0
  49. package/src/behaviors/Touched.ts +0 -0
  50. package/src/controls/ComputedElement.ts +51 -0
  51. package/src/controls/GroupActiveClass.test.ts +26 -0
  52. package/src/controls/GroupActiveClass.ts +29 -0
  53. package/src/controls/Input.ts +40 -0
  54. package/src/controls/Link.ts +53 -0
  55. package/src/controls/Text.ts +16 -0
  56. package/src/controls/Visible.ts +16 -0
  57. package/src/controls/index.ts +6 -0
  58. package/src/index.ts +3 -0
  59. package/src/jsdom/JSDomDocument.ts +15 -0
  60. package/src/jsdom/JSDomElement.ts +28 -0
  61. package/src/jsdom/JSDomQuerySelector.ts +28 -0
  62. package/src/navigation/CurrentPage.ts +27 -0
  63. package/src/navigation/Navigation.default.test.ts +53 -0
  64. package/src/navigation/Navigation.main.test.ts +46 -0
  65. package/src/navigation/Navigation.ts +92 -0
  66. package/src/navigation/Navigation.wildcard.test.ts +52 -0
  67. package/src/navigation/PageFetchTransport.ts +26 -0
  68. package/src/navigation/RouteDisplay.ts +18 -0
  69. package/src/navigation/RoutePageType.ts +3 -0
  70. package/src/navigation/Router.ts +118 -0
  71. package/src/navigation/index.ts +7 -0
  72. package/src/page/EntryPointPage.ts +20 -0
  73. package/src/page/Page.ts +12 -0
  74. package/src/page/PageFake.ts +8 -0
  75. package/src/page/index.ts +2 -0
  76. package/tsconfig.json +26 -0
@@ -0,0 +1,233 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
8
+ />
9
+ <meta
10
+ http-equiv="X-UA-Compatible"
11
+ content="ie=edge"
12
+ />
13
+ <title>Идет загрузка...</title>
14
+ <link
15
+ rel="stylesheet"
16
+ href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css"
17
+ />
18
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
19
+ <script src="//cdnjs.cloudflare.com/ajax/libs/highlightjs-line-numbers.js/2.9.0/highlightjs-line-numbers.min.js"></script>
20
+ <link
21
+ rel="apple-touch-icon"
22
+ sizes="57x57"
23
+ href="./assets/favicon/apple-icon-57x57.png"
24
+ />
25
+ <link
26
+ rel="apple-touch-icon"
27
+ sizes="60x60"
28
+ href="./assets/favicon/apple-icon-60x60.png"
29
+ />
30
+ <link
31
+ rel="apple-touch-icon"
32
+ sizes="72x72"
33
+ href="./assets/favicon/apple-icon-72x72.png"
34
+ />
35
+ <link
36
+ rel="apple-touch-icon"
37
+ sizes="76x76"
38
+ href="./assets/favicon/apple-icon-76x76.png"
39
+ />
40
+ <link
41
+ rel="apple-touch-icon"
42
+ sizes="114x114"
43
+ href="./assets/favicon/apple-icon-114x114.png"
44
+ />
45
+ <link
46
+ rel="apple-touch-icon"
47
+ sizes="120x120"
48
+ href="./assets/favicon/apple-icon-120x120.png"
49
+ />
50
+ <link
51
+ rel="apple-touch-icon"
52
+ sizes="144x144"
53
+ href="./assets/favicon/apple-icon-144x144.png"
54
+ />
55
+ <link
56
+ rel="apple-touch-icon"
57
+ sizes="152x152"
58
+ href="./assets/favicon/apple-icon-152x152.png"
59
+ />
60
+ <link
61
+ rel="apple-touch-icon"
62
+ sizes="180x180"
63
+ href="./assets/favicon/apple-icon-180x180.png"
64
+ />
65
+ <link
66
+ rel="icon"
67
+ type="image/png"
68
+ sizes="192x192"
69
+ href="./assets/favicon/android-icon-192x192.png"
70
+ />
71
+ <link
72
+ rel="icon"
73
+ type="image/png"
74
+ sizes="32x32"
75
+ href="./assets/favicon/favicon-32x32.png"
76
+ />
77
+ <link
78
+ rel="icon"
79
+ type="image/png"
80
+ sizes="96x96"
81
+ href="./assets/favicon/favicon-96x96.png"
82
+ />
83
+ <link
84
+ rel="icon"
85
+ type="image/png"
86
+ sizes="16x16"
87
+ href="./assets/favicon/favicon-16x16.png"
88
+ />
89
+ <meta
90
+ name="msapplication-TileColor"
91
+ content="#ffffff"
92
+ />
93
+ <meta
94
+ name="msapplication-TileImage"
95
+ content="./assets/favicon/ms-icon-144x144.png"
96
+ />
97
+ <meta
98
+ name="theme-color"
99
+ content="#ffffff"
100
+ />
101
+ <link
102
+ rel="stylesheet"
103
+ href="./assets/css/base.css"
104
+ />
105
+ <script type="importmap">
106
+ {
107
+ "imports": {
108
+ "patron-oop": "http://127.0.0.1:5502/dist/patron.min.mjs",
109
+ "patron-web-api": "http://127.0.0.1:5501/dist/patron-web-api.min.mjs",
110
+ "patron-components": "http://127.0.0.1:5500/dist/patron-components.min.mjs"
111
+ }
112
+ }
113
+ </script>
114
+ </head>
115
+
116
+ <body class="flex flex-col h-full global-body body-loading">
117
+ <div class="style-link" data-style="http://127.0.0.1:5504/custom.css"></div>
118
+ <header class="text-gray-600 body-font">
119
+ <div
120
+ class="container mx-auto flex flex-wrap p-5 flex-col md:flex-row items-center menu"
121
+ >
122
+ <div
123
+ class="flex title-font font-medium items-center text-gray-900 mb-4 md:mb-0"
124
+ >
125
+ <a href="/" class="text-xl flex items-center active">
126
+ Patron Components
127
+ </a>
128
+ </div>
129
+ <nav
130
+ class="md:mr-auto md:ml-4 md:py-1 md:pl-4 md:border-l md:border-gray-400 flex flex-wrap items-center text-base justify-center"
131
+ >
132
+ </nav>
133
+ <button
134
+ onclick="location.href='https://github.com/kosukhin/patron'"
135
+ class="inline-flex gap-1 items-center bg-gray-100 border-0 py-1 px-3 focus:outline-none hover:bg-gray-200 rounded text-base mt-4 md:mt-0"
136
+ >
137
+ <img
138
+ src="./assets/img/github_16.jpg"
139
+ width="16"
140
+ height="16"
141
+ />
142
+ GitHub
143
+ <svg
144
+ fill="none"
145
+ stroke="currentColor"
146
+ stroke-linecap="round"
147
+ stroke-linejoin="round"
148
+ stroke-width="2"
149
+ class="w-4 h-4 ml-1"
150
+ viewBox="0 0 24 24"
151
+ >
152
+ <path d="M5 12h14M12 5l7 7-7 7"></path>
153
+ </svg>
154
+ </button>
155
+ </div>
156
+ </header>
157
+ <article class="container mx-auto p-5">
158
+ <div class="loader">
159
+ <div class="w-full flex justify-center">
160
+ <div
161
+ class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-indigo-500 motion-reduce:animate-[spin_1.5s_linear_infinite]"
162
+ role="status"
163
+ >
164
+ <span
165
+ class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
166
+ >Loading...</span
167
+ >
168
+ </div>
169
+ </div>
170
+ </div>
171
+ <div class="page-area"></div>
172
+ </article>
173
+ <footer class="text-gray-600 body-font mt-auto">
174
+ <div class="border-t border-gray-200">
175
+ <div class="container px-5 py-8 flex flex-wrap gap-6 mx-auto">
176
+ <div>
177
+ <h6 class="mb-4 flex font-semibold uppercase md:justify-start">
178
+ Библиотеки
179
+ </h6>
180
+ <div class="flex flex-col gap-2 menu">
181
+ <div class="flex gap-1 items-center">
182
+ <a
183
+ href="https://kosukhin.github.io/patron/#/"
184
+ target="_blank"
185
+ >Patron</a
186
+ >
187
+ </div>
188
+ <div class="flex gap-1 items-center">
189
+ <a
190
+ href="https://kosukhin.github.io/patron-web-api.site/"
191
+ target="_blank"
192
+ >Patron-WEB-API</a
193
+ >
194
+ </div>
195
+ <div class="flex gap-1 items-center">
196
+ <a
197
+ href="https://kosukhin.github.io/patron-web-api.site/"
198
+ target="_blank"
199
+ >Patron Редактор схем</a
200
+ >
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ <div class="bg-gray-100">
207
+ <div
208
+ class="container mx-auto py-4 px-5 flex flex-wrap flex-col sm:flex-row"
209
+ >
210
+ <p class="text-gray-500 text-sm">
211
+ © 2025 Patron —
212
+ <a
213
+ href="https://github.com/kosukhin/patron"
214
+ class="text-gray-600 ml-1"
215
+ target="_blank"
216
+ rel="noopener noreferrer"
217
+ >@patron-oop</a
218
+ >
219
+ </p>
220
+ <span
221
+ class="sm:ml-auto sm:mt-0 mt-2 sm:w-auto w-full sm:text-left text-center text-gray-500 text-sm"
222
+ >
223
+ patron components
224
+ </span>
225
+ </div>
226
+ </div>
227
+ </footer>
228
+ <script
229
+ src="./assets/js/index.mjs"
230
+ type="module"
231
+ ></script>
232
+ </body>
233
+ </html>
@@ -0,0 +1,233 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
8
+ />
9
+ <meta
10
+ http-equiv="X-UA-Compatible"
11
+ content="ie=edge"
12
+ />
13
+ <title>Идет загрузка...</title>
14
+ <link
15
+ rel="stylesheet"
16
+ href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css"
17
+ />
18
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
19
+ <script src="//cdnjs.cloudflare.com/ajax/libs/highlightjs-line-numbers.js/2.9.0/highlightjs-line-numbers.min.js"></script>
20
+ <link
21
+ rel="apple-touch-icon"
22
+ sizes="57x57"
23
+ href="./assets/favicon/apple-icon-57x57.png"
24
+ />
25
+ <link
26
+ rel="apple-touch-icon"
27
+ sizes="60x60"
28
+ href="./assets/favicon/apple-icon-60x60.png"
29
+ />
30
+ <link
31
+ rel="apple-touch-icon"
32
+ sizes="72x72"
33
+ href="./assets/favicon/apple-icon-72x72.png"
34
+ />
35
+ <link
36
+ rel="apple-touch-icon"
37
+ sizes="76x76"
38
+ href="./assets/favicon/apple-icon-76x76.png"
39
+ />
40
+ <link
41
+ rel="apple-touch-icon"
42
+ sizes="114x114"
43
+ href="./assets/favicon/apple-icon-114x114.png"
44
+ />
45
+ <link
46
+ rel="apple-touch-icon"
47
+ sizes="120x120"
48
+ href="./assets/favicon/apple-icon-120x120.png"
49
+ />
50
+ <link
51
+ rel="apple-touch-icon"
52
+ sizes="144x144"
53
+ href="./assets/favicon/apple-icon-144x144.png"
54
+ />
55
+ <link
56
+ rel="apple-touch-icon"
57
+ sizes="152x152"
58
+ href="./assets/favicon/apple-icon-152x152.png"
59
+ />
60
+ <link
61
+ rel="apple-touch-icon"
62
+ sizes="180x180"
63
+ href="./assets/favicon/apple-icon-180x180.png"
64
+ />
65
+ <link
66
+ rel="icon"
67
+ type="image/png"
68
+ sizes="192x192"
69
+ href="./assets/favicon/android-icon-192x192.png"
70
+ />
71
+ <link
72
+ rel="icon"
73
+ type="image/png"
74
+ sizes="32x32"
75
+ href="./assets/favicon/favicon-32x32.png"
76
+ />
77
+ <link
78
+ rel="icon"
79
+ type="image/png"
80
+ sizes="96x96"
81
+ href="./assets/favicon/favicon-96x96.png"
82
+ />
83
+ <link
84
+ rel="icon"
85
+ type="image/png"
86
+ sizes="16x16"
87
+ href="./assets/favicon/favicon-16x16.png"
88
+ />
89
+ <meta
90
+ name="msapplication-TileColor"
91
+ content="#ffffff"
92
+ />
93
+ <meta
94
+ name="msapplication-TileImage"
95
+ content="./assets/favicon/ms-icon-144x144.png"
96
+ />
97
+ <meta
98
+ name="theme-color"
99
+ content="#ffffff"
100
+ />
101
+ <link
102
+ rel="stylesheet"
103
+ href="./assets/css/base.css"
104
+ />
105
+ <script type="importmap">
106
+ {
107
+ "imports": {
108
+ "patron-oop": "https://cdn.jsdelivr.net/npm/patron-oop@1.46.0/dist/patron.min.mjs",
109
+ "patron-web-api": "https://cdn.jsdelivr.net/npm/patron-web-api@1.16.0/dist/patron-web-api.min.mjs",
110
+ "patron-components": "https://cdn.jsdelivr.net/npm/patron-oop-components@1.20.0/dist/patron-components.min.mjs"
111
+ }
112
+ }
113
+ </script>
114
+ </head>
115
+
116
+ <body class="flex flex-col h-full global-body body-loading">
117
+ <div class="style-link" data-style="https://raw.githubusercontent.com/kosukhin/patorn-design-system/refs/heads/main/custom.css"></div>
118
+ <header class="text-gray-600 body-font">
119
+ <div
120
+ class="container mx-auto flex flex-wrap p-5 flex-col md:flex-row items-center menu"
121
+ >
122
+ <div
123
+ class="flex title-font font-medium items-center text-gray-900 mb-4 md:mb-0"
124
+ >
125
+ <a href="/" class="text-xl flex items-center active">
126
+ Patron Components
127
+ </a>
128
+ </div>
129
+ <nav
130
+ class="md:mr-auto md:ml-4 md:py-1 md:pl-4 md:border-l md:border-gray-400 flex flex-wrap items-center text-base justify-center"
131
+ >
132
+ </nav>
133
+ <button
134
+ onclick="location.href='https://github.com/kosukhin/patron'"
135
+ class="inline-flex gap-1 items-center bg-gray-100 border-0 py-1 px-3 focus:outline-none hover:bg-gray-200 rounded text-base mt-4 md:mt-0"
136
+ >
137
+ <img
138
+ src="./assets/img/github_16.jpg"
139
+ width="16"
140
+ height="16"
141
+ />
142
+ GitHub
143
+ <svg
144
+ fill="none"
145
+ stroke="currentColor"
146
+ stroke-linecap="round"
147
+ stroke-linejoin="round"
148
+ stroke-width="2"
149
+ class="w-4 h-4 ml-1"
150
+ viewBox="0 0 24 24"
151
+ >
152
+ <path d="M5 12h14M12 5l7 7-7 7"></path>
153
+ </svg>
154
+ </button>
155
+ </div>
156
+ </header>
157
+ <article class="container mx-auto p-5">
158
+ <div class="loader">
159
+ <div class="w-full flex justify-center">
160
+ <div
161
+ class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-indigo-500 motion-reduce:animate-[spin_1.5s_linear_infinite]"
162
+ role="status"
163
+ >
164
+ <span
165
+ class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
166
+ >Loading...</span
167
+ >
168
+ </div>
169
+ </div>
170
+ </div>
171
+ <div class="page-area"></div>
172
+ </article>
173
+ <footer class="text-gray-600 body-font mt-auto">
174
+ <div class="border-t border-gray-200">
175
+ <div class="container px-5 py-8 flex flex-wrap gap-6 mx-auto">
176
+ <div>
177
+ <h6 class="mb-4 flex font-semibold uppercase md:justify-start">
178
+ Библиотеки
179
+ </h6>
180
+ <div class="flex flex-col gap-2 menu">
181
+ <div class="flex gap-1 items-center">
182
+ <a
183
+ href="https://kosukhin.github.io/patron/#/"
184
+ target="_blank"
185
+ >Patron</a
186
+ >
187
+ </div>
188
+ <div class="flex gap-1 items-center">
189
+ <a
190
+ href="https://kosukhin.github.io/patron-web-api.site/"
191
+ target="_blank"
192
+ >Patron-WEB-API</a
193
+ >
194
+ </div>
195
+ <div class="flex gap-1 items-center">
196
+ <a
197
+ href="https://kosukhin.github.io/patron-web-api.site/"
198
+ target="_blank"
199
+ >Patron Редактор схем</a
200
+ >
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ <div class="bg-gray-100">
207
+ <div
208
+ class="container mx-auto py-4 px-5 flex flex-wrap flex-col sm:flex-row"
209
+ >
210
+ <p class="text-gray-500 text-sm">
211
+ © 2025 Patron —
212
+ <a
213
+ href="https://github.com/kosukhin/patron"
214
+ class="text-gray-600 ml-1"
215
+ target="_blank"
216
+ rel="noopener noreferrer"
217
+ >@patron-oop</a
218
+ >
219
+ </p>
220
+ <span
221
+ class="sm:ml-auto sm:mt-0 mt-2 sm:w-auto w-full sm:text-left text-center text-gray-500 text-sm"
222
+ >
223
+ patron components
224
+ </span>
225
+ </div>
226
+ </div>
227
+ </footer>
228
+ <script
229
+ src="./assets/js/index.mjs"
230
+ type="module"
231
+ ></script>
232
+ </body>
233
+ </html>
@@ -0,0 +1 @@
1
+ <h1>Страница не найдена</h1>
@@ -0,0 +1,7 @@
1
+ <div class="grid grid-3 gap-3">
2
+ <div class="card">
3
+ <div class="card-title bottom-2">Navigation</div>
4
+ <div class="card-content bottom-1">Управление историей переходов в браузере</div>
5
+ <a class="dynamic-navigation top-auto link" href="/navigation">Посмотреть</a>
6
+ </div>
7
+ </div>
@@ -0,0 +1 @@
1
+ <p>navig</p>
@@ -0,0 +1 @@
1
+ <p>router</p>
@@ -0,0 +1,12 @@
1
+ <div class="grid grid-3 gap-3">
2
+ <div class="card">
3
+ <div class="card-title bottom-2">Navigation</div>
4
+ <div class="card-content bottom-1">Управление историей переходов в браузере</div>
5
+ <a class="dynamic-navigation top-auto link" href="/navigation/navigation">Посмотреть</a>
6
+ </div>
7
+ <div class="card">
8
+ <div class="card-title bottom-2">Router</div>
9
+ <div class="card-content bottom-1">роутер</div>
10
+ <a class="dynamic-navigation top-auto link" href="/navigation/router">Посмотреть</a>
11
+ </div>
12
+ </div>
@@ -0,0 +1 @@
1
+