@componyx/ui 0.0.0-stage → 1.0.3

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 (169) hide show
  1. package/AppSkin/AppSkin.css +1268 -0
  2. package/AppSkin/AppSkin.js +2748 -0
  3. package/AppSkin/Themes/Default.css +241 -0
  4. package/Base/Base.js +3407 -0
  5. package/Base/ComponentIcons.css +66 -0
  6. package/Base/Font/ComponentIcons.woff +0 -0
  7. package/Base/Font/UI.woff +0 -0
  8. package/Base/Library.js +8432 -0
  9. package/Base/NavigationManager.js +462 -0
  10. package/Base/ResponsiveTemplates.js +371 -0
  11. package/Base/Sanitizer.js +288 -0
  12. package/Base/Themes/Default.css +255 -0
  13. package/Base/UI.css +618 -0
  14. package/Base/UIResourcePath.js +6 -0
  15. package/Bindary/Bindary.js +2011 -0
  16. package/Bindary/Modules/Connection.js +216 -0
  17. package/Bindary/Modules/Core.js +854 -0
  18. package/Bindary/Modules/DataUpdater.js +351 -0
  19. package/Bindary/Modules/ExpressionEngine.js +347 -0
  20. package/Bindary/Modules/ProxyManager.js +482 -0
  21. package/Bindary/Modules/Renderer.js +605 -0
  22. package/Bindary/Modules/Router.js +291 -0
  23. package/Bindary/Modules/Scroller.js +89 -0
  24. package/Bindary/Modules/Template.js +1273 -0
  25. package/BookmarkSpy/BookmarkSpy.js +430 -0
  26. package/Box/Box.css +36 -0
  27. package/Box/Box.js +1685 -0
  28. package/Button/Button.css +470 -0
  29. package/Button/Button.js +1398 -0
  30. package/Button/Themes/Default.css +200 -0
  31. package/Carousel/Carousel.css +273 -0
  32. package/Carousel/Carousel.js +607 -0
  33. package/ColorButton/ColorButton.css +39 -0
  34. package/ColorButton/ColorButton.js +336 -0
  35. package/ColorPicker/ColorPicker.css +359 -0
  36. package/ColorPicker/ColorPicker.js +972 -0
  37. package/ComboBox/ComboBox.css +357 -0
  38. package/ComboBox/ComboBox.js +2342 -0
  39. package/ComboBox/Themes/Default.css +23 -0
  40. package/DataPager/DataPager.css +72 -0
  41. package/DataPager/DataPager.js +674 -0
  42. package/DatePicker/DatePicker.css +227 -0
  43. package/DatePicker/DatePicker.js +1531 -0
  44. package/DatePicker/Themes/Default.css +26 -0
  45. package/Dialog/Dialog.css +106 -0
  46. package/Dialog/Dialog.js +572 -0
  47. package/Dialog/Themes/Default.css +10 -0
  48. package/Editor/Data/Emoji.json +8285 -0
  49. package/Editor/Data/Special.json +1042 -0
  50. package/Editor/Editor.css +1562 -0
  51. package/Editor/Editor.js +4058 -0
  52. package/Editor/Font/Editor.woff +0 -0
  53. package/Editor/Modules/ComponentFactory.js +565 -0
  54. package/Editor/Modules/ContentManager.js +748 -0
  55. package/Editor/Modules/DialogManager.js +1234 -0
  56. package/Editor/Modules/EventManager.js +458 -0
  57. package/Editor/Modules/Format.js +950 -0
  58. package/Editor/Modules/History.js +191 -0
  59. package/Editor/Modules/LayoutState.js +379 -0
  60. package/Editor/Modules/ListManager.js +296 -0
  61. package/Editor/Modules/MenuManager.js +388 -0
  62. package/Editor/Modules/NodeManager.js +681 -0
  63. package/Editor/Modules/ParagraphButtons.js +122 -0
  64. package/Editor/Modules/Resizer.js +176 -0
  65. package/Editor/Modules/SelectionRange.js +564 -0
  66. package/Editor/Modules/SourceViewBuilder.js +212 -0
  67. package/Editor/Modules/SymbolPicker.js +208 -0
  68. package/Editor/Modules/Table.js +2327 -0
  69. package/Editor/Modules/TableDialog.js +757 -0
  70. package/Editor/Modules/Toolbar.js +375 -0
  71. package/Editor/Modules/TooltipMenu.js +125 -0
  72. package/Editor/Modules/Utility.js +131 -0
  73. package/Editor/Themes/Default.css +204 -0
  74. package/FileUpload/FileUpload.css +156 -0
  75. package/FileUpload/FileUpload.js +898 -0
  76. package/FileUpload/Themes/Default.css +17 -0
  77. package/Form/Form.css +1934 -0
  78. package/Form/Form.js +4943 -0
  79. package/Form/Modules/ActionManager.js +368 -0
  80. package/Form/Modules/BuildPanelManager.js +319 -0
  81. package/Form/Modules/ComponentFactory.js +468 -0
  82. package/Form/Modules/ComponentPanel.js +265 -0
  83. package/Form/Modules/ConfigPanelManager.js +685 -0
  84. package/Form/Modules/DataObserver.js +717 -0
  85. package/Form/Modules/Databinder.js +602 -0
  86. package/Form/Modules/Draggable.js +756 -0
  87. package/Form/Modules/OptionsPanel.js +342 -0
  88. package/Form/Modules/Renderer.js +1889 -0
  89. package/Form/Modules/RuleEngine.js +585 -0
  90. package/Form/Modules/RulesPanel.js +1158 -0
  91. package/Form/Modules/Types.js +1709 -0
  92. package/Form/Modules/ValidationManager.js +194 -0
  93. package/Form/Themes/Default.css +216 -0
  94. package/FormField/FormField.css +468 -0
  95. package/FormField/FormField.js +576 -0
  96. package/FormField/Themes/Default.css +99 -0
  97. package/Grid/Grid.css +544 -0
  98. package/Grid/Grid.js +3761 -0
  99. package/Grid/Themes/Default.css +43 -0
  100. package/LICENSE +126 -0
  101. package/MaskedTextBox/MaskedTextBox.css +28 -0
  102. package/MaskedTextBox/MaskedTextBox.js +642 -0
  103. package/MaskedTextBox/Themes/Default.css +6 -0
  104. package/Menu/Menu.css +328 -0
  105. package/Menu/Menu.js +2386 -0
  106. package/Menu/Themes/Default.css +24 -0
  107. package/NumericBox/NumericBox.css +120 -0
  108. package/NumericBox/NumericBox.js +984 -0
  109. package/PanelBar/PanelBar.css +123 -0
  110. package/PanelBar/PanelBar.js +505 -0
  111. package/PanelBar/Themes/Default.css +51 -0
  112. package/PieChart/PieChart.css +95 -0
  113. package/PieChart/PieChart.js +820 -0
  114. package/PieChart/Themes/Default.css +9 -0
  115. package/README.md +178 -3
  116. package/Slider/Slider.css +348 -0
  117. package/Slider/Slider.js +1306 -0
  118. package/Slider/Themes/Default.css +44 -0
  119. package/TabStrip/TabStrip.css +52 -0
  120. package/TabStrip/TabStrip.js +362 -0
  121. package/TabStrip/Themes/Default.css +35 -0
  122. package/TimePicker/Themes/Default.css +30 -0
  123. package/TimePicker/TimePicker.css +253 -0
  124. package/TimePicker/TimePicker.js +1485 -0
  125. package/TooltipManager/Themes/Default.css +21 -0
  126. package/TooltipManager/TooltipManager.css +227 -0
  127. package/TooltipManager/TooltipManager.js +791 -0
  128. package/Validator/Validator.css +54 -0
  129. package/Validator/Validator.js +2508 -0
  130. package/componyx.html-data.json +619 -0
  131. package/index.js +27 -0
  132. package/package.json +43 -4
  133. package/types/AppSkin.d.ts +842 -0
  134. package/types/Base.d.ts +1034 -0
  135. package/types/Bindary.d.ts +1196 -0
  136. package/types/BookmarkSpy.d.ts +112 -0
  137. package/types/Box.d.ts +374 -0
  138. package/types/Button.d.ts +455 -0
  139. package/types/Carousel.d.ts +136 -0
  140. package/types/ColorButton.d.ts +120 -0
  141. package/types/ColorPicker.d.ts +225 -0
  142. package/types/ComboBox.d.ts +507 -0
  143. package/types/DataPager.d.ts +152 -0
  144. package/types/DatePicker.d.ts +354 -0
  145. package/types/Dialog.d.ts +160 -0
  146. package/types/Editor.d.ts +1289 -0
  147. package/types/FileUpload.d.ts +206 -0
  148. package/types/Form.d.ts +3078 -0
  149. package/types/FormField.d.ts +204 -0
  150. package/types/Grid.d.ts +911 -0
  151. package/types/Library.d.ts +1899 -0
  152. package/types/MaskedTextBox.d.ts +91 -0
  153. package/types/Menu.d.ts +577 -0
  154. package/types/NumericBox.d.ts +310 -0
  155. package/types/PanelBar.d.ts +223 -0
  156. package/types/PieChart.d.ts +224 -0
  157. package/types/ResponsiveTemplates.d.ts +108 -0
  158. package/types/Slider.d.ts +227 -0
  159. package/types/TabStrip.d.ts +185 -0
  160. package/types/TimePicker.d.ts +265 -0
  161. package/types/TooltipManager.d.ts +178 -0
  162. package/types/UI.d.ts +29 -0
  163. package/types/Validator.d.ts +653 -0
  164. package/types/index.d.ts +59 -0
  165. package/ui.css +11783 -0
  166. package/ui.js +79477 -0
  167. package/ui.min.css +138 -0
  168. package/ui.min.js +264 -0
  169. package/ui.min.js.map +1 -0
@@ -0,0 +1,470 @@
1
+ /*! Componyx.UI | (c) E.H. Daanen / Componyx | BUSL-1.1 | componyx.com/license */
2
+ /* default button */
3
+ :root
4
+ {
5
+ --button-height: 28px;
6
+ --button-padding-x: 6px;
7
+ --button-expand-width: 14px;
8
+ }
9
+
10
+ .button.theme.size-s
11
+ {
12
+ --button-height: 24px;
13
+ --button-expand-width: 12px;
14
+ }
15
+
16
+ .button.theme.size-l
17
+ {
18
+ --button-height: 38px;
19
+ --button-padding-x: 10px;
20
+ --button-expand-width: 19px;
21
+ }
22
+
23
+ .button.theme.size-xl
24
+ {
25
+ --button-height: 48px;
26
+ --button-padding-x: 14px;
27
+ --button-expand-width: 24px;
28
+ }
29
+
30
+ .button.theme
31
+ {
32
+ display: inline-flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ position: relative;
36
+ white-space: nowrap;
37
+ vertical-align: top;
38
+ text-align: center;
39
+ -moz-user-select: none;
40
+ -webkit-user-select: none;
41
+ -ms-user-select: none;
42
+ user-select: none;
43
+ text-decoration: none;
44
+ cursor: pointer;
45
+ box-sizing: content-box;
46
+ padding: 0;
47
+ outline: 0;
48
+ }
49
+
50
+ .button.theme > a
51
+ {
52
+ display: none !important;
53
+ }
54
+
55
+ .button.theme::after
56
+ {
57
+ clear: both;
58
+ }
59
+
60
+ .button.theme:not(.split),
61
+ .button.theme.split > div
62
+ {
63
+ margin: 0px;
64
+ padding-left: var(--button-padding-x);
65
+ padding-right: var(--button-padding-x);
66
+ border-style: solid;
67
+ vertical-align: top;
68
+ height: var(--button-height);
69
+ }
70
+
71
+
72
+ .button.theme[class*='content-'],
73
+ .button.theme[class*='content-'] > div.command
74
+ {
75
+ padding-left: calc(var(--button-padding-x) + 10px);
76
+ padding-right: calc(var(--button-padding-x) + 10px);
77
+ }
78
+
79
+ .button.theme.content-left
80
+ {
81
+ justify-content: left;
82
+ }
83
+
84
+ .button.theme.content-right
85
+ {
86
+ justify-content: right;
87
+ }
88
+
89
+ .button.theme.content-center
90
+ {
91
+ justify-content: center;
92
+ }
93
+
94
+ .button.theme.content-center.split > div.command
95
+ {
96
+ justify-content: center;
97
+ }
98
+
99
+ .button.theme span
100
+ {
101
+ display: inline-block;
102
+ margin-top: auto;
103
+ margin-bottom: auto;
104
+ }
105
+
106
+ /* split button */
107
+ .button.theme.split
108
+ {
109
+ padding-left: 0px;
110
+ padding-right: 0px;
111
+ margin-left: 0px;
112
+ position: relative;
113
+ border-style: none;
114
+ border-radius: 0px;
115
+ min-width: 0px;
116
+ background: none;
117
+ }
118
+
119
+ .button.theme.split > div.command
120
+ {
121
+ display: inline-flex;
122
+ position: relative;
123
+ white-space: nowrap;
124
+ cursor: pointer;
125
+ border-radius: var(--cui-border-radius);
126
+ border-top-right-radius: 0px;
127
+ border-bottom-right-radius: 0px;
128
+ }
129
+
130
+ .button.theme.split > div.expand
131
+ {
132
+ display: inline-flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ position: relative;
136
+ width: var(--button-expand-width);
137
+ height: var(--button-height);
138
+ cursor: pointer;
139
+ border-left-style: none;
140
+ border-radius: var(--cui-border-radius);
141
+ border-top-left-radius: 0px;
142
+ border-bottom-left-radius: 0px;
143
+ flex-shrink: 0;
144
+ }
145
+
146
+ /* content holder */
147
+ .button.theme .content-holder
148
+ {
149
+ display: none;
150
+ position: relative;
151
+ vertical-align: top;
152
+ word-wrap: break-word;
153
+ overflow-wrap: break-word;
154
+ align-items: center;
155
+ }
156
+
157
+
158
+ .button.theme[class*='content-'] > .content-holder,
159
+ .button.theme[class*='content-'] > div > .content-holder
160
+ {
161
+ display: inline-flex;
162
+ }
163
+
164
+ .button.theme.icon-left .content-holder
165
+ {
166
+ margin-left: 6px;
167
+ }
168
+
169
+ .button.theme.icon-right .content-holder
170
+ {
171
+ margin-right: 6px;
172
+ }
173
+
174
+
175
+ /* icon */
176
+ .button.theme span.icon
177
+ {
178
+ position: relative;
179
+ min-width: 16px;
180
+ min-height: 16px;
181
+ background-repeat: no-repeat;
182
+ background-image: none;
183
+ font-family: 'UI';
184
+ font-weight: normal;
185
+ font-size: 16px;
186
+ -webkit-font-smoothing: antialiased;
187
+ -moz-osx-font-smoothing: grayscale;
188
+ display: inline-flex;
189
+ align-items: center;
190
+ justify-content: center;
191
+ }
192
+
193
+ /* expand icon */
194
+ .button.theme span.expand-icon
195
+ {
196
+ margin-left: 16px;
197
+ }
198
+
199
+ .button.theme div.expand span.expand-icon
200
+ {
201
+ margin-left: 0px;
202
+ }
203
+
204
+ .button.theme.up span.expand-icon::after
205
+ {
206
+ top: 1px;
207
+ transform: rotate(-45deg);
208
+ }
209
+
210
+ .button.theme.down span.expand-icon::after
211
+ {
212
+ top: -3px;
213
+ transform: rotate(135deg);
214
+ }
215
+
216
+ .button.theme.left span.expand-icon::after
217
+ {
218
+ top: -1px;
219
+ left: 2px;
220
+ transform: rotate(-135deg);
221
+ }
222
+
223
+ .button.theme.right span.expand-icon::after
224
+ {
225
+ top: -1px;
226
+ left: -1px;
227
+ transform: rotate(45deg);
228
+ }
229
+
230
+
231
+ /* transparent border */
232
+ .button.theme:not(.split):not(.border),
233
+ .button.theme.split:not(.border) > div
234
+ {
235
+ border-color: transparent;
236
+ }
237
+
238
+ /* always display split-button border to distinct the command and expand buttons */
239
+ .button.theme.split:not(.border) > div.command
240
+ {
241
+ border-right-style: solid;
242
+ }
243
+
244
+ /* use default font color for lucent button */
245
+ .button.theme:not(.split).lucent:not(.selected):not(.expanded):not(:hover),
246
+ .button.theme.split.lucent:not(.expanded) > div:not(.selected):not(.expanded):not(:hover)
247
+ {
248
+ color: inherit;
249
+ }
250
+
251
+ /* disabled transparent */
252
+ .button.theme:not(.split).disabled.lucent,
253
+ .button.theme.split.disabled.lucent > div,
254
+ .button.theme:not(.split).disabled.lucent:hover,
255
+ .button.theme.split.disabled.lucent > div:hover,
256
+ .button.theme:not(.split).disabled.lucent.pressed,
257
+ .button.theme.split.disabled.lucent > div.pressed
258
+ {
259
+ background: none;
260
+ }
261
+
262
+ /* disabled */
263
+ .button.theme.disabled,
264
+ .button.theme.split.disabled > div.command,
265
+ .button.theme.split.disabled > div.expand
266
+ {
267
+ cursor: default;
268
+ }
269
+
270
+ /* bg transition */
271
+ .button.theme:not(.split):hover,
272
+ .button.theme.split > div:hover
273
+ {
274
+ transition: background 0.5s, color 0.25s;
275
+ }
276
+
277
+ .button.theme.pressed,
278
+ .button.theme.split > div.pressed
279
+ {
280
+ }
281
+
282
+ /* ripple */
283
+
284
+ .button.theme:not(.split) > .ripple-mask,
285
+ .button.theme.split > div > .ripple-mask
286
+ {
287
+ position: absolute;
288
+ top: 0px;
289
+ left: 0px;
290
+ bottom: 0px;
291
+ right: 0px;
292
+ overflow: hidden;
293
+ pointer-events: none;
294
+ }
295
+
296
+ .button.theme:not(.split) > .ripple-mask > span.ripple,
297
+ .button.theme.split > div > .ripple-mask > span.ripple
298
+ {
299
+ display: inline-block;
300
+ position: absolute;
301
+ transform: scale(0) translate(-50%, -50%);
302
+ background: rgba(255, 255, 255, 0.3);
303
+ width: 200%;
304
+ height: 300%;
305
+ border-radius: 100%;
306
+ animation: rippleAnimation .5s ease-out;
307
+ }
308
+
309
+ .button.theme:not(.split).lucent > .ripple-mask > span.ripple,
310
+ .button.theme:not(.split).basic > .ripple-mask > span.ripple,
311
+ .button.theme.split.lucent > div > .ripple-mask > span.ripple,
312
+ .button.theme.split.basic > div > .ripple-mask > span.ripple
313
+ {
314
+ background: rgba(0, 0, 0, 0.2);
315
+ }
316
+
317
+ @keyframes rippleAnimation
318
+ {
319
+ 0%
320
+ {
321
+ opacity: 1;
322
+ transform: translate(-50%, -50%) scale(0);
323
+ }
324
+
325
+ 80%
326
+ {
327
+ transform: translate(-50%, -50%) scale(1);
328
+ }
329
+
330
+ 100%
331
+ {
332
+ opacity: 0;
333
+ transform: translate(-50%, -50%) scale(1);
334
+ }
335
+ }
336
+
337
+ /* overline and underline pseudo class */
338
+ .button.theme:not(.split)[class*='line-']::after,
339
+ .button.theme.split[class*='line-'] > div::after
340
+ {
341
+ content: '';
342
+ position: absolute;
343
+ display: inline-block;
344
+ top: -1px;
345
+ right: 0;
346
+ width: 0;
347
+ height: 2px;
348
+ transition: width .2s linear, opacity .2s linear;
349
+ }
350
+
351
+ /* frontline and backline */
352
+ .button.theme:not(.split)[class*='line-front']::after,
353
+ .button.theme.split[class*='line-front'] > div::after
354
+ {
355
+ left: -1px;
356
+ right: auto;
357
+ top: auto;
358
+ bottom: 0;
359
+ height: 0;
360
+ width: 2px;
361
+ transition: height .2s linear, opacity .2s linear;
362
+ }
363
+
364
+ .button.theme:not(.split)[class*='line-back']::after,
365
+ .button.theme.split[class*='line-back'] > div::after
366
+ {
367
+ right: -1px;
368
+ left: auto;
369
+ top: auto;
370
+ bottom: 0;
371
+ height: 0;
372
+ width: 2px;
373
+ transition: height .2s linear, opacity .2s linear;
374
+ }
375
+
376
+
377
+
378
+ .button.theme:not(.split)[class*='line-'].disabled::after,
379
+ .button.theme.split[class*='line-'].disabled > div::after
380
+ {
381
+ transition: none !important;
382
+ }
383
+
384
+ .button.theme:not(.split)[class*='line-'].selected::after,
385
+ .button.theme.split[class*='line-'].selected > div::after,
386
+ .button.theme.split[class*='line-'] > div.selected::after,
387
+ .button.theme:not(.split)[class*='line-'].expanded::after,
388
+ .button.theme.split[class*='line-'].expanded > div::after
389
+ {
390
+ opacity: 1;
391
+ width: 100%;
392
+ }
393
+
394
+ .button.theme:not(.split)[class*='line-front'].selected::after,
395
+ .button.theme.split[class*='line-front'].selected > div::after,
396
+ .button.theme.split[class*='line-front'] > div.selected::after,
397
+ .button.theme:not(.split)[class*='line-front'].expanded::after,
398
+ .button.theme.split[class*='line-front'].expanded > div::after,
399
+ .button.theme:not(.split)[class*='line-back'].selected::after,
400
+ .button.theme.split[class*='line-back'].selected > div::after,
401
+ .button.theme.split[class*='line-back'] > div.selected::after,
402
+ .button.theme:not(.split)[class*='line-back'].expanded::after,
403
+ .button.theme.split[class*='line-back'].expanded > div::after
404
+ {
405
+ opacity: 1;
406
+ height: 100%;
407
+ width: 2px;
408
+ }
409
+
410
+
411
+ .button.theme:not(.split)[class*='line-']:not(.disabled):hover::after,
412
+ .button.theme.split[class*='line-']:not(.disabled):hover > div::after,
413
+ .button.theme.split[class*='line-']:not(.disabled) > div:hover::after,
414
+ .button.theme:not(.split)[class*='line-']:focus::after,
415
+ .button.theme.split[class*='line-']:focus > div::after
416
+ {
417
+ opacity: 1;
418
+ left: 0;
419
+ right: auto;
420
+ width: 100%;
421
+ }
422
+
423
+ .button.theme:not(.split)[class*='line-front']:not(.disabled):hover::after,
424
+ .button.theme.split[class*='line-front']:not(.disabled):hover > div::after,
425
+ .button.theme.split[class*='line-front']:not(.disabled) > div:hover::after,
426
+ .button.theme:not(.split)[class*='line-front']:focus::after,
427
+ .button.theme.split[class*='line-front']:focus > div::after
428
+ {
429
+ height: 100%;
430
+ width: 2px;
431
+ top: 0;
432
+ bottom: auto;
433
+ left: -1px;
434
+ right: auto;
435
+ }
436
+
437
+ .button.theme:not(.split)[class*='line-back']:not(.disabled):hover::after,
438
+ .button.theme.split[class*='line-back']:not(.disabled):hover > div::after,
439
+ .button.theme.split[class*='line-back']:not(.disabled) > div:hover::after,
440
+ .button.theme:not(.split)[class*='line-back']:focus::after,
441
+ .button.theme.split[class*='line-back']:focus > div::after
442
+ {
443
+ height: 100%;
444
+ width: 2px;
445
+ top: 0;
446
+ bottom: auto;
447
+ right: -1px;
448
+ left: auto;
449
+ }
450
+
451
+
452
+
453
+ .button.theme:not(.split)[class*='line-under']::after,
454
+ .button.theme.split[class*='line-under'] > div::after
455
+ {
456
+ top: auto;
457
+ bottom: -1px;
458
+ }
459
+
460
+ /* CHROME fix for border glitch on hover */
461
+ .button.theme.split:not(.border):hover > div.command
462
+ {
463
+ border-right-color: transparent !important;
464
+ }
465
+
466
+ .button.theme.theme-default:focus-visible
467
+ {
468
+ outline-width: 1px;
469
+ outline-style: solid;
470
+ }