jj 2.4.0 → 2.6.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 +37 -48
- package/SKILL.md +671 -0
- package/lib/bundle.cjs +2031 -0
- package/lib/bundle.cjs.map +1 -0
- package/lib/bundle.d.cts +1782 -0
- package/lib/bundle.d.ts +1782 -1
- package/lib/bundle.global.js +1953 -0
- package/lib/bundle.global.js.map +1 -0
- package/lib/bundle.js +864 -848
- package/lib/bundle.js.map +1 -7
- package/lib/bundle.min.cjs +2 -0
- package/lib/bundle.min.cjs.map +1 -0
- package/lib/bundle.min.d.cts +1782 -0
- package/lib/bundle.min.d.ts +1782 -1
- package/lib/bundle.min.global.js +2 -0
- package/lib/bundle.min.global.js.map +1 -0
- package/lib/bundle.min.js +2 -2
- package/lib/bundle.min.js.map +1 -0
- package/package.json +14 -6
- package/lib/JJD.d.ts +0 -76
- package/lib/JJD.js +0 -91
- package/lib/JJD.js.map +0 -1
- package/lib/JJDF.d.ts +0 -60
- package/lib/JJDF.js +0 -68
- package/lib/JJDF.js.map +0 -1
- package/lib/JJE.d.ts +0 -313
- package/lib/JJE.js +0 -412
- package/lib/JJE.js.map +0 -1
- package/lib/JJHE.d.ts +0 -120
- package/lib/JJHE.js +0 -164
- package/lib/JJHE.js.map +0 -1
- package/lib/JJN.d.ts +0 -234
- package/lib/JJN.js +0 -323
- package/lib/JJN.js.map +0 -1
- package/lib/JJSE.d.ts +0 -148
- package/lib/JJSE.js +0 -190
- package/lib/JJSE.js.map +0 -1
- package/lib/JJSR.d.ts +0 -67
- package/lib/JJSR.js +0 -85
- package/lib/JJSR.js.map +0 -1
- package/lib/JJT.d.ts +0 -79
- package/lib/JJT.js +0 -108
- package/lib/JJT.js.map +0 -1
- package/lib/case.d.ts +0 -60
- package/lib/case.js +0 -92
- package/lib/case.js.map +0 -1
- package/lib/case.test.d.ts +0 -1
- package/lib/case.test.js +0 -79
- package/lib/case.test.js.map +0 -1
- package/lib/components.d.ts +0 -147
- package/lib/components.js +0 -286
- package/lib/components.js.map +0 -1
- package/lib/helpers.d.ts +0 -158
- package/lib/helpers.js +0 -231
- package/lib/helpers.js.map +0 -1
- package/lib/index.d.ts +0 -15
- package/lib/index.js +0 -16
- package/lib/index.js.map +0 -1
- package/lib/mixin-types.d.ts +0 -143
- package/lib/mixin-types.js +0 -2
- package/lib/mixin-types.js.map +0 -1
- package/lib/mixins.d.ts +0 -77
- package/lib/mixins.js +0 -336
- package/lib/mixins.js.map +0 -1
- package/lib/types.d.ts +0 -77
- package/lib/types.js +0 -2
- package/lib/types.js.map +0 -1
- package/lib/util.d.ts +0 -96
- package/lib/util.js +0 -122
- package/lib/util.js.map +0 -1
- package/lib/util.test.d.ts +0 -1
- package/lib/util.test.js +0 -46
- package/lib/util.test.js.map +0 -1
package/lib/JJN.js
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _JJN_ref;
|
|
13
|
-
import { isA, isObj, isStr } from 'jty';
|
|
14
|
-
import { off, on } from './util.js';
|
|
15
|
-
/**
|
|
16
|
-
* Wraps a DOM Node.
|
|
17
|
-
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* This is the base class for all JJ wrappers. It provides common functionality for DOM manipulation,
|
|
20
|
-
* traversal, and event handling.
|
|
21
|
-
*
|
|
22
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node | Node}
|
|
23
|
-
*/
|
|
24
|
-
export class JJN {
|
|
25
|
-
/**
|
|
26
|
-
* Creates a JJN instance from a Node reference.
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```ts
|
|
30
|
-
* const node = JJN.from(document.createTextNode('hello'))
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* @param node - The Node instance.
|
|
34
|
-
* @returns A new JJN instance.
|
|
35
|
-
*/
|
|
36
|
-
static from(node) {
|
|
37
|
-
return new JJN(node);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Checks if a value can be passed to the `wrap()` or `unwrap()` function.
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
* This is useful for filtering the array that is passed to `append()`, `prepend()` or `setChildren()`
|
|
44
|
-
*
|
|
45
|
-
* @param x an unknown value
|
|
46
|
-
* @returns true if `x` is a string, Node (or its descendents), JJN (or its descendents)
|
|
47
|
-
*/
|
|
48
|
-
static isWrapable(x) {
|
|
49
|
-
return isStr(x) || isA(x, Node) || isA(x, JJN);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Wraps a native DOM node or string into the most specific JJ wrapper available.
|
|
53
|
-
*
|
|
54
|
-
* @remarks
|
|
55
|
-
* This function acts as a factory, inspecting the input type and returning the appropriate
|
|
56
|
-
* subclass of `JJN` (e.g., `JJHE` for `HTMLElement`, `JJT` for `Text`).
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```ts
|
|
60
|
-
* const bodyWrapper = JJN.wrap(document.body) // Returns JJHE
|
|
61
|
-
* const textWrapper = JJN.wrap('Hello') // Returns JJT wrapping a new Text node
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* @param raw - The object to wrap. If it's already Wrapped, it'll be returned without any change. We don't double-wrap or clone it.
|
|
65
|
-
* @returns The most granular Wrapped subclass instance. If the input is already wrapped, it'll be returned as is without cloning.
|
|
66
|
-
* @throws {TypeError} If the input is not a Node, string, or JJ wrapper.
|
|
67
|
-
*/
|
|
68
|
-
static wrap(raw) {
|
|
69
|
-
throw new ReferenceError(`The mixin is supposed to override this method.`);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Extracts the underlying native DOM node from a wrapper.
|
|
73
|
-
*
|
|
74
|
-
* @remarks
|
|
75
|
-
* If the input is already a native Node, it is returned as is.
|
|
76
|
-
* If the input is a string, a new Text node is created and returned.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```ts
|
|
80
|
-
* const rawElement = JJN.unwrap(myJJHE) // Returns HTMLElement
|
|
81
|
-
* ```
|
|
82
|
-
*
|
|
83
|
-
* @param obj - The object to unwrap.
|
|
84
|
-
* @returns The underlying DOM node.
|
|
85
|
-
* @throws {TypeError} If the input cannot be unwrapped.
|
|
86
|
-
*/
|
|
87
|
-
static unwrap(obj) {
|
|
88
|
-
if (isStr(obj)) {
|
|
89
|
-
return document.createTextNode(obj);
|
|
90
|
-
}
|
|
91
|
-
if (!isObj(obj)) {
|
|
92
|
-
throw new TypeError(`Expected an object. Got ${obj} (${typeof obj})`);
|
|
93
|
-
}
|
|
94
|
-
if (isA(obj, Node)) {
|
|
95
|
-
return obj;
|
|
96
|
-
}
|
|
97
|
-
if (isA(obj, JJN)) {
|
|
98
|
-
return obj.ref;
|
|
99
|
-
}
|
|
100
|
-
throw new TypeError(`Could not unwrap ${obj} (${typeof obj})`);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Wraps an iterable object (e.g. an array of wrapped or DOM elements).
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```ts
|
|
107
|
-
* const wrappedList = JJN.wrapAll(document.querySelectorAll('div'))
|
|
108
|
-
* ```
|
|
109
|
-
*
|
|
110
|
-
* @param iterable - The iterable to wrap.
|
|
111
|
-
* @returns An array of wrapped instances.
|
|
112
|
-
*/
|
|
113
|
-
static wrapAll(iterable) {
|
|
114
|
-
return Array.from(iterable, JJN.wrap);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Unwraps an iterable object (e.g. an array or HTMLCollection).
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* ```ts
|
|
121
|
-
* const nodes = JJN.unwrapAll(wrappedList)
|
|
122
|
-
* ```
|
|
123
|
-
*
|
|
124
|
-
* @param iterable - The iterable to unwrap.
|
|
125
|
-
* @returns An array of native DOM nodes.
|
|
126
|
-
*/
|
|
127
|
-
static unwrapAll(iterable) {
|
|
128
|
-
return Array.from(iterable, JJN.unwrap);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Creates an instance of JJN.
|
|
132
|
-
*
|
|
133
|
-
* @param ref - The Node to wrap.
|
|
134
|
-
* @throws {TypeError} If `ref` is not a Node.
|
|
135
|
-
*/
|
|
136
|
-
constructor(ref) {
|
|
137
|
-
_JJN_ref.set(this, void 0);
|
|
138
|
-
if (!isA(ref, Node)) {
|
|
139
|
-
throw new TypeError(`Expected a Node. Got ${ref} (${typeof ref})`);
|
|
140
|
-
}
|
|
141
|
-
__classPrivateFieldSet(this, _JJN_ref, ref, "f");
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Gets the underlying DOM Node.
|
|
145
|
-
*/
|
|
146
|
-
get ref() {
|
|
147
|
-
return __classPrivateFieldGet(this, _JJN_ref, "f");
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Clones the node.
|
|
151
|
-
*
|
|
152
|
-
* @param deep - If true, clones the subtree.
|
|
153
|
-
* @returns A new wrapped instance of the clone.
|
|
154
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode | Node.cloneNode}
|
|
155
|
-
*/
|
|
156
|
-
clone(deep) {
|
|
157
|
-
return JJN.wrap(this.ref.cloneNode(deep));
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Appends children to this node.
|
|
161
|
-
*
|
|
162
|
-
* @remarks
|
|
163
|
-
* To make template codes easier, this function ignores any child that is not possible to `wrap()` (e.g. undefined, null, false).
|
|
164
|
-
*
|
|
165
|
-
* @param children - The children to append (Nodes, strings, or Wrappers).
|
|
166
|
-
* @returns This instance for chaining.
|
|
167
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/append | Element.append}
|
|
168
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild | Node.appendChild}
|
|
169
|
-
*/
|
|
170
|
-
append(...children) {
|
|
171
|
-
const nodes = JJN.unwrapAll(children.filter(JJN.isWrapable));
|
|
172
|
-
const ref = this.ref;
|
|
173
|
-
for (const node of nodes) {
|
|
174
|
-
if (node) {
|
|
175
|
-
ref.appendChild(node);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return this;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Maps an array to children and appends them.
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* ```ts
|
|
185
|
-
* list.mapAppend(['a', 'b'], item => h('li', null, item))
|
|
186
|
-
* ```
|
|
187
|
-
*
|
|
188
|
-
* @remarks
|
|
189
|
-
* To make template codes easier, this function ignores any child that is not possible to `wrap()` (e.g. undefined, null, false).
|
|
190
|
-
*
|
|
191
|
-
* @param array - The source array.
|
|
192
|
-
* @param mapFn - The mapping function returning a Wrappable.
|
|
193
|
-
* @returns This instance for chaining.
|
|
194
|
-
*/
|
|
195
|
-
mapAppend(array, mapFn) {
|
|
196
|
-
return this.append(...array.map(mapFn));
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Prepends children to this node.
|
|
200
|
-
*
|
|
201
|
-
* @remarks
|
|
202
|
-
* To make template codes easier, this function ignores any child that is not possible to `wrap()` (e.g. undefined, null, false).
|
|
203
|
-
*
|
|
204
|
-
* @param children - The children to prepend.
|
|
205
|
-
* @returns This instance for chaining.
|
|
206
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/prepend | Element.prepend}
|
|
207
|
-
*/
|
|
208
|
-
prepend(...children) {
|
|
209
|
-
const nodes = JJN.unwrapAll(children.filter(JJN.isWrapable));
|
|
210
|
-
const ref = this.ref;
|
|
211
|
-
const first = ref.firstChild;
|
|
212
|
-
for (const node of nodes) {
|
|
213
|
-
if (node) {
|
|
214
|
-
ref.insertBefore(node, first);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return this;
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Maps an array to children and prepends them.
|
|
221
|
-
*
|
|
222
|
-
* @example
|
|
223
|
-
* ```ts
|
|
224
|
-
* list.mapPrepend(['a', 'b'], item => JJHE.fromTag('li').setText(item))
|
|
225
|
-
* ```
|
|
226
|
-
*
|
|
227
|
-
* @remarks
|
|
228
|
-
* To make template codes easier, this function ignores any child that is not possible to `wrap()` (e.g. undefined, null, false).
|
|
229
|
-
*
|
|
230
|
-
* @param array - The source array.
|
|
231
|
-
* @param mapFn - The mapping function.
|
|
232
|
-
* @returns This instance for chaining.
|
|
233
|
-
*/
|
|
234
|
-
mapPrepend(array, mapFn) {
|
|
235
|
-
return this.prepend(...array.map(mapFn));
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Replaces the existing children of this node with a specified new set of children.
|
|
239
|
-
*
|
|
240
|
-
* @remarks
|
|
241
|
-
* If no children are specified, it essentially empties the node
|
|
242
|
-
* To make template codes easier, this function ignores any child that is not possible to `wrap()` (e.g. undefined, null, false).
|
|
243
|
-
*
|
|
244
|
-
* @param children - The new children to set.
|
|
245
|
-
* @returns This instance for chaining.
|
|
246
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren | Element.replaceChildren}
|
|
247
|
-
*/
|
|
248
|
-
setChildren(...children) {
|
|
249
|
-
return this.empty().append(...children.filter(JJN.isWrapable));
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Adds an event listener.
|
|
253
|
-
*
|
|
254
|
-
* @param eventName - The event name.
|
|
255
|
-
* @param handler - The event handler.
|
|
256
|
-
* @returns This instance for chaining.
|
|
257
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener | EventTarget.addEventListener}
|
|
258
|
-
*/
|
|
259
|
-
on(eventName, handler) {
|
|
260
|
-
on(this.ref, eventName, handler);
|
|
261
|
-
return this;
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Removes an event listener.
|
|
265
|
-
*
|
|
266
|
-
* @param eventName - The event name.
|
|
267
|
-
* @param handler - The event handler.
|
|
268
|
-
* @returns This instance for chaining.
|
|
269
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener | EventTarget.removeEventListener}
|
|
270
|
-
*/
|
|
271
|
-
off(eventName, handler) {
|
|
272
|
-
off(this.ref, eventName, handler);
|
|
273
|
-
return this;
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Removes this node from the DOM.
|
|
277
|
-
*
|
|
278
|
-
* @returns This instance for chaining.
|
|
279
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild | Node.removeChild}
|
|
280
|
-
*/
|
|
281
|
-
rm() {
|
|
282
|
-
this.ref.parentNode?.removeChild(this.ref);
|
|
283
|
-
return this;
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Removes all children from this node.
|
|
287
|
-
*
|
|
288
|
-
* @returns This instance for chaining.
|
|
289
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren | Element.replaceChildren}
|
|
290
|
-
*/
|
|
291
|
-
empty() {
|
|
292
|
-
const element = this.ref;
|
|
293
|
-
while (element.firstChild) {
|
|
294
|
-
element.removeChild(element.firstChild);
|
|
295
|
-
}
|
|
296
|
-
return this;
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Runs a function in the context of this JJN instance.
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* ```ts
|
|
303
|
-
* div.run(function() {
|
|
304
|
-
* this.addClass('active')
|
|
305
|
-
* console.log(this.ref)
|
|
306
|
-
* })
|
|
307
|
-
* ```
|
|
308
|
-
* @remarks
|
|
309
|
-
* If you want to access the current JJ* instance using `this` keyword, you SHOULD use a `function` not an arrow function.
|
|
310
|
-
* If the function throws, `run()` doesn't swallow the exception.
|
|
311
|
-
* So if you're expecting an error, make sure to wrap it in a `try..catch` block and handle the exception.
|
|
312
|
-
* If the function returns a promise, you can `await` on the response.
|
|
313
|
-
*
|
|
314
|
-
* @param fn - The function to run. `this` inside the function will refer to this JJN instance.
|
|
315
|
-
* @param args - Arguments to pass to the function.
|
|
316
|
-
* @returns The return value of the function.
|
|
317
|
-
*/
|
|
318
|
-
run(fn, ...args) {
|
|
319
|
-
return fn.call(this, ...args);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
_JJN_ref = new WeakMap();
|
|
323
|
-
//# sourceMappingURL=JJN.js.map
|
package/lib/JJN.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JJN.js","sourceRoot":"","sources":["../src/JJN.ts"],"names":[],"mappings":"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"}
|
package/lib/JJSE.d.ts
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { JJE } from './JJE.js';
|
|
2
|
-
import { IElementData } from './mixin-types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Wraps a DOM SVGElement.
|
|
5
|
-
*
|
|
6
|
-
* @remarks
|
|
7
|
-
* This class extends `JJE` to provide specific functionality for SVG elements,
|
|
8
|
-
* including namespace-aware creation and helper methods for common SVG attributes.
|
|
9
|
-
*
|
|
10
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement | SVGElement}
|
|
11
|
-
*/
|
|
12
|
-
export declare class JJSE<T extends SVGElement = SVGElement> extends JJE<T> {
|
|
13
|
-
/**
|
|
14
|
-
* Creates a JJSE instance from an SVGElement reference.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* const svg = JJSE.from(myCircle)
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @param ref - The SVGElement.
|
|
22
|
-
* @returns A new JJSE instance.
|
|
23
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement | SVGElement}
|
|
24
|
-
*/
|
|
25
|
-
static from(ref: SVGElement): JJSE;
|
|
26
|
-
/**
|
|
27
|
-
* Creates a JJSE instance from a tag name (in the SVG namespace).
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* Automatically uses the correct SVG namespace URI: `http://www.w3.org/2000/svg`.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```ts
|
|
34
|
-
* const circle = JJSE.fromTag('circle')
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @param tagName - The tag name.
|
|
38
|
-
* @param options - Element creation options.
|
|
39
|
-
* @returns A new JJSE instance.
|
|
40
|
-
* @throws {TypeError} If `tagName` is not a string.
|
|
41
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS | document.createElementNS}
|
|
42
|
-
*/
|
|
43
|
-
static fromTag(tagName: string, options?: ElementCreationOptions): JJSE;
|
|
44
|
-
/**
|
|
45
|
-
* Creates an instance of JJSE.
|
|
46
|
-
*
|
|
47
|
-
* @param ref - The SVGElement to wrap.
|
|
48
|
-
* @throws {TypeError} If `ref` is not an SVGElement.
|
|
49
|
-
*/
|
|
50
|
-
constructor(ref: T);
|
|
51
|
-
/**
|
|
52
|
-
* Gets the text content of the element.
|
|
53
|
-
*
|
|
54
|
-
* @returns The text content.
|
|
55
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
56
|
-
*/
|
|
57
|
-
getText(): string;
|
|
58
|
-
/**
|
|
59
|
-
* Sets the text content of the element.
|
|
60
|
-
*
|
|
61
|
-
* @param text - The text to set.
|
|
62
|
-
* @returns This instance for chaining.
|
|
63
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
64
|
-
*/
|
|
65
|
-
setText(text: string): this;
|
|
66
|
-
/**
|
|
67
|
-
* Clears the text content of the element.
|
|
68
|
-
*
|
|
69
|
-
* @returns This instance for chaining.
|
|
70
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
71
|
-
*/
|
|
72
|
-
empty(): this;
|
|
73
|
-
/**
|
|
74
|
-
* Sets the fill attribute.
|
|
75
|
-
*
|
|
76
|
-
* @param value - The fill color/value.
|
|
77
|
-
* @returns This instance for chaining.
|
|
78
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill | fill}
|
|
79
|
-
*/
|
|
80
|
-
setFill(value: string): this;
|
|
81
|
-
/**
|
|
82
|
-
* Sets the stroke attribute.
|
|
83
|
-
*
|
|
84
|
-
* @param value - The stroke color/value.
|
|
85
|
-
* @returns This instance for chaining.
|
|
86
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke | stroke}
|
|
87
|
-
*/
|
|
88
|
-
setStroke(value: string): this;
|
|
89
|
-
/**
|
|
90
|
-
* Sets the stroke-width attribute.
|
|
91
|
-
*
|
|
92
|
-
* @param value - The width.
|
|
93
|
-
* @returns This instance for chaining.
|
|
94
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width | stroke-width}
|
|
95
|
-
*/
|
|
96
|
-
setStrokeWidth(value: string | number): this;
|
|
97
|
-
/**
|
|
98
|
-
* Sets the viewBox attribute.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```ts
|
|
102
|
-
* svg.setViewBox(0, 0, 100, 100)
|
|
103
|
-
* svg.setViewBox('0 0 100 100')
|
|
104
|
-
* ```
|
|
105
|
-
*
|
|
106
|
-
* @param p1 - Min-x or string/array value.
|
|
107
|
-
* @param p2 - Min-y.
|
|
108
|
-
* @param p3 - Width.
|
|
109
|
-
* @param p4 - Height.
|
|
110
|
-
* @returns This instance for chaining.
|
|
111
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox | viewBox}
|
|
112
|
-
*/
|
|
113
|
-
setViewBox(p1: string | (string | number)[] | number, p2?: number, p3?: number, p4?: number): this;
|
|
114
|
-
/**
|
|
115
|
-
* Sets the width attribute.
|
|
116
|
-
*
|
|
117
|
-
* @param value - The width.
|
|
118
|
-
* @returns This instance for chaining.
|
|
119
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width | width}
|
|
120
|
-
*/
|
|
121
|
-
setWidth(value: string | number): this;
|
|
122
|
-
/**
|
|
123
|
-
* Sets the height attribute.
|
|
124
|
-
*
|
|
125
|
-
* @param value - The height.
|
|
126
|
-
* @returns This instance for chaining.
|
|
127
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/height | height}
|
|
128
|
-
*/
|
|
129
|
-
setHeight(value: string | number): this;
|
|
130
|
-
/**
|
|
131
|
-
* Sets the d attribute (path data).
|
|
132
|
-
*
|
|
133
|
-
* @param value - The path data string or array of segments.
|
|
134
|
-
* @returns This instance for chaining.
|
|
135
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d | d}
|
|
136
|
-
*/
|
|
137
|
-
setD(value: string | (string | number)[]): this;
|
|
138
|
-
/**
|
|
139
|
-
* Sets the transform attribute.
|
|
140
|
-
*
|
|
141
|
-
* @param value - The transform string.
|
|
142
|
-
* @returns This instance for chaining.
|
|
143
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform | transform}
|
|
144
|
-
*/
|
|
145
|
-
setTransform(value: string): this;
|
|
146
|
-
}
|
|
147
|
-
export declare interface JJSE<T extends SVGElement> extends IElementData {
|
|
148
|
-
}
|
package/lib/JJSE.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { isA, isStr } from 'jty';
|
|
2
|
-
import { JJE } from './JJE.js';
|
|
3
|
-
const SVG_NAMESPACE_URI = 'http://www.w3.org/2000/svg';
|
|
4
|
-
/**
|
|
5
|
-
* Wraps a DOM SVGElement.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* This class extends `JJE` to provide specific functionality for SVG elements,
|
|
9
|
-
* including namespace-aware creation and helper methods for common SVG attributes.
|
|
10
|
-
*
|
|
11
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement | SVGElement}
|
|
12
|
-
*/
|
|
13
|
-
export class JJSE extends JJE {
|
|
14
|
-
/**
|
|
15
|
-
* Creates a JJSE instance from an SVGElement reference.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```ts
|
|
19
|
-
* const svg = JJSE.from(myCircle)
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @param ref - The SVGElement.
|
|
23
|
-
* @returns A new JJSE instance.
|
|
24
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement | SVGElement}
|
|
25
|
-
*/
|
|
26
|
-
static from(ref) {
|
|
27
|
-
return new JJSE(ref);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Creates a JJSE instance from a tag name (in the SVG namespace).
|
|
31
|
-
*
|
|
32
|
-
* @remarks
|
|
33
|
-
* Automatically uses the correct SVG namespace URI: `http://www.w3.org/2000/svg`.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```ts
|
|
37
|
-
* const circle = JJSE.fromTag('circle')
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @param tagName - The tag name.
|
|
41
|
-
* @param options - Element creation options.
|
|
42
|
-
* @returns A new JJSE instance.
|
|
43
|
-
* @throws {TypeError} If `tagName` is not a string.
|
|
44
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS | document.createElementNS}
|
|
45
|
-
*/
|
|
46
|
-
static fromTag(tagName, options) {
|
|
47
|
-
if (!isStr(tagName)) {
|
|
48
|
-
throw new TypeError(`Expected a string for tagName. Got: ${tagName} (${typeof tagName})`);
|
|
49
|
-
}
|
|
50
|
-
// SVG elements must be created with the SVG namespace
|
|
51
|
-
const element = document.createElementNS(SVG_NAMESPACE_URI, tagName, options);
|
|
52
|
-
return new JJSE(element);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Creates an instance of JJSE.
|
|
56
|
-
*
|
|
57
|
-
* @param ref - The SVGElement to wrap.
|
|
58
|
-
* @throws {TypeError} If `ref` is not an SVGElement.
|
|
59
|
-
*/
|
|
60
|
-
constructor(ref) {
|
|
61
|
-
if (!isA(ref, SVGElement)) {
|
|
62
|
-
throw new TypeError(`Expected an SVGElement. Got ${ref} (${typeof ref})`);
|
|
63
|
-
}
|
|
64
|
-
super(ref);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Gets the text content of the element.
|
|
68
|
-
*
|
|
69
|
-
* @returns The text content.
|
|
70
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
71
|
-
*/
|
|
72
|
-
getText() {
|
|
73
|
-
return this.ref.textContent ?? '';
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Sets the text content of the element.
|
|
77
|
-
*
|
|
78
|
-
* @param text - The text to set.
|
|
79
|
-
* @returns This instance for chaining.
|
|
80
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
81
|
-
*/
|
|
82
|
-
setText(text) {
|
|
83
|
-
this.ref.textContent = text;
|
|
84
|
-
return this;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Clears the text content of the element.
|
|
88
|
-
*
|
|
89
|
-
* @returns This instance for chaining.
|
|
90
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent | Node.textContent}
|
|
91
|
-
*/
|
|
92
|
-
empty() {
|
|
93
|
-
this.ref.textContent = '';
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Sets the fill attribute.
|
|
98
|
-
*
|
|
99
|
-
* @param value - The fill color/value.
|
|
100
|
-
* @returns This instance for chaining.
|
|
101
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill | fill}
|
|
102
|
-
*/
|
|
103
|
-
setFill(value) {
|
|
104
|
-
return this.setAttr('fill', value);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Sets the stroke attribute.
|
|
108
|
-
*
|
|
109
|
-
* @param value - The stroke color/value.
|
|
110
|
-
* @returns This instance for chaining.
|
|
111
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke | stroke}
|
|
112
|
-
*/
|
|
113
|
-
setStroke(value) {
|
|
114
|
-
return this.setAttr('stroke', value);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Sets the stroke-width attribute.
|
|
118
|
-
*
|
|
119
|
-
* @param value - The width.
|
|
120
|
-
* @returns This instance for chaining.
|
|
121
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width | stroke-width}
|
|
122
|
-
*/
|
|
123
|
-
setStrokeWidth(value) {
|
|
124
|
-
return this.setAttr('stroke-width', String(value));
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Sets the viewBox attribute.
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```ts
|
|
131
|
-
* svg.setViewBox(0, 0, 100, 100)
|
|
132
|
-
* svg.setViewBox('0 0 100 100')
|
|
133
|
-
* ```
|
|
134
|
-
*
|
|
135
|
-
* @param p1 - Min-x or string/array value.
|
|
136
|
-
* @param p2 - Min-y.
|
|
137
|
-
* @param p3 - Width.
|
|
138
|
-
* @param p4 - Height.
|
|
139
|
-
* @returns This instance for chaining.
|
|
140
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox | viewBox}
|
|
141
|
-
*/
|
|
142
|
-
setViewBox(p1, p2, p3, p4) {
|
|
143
|
-
if (typeof p1 === 'number' && p2 !== undefined && p3 !== undefined && p4 !== undefined) {
|
|
144
|
-
return this.setAttr('viewBox', `${p1} ${p2} ${p3} ${p4}`);
|
|
145
|
-
}
|
|
146
|
-
const value = p1;
|
|
147
|
-
return this.setAttr('viewBox', Array.isArray(value) ? value.join(' ') : value);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Sets the width attribute.
|
|
151
|
-
*
|
|
152
|
-
* @param value - The width.
|
|
153
|
-
* @returns This instance for chaining.
|
|
154
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width | width}
|
|
155
|
-
*/
|
|
156
|
-
setWidth(value) {
|
|
157
|
-
return this.setAttr('width', String(value));
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Sets the height attribute.
|
|
161
|
-
*
|
|
162
|
-
* @param value - The height.
|
|
163
|
-
* @returns This instance for chaining.
|
|
164
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/height | height}
|
|
165
|
-
*/
|
|
166
|
-
setHeight(value) {
|
|
167
|
-
return this.setAttr('height', String(value));
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Sets the d attribute (path data).
|
|
171
|
-
*
|
|
172
|
-
* @param value - The path data string or array of segments.
|
|
173
|
-
* @returns This instance for chaining.
|
|
174
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d | d}
|
|
175
|
-
*/
|
|
176
|
-
setD(value) {
|
|
177
|
-
return this.setAttr('d', Array.isArray(value) ? value.join(' ') : value);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Sets the transform attribute.
|
|
181
|
-
*
|
|
182
|
-
* @param value - The transform string.
|
|
183
|
-
* @returns This instance for chaining.
|
|
184
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform | transform}
|
|
185
|
-
*/
|
|
186
|
-
setTransform(value) {
|
|
187
|
-
return this.setAttr('transform', value);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=JJSE.js.map
|
package/lib/JJSE.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JJSE.js","sourceRoot":"","sources":["../src/JJSE.ts"],"names":[],"mappings":"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"}
|