@breadstone/mosaik-elements-foundation 0.0.224 → 0.0.226
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/Controls/Components/Grouping/Message/IMessageElementProps.d.ts +19 -0
- package/Controls/Components/Grouping/Message/IMessageElementProps.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/IMessageElementProps.js +3 -0
- package/Controls/Components/Grouping/Message/IMessageElementProps.js.map +1 -0
- package/Controls/Components/Grouping/Message/MessageElement.d.ts +129 -0
- package/Controls/Components/Grouping/Message/MessageElement.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/MessageElement.js +225 -0
- package/Controls/Components/Grouping/Message/MessageElement.js.map +1 -0
- package/Controls/Components/Grouping/Message/MessageElementTemplate.d.ts +9 -0
- package/Controls/Components/Grouping/Message/MessageElementTemplate.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/MessageElementTemplate.js +61 -0
- package/Controls/Components/Grouping/Message/MessageElementTemplate.js.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Cosmopolitan.d.ts +6 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Cosmopolitan.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Cosmopolitan.js +193 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Cosmopolitan.js.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Joy.d.ts +6 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Joy.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Joy.js +395 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Joy.js.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Memphis.d.ts +6 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Memphis.d.ts.map +1 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Memphis.js +311 -0
- package/Controls/Components/Grouping/Message/Themes/MessageElement.Memphis.js.map +1 -0
- package/Controls/Components/Primitives/Text/TextElement.d.ts +0 -3
- package/Controls/Components/Primitives/Text/TextElement.d.ts.map +1 -1
- package/Controls/Components/Primitives/Text/TextElement.js +2 -5
- package/Controls/Components/Primitives/Text/TextElement.js.map +1 -1
- package/Controls/Types/TextFormatter.d.ts +171 -29
- package/Controls/Types/TextFormatter.d.ts.map +1 -1
- package/Controls/Types/TextFormatter.js +550 -129
- package/Controls/Types/TextFormatter.js.map +1 -1
- package/Index.d.ts +1 -0
- package/Index.d.ts.map +1 -1
- package/Index.js +1 -0
- package/Index.js.map +1 -1
- package/custom-elements.json +598 -0
- package/package.json +3 -3
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
// ------------------------------------------------------------------------------
|
|
2
|
+
// <auto-generated>
|
|
3
|
+
// This code was generated by a tool.
|
|
4
|
+
// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
5
|
+
// </auto-generated>
|
|
6
|
+
// ------------------------------------------------------------------------------
|
|
7
|
+
// #region Imports
|
|
8
|
+
import { css } from '../../../../../Dom/Css';
|
|
9
|
+
// #endregion
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export function messageElementMemphisStyle() {
|
|
14
|
+
return css `
|
|
15
|
+
:host {
|
|
16
|
+
--message-background-color: var(--memphis-scheme-background);
|
|
17
|
+
--message-border-color: var(--memphis-scheme-contrast);
|
|
18
|
+
--message-border-radius: var(--memphis-layout-radius);
|
|
19
|
+
--message-border-style: solid;
|
|
20
|
+
--message-border-width: var(--memphis-layout-thickness);
|
|
21
|
+
--message-font-family: var(--memphis-font-family);
|
|
22
|
+
--message-font-letter-spacing: var(--memphis-typography-body1-letter-spacing);
|
|
23
|
+
--message-font-line-height: var(--memphis-typography-body1-line-height);
|
|
24
|
+
--message-font-size: var(--memphis-typography-body1-font-size);
|
|
25
|
+
--message-font-text-decoration: var(--memphis-typography-body1-text-decoration);
|
|
26
|
+
--message-font-text-transform: var(--memphis-typography-body1-text-transform);
|
|
27
|
+
--message-font-weight: var(--memphis-typography-body1-font-weight);
|
|
28
|
+
--message-foreground-color: var(--memphis-scheme-foreground);
|
|
29
|
+
--message-gap: var(--memphis-layout-space);
|
|
30
|
+
--message-padding-bottom: var(--memphis-layout-space);
|
|
31
|
+
--message-padding-left: calc(var(--memphis-layout-space) * 2);
|
|
32
|
+
--message-padding-right: calc(var(--memphis-layout-space) * 2);
|
|
33
|
+
--message-padding-top: calc(var(--memphis-layout-space) * 2);
|
|
34
|
+
--message-shadow-blur: var(--memphis-elevation-semilight-blur-0);
|
|
35
|
+
--message-shadow-color: var(--memphis-elevation-semilight-color-0);
|
|
36
|
+
--message-shadow-offset-x: var(--memphis-elevation-semilight-offset-x-0);
|
|
37
|
+
--message-shadow-offset-y: var(--memphis-elevation-semilight-offset-y-0);
|
|
38
|
+
--message-shadow-spread: var(--memphis-elevation-semilight-spread-0);
|
|
39
|
+
--message-transition-duration: .2s;
|
|
40
|
+
--message-transition-mode: ease;
|
|
41
|
+
--message-transition-property: all;
|
|
42
|
+
--message-translate: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@media screen and (prefers-reduced-motion: reduce) {
|
|
46
|
+
:host {
|
|
47
|
+
transition-duration: .01ms;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:host {
|
|
52
|
+
box-sizing: border-box;
|
|
53
|
+
display: block;
|
|
54
|
+
position: relative;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host *, :host :before, :host :after {
|
|
58
|
+
box-sizing: border-box;
|
|
59
|
+
background-repeat: no-repeat;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
:host :before, :host :after {
|
|
63
|
+
text-decoration: inherit;
|
|
64
|
+
vertical-align: inherit;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
:host([hidden]) {
|
|
68
|
+
display: none !important;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host {
|
|
72
|
+
font-family: var(--message-font-family);
|
|
73
|
+
font-size: var(--message-font-size);
|
|
74
|
+
font-weight: var(--message-font-weight);
|
|
75
|
+
background-color: var(--message-background-color);
|
|
76
|
+
color: var(--message-foreground-color);
|
|
77
|
+
border-color: var(--message-border-color);
|
|
78
|
+
border-width: var(--message-border-width);
|
|
79
|
+
border-style: var(--message-border-style);
|
|
80
|
+
border-radius: calc(var(--message-border-radius) / 2);
|
|
81
|
+
transition-duration: var(--message-transition-duration);
|
|
82
|
+
transition-timing-function: var(--message-transition-mode);
|
|
83
|
+
transition-property: var(--message-transition-property);
|
|
84
|
+
padding-top: var(--message-padding-top);
|
|
85
|
+
padding-left: var(--message-padding-left);
|
|
86
|
+
padding-bottom: var(--message-padding-bottom);
|
|
87
|
+
padding-right: var(--message-padding-right);
|
|
88
|
+
box-sizing: border-box;
|
|
89
|
+
display: block;
|
|
90
|
+
position: relative;
|
|
91
|
+
overflow: hidden;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host [part="root"] {
|
|
95
|
+
box-sizing: inherit;
|
|
96
|
+
gap: var(--message-gap);
|
|
97
|
+
flex-direction: row;
|
|
98
|
+
max-width: 100%;
|
|
99
|
+
display: flex;
|
|
100
|
+
position: relative;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
:host [part="root"]:before {
|
|
104
|
+
content: "";
|
|
105
|
+
top: calc(var(--message-padding-top) * -1);
|
|
106
|
+
left: calc(var(--message-padding-left) * -1);
|
|
107
|
+
bottom: calc(var(--message-padding-bottom) * -1);
|
|
108
|
+
width: calc(var(--message-gap) / 2);
|
|
109
|
+
background-color: var(--message-border-color);
|
|
110
|
+
border-radius: var(--message-border-radius);
|
|
111
|
+
position: absolute;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:host [part="root"] [part="icon"] {
|
|
115
|
+
color: inherit;
|
|
116
|
+
flex-shrink: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
:host [part="root"] [part="text"] {
|
|
120
|
+
gap: calc(var(--message-gap) / 2);
|
|
121
|
+
flex-direction: column;
|
|
122
|
+
flex: 1;
|
|
123
|
+
justify-content: center;
|
|
124
|
+
align-items: flex-start;
|
|
125
|
+
display: flex;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
:host [part="root"] [part="text"] [part="header"], :host [part="root"] [part="text"] [part="content"] {
|
|
129
|
+
color: inherit;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
:host [part="root"] [part="close"] {
|
|
133
|
+
flex-shrink: 0;
|
|
134
|
+
align-self: flex-start;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
:host([fit="width"]) {
|
|
138
|
+
width: 100%;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:host([fit="height"]) {
|
|
142
|
+
height: 100%;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:host([fit="both"]) {
|
|
146
|
+
width: 100%;
|
|
147
|
+
height: 100%;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
:host([appearance="outline"]) {
|
|
151
|
+
--message-background-color: var(--memphis-scheme-background);
|
|
152
|
+
--message-foreground-color: var(--memphis-scheme-foreground);
|
|
153
|
+
--message-border-color: var(--memphis-scheme-highlight);
|
|
154
|
+
--message-border-width: var(--memphis-layout-thickness);
|
|
155
|
+
--message-border-style: solid;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:host([appearance="outline"][variant="primary"]:not([disabled]:not([disabled="false"]))) {
|
|
159
|
+
--message-foreground-color: var(--memphis-color-primary-500);
|
|
160
|
+
--message-border-color: var(--memphis-color-primary-500);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:host([appearance="outline"][variant="secondary"]:not([disabled]:not([disabled="false"]))) {
|
|
164
|
+
--message-foreground-color: var(--memphis-color-secondary-500);
|
|
165
|
+
--message-border-color: var(--memphis-color-secondary-500);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
:host([appearance="outline"][variant="info"]:not([disabled]:not([disabled="false"]))) {
|
|
169
|
+
--message-foreground-color: var(--memphis-color-info-500);
|
|
170
|
+
--message-border-color: var(--memphis-color-info-500);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
:host([appearance="outline"][variant="warning"]:not([disabled]:not([disabled="false"]))) {
|
|
174
|
+
--message-foreground-color: var(--memphis-color-warning-500);
|
|
175
|
+
--message-border-color: var(--memphis-color-warning-500);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
:host([appearance="outline"][variant="danger"]:not([disabled]:not([disabled="false"]))) {
|
|
179
|
+
--message-foreground-color: var(--memphis-color-danger-500);
|
|
180
|
+
--message-border-color: var(--memphis-color-danger-500);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
:host([appearance="outline"][variant="success"]:not([disabled]:not([disabled="false"]))) {
|
|
184
|
+
--message-foreground-color: var(--memphis-color-success-500);
|
|
185
|
+
--message-border-color: var(--memphis-color-success-500);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
:host([appearance="outline"][variant="neutral"]:not([disabled]:not([disabled="false"]))) {
|
|
189
|
+
--message-foreground-color: var(--memphis-color-neutral-500);
|
|
190
|
+
--message-border-color: var(--memphis-color-neutral-500);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:host([appearance="soft"]) {
|
|
194
|
+
--message-background-color: var(--memphis-scheme-highlight);
|
|
195
|
+
--message-foreground-color: var(--memphis-scheme-foreground);
|
|
196
|
+
--message-border-width: 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
:host([appearance="soft"][variant="primary"]:not([disabled]:not([disabled="false"]))) {
|
|
200
|
+
--message-background-color: var(--memphis-color-primary-100);
|
|
201
|
+
--message-foreground-color: var(--memphis-color-primary-500);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
:host([appearance="soft"][variant="secondary"]:not([disabled]:not([disabled="false"]))) {
|
|
205
|
+
--message-background-color: var(--memphis-color-secondary-100);
|
|
206
|
+
--message-foreground-color: var(--memphis-color-secondary-500);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:host([appearance="soft"][variant="info"]:not([disabled]:not([disabled="false"]))) {
|
|
210
|
+
--message-background-color: var(--memphis-color-info-100);
|
|
211
|
+
--message-foreground-color: var(--memphis-color-info-500);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
:host([appearance="soft"][variant="warning"]:not([disabled]:not([disabled="false"]))) {
|
|
215
|
+
--message-background-color: var(--memphis-color-warning-100);
|
|
216
|
+
--message-foreground-color: var(--memphis-color-warning-500);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
:host([appearance="soft"][variant="danger"]:not([disabled]:not([disabled="false"]))) {
|
|
220
|
+
--message-background-color: var(--memphis-color-danger-100);
|
|
221
|
+
--message-foreground-color: var(--memphis-color-danger-500);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
:host([appearance="soft"][variant="success"]:not([disabled]:not([disabled="false"]))) {
|
|
225
|
+
--message-background-color: var(--memphis-color-success-100);
|
|
226
|
+
--message-foreground-color: var(--memphis-color-success-500);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
:host([appearance="soft"][variant="neutral"]:not([disabled]:not([disabled="false"]))) {
|
|
230
|
+
--message-background-color: var(--memphis-color-neutral-100);
|
|
231
|
+
--message-foreground-color: var(--memphis-color-neutral-500);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
:host([appearance="plain"]) {
|
|
235
|
+
--message-background-color: var(--memphis-scheme-background);
|
|
236
|
+
--message-foreground-color: var(--memphis-scheme-foreground);
|
|
237
|
+
--message-border-width: 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:host([appearance="plain"][variant="primary"]:not([disabled]:not([disabled="false"]))) {
|
|
241
|
+
--message-foreground-color: var(--memphis-color-primary-500);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
:host([appearance="plain"][variant="secondary"]:not([disabled]:not([disabled="false"]))) {
|
|
245
|
+
--message-foreground-color: var(--memphis-color-secondary-500);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
:host([appearance="plain"][variant="info"]:not([disabled]:not([disabled="false"]))) {
|
|
249
|
+
--message-foreground-color: var(--memphis-color-info-500);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
:host([appearance="plain"][variant="warning"]:not([disabled]:not([disabled="false"]))) {
|
|
253
|
+
--message-foreground-color: var(--memphis-color-warning-500);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
:host([appearance="plain"][variant="danger"]:not([disabled]:not([disabled="false"]))) {
|
|
257
|
+
--message-foreground-color: var(--memphis-color-danger-500);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
:host([appearance="plain"][variant="success"]:not([disabled]:not([disabled="false"]))) {
|
|
261
|
+
--message-foreground-color: var(--memphis-color-success-500);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
:host([appearance="plain"][variant="neutral"]:not([disabled]:not([disabled="false"]))) {
|
|
265
|
+
--message-foreground-color: var(--memphis-color-neutral-500);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
:host([appearance="solid"]) {
|
|
269
|
+
--message-background-color: var(--memphis-scheme-highlight);
|
|
270
|
+
--message-foreground-color: var(--memphis-scheme-foreground);
|
|
271
|
+
--message-border-width: 0;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
:host([appearance="solid"][variant="primary"]:not([disabled]:not([disabled="false"]))) {
|
|
275
|
+
--message-background-color: var(--memphis-color-primary-500);
|
|
276
|
+
--message-foreground-color: var(--memphis-color-primary-0);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
:host([appearance="solid"][variant="secondary"]:not([disabled]:not([disabled="false"]))) {
|
|
280
|
+
--message-background-color: var(--memphis-color-secondary-500);
|
|
281
|
+
--message-foreground-color: var(--memphis-color-secondary-0);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
:host([appearance="solid"][variant="info"]:not([disabled]:not([disabled="false"]))) {
|
|
285
|
+
--message-background-color: var(--memphis-color-info-500);
|
|
286
|
+
--message-foreground-color: var(--memphis-color-info-0);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
:host([appearance="solid"][variant="warning"]:not([disabled]:not([disabled="false"]))) {
|
|
290
|
+
--message-background-color: var(--memphis-color-warning-500);
|
|
291
|
+
--message-foreground-color: var(--memphis-color-warning-0);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
:host([appearance="solid"][variant="danger"]:not([disabled]:not([disabled="false"]))) {
|
|
295
|
+
--message-background-color: var(--memphis-color-danger-500);
|
|
296
|
+
--message-foreground-color: var(--memphis-color-danger-0);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
:host([appearance="solid"][variant="success"]:not([disabled]:not([disabled="false"]))) {
|
|
300
|
+
--message-background-color: var(--memphis-color-success-500);
|
|
301
|
+
--message-foreground-color: var(--memphis-color-success-0);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
:host([appearance="solid"][variant="neutral"]:not([disabled]:not([disabled="false"]))) {
|
|
305
|
+
--message-background-color: var(--memphis-color-neutral-500);
|
|
306
|
+
--message-foreground-color: var(--memphis-color-neutral-0);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
`;
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=MessageElement.Memphis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageElement.Memphis.js","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Grouping/Message/Themes/MessageElement.Memphis.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,mBAAmB;AACnB,yCAAyC;AACzC,qGAAqG;AACrG,oBAAoB;AACpB,iFAAiF;AAEjF,kBAAkB;AAElB,OAAO,EAAE,GAAG,EAAkB,MAAM,wBAAwB,CAAC;AAE7D,aAAa;AAEb;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACtC,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuST,CAAC;AACN,CAAC"}
|
|
@@ -42,9 +42,6 @@ declare const TextElement_base: (abstract new (...args: Array<any>) => import(".
|
|
|
42
42
|
* @cssprop --text-border-style - Border style for text container
|
|
43
43
|
* @cssprop --text-shadow - Text shadow effect for enhanced visibility
|
|
44
44
|
*
|
|
45
|
-
* @dependency TextFormatter - For advanced text formatting and processing
|
|
46
|
-
* @dependency TextAlignment - For text alignment and layout control
|
|
47
|
-
*
|
|
48
45
|
* @example
|
|
49
46
|
* ```html
|
|
50
47
|
* <!-- Basic text content -->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/Text/TextElement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/Text/TextElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
import { Disableable } from '../../../Behaviors/Disableable';
|
|
12
12
|
import { TextFormattable } from '../../../Behaviors/TextFormattable';
|
|
13
|
+
import { Themeable } from '../../../Behaviors/Themeable';
|
|
13
14
|
import { Variantable } from '../../../Behaviors/Variantable';
|
|
14
15
|
import { Attribute } from '../../../Decorators/AttributeDecorator';
|
|
15
16
|
import { Component } from '../../../Decorators/ComponentDecorator';
|
|
@@ -18,10 +19,9 @@ import { Watch } from '../../../Decorators/WatchDecorator';
|
|
|
18
19
|
import { TextAlignment } from '../../../Types/TextAlignment';
|
|
19
20
|
import { CustomElement } from '../../Abstracts/CustomElement';
|
|
20
21
|
import { textElementTemplate } from './TextElementTemplate';
|
|
22
|
+
import { textElementCosmopolitanStyle } from './Themes/TextElement.Cosmopolitan';
|
|
21
23
|
import { textElementJoyStyle } from './Themes/TextElement.Joy';
|
|
22
24
|
import { textElementMemphisStyle } from './Themes/TextElement.Memphis';
|
|
23
|
-
import { textElementCosmopolitanStyle } from './Themes/TextElement.Cosmopolitan';
|
|
24
|
-
import { Themeable } from '../../../Behaviors/Themeable';
|
|
25
25
|
// #endregion
|
|
26
26
|
/**
|
|
27
27
|
* Text - A fundamental typography component for displaying formatted text content with comprehensive styling options.
|
|
@@ -62,9 +62,6 @@ import { Themeable } from '../../../Behaviors/Themeable';
|
|
|
62
62
|
* @cssprop --text-border-style - Border style for text container
|
|
63
63
|
* @cssprop --text-shadow - Text shadow effect for enhanced visibility
|
|
64
64
|
*
|
|
65
|
-
* @dependency TextFormatter - For advanced text formatting and processing
|
|
66
|
-
* @dependency TextAlignment - For text alignment and layout control
|
|
67
|
-
*
|
|
68
65
|
* @example
|
|
69
66
|
* ```html
|
|
70
67
|
* <!-- Basic text content -->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/Text/TextElement.ts"],"names":[],"mappings":"AAAA,kBAAkB;;;;;;;;;;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TextElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/Text/TextElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,44 +17,186 @@ export declare namespace TextFormatters {
|
|
|
17
17
|
*/
|
|
18
18
|
const DEFAULT: (value: string) => string;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* -
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* -
|
|
29
|
-
*
|
|
20
|
+
* Formats a WhatsApp-style rich text into HTML.
|
|
21
|
+
*
|
|
22
|
+
* This formatter intentionally targets the **practical WhatsApp message syntax** (as commonly typed),
|
|
23
|
+
* not full Markdown. It focuses on predictable rendering for chat-/note-like UIs.
|
|
24
|
+
*
|
|
25
|
+
* ## Supported syntax
|
|
26
|
+
*
|
|
27
|
+
* ### Inline formatting
|
|
28
|
+
* - Bold:
|
|
29
|
+
* - `*text*` → `<strong>text</strong>`
|
|
30
|
+
* - Italic:
|
|
31
|
+
* - `_text_` → `<em>text</em>`
|
|
32
|
+
* - Underline:
|
|
33
|
+
* - `++text++` → `<u>text</u>`
|
|
34
|
+
* - Double-underline:
|
|
35
|
+
* - `+++text+++` → `<u style="text-decoration-style: double;">text</u>`
|
|
36
|
+
* - Strikethrough:
|
|
37
|
+
* - `~text~` → `<del>text</del>`
|
|
38
|
+
*
|
|
39
|
+
* ### Code
|
|
40
|
+
* - Inline code:
|
|
41
|
+
* - `` `code` `` → `<code>code</code>`
|
|
42
|
+
* - Code block (fenced):
|
|
43
|
+
* - <code>```multi line```</code> → `<pre><code>...</code></pre>`
|
|
44
|
+
* - Code content is HTML-escaped and protected first, so formatting markers inside code are not interpreted.
|
|
45
|
+
*
|
|
46
|
+
* ### Block-level syntax (line-based)
|
|
47
|
+
* - Bulleted list items:
|
|
48
|
+
* - `- item` or `* item` at line start
|
|
49
|
+
* - Consecutive bullet lines are grouped into a single `<ul>`.
|
|
50
|
+
* - Numbered list items:
|
|
51
|
+
* - `1. item`, `2. item`, ... at line start
|
|
52
|
+
* - Consecutive numbered lines are grouped into a single `<ol>`.
|
|
53
|
+
* - Block quotes:
|
|
54
|
+
* - `> quoted text` at line start
|
|
55
|
+
* - Consecutive quote lines are grouped into a single `<blockquote>`.
|
|
56
|
+
*
|
|
57
|
+
* ### Autolinks
|
|
58
|
+
* - URLs:
|
|
59
|
+
* - `http(s)://...` or `ftp://...` → `<a href="...">...</a>`
|
|
60
|
+
* - Email addresses:
|
|
61
|
+
* - `name@example.com` → `<a href="mailto:name@example.com">...</a>`
|
|
62
|
+
* - Phone numbers (heuristic):
|
|
63
|
+
* - `+49 ...` / `0123 ...` (digits with spaces/hyphens/parentheses) → `<a href="tel:...">...</a>`
|
|
64
|
+
*
|
|
65
|
+
* ### New lines
|
|
66
|
+
* - Normal lines are separated with `<br>`.
|
|
67
|
+
* - Lists and blockquotes are rendered structurally (no stray `<br>` between `<li>` items).
|
|
68
|
+
*
|
|
69
|
+
* ## Parsing rules and limitations
|
|
70
|
+
* - Code spans/blocks are tokenized **before** any other parsing to prevent accidental formatting inside code.
|
|
71
|
+
* - URLs/emails/phones are tokenized before emphasis so markers can’t break generated `<a href="...">`.
|
|
72
|
+
* - This is not a full WhatsApp renderer (edge cases and platform-specific quirks are intentionally out of scope).
|
|
73
|
+
*
|
|
74
|
+
* ## Security note
|
|
75
|
+
* This formatter outputs HTML. If `input` is user-generated and the result is rendered via `innerHTML`,
|
|
76
|
+
* ensure the output is sanitized/validated according to your app’s security requirements.
|
|
30
77
|
*
|
|
31
78
|
* @public
|
|
32
79
|
*/
|
|
33
80
|
const RICHTEXT: TextFormatterFn;
|
|
34
81
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* -
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* -
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* -
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* -
|
|
50
|
-
*
|
|
82
|
+
* Formats a text into HTML using a **simplified Markdown** syntax.
|
|
83
|
+
*
|
|
84
|
+
* This formatter intentionally implements a pragmatic subset of Markdown that is easy to type,
|
|
85
|
+
* works well in chat-/note-like UIs, and stays predictable. It is **not** a full CommonMark parser.
|
|
86
|
+
*
|
|
87
|
+
* ## Supported syntax
|
|
88
|
+
*
|
|
89
|
+
* ### Inline formatting
|
|
90
|
+
* - **Bold**:
|
|
91
|
+
* - `**value**` → `<strong>value</strong>`
|
|
92
|
+
* - `__value__` → `<strong>value</strong>`
|
|
93
|
+
* - *Italic*:
|
|
94
|
+
* - `*value*` → `<em>value</em>`
|
|
95
|
+
* - `_value_` → `<em>value</em>`
|
|
96
|
+
* - ~~Strikethrough~~:
|
|
97
|
+
* - `~~value~~` → `<del>value</del>`
|
|
98
|
+
* - `Inline code`:
|
|
99
|
+
* - `` `value` `` → `<code>value</code>`
|
|
100
|
+
*
|
|
101
|
+
* ### Code blocks
|
|
102
|
+
* - Fenced code blocks:
|
|
103
|
+
* - <code>```multi line```</code> → `<pre><code>...</code></pre>`
|
|
104
|
+
* - The code content is HTML-escaped (e.g. `<` becomes `<`) so it renders as text.
|
|
105
|
+
*
|
|
106
|
+
* ### Links and media
|
|
107
|
+
* - Links:
|
|
108
|
+
* - `[label](https://example.com)` → `<a href="https://example.com">label</a>`
|
|
109
|
+
* - Email autolinks:
|
|
110
|
+
* - `<example@example.com>` → `<a href="mailto:example@example.com">example@example.com</a>`
|
|
111
|
+
* - Images:
|
|
112
|
+
* - `` → `<img src="..." alt="..."/>`
|
|
113
|
+
* - `` → `<img ... width="100" height="20"/>`
|
|
114
|
+
* - `` → `<img ... width="250"/>`
|
|
115
|
+
* - `` → `<img ... height="250"/>`
|
|
116
|
+
*
|
|
117
|
+
* ### Block-level syntax (line-based)
|
|
118
|
+
* - Headers:
|
|
119
|
+
* - `# H1` through `###### H6` → `<h1>..</h1>` … `<h6>..</h6>`
|
|
120
|
+
* - Blockquotes:
|
|
121
|
+
* - `> value` (multiple consecutive quote lines are grouped into a single `<blockquote>`)
|
|
122
|
+
* - Lists:
|
|
123
|
+
* - Unordered list items:
|
|
124
|
+
* - `* item` or `- item` (consecutive items are grouped into one `<ul>`)
|
|
125
|
+
* - Ordered list items:
|
|
126
|
+
* - `1. item`, `2. item`, ... (consecutive items are grouped into one `<ol>`)
|
|
127
|
+
*
|
|
128
|
+
* ### New lines
|
|
129
|
+
* - Normal text lines are separated by `<br>`.
|
|
130
|
+
* - New lines inside lists and blockquotes are handled structurally (no stray `<br>` between `<li>` items).
|
|
131
|
+
*
|
|
132
|
+
* ## Parsing rules and limitations
|
|
133
|
+
* - Parsing is intentionally **not** fully CommonMark compliant (delimiter edge-cases, nested emphasis rules, etc.).
|
|
134
|
+
* - Inline formatting is applied **after** block-level parsing.
|
|
135
|
+
* - Code spans / code blocks are **protected first**, so Markdown markers inside code are not interpreted.
|
|
136
|
+
* - URLs inside link/image syntax are restricted to `http(s)://` for simplicity.
|
|
137
|
+
*
|
|
138
|
+
* ## Security note
|
|
139
|
+
* This formatter produces HTML. If `value` is user-generated and you render the result via `innerHTML`,
|
|
140
|
+
* you **must** ensure the output is safe (e.g. sanitize/encode appropriately) to prevent XSS.
|
|
141
|
+
*
|
|
51
142
|
* @public
|
|
52
143
|
*/
|
|
53
144
|
const MARKDOWN: TextFormatterFn;
|
|
54
145
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
146
|
+
* Formats a text into HTML using a **BBCode-like** syntax.
|
|
147
|
+
*
|
|
148
|
+
* This formatter replaces common BBCode tags with their HTML equivalents.
|
|
149
|
+
* It aims to be practical and predictable for UI rendering (forums/chat-like content),
|
|
150
|
+
* not to implement every edge-case of every BBCode dialect.
|
|
151
|
+
*
|
|
152
|
+
* ## Supported tags
|
|
153
|
+
*
|
|
154
|
+
* ### Text formatting
|
|
155
|
+
* - Bold: `[b]value[/b]` → `<strong>value</strong>`
|
|
156
|
+
* - Italic: `[i]value[/i]` → `<em>value</em>`
|
|
157
|
+
* - Underline: `[u]value[/u]` → `<u>value</u>`
|
|
158
|
+
* - Strikethrough: `[s]value[/s]` → `<del>value</del>`
|
|
159
|
+
*
|
|
160
|
+
* ### Code
|
|
161
|
+
* - Code block: `[code]value[/code]` → `<pre><code>value</code></pre>`
|
|
162
|
+
* - The code content is HTML-escaped, so `<` etc. render as text.
|
|
163
|
+
* - Code blocks are protected first, so other BBCode tags inside are not interpreted.
|
|
164
|
+
*
|
|
165
|
+
* ### Links & media
|
|
166
|
+
* - URL:
|
|
167
|
+
* - `[url=http://example.com]label[/url]` → `<a href="http://example.com">label</a>`
|
|
168
|
+
* - `[url]http://example.com[/url]` → `<a href="http://example.com">http://example.com</a>`
|
|
169
|
+
* - Image:
|
|
170
|
+
* - `[img]http://example.com/a.jpg[/img]` → `<img src="..." alt=""/>`
|
|
171
|
+
* - `[img width=100 height=20]http://...[/img]` → `<img src="..." width="100" height="20" />`
|
|
172
|
+
* - `[img width=250]http://...[/img]` → `<img src="..." width="250" />`
|
|
173
|
+
* - `[img height=250]http://...[/img]` → `<img src="..." height="250" />`
|
|
174
|
+
* - Email:
|
|
175
|
+
* - `[email]a@b.com[/email]` → `<a href="mailto:a@b.com">a@b.com</a>`
|
|
176
|
+
*
|
|
177
|
+
* ### Styling
|
|
178
|
+
* - Color:
|
|
179
|
+
* - `[color=red]value[/color]` → `<span style="color:red;">value</span>`
|
|
180
|
+
* - Size:
|
|
181
|
+
* - `[size=1]value[/size]` → `<span style="font-size:1em;">value</span>`
|
|
182
|
+
* (Value is treated as `em` for simplicity.)
|
|
183
|
+
*
|
|
184
|
+
* ### Blocks
|
|
185
|
+
* - Quote:
|
|
186
|
+
* - `[quote]value[/quote]` → `<blockquote>value</blockquote>`
|
|
187
|
+
* - Lists:
|
|
188
|
+
* - `[list][*]a[*]b[/list]` → `<ul><li>a</li><li>b</li></ul>`
|
|
189
|
+
* - `[list=1][*]a[*]b[/list]` → `<ol><li>a</li><li>b</li></ol>`
|
|
190
|
+
* - Items are recognized via `[*]` (no closing tag required).
|
|
191
|
+
*
|
|
192
|
+
* ### New lines
|
|
193
|
+
* - Remaining new lines are converted to `<br>`.
|
|
194
|
+
* - New lines inside generated `<ul>/<ol>/<blockquote>/<pre>` are handled structurally
|
|
195
|
+
* to avoid invalid markup like `<ul>...<br><li>...</li>...</ul>`.
|
|
196
|
+
*
|
|
197
|
+
* ## Security note
|
|
198
|
+
* This formatter outputs HTML. If the input is user-generated and the output is rendered
|
|
199
|
+
* via `innerHTML`, sanitize the output HTML to prevent XSS.
|
|
58
200
|
*
|
|
59
201
|
* @public
|
|
60
202
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFormatter.d.ts","sourceRoot":"","sources":["../../../src/Controls/Types/TextFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAErF;;GAEG;AACH,yBAAiB,cAAc,CAAC;IAE5B;;;;OAIG;IACI,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAe,CAAC;IAExD
|
|
1
|
+
{"version":3,"file":"TextFormatter.d.ts","sourceRoot":"","sources":["../../../src/Controls/Types/TextFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAErF;;GAEG;AACH,yBAAiB,cAAc,CAAC;IAE5B;;;;OAIG;IACI,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAe,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4DG;IACI,MAAM,QAAQ,EAAE,eAwKtB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8DG;IACI,MAAM,QAAQ,EAAE,eAmLtB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACI,MAAM,MAAM,EAAE,eA4HpB,CAAC;CAEL;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB"}
|