@nan0web/ui 1.9.0 → 1.11.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.
- package/README.md +97 -12
- package/package.json +54 -25
- package/src/App/Command/DepsCommand.js +3 -4
- package/src/Frame/Props.js +12 -18
- package/src/InterfaceTemplate/InterfaceTemplate.js +9 -7
- package/src/Model/index.js +86 -2
- package/src/StdIn.js +2 -6
- package/src/cli.js +1 -0
- package/src/core/Form/Form.js +8 -7
- package/src/core/Form/Message.js +1 -1
- package/src/core/GeneratorRunner.js +77 -7
- package/src/core/InputAdapter.js +3 -1
- package/src/core/Intent.js +214 -16
- package/src/core/IntentErrorModel.js +6 -1
- package/src/core/Message/Message.js +4 -7
- package/src/core/Message/OutputMessage.js +4 -9
- package/src/core/Stream.js +16 -5
- package/src/core/StreamEntry.js +20 -28
- package/src/core/index.js +2 -1
- package/src/domain/Content.js +196 -0
- package/src/domain/Document.js +17 -0
- package/src/domain/FooterModel.js +37 -19
- package/src/domain/HeaderModel.js +47 -21
- package/src/domain/HeroModel.js +24 -22
- package/src/domain/LayoutModel.js +43 -0
- package/src/domain/ModelAsApp.js +46 -0
- package/src/domain/SandboxModel.js +19 -16
- package/src/domain/app/GalleryCommand.js +53 -0
- package/src/domain/app/GalleryRenderIntent.js +77 -0
- package/src/domain/app/SnapshotAuditor.js +401 -0
- package/src/domain/app/SnapshotRunner.js +264 -0
- package/src/domain/app/UIApp.js +78 -0
- package/src/domain/components/BreadcrumbModel.js +10 -6
- package/src/domain/components/FeatureGridModel.js +62 -0
- package/src/domain/components/MarkdownModel.js +24 -0
- package/src/domain/components/ShellModel.js +243 -0
- package/src/domain/components/TableModel.js +10 -6
- package/src/domain/components/ToastModel.js +10 -6
- package/src/domain/components/index.js +3 -1
- package/src/domain/index.js +14 -4
- package/src/index.js +21 -2
- package/src/inspect.js +2 -0
- package/src/test/ScenarioAdapter.js +59 -0
- package/src/test/ScenarioTest.js +51 -0
- package/src/test/ScenarioTest.story.js +56 -0
- package/src/testing/CrashReporter.js +56 -0
- package/src/testing/GalleryGenerator.js +29 -0
- package/src/testing/LogicInspector.js +55 -0
- package/src/testing/SnapshotRunner.js +22 -0
- package/src/testing/SpecAdapter.js +115 -0
- package/src/testing/SpecRunner.js +121 -0
- package/src/testing/VisualAdapter.js +46 -0
- package/src/testing/index.js +7 -0
- package/src/testing/verifySnapshot.js +17 -0
- package/types/App/Command/DepsCommand.d.ts +0 -2
- package/types/Model/index.d.ts +56 -4
- package/types/StdIn.d.ts +3 -3
- package/types/cli.d.ts +1 -0
- package/types/core/Form/Form.d.ts +2 -2
- package/types/core/GeneratorRunner.d.ts +18 -1
- package/types/core/InputAdapter.d.ts +2 -1
- package/types/core/Intent.d.ts +232 -26
- package/types/core/IntentErrorModel.d.ts +4 -0
- package/types/core/Message/Message.d.ts +2 -2
- package/types/core/Message/OutputMessage.d.ts +0 -2
- package/types/core/index.d.ts +2 -1
- package/types/domain/Content.d.ts +340 -0
- package/types/domain/Document.d.ts +21 -0
- package/types/domain/FooterModel.d.ts +22 -12
- package/types/domain/HeaderModel.d.ts +36 -13
- package/types/domain/HeroModel.d.ts +19 -17
- package/types/domain/LayoutModel.d.ts +34 -0
- package/types/domain/ModelAsApp.d.ts +23 -0
- package/types/domain/SandboxModel.d.ts +10 -0
- package/types/domain/app/GalleryCommand.d.ts +55 -0
- package/types/domain/app/GalleryRenderIntent.d.ts +31 -0
- package/types/domain/app/SnapshotAuditor.d.ts +99 -0
- package/types/domain/app/SnapshotRunner.d.ts +45 -0
- package/types/domain/app/UIApp.d.ts +60 -0
- package/types/domain/components/BreadcrumbModel.d.ts +6 -8
- package/types/domain/components/FeatureGridModel.d.ts +50 -0
- package/types/domain/components/MarkdownModel.d.ts +19 -0
- package/types/domain/components/ShellModel.d.ts +56 -0
- package/types/domain/components/TableModel.d.ts +4 -0
- package/types/domain/components/ToastModel.d.ts +4 -0
- package/types/domain/components/index.d.ts +3 -0
- package/types/domain/index.d.ts +10 -4
- package/types/index.d.ts +19 -1
- package/types/inspect.d.ts +2 -0
- package/types/test/ScenarioAdapter.d.ts +43 -0
- package/types/test/ScenarioTest.d.ts +24 -0
- package/types/test/ScenarioTest.story.d.ts +1 -0
- package/types/testing/CrashReporter.d.ts +13 -0
- package/types/testing/GalleryGenerator.d.ts +1 -0
- package/types/testing/LogicInspector.d.ts +22 -0
- package/types/testing/SnapshotRunner.d.ts +7 -0
- package/types/testing/SpecAdapter.d.ts +57 -0
- package/types/testing/SpecRunner.d.ts +41 -0
- package/types/testing/VisualAdapter.d.ts +9 -0
- package/types/testing/index.d.ts +7 -0
- package/types/testing/verifySnapshot.d.ts +14 -0
- package/src/README.md.js +0 -436
- package/types/App/Command/Options.d.ts +0 -43
- package/types/App/Command/index.d.ts +0 -8
- package/types/App/User/Command/Options.d.ts +0 -34
- package/types/core/Message/InputMessage.d.ts +0 -71
- package/types/domain/components/HeroModel.d.ts +0 -24
- package/types/domain/components/ShowcaseAppModel.d.ts +0 -32
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} HTML5Elements
|
|
3
|
+
* @property {string|ContentData[]} [a]
|
|
4
|
+
* @property {string|ContentData[]} [abbr]
|
|
5
|
+
* @property {string|ContentData[]} [address]
|
|
6
|
+
* @property {string|ContentData[]} [area]
|
|
7
|
+
* @property {string|ContentData[]} [article]
|
|
8
|
+
* @property {string|ContentData[]} [aside]
|
|
9
|
+
* @property {string|ContentData[]} [audio]
|
|
10
|
+
* @property {string|ContentData[]} [b]
|
|
11
|
+
* @property {string|ContentData[]} [base]
|
|
12
|
+
* @property {string|ContentData[]} [bdi]
|
|
13
|
+
* @property {string|ContentData[]} [bdo]
|
|
14
|
+
* @property {string|ContentData[]} [blockquote]
|
|
15
|
+
* @property {string|ContentData[]} [body]
|
|
16
|
+
* @property {boolean|object} [br]
|
|
17
|
+
* @property {string|ContentData[]} [canvas]
|
|
18
|
+
* @property {string|ContentData[]} [caption]
|
|
19
|
+
* @property {string|ContentData[]} [cite]
|
|
20
|
+
* @property {string|ContentData[]} [code]
|
|
21
|
+
* @property {string|ContentData[]} [col]
|
|
22
|
+
* @property {string|ContentData[]} [colgroup]
|
|
23
|
+
* @property {string|ContentData[]} [data]
|
|
24
|
+
* @property {string|ContentData[]} [datalist]
|
|
25
|
+
* @property {string|ContentData[]} [dd]
|
|
26
|
+
* @property {string|ContentData[]} [del]
|
|
27
|
+
* @property {string|ContentData[]} [details]
|
|
28
|
+
* @property {string|ContentData[]} [dfn]
|
|
29
|
+
* @property {string|ContentData[]} [dialog]
|
|
30
|
+
* @property {string|ContentData[]} [div]
|
|
31
|
+
* @property {string|ContentData[]} [dl]
|
|
32
|
+
* @property {string|ContentData[]} [dt]
|
|
33
|
+
* @property {string|ContentData[]} [em]
|
|
34
|
+
* @property {string|ContentData[]} [embed]
|
|
35
|
+
* @property {string|ContentData[]} [fieldset]
|
|
36
|
+
* @property {string|ContentData[]} [figcaption]
|
|
37
|
+
* @property {string|ContentData[]} [figure]
|
|
38
|
+
* @property {string|ContentData[]} [footer]
|
|
39
|
+
* @property {string|ContentData[]} [form]
|
|
40
|
+
* @property {string|ContentData[]} [h1]
|
|
41
|
+
* @property {string|ContentData[]} [h2]
|
|
42
|
+
* @property {string|ContentData[]} [h3]
|
|
43
|
+
* @property {string|ContentData[]} [h4]
|
|
44
|
+
* @property {string|ContentData[]} [h5]
|
|
45
|
+
* @property {string|ContentData[]} [h6]
|
|
46
|
+
* @property {string|ContentData[]} [head]
|
|
47
|
+
* @property {string|ContentData[]} [header]
|
|
48
|
+
* @property {string|ContentData[]} [hgroup]
|
|
49
|
+
* @property {boolean|object} [hr]
|
|
50
|
+
* @property {string|ContentData[]} [html]
|
|
51
|
+
* @property {string|ContentData[]} [i]
|
|
52
|
+
* @property {string|ContentData[]} [iframe]
|
|
53
|
+
* @property {string|ContentData[]} [img]
|
|
54
|
+
* @property {string|ContentData[]} [ins]
|
|
55
|
+
* @property {string|ContentData[]} [kbd]
|
|
56
|
+
* @property {string|ContentData[]} [label]
|
|
57
|
+
* @property {string|ContentData[]} [legend]
|
|
58
|
+
* @property {string|ContentData[]} [li]
|
|
59
|
+
* @property {string|ContentData[]} [link]
|
|
60
|
+
* @property {string|ContentData[]} [main]
|
|
61
|
+
* @property {string|ContentData[]} [map]
|
|
62
|
+
* @property {string|ContentData[]} [mark]
|
|
63
|
+
* @property {string|ContentData[]} [meta]
|
|
64
|
+
* @property {string|ContentData[]} [meter]
|
|
65
|
+
* @property {boolean|any} [input]
|
|
66
|
+
* @property {boolean|any} [button]
|
|
67
|
+
* @property {boolean|any} [select]
|
|
68
|
+
* @property {string|ContentData[]} [nav]
|
|
69
|
+
* @property {string|ContentData[]} [noscript]
|
|
70
|
+
* @property {string|ContentData[]} [object]
|
|
71
|
+
* @property {string|ContentData[]} [ol]
|
|
72
|
+
* @property {string|ContentData[]} [optgroup]
|
|
73
|
+
* @property {string|ContentData[]} [option]
|
|
74
|
+
* @property {string|ContentData[]} [output]
|
|
75
|
+
* @property {string|ContentData[]} [p]
|
|
76
|
+
* @property {string|ContentData[]} [picture]
|
|
77
|
+
* @property {string|ContentData[]} [pre]
|
|
78
|
+
* @property {string|ContentData[]} [progress]
|
|
79
|
+
* @property {string|ContentData[]} [q]
|
|
80
|
+
* @property {string|ContentData[]} [rp]
|
|
81
|
+
* @property {string|ContentData[]} [rt]
|
|
82
|
+
* @property {string|ContentData[]} [ruby]
|
|
83
|
+
* @property {string|ContentData[]} [s]
|
|
84
|
+
* @property {string|ContentData[]} [samp]
|
|
85
|
+
* @property {string|ContentData[]} [script]
|
|
86
|
+
* @property {string|ContentData[]} [section]
|
|
87
|
+
* @property {string|ContentData[]} [slot]
|
|
88
|
+
* @property {string|ContentData[]} [small]
|
|
89
|
+
* @property {string|ContentData[]} [source]
|
|
90
|
+
* @property {string|ContentData[]} [span]
|
|
91
|
+
* @property {string|ContentData[]} [strong]
|
|
92
|
+
* @property {string|ContentData[]} [style]
|
|
93
|
+
* @property {string|ContentData[]} [sub]
|
|
94
|
+
* @property {string|ContentData[]} [summary]
|
|
95
|
+
* @property {string|ContentData[]} [sup]
|
|
96
|
+
* @property {string|ContentData[]} [table]
|
|
97
|
+
* @property {string|ContentData[]} [tbody]
|
|
98
|
+
* @property {string|ContentData[]} [td]
|
|
99
|
+
* @property {string|ContentData[]} [template]
|
|
100
|
+
* @property {string|ContentData[]} [textarea]
|
|
101
|
+
* @property {string|ContentData[]} [tfoot]
|
|
102
|
+
* @property {string|ContentData[]} [th]
|
|
103
|
+
* @property {string|ContentData[]} [thead]
|
|
104
|
+
* @property {string|ContentData[]} [time]
|
|
105
|
+
* @property {string|ContentData[]} [title]
|
|
106
|
+
* @property {string|ContentData[]} [tr]
|
|
107
|
+
* @property {string|ContentData[]} [track]
|
|
108
|
+
* @property {string|ContentData[]} [u]
|
|
109
|
+
* @property {string|ContentData[]} [ul]
|
|
110
|
+
* @property {string|ContentData[]} [var]
|
|
111
|
+
* @property {string|ContentData[]} [video]
|
|
112
|
+
* @property {string|ContentData[]} [wbr]
|
|
113
|
+
* @property {string|ContentData[]} [svg]
|
|
114
|
+
* @property {string|ContentData[]} [path]
|
|
115
|
+
* @property {string|ContentData[]} [circle]
|
|
116
|
+
* @property {string|ContentData[]} [rect]
|
|
117
|
+
* @property {string|ContentData[]} [line]
|
|
118
|
+
* @property {string|ContentData[]} [polyline]
|
|
119
|
+
* @property {string|ContentData[]} [polygon]
|
|
120
|
+
* @property {string|ContentData[]} [g]
|
|
121
|
+
* @property {string|ContentData[]} [defs]
|
|
122
|
+
* @property {string|ContentData[]} [symbol]
|
|
123
|
+
* @property {string|ContentData[]} [use]
|
|
124
|
+
* @property {string|ContentData[]} [text]
|
|
125
|
+
*/
|
|
126
|
+
/**
|
|
127
|
+
* @typedef {Object} CoreUIElements
|
|
128
|
+
* @property {import('./components/AccordionModel.js').AccordionModel} [accordion]
|
|
129
|
+
* @property {import('./components/AutocompleteModel.js').AutocompleteModel} [autocomplete]
|
|
130
|
+
* @property {import('./components/BannerModel.js').BannerModel} [banner]
|
|
131
|
+
* @property {import('./components/BreadcrumbModel.js').BreadcrumbModel} [breadcrumb]
|
|
132
|
+
* @property {import('./components/ButtonModel.js').ButtonModel} [button]
|
|
133
|
+
* @property {import('./components/CommentModel.js').CommentModel} [comment]
|
|
134
|
+
* @property {import('./components/ConfirmModel.js').ConfirmModel} [confirm]
|
|
135
|
+
* @property {import('./components/EmptyStateModel.js').EmptyStateModel} [emptyState]
|
|
136
|
+
* @property {import('./components/FAQModel.js').FAQModel} [faq]
|
|
137
|
+
* @property {import('./components/FeatureGridModel.js').FeatureGridModel} [featureGrid]
|
|
138
|
+
* @property {import('./components/GalleryModel.js').GalleryModel} [gallery]
|
|
139
|
+
* @property {import('./components/InputModel.js').InputModel} [input]
|
|
140
|
+
* @property {import('./components/MarkdownModel.js').MarkdownModel} [markdown]
|
|
141
|
+
* @property {import('./components/PriceModel.js').PriceModel} [price]
|
|
142
|
+
* @property {import('./components/PricingModel.js').PricingModel} [pricing]
|
|
143
|
+
* @property {import('./components/PricingSectionModel.js').PricingSectionModel} [pricingSection]
|
|
144
|
+
* @property {import('./components/ProfileDropdownModel.js').ProfileDropdownModel} [profileDropdown]
|
|
145
|
+
* @property {import('./components/SelectModel.js').SelectModel} [select]
|
|
146
|
+
* @property {import('./components/ShellModel.js').ShellModel} [shell]
|
|
147
|
+
* @property {import('./components/SpinnerModel.js').SpinnerModel} [spinner]
|
|
148
|
+
* @property {import('./components/StatsItemModel.js').StatsItemModel} [statsItem]
|
|
149
|
+
* @property {import('./components/StatsModel.js').StatsModel} [stats]
|
|
150
|
+
* @property {import('./components/TableModel.js').TableModel} [tableUI]
|
|
151
|
+
* @property {import('./components/TabsModel.js').TabsModel} [tabs]
|
|
152
|
+
* @property {import('./components/TestimonialModel.js').TestimonialModel} [testimonial]
|
|
153
|
+
* @property {import('./components/TimelineItemModel.js').TimelineItemModel} [timelineItem]
|
|
154
|
+
* @property {import('./components/TimelineModel.js').TimelineModel} [timeline]
|
|
155
|
+
* @property {import('./components/ToastModel.js').ToastModel} [toast]
|
|
156
|
+
* @property {import('./components/TreeModel.js').TreeModel} [tree]
|
|
157
|
+
* @property {ContentData[]} [sortable] - Інтерактивний Drag-n-Drop контейнер
|
|
158
|
+
*/
|
|
159
|
+
/**
|
|
160
|
+
* @typedef {Partial<Content & HTML5Elements & CoreUIElements> & Record<string, any>} ContentData
|
|
161
|
+
*/
|
|
162
|
+
export class Content extends Model {
|
|
163
|
+
static content: {
|
|
164
|
+
type: string;
|
|
165
|
+
help: string;
|
|
166
|
+
};
|
|
167
|
+
static children: {
|
|
168
|
+
type: string;
|
|
169
|
+
model: typeof Content;
|
|
170
|
+
help: string;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* @param {ContentData | string} [data={}]
|
|
174
|
+
* @param {import('@nan0web/types').ModelOptions} [options={}]
|
|
175
|
+
*/
|
|
176
|
+
constructor(data?: ContentData | string, options?: import("@nan0web/types").ModelOptions);
|
|
177
|
+
/** @type {string|undefined} Content */ content: string | undefined;
|
|
178
|
+
/** @type {Array<Content>|undefined} Children */ children: Array<Content> | undefined;
|
|
179
|
+
}
|
|
180
|
+
export type HTML5Elements = {
|
|
181
|
+
a?: string | ContentData[] | undefined;
|
|
182
|
+
abbr?: string | ContentData[] | undefined;
|
|
183
|
+
address?: string | ContentData[] | undefined;
|
|
184
|
+
area?: string | ContentData[] | undefined;
|
|
185
|
+
article?: string | ContentData[] | undefined;
|
|
186
|
+
aside?: string | ContentData[] | undefined;
|
|
187
|
+
audio?: string | ContentData[] | undefined;
|
|
188
|
+
b?: string | ContentData[] | undefined;
|
|
189
|
+
base?: string | ContentData[] | undefined;
|
|
190
|
+
bdi?: string | ContentData[] | undefined;
|
|
191
|
+
bdo?: string | ContentData[] | undefined;
|
|
192
|
+
blockquote?: string | ContentData[] | undefined;
|
|
193
|
+
body?: string | ContentData[] | undefined;
|
|
194
|
+
br?: boolean | object;
|
|
195
|
+
canvas?: string | ContentData[] | undefined;
|
|
196
|
+
caption?: string | ContentData[] | undefined;
|
|
197
|
+
cite?: string | ContentData[] | undefined;
|
|
198
|
+
code?: string | ContentData[] | undefined;
|
|
199
|
+
col?: string | ContentData[] | undefined;
|
|
200
|
+
colgroup?: string | ContentData[] | undefined;
|
|
201
|
+
data?: string | ContentData[] | undefined;
|
|
202
|
+
datalist?: string | ContentData[] | undefined;
|
|
203
|
+
dd?: string | ContentData[] | undefined;
|
|
204
|
+
del?: string | ContentData[] | undefined;
|
|
205
|
+
details?: string | ContentData[] | undefined;
|
|
206
|
+
dfn?: string | ContentData[] | undefined;
|
|
207
|
+
dialog?: string | ContentData[] | undefined;
|
|
208
|
+
div?: string | ContentData[] | undefined;
|
|
209
|
+
dl?: string | ContentData[] | undefined;
|
|
210
|
+
dt?: string | ContentData[] | undefined;
|
|
211
|
+
em?: string | ContentData[] | undefined;
|
|
212
|
+
embed?: string | ContentData[] | undefined;
|
|
213
|
+
fieldset?: string | ContentData[] | undefined;
|
|
214
|
+
figcaption?: string | ContentData[] | undefined;
|
|
215
|
+
figure?: string | ContentData[] | undefined;
|
|
216
|
+
footer?: string | ContentData[] | undefined;
|
|
217
|
+
form?: string | ContentData[] | undefined;
|
|
218
|
+
h1?: string | ContentData[] | undefined;
|
|
219
|
+
h2?: string | ContentData[] | undefined;
|
|
220
|
+
h3?: string | ContentData[] | undefined;
|
|
221
|
+
h4?: string | ContentData[] | undefined;
|
|
222
|
+
h5?: string | ContentData[] | undefined;
|
|
223
|
+
h6?: string | ContentData[] | undefined;
|
|
224
|
+
head?: string | ContentData[] | undefined;
|
|
225
|
+
header?: string | ContentData[] | undefined;
|
|
226
|
+
hgroup?: string | ContentData[] | undefined;
|
|
227
|
+
hr?: boolean | object;
|
|
228
|
+
html?: string | ContentData[] | undefined;
|
|
229
|
+
i?: string | ContentData[] | undefined;
|
|
230
|
+
iframe?: string | ContentData[] | undefined;
|
|
231
|
+
img?: string | ContentData[] | undefined;
|
|
232
|
+
ins?: string | ContentData[] | undefined;
|
|
233
|
+
kbd?: string | ContentData[] | undefined;
|
|
234
|
+
label?: string | ContentData[] | undefined;
|
|
235
|
+
legend?: string | ContentData[] | undefined;
|
|
236
|
+
li?: string | ContentData[] | undefined;
|
|
237
|
+
link?: string | ContentData[] | undefined;
|
|
238
|
+
main?: string | ContentData[] | undefined;
|
|
239
|
+
map?: string | ContentData[] | undefined;
|
|
240
|
+
mark?: string | ContentData[] | undefined;
|
|
241
|
+
meta?: string | ContentData[] | undefined;
|
|
242
|
+
meter?: string | ContentData[] | undefined;
|
|
243
|
+
input?: boolean | any;
|
|
244
|
+
button?: boolean | any;
|
|
245
|
+
select?: boolean | any;
|
|
246
|
+
nav?: string | ContentData[] | undefined;
|
|
247
|
+
noscript?: string | ContentData[] | undefined;
|
|
248
|
+
object?: string | ContentData[] | undefined;
|
|
249
|
+
ol?: string | ContentData[] | undefined;
|
|
250
|
+
optgroup?: string | ContentData[] | undefined;
|
|
251
|
+
option?: string | ContentData[] | undefined;
|
|
252
|
+
output?: string | ContentData[] | undefined;
|
|
253
|
+
p?: string | ContentData[] | undefined;
|
|
254
|
+
picture?: string | ContentData[] | undefined;
|
|
255
|
+
pre?: string | ContentData[] | undefined;
|
|
256
|
+
progress?: string | ContentData[] | undefined;
|
|
257
|
+
q?: string | ContentData[] | undefined;
|
|
258
|
+
rp?: string | ContentData[] | undefined;
|
|
259
|
+
rt?: string | ContentData[] | undefined;
|
|
260
|
+
ruby?: string | ContentData[] | undefined;
|
|
261
|
+
s?: string | ContentData[] | undefined;
|
|
262
|
+
samp?: string | ContentData[] | undefined;
|
|
263
|
+
script?: string | ContentData[] | undefined;
|
|
264
|
+
section?: string | ContentData[] | undefined;
|
|
265
|
+
slot?: string | ContentData[] | undefined;
|
|
266
|
+
small?: string | ContentData[] | undefined;
|
|
267
|
+
source?: string | ContentData[] | undefined;
|
|
268
|
+
span?: string | ContentData[] | undefined;
|
|
269
|
+
strong?: string | ContentData[] | undefined;
|
|
270
|
+
style?: string | ContentData[] | undefined;
|
|
271
|
+
sub?: string | ContentData[] | undefined;
|
|
272
|
+
summary?: string | ContentData[] | undefined;
|
|
273
|
+
sup?: string | ContentData[] | undefined;
|
|
274
|
+
table?: string | ContentData[] | undefined;
|
|
275
|
+
tbody?: string | ContentData[] | undefined;
|
|
276
|
+
td?: string | ContentData[] | undefined;
|
|
277
|
+
template?: string | ContentData[] | undefined;
|
|
278
|
+
textarea?: string | ContentData[] | undefined;
|
|
279
|
+
tfoot?: string | ContentData[] | undefined;
|
|
280
|
+
th?: string | ContentData[] | undefined;
|
|
281
|
+
thead?: string | ContentData[] | undefined;
|
|
282
|
+
time?: string | ContentData[] | undefined;
|
|
283
|
+
title?: string | ContentData[] | undefined;
|
|
284
|
+
tr?: string | ContentData[] | undefined;
|
|
285
|
+
track?: string | ContentData[] | undefined;
|
|
286
|
+
u?: string | ContentData[] | undefined;
|
|
287
|
+
ul?: string | ContentData[] | undefined;
|
|
288
|
+
var?: string | ContentData[] | undefined;
|
|
289
|
+
video?: string | ContentData[] | undefined;
|
|
290
|
+
wbr?: string | ContentData[] | undefined;
|
|
291
|
+
svg?: string | ContentData[] | undefined;
|
|
292
|
+
path?: string | ContentData[] | undefined;
|
|
293
|
+
circle?: string | ContentData[] | undefined;
|
|
294
|
+
rect?: string | ContentData[] | undefined;
|
|
295
|
+
line?: string | ContentData[] | undefined;
|
|
296
|
+
polyline?: string | ContentData[] | undefined;
|
|
297
|
+
polygon?: string | ContentData[] | undefined;
|
|
298
|
+
g?: string | ContentData[] | undefined;
|
|
299
|
+
defs?: string | ContentData[] | undefined;
|
|
300
|
+
symbol?: string | ContentData[] | undefined;
|
|
301
|
+
use?: string | ContentData[] | undefined;
|
|
302
|
+
text?: string | ContentData[] | undefined;
|
|
303
|
+
};
|
|
304
|
+
export type CoreUIElements = {
|
|
305
|
+
accordion?: import("./components/AccordionModel.js").AccordionModel | undefined;
|
|
306
|
+
autocomplete?: import("./components/AutocompleteModel.js").AutocompleteModel | undefined;
|
|
307
|
+
banner?: import("./components/BannerModel.js").BannerModel | undefined;
|
|
308
|
+
breadcrumb?: import("./components/BreadcrumbModel.js").BreadcrumbModel | undefined;
|
|
309
|
+
button?: import("./components/ButtonModel.js").ButtonModel | undefined;
|
|
310
|
+
comment?: import("./components/CommentModel.js").CommentModel | undefined;
|
|
311
|
+
confirm?: import("./components/ConfirmModel.js").ConfirmModel | undefined;
|
|
312
|
+
emptyState?: import("./components/EmptyStateModel.js").EmptyStateModel | undefined;
|
|
313
|
+
faq?: import("./components/FAQModel.js").FAQModel | undefined;
|
|
314
|
+
featureGrid?: import("./components/FeatureGridModel.js").FeatureGridModel | undefined;
|
|
315
|
+
gallery?: import("./components/GalleryModel.js").GalleryModel | undefined;
|
|
316
|
+
input?: import("./components/InputModel.js").InputModel | undefined;
|
|
317
|
+
markdown?: import("./components/MarkdownModel.js").MarkdownModel | undefined;
|
|
318
|
+
price?: import("./components/PriceModel.js").PriceModel | undefined;
|
|
319
|
+
pricing?: import("./components/PricingModel.js").PricingModel | undefined;
|
|
320
|
+
pricingSection?: import("./components/PricingSectionModel.js").PricingSectionModel | undefined;
|
|
321
|
+
profileDropdown?: import("./components/ProfileDropdownModel.js").ProfileDropdownModel | undefined;
|
|
322
|
+
select?: import("./components/SelectModel.js").SelectModel | undefined;
|
|
323
|
+
shell?: import("./components/ShellModel.js").ShellModel | undefined;
|
|
324
|
+
spinner?: import("./components/SpinnerModel.js").SpinnerModel | undefined;
|
|
325
|
+
statsItem?: import("./components/StatsItemModel.js").StatsItemModel | undefined;
|
|
326
|
+
stats?: import("./components/StatsModel.js").StatsModel | undefined;
|
|
327
|
+
tableUI?: import("./components/TableModel.js").TableModel | undefined;
|
|
328
|
+
tabs?: import("./components/TabsModel.js").TabsModel | undefined;
|
|
329
|
+
testimonial?: import("./components/TestimonialModel.js").TestimonialModel | undefined;
|
|
330
|
+
timelineItem?: import("./components/TimelineItemModel.js").TimelineItemModel | undefined;
|
|
331
|
+
timeline?: import("./components/TimelineModel.js").TimelineModel | undefined;
|
|
332
|
+
toast?: import("./components/ToastModel.js").ToastModel | undefined;
|
|
333
|
+
tree?: import("./components/TreeModel.js").TreeModel | undefined;
|
|
334
|
+
/**
|
|
335
|
+
* - Інтерактивний Drag-n-Drop контейнер
|
|
336
|
+
*/
|
|
337
|
+
sortable?: ContentData[] | undefined;
|
|
338
|
+
};
|
|
339
|
+
export type ContentData = Partial<Content & HTML5Elements & CoreUIElements> & Record<string, any>;
|
|
340
|
+
import { Model } from '@nan0web/types';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class Document extends Model {
|
|
2
|
+
static title: {
|
|
3
|
+
type: string;
|
|
4
|
+
help: string;
|
|
5
|
+
};
|
|
6
|
+
static content: {
|
|
7
|
+
type: string;
|
|
8
|
+
model: typeof Content;
|
|
9
|
+
help: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param {Partial<Document>} [data]
|
|
14
|
+
* @param {import('@nan0web/types').ModelOptions} [options]
|
|
15
|
+
*/
|
|
16
|
+
constructor(data?: Partial<Document>, options?: import("@nan0web/types").ModelOptions);
|
|
17
|
+
/** @type {string} Title */ title: string;
|
|
18
|
+
/** @type {Array<Content>} Content */ content: Array<Content>;
|
|
19
|
+
}
|
|
20
|
+
import { Model } from '@nan0web/types';
|
|
21
|
+
import { Content } from './Content.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* FooterModel — OLMUI Model
|
|
3
|
-
* Universal footer structure
|
|
2
|
+
* FooterModel — OLMUI Component Model
|
|
3
|
+
* Universal footer structure.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export class FooterModel extends Model {
|
|
6
6
|
static $id: string;
|
|
7
7
|
static copyright: {
|
|
8
8
|
help: string;
|
|
@@ -31,22 +31,32 @@ export default class FooterModel extends Model {
|
|
|
31
31
|
hint: typeof Navigation;
|
|
32
32
|
default: never[];
|
|
33
33
|
};
|
|
34
|
+
static lang: {
|
|
35
|
+
help: string;
|
|
36
|
+
default: null;
|
|
37
|
+
};
|
|
34
38
|
static langs: {
|
|
35
39
|
help: string;
|
|
36
40
|
type: string;
|
|
41
|
+
hint: any;
|
|
37
42
|
default: never[];
|
|
38
43
|
};
|
|
39
44
|
/**
|
|
40
|
-
* @param {Partial<FooterModel>
|
|
41
|
-
* @param {object} [options] Extended options (db, etc.)
|
|
45
|
+
* @param {Partial<FooterModel>} data
|
|
42
46
|
*/
|
|
43
|
-
constructor(data?: Partial<FooterModel>
|
|
44
|
-
/** @type {string}
|
|
45
|
-
/** @type {string}
|
|
46
|
-
/** @type {string}
|
|
47
|
-
/** @type {Navigation[]}
|
|
48
|
-
|
|
49
|
-
/** @type {
|
|
47
|
+
constructor(data?: Partial<FooterModel>);
|
|
48
|
+
/** @type {string} */ copyright: string;
|
|
49
|
+
/** @type {string} */ version: string;
|
|
50
|
+
/** @type {string} */ license: string;
|
|
51
|
+
/** @type {Navigation[]} */
|
|
52
|
+
nav: Navigation[];
|
|
53
|
+
/** @type {Navigation[]} */
|
|
54
|
+
share: Navigation[];
|
|
55
|
+
/** @type {Language|null} */
|
|
56
|
+
lang: Language | null;
|
|
57
|
+
/** @type {Language[]} */
|
|
58
|
+
langs: Language[];
|
|
59
|
+
#private;
|
|
50
60
|
}
|
|
51
61
|
import { Model } from '@nan0web/types';
|
|
52
62
|
import Navigation from './Navigation.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HeaderModel — OLMUI Model
|
|
3
|
-
* Universal header structure
|
|
2
|
+
* HeaderModel — OLMUI Component Model
|
|
3
|
+
* Universal header structure with logo, navigation, and language controls.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export class HeaderModel extends Model {
|
|
6
6
|
static $id: string;
|
|
7
7
|
static title: {
|
|
8
8
|
help: string;
|
|
@@ -14,32 +14,55 @@ export default class HeaderModel extends Model {
|
|
|
14
14
|
placeholder: string;
|
|
15
15
|
default: string;
|
|
16
16
|
};
|
|
17
|
+
static logoDark: {
|
|
18
|
+
help: string;
|
|
19
|
+
placeholder: string;
|
|
20
|
+
default: string;
|
|
21
|
+
};
|
|
22
|
+
static nav: {
|
|
23
|
+
help: string;
|
|
24
|
+
type: string;
|
|
25
|
+
hint: typeof Navigation;
|
|
26
|
+
default: never[];
|
|
27
|
+
};
|
|
17
28
|
static actions: {
|
|
18
29
|
help: string;
|
|
19
30
|
type: string;
|
|
20
31
|
hint: typeof Navigation;
|
|
21
32
|
default: never[];
|
|
22
33
|
};
|
|
23
|
-
static
|
|
34
|
+
static share: {
|
|
24
35
|
help: string;
|
|
25
36
|
type: string;
|
|
37
|
+
hint: typeof Navigation;
|
|
38
|
+
default: never[];
|
|
39
|
+
};
|
|
40
|
+
static lang: {
|
|
41
|
+
help: string;
|
|
26
42
|
default: null;
|
|
27
43
|
};
|
|
28
44
|
static langs: {
|
|
29
45
|
help: string;
|
|
30
|
-
type: string;
|
|
31
46
|
default: never[];
|
|
32
47
|
};
|
|
33
48
|
/**
|
|
34
|
-
* @param {Partial<HeaderModel>
|
|
35
|
-
* @param {object} [options] Extended options (db, etc.)
|
|
49
|
+
* @param {Partial<HeaderModel>} data
|
|
36
50
|
*/
|
|
37
|
-
constructor(data?: Partial<HeaderModel>
|
|
38
|
-
/** @type {string}
|
|
39
|
-
/** @type {string}
|
|
40
|
-
/** @type {
|
|
41
|
-
/** @type {
|
|
42
|
-
|
|
51
|
+
constructor(data?: Partial<HeaderModel>);
|
|
52
|
+
/** @type {string} */ title: string;
|
|
53
|
+
/** @type {string} */ logo: string;
|
|
54
|
+
/** @type {string} */ logoDark: string;
|
|
55
|
+
/** @type {Navigation[]} */
|
|
56
|
+
nav: Navigation[];
|
|
57
|
+
/** @type {Navigation[]} */
|
|
58
|
+
actions: Navigation[];
|
|
59
|
+
/** @type {Navigation[]} */
|
|
60
|
+
share: Navigation[];
|
|
61
|
+
/** @type {any} */
|
|
62
|
+
lang: any;
|
|
63
|
+
/** @type {any[]} */
|
|
64
|
+
langs: any[];
|
|
65
|
+
#private;
|
|
43
66
|
}
|
|
44
67
|
import { Model } from '@nan0web/types';
|
|
45
68
|
import Navigation from './Navigation.js';
|
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HeroModel — OLMUI Model
|
|
3
|
-
*
|
|
4
|
-
* Uses Navigation[] for actions instead of a single CTA.
|
|
2
|
+
* HeroModel — OLMUI Component Model
|
|
3
|
+
* Represents the top presentation section of a page.
|
|
5
4
|
*/
|
|
6
|
-
export
|
|
5
|
+
export class HeroModel extends Model {
|
|
7
6
|
static $id: string;
|
|
7
|
+
static badge: {
|
|
8
|
+
help: string;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
8
12
|
static title: {
|
|
9
13
|
help: string;
|
|
10
14
|
placeholder: string;
|
|
11
15
|
default: string;
|
|
12
16
|
required: boolean;
|
|
13
17
|
};
|
|
14
|
-
static
|
|
18
|
+
static subtitle: {
|
|
15
19
|
help: string;
|
|
16
20
|
placeholder: string;
|
|
17
21
|
default: string;
|
|
18
22
|
};
|
|
19
|
-
static
|
|
23
|
+
static code: {
|
|
20
24
|
help: string;
|
|
21
|
-
placeholder: string;
|
|
22
|
-
hint: string;
|
|
23
|
-
upload: boolean;
|
|
24
25
|
default: string;
|
|
25
26
|
};
|
|
26
27
|
static actions: {
|
|
27
28
|
help: string;
|
|
28
29
|
type: string;
|
|
29
|
-
|
|
30
|
+
model: typeof Navigation;
|
|
30
31
|
default: never[];
|
|
31
32
|
};
|
|
32
33
|
/**
|
|
33
|
-
* @param {Partial<HeroModel
|
|
34
|
-
* @param {
|
|
34
|
+
* @param {Partial<HeroModel | Record<string, any>>} [data={}]
|
|
35
|
+
* @param {import('@nan0web/types').ModelOptions} [options={}]
|
|
35
36
|
*/
|
|
36
|
-
constructor(data?: Partial<HeroModel
|
|
37
|
-
/** @type {string}
|
|
38
|
-
/** @type {string} Hero
|
|
39
|
-
/** @type {string} Hero
|
|
40
|
-
/** @type {
|
|
37
|
+
constructor(data?: Partial<HeroModel | Record<string, any>>, options?: import("@nan0web/types").ModelOptions);
|
|
38
|
+
/** @type {string} Top small badge text ior icon */ badge: string;
|
|
39
|
+
/** @type {string} Hero heading */ title: string;
|
|
40
|
+
/** @type {string} Hero secondary text */ subtitle: string;
|
|
41
|
+
/** @type {string} Code snippet or secondary markup */ code: string;
|
|
42
|
+
/** @type {Navigation[]} CTA buttons */ actions: Navigation[];
|
|
41
43
|
}
|
|
42
44
|
import { Model } from '@nan0web/types';
|
|
43
45
|
import Navigation from './Navigation.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {'flow'|'sticky-bottom'|'sticky-top'|'dialog-modal'|'spatial-xyz'} LayoutType
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Universal Layout Interface for OLMUI.
|
|
6
|
+
* Defines the semantic spatial placement of a component in any renderer.
|
|
7
|
+
*/
|
|
8
|
+
export class LayoutModel extends Model {
|
|
9
|
+
static type: {
|
|
10
|
+
help: string;
|
|
11
|
+
default: string;
|
|
12
|
+
options: {
|
|
13
|
+
value: string;
|
|
14
|
+
label: string;
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
static coordinates: {
|
|
18
|
+
help: string;
|
|
19
|
+
default: null;
|
|
20
|
+
type: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new LayoutModel instance to define spatial placement.
|
|
24
|
+
* @param {Partial<LayoutModel> | Record<string, any>} [data] Input model data.
|
|
25
|
+
* @param {object} [options] Model options.
|
|
26
|
+
*/
|
|
27
|
+
constructor(data?: Partial<LayoutModel> | Record<string, any>, options?: object);
|
|
28
|
+
/** @type {LayoutType} Base layout type */
|
|
29
|
+
type: LayoutType;
|
|
30
|
+
/** @type {object | null} Configuration or specific layout parameters */
|
|
31
|
+
coordinates: object | null;
|
|
32
|
+
}
|
|
33
|
+
export type LayoutType = "flow" | "sticky-bottom" | "sticky-top" | "dialog-modal" | "spatial-xyz";
|
|
34
|
+
import { Model } from '@nan0web/types';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {import('@nan0web/types').ModelOptions & { adapter: InputAdapter }} ModelAsAppOptions */
|
|
2
|
+
/**
|
|
3
|
+
* The model with a run generator.
|
|
4
|
+
*/
|
|
5
|
+
export class ModelAsApp extends Model {
|
|
6
|
+
/**
|
|
7
|
+
* @param {Partial<ModelAsApp> | Record<string, any>} [data={}]
|
|
8
|
+
* @param {ModelAsAppOptions} [options={}]
|
|
9
|
+
*/
|
|
10
|
+
constructor(data?: Partial<ModelAsApp> | Record<string, any>, options?: ModelAsAppOptions);
|
|
11
|
+
/** @returns {ModelAsAppOptions} */
|
|
12
|
+
get _(): ModelAsAppOptions;
|
|
13
|
+
/**
|
|
14
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
15
|
+
*/
|
|
16
|
+
run(): AsyncGenerator<import("@nan0web/ui").Intent, import("@nan0web/ui").ResultIntent, any>;
|
|
17
|
+
#private;
|
|
18
|
+
}
|
|
19
|
+
export type ModelAsAppOptions = import("@nan0web/types").ModelOptions & {
|
|
20
|
+
adapter: InputAdapter;
|
|
21
|
+
};
|
|
22
|
+
import { Model } from '@nan0web/types';
|
|
23
|
+
import { InputAdapter } from '../core/InputAdapter.js';
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export class SandboxModel extends Model {
|
|
6
6
|
static $id: string;
|
|
7
|
+
static UI: {
|
|
8
|
+
breadcrumb: string;
|
|
9
|
+
componentsHelp: string;
|
|
10
|
+
selectedComponentHelp: string;
|
|
11
|
+
selectedComponentPlaceholder: string;
|
|
12
|
+
themeFormatHelp: string;
|
|
13
|
+
selectComponentHelp: string;
|
|
14
|
+
configurePropertiesHelp: string;
|
|
15
|
+
exportFormatHelp: string;
|
|
16
|
+
};
|
|
7
17
|
static components: {
|
|
8
18
|
help: string;
|
|
9
19
|
type: string;
|