@k37z3r/jbase 2.0.1 → 2.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 (167) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +59 -43
  3. package/dist/browser.d.ts +5 -6
  4. package/dist/browser.d.ts.map +1 -1
  5. package/dist/core.d.ts +9 -14
  6. package/dist/core.d.ts.map +1 -1
  7. package/dist/index.cjs +577 -452
  8. package/dist/index.cjs.map +7 -0
  9. package/dist/index.d.ts +304 -603
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.mjs +575 -452
  12. package/dist/index.mjs.map +7 -0
  13. package/dist/jbase.browser.js +338 -281
  14. package/dist/jbase.browser.js.map +7 -0
  15. package/dist/jbase.min.js +3 -2
  16. package/dist/jbase.min.js.map +7 -0
  17. package/dist/modules/css/classes.d.ts +15 -29
  18. package/dist/modules/css/classes.d.ts.map +1 -1
  19. package/dist/modules/css/index.d.ts +5 -9
  20. package/dist/modules/css/index.d.ts.map +1 -1
  21. package/dist/modules/css/styles.d.ts +7 -13
  22. package/dist/modules/css/styles.d.ts.map +1 -1
  23. package/dist/modules/data/arrays.d.ts +96 -64
  24. package/dist/modules/data/arrays.d.ts.map +1 -1
  25. package/dist/modules/data/index.d.ts +5 -9
  26. package/dist/modules/data/index.d.ts.map +1 -1
  27. package/dist/modules/data/objects.d.ts +86 -54
  28. package/dist/modules/data/objects.d.ts.map +1 -1
  29. package/dist/modules/data/types.d.ts +3 -22
  30. package/dist/modules/data/types.d.ts.map +1 -1
  31. package/dist/modules/dom/attributes.d.ts +10 -19
  32. package/dist/modules/dom/attributes.d.ts.map +1 -1
  33. package/dist/modules/dom/content.d.ts +9 -17
  34. package/dist/modules/dom/content.d.ts.map +1 -1
  35. package/dist/modules/dom/index.d.ts +8 -15
  36. package/dist/modules/dom/index.d.ts.map +1 -1
  37. package/dist/modules/dom/manipulation.d.ts +41 -81
  38. package/dist/modules/dom/manipulation.d.ts.map +1 -1
  39. package/dist/modules/dom/states.d.ts +12 -23
  40. package/dist/modules/dom/states.d.ts.map +1 -1
  41. package/dist/modules/dom/traversal.d.ts +64 -127
  42. package/dist/modules/dom/traversal.d.ts.map +1 -1
  43. package/dist/modules/effects/fade.d.ts +13 -31
  44. package/dist/modules/effects/fade.d.ts.map +1 -1
  45. package/dist/modules/effects/index.d.ts +15 -23
  46. package/dist/modules/effects/index.d.ts.map +1 -1
  47. package/dist/modules/effects/slide.d.ts +13 -31
  48. package/dist/modules/effects/slide.d.ts.map +1 -1
  49. package/dist/modules/effects/types.d.ts +33 -0
  50. package/dist/modules/effects/types.d.ts.map +1 -0
  51. package/dist/modules/effects/vertical.d.ts +13 -31
  52. package/dist/modules/effects/vertical.d.ts.map +1 -1
  53. package/dist/modules/events/binding.d.ts +11 -21
  54. package/dist/modules/events/binding.d.ts.map +1 -1
  55. package/dist/modules/events/form.d.ts +18 -35
  56. package/dist/modules/events/form.d.ts.map +1 -1
  57. package/dist/modules/events/index.d.ts +9 -17
  58. package/dist/modules/events/index.d.ts.map +1 -1
  59. package/dist/modules/events/keyboard.d.ts +16 -31
  60. package/dist/modules/events/keyboard.d.ts.map +1 -1
  61. package/dist/modules/events/lifecycle.d.ts +6 -11
  62. package/dist/modules/events/lifecycle.d.ts.map +1 -1
  63. package/dist/modules/events/mouse.d.ts +30 -59
  64. package/dist/modules/events/mouse.d.ts.map +1 -1
  65. package/dist/modules/events/touch.d.ts +15 -29
  66. package/dist/modules/events/touch.d.ts.map +1 -1
  67. package/dist/modules/http/get.d.ts +18 -25
  68. package/dist/modules/http/get.d.ts.map +1 -1
  69. package/dist/modules/http/index.d.ts +11 -15
  70. package/dist/modules/http/index.d.ts.map +1 -1
  71. package/dist/modules/http/post.d.ts +13 -19
  72. package/dist/modules/http/post.d.ts.map +1 -1
  73. package/dist/server.d.ts +15 -0
  74. package/dist/server.d.ts.map +1 -0
  75. package/dist/server.js +2246 -0
  76. package/dist/server.js.map +7 -0
  77. package/dist/types.d.ts +11 -21
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/utils.d.ts +20 -23
  80. package/dist/utils.d.ts.map +1 -1
  81. package/package.json +14 -4
  82. package/wiki/CSS-Classes-&-Styles.md +128 -0
  83. package/wiki/DATA-Utilities-(Arrays).md +332 -0
  84. package/wiki/DATA-Utilities-(Objects).md +263 -0
  85. package/wiki/DOM-Attributes.md +56 -0
  86. package/wiki/DOM-Content.md +48 -0
  87. package/wiki/DOM-Manipulation.md +272 -0
  88. package/wiki/DOM-States.md +73 -0
  89. package/wiki/DOM-Traversal.md +529 -0
  90. package/wiki/EFFECTS-Fade.md +76 -0
  91. package/wiki/EFFECTS-Slide-(horizontal).md +70 -0
  92. package/wiki/EFFECTS-Slide-(vertical).md +75 -0
  93. package/wiki/EVENTS-Bindings.md +55 -0
  94. package/wiki/EVENTS-Form.md +122 -0
  95. package/wiki/EVENTS-Keyboard.md +98 -0
  96. package/wiki/EVENTS-Lifecycle.md +25 -0
  97. package/wiki/EVENTS-Mouse.md +218 -0
  98. package/wiki/EVENTS-Touch.md +98 -0
  99. package/wiki/HTTP-Requests.md +93 -0
  100. package/wiki/Home.md +118 -0
  101. package/wiki/Installation.md +44 -0
  102. package/wiki/Quick-Start.md +139 -0
  103. package/dist/browser.js +0 -29
  104. package/dist/browser.js.map +0 -1
  105. package/dist/core.js +0 -78
  106. package/dist/core.js.map +0 -1
  107. package/dist/index.js +0 -100
  108. package/dist/index.js.map +0 -1
  109. package/dist/jbase.js +0 -1898
  110. package/dist/modules/css/classes.js +0 -88
  111. package/dist/modules/css/classes.js.map +0 -1
  112. package/dist/modules/css/index.js +0 -33
  113. package/dist/modules/css/index.js.map +0 -1
  114. package/dist/modules/css/styles.js +0 -49
  115. package/dist/modules/css/styles.js.map +0 -1
  116. package/dist/modules/data/arrays.js +0 -177
  117. package/dist/modules/data/arrays.js.map +0 -1
  118. package/dist/modules/data/index.js +0 -33
  119. package/dist/modules/data/index.js.map +0 -1
  120. package/dist/modules/data/objects.js +0 -168
  121. package/dist/modules/data/objects.js.map +0 -1
  122. package/dist/modules/data/types.js +0 -43
  123. package/dist/modules/data/types.js.map +0 -1
  124. package/dist/modules/dom/attributes.js +0 -69
  125. package/dist/modules/dom/attributes.js.map +0 -1
  126. package/dist/modules/dom/content.js +0 -63
  127. package/dist/modules/dom/content.js.map +0 -1
  128. package/dist/modules/dom/index.js +0 -48
  129. package/dist/modules/dom/index.js.map +0 -1
  130. package/dist/modules/dom/manipulation.js +0 -343
  131. package/dist/modules/dom/manipulation.js.map +0 -1
  132. package/dist/modules/dom/states.js +0 -89
  133. package/dist/modules/dom/states.js.map +0 -1
  134. package/dist/modules/dom/traversal.js +0 -527
  135. package/dist/modules/dom/traversal.js.map +0 -1
  136. package/dist/modules/effects/fade.js +0 -104
  137. package/dist/modules/effects/fade.js.map +0 -1
  138. package/dist/modules/effects/index.js +0 -38
  139. package/dist/modules/effects/index.js.map +0 -1
  140. package/dist/modules/effects/slide.js +0 -103
  141. package/dist/modules/effects/slide.js.map +0 -1
  142. package/dist/modules/effects/vertical.js +0 -118
  143. package/dist/modules/effects/vertical.js.map +0 -1
  144. package/dist/modules/events/binding.js +0 -60
  145. package/dist/modules/events/binding.js.map +0 -1
  146. package/dist/modules/events/form.js +0 -106
  147. package/dist/modules/events/form.js.map +0 -1
  148. package/dist/modules/events/index.js +0 -53
  149. package/dist/modules/events/index.js.map +0 -1
  150. package/dist/modules/events/keyboard.js +0 -83
  151. package/dist/modules/events/keyboard.js.map +0 -1
  152. package/dist/modules/events/lifecycle.js +0 -40
  153. package/dist/modules/events/lifecycle.js.map +0 -1
  154. package/dist/modules/events/mouse.js +0 -172
  155. package/dist/modules/events/mouse.js.map +0 -1
  156. package/dist/modules/events/touch.js +0 -74
  157. package/dist/modules/events/touch.js.map +0 -1
  158. package/dist/modules/http/get.js +0 -65
  159. package/dist/modules/http/get.js.map +0 -1
  160. package/dist/modules/http/index.js +0 -42
  161. package/dist/modules/http/index.js.map +0 -1
  162. package/dist/modules/http/post.js +0 -54
  163. package/dist/modules/http/post.js.map +0 -1
  164. package/dist/types.js +0 -15
  165. package/dist/types.js.map +0 -1
  166. package/dist/utils.js +0 -71
  167. package/dist/utils.js.map +0 -1
@@ -0,0 +1,93 @@
1
+ * [`get`](#usage-http-get) | [`getText`](#usage-http-getText) | [`post`](#usage-http-post)
2
+
3
+ ---
4
+
5
+ ## <a id="usage-get"></a>.get
6
+
7
+ **Description**
8
+ Performs an asynchronous HTTP GET request. This method assumes the response is JSON and will automatically parse it.
9
+
10
+ **Parameters**
11
+
12
+ * `url` (String): A string containing the URL to which the request is sent.
13
+ * `headers` (Object, optional): An object of additional header key/value pairs to send along with the request.
14
+
15
+ **Returns**
16
+
17
+ * (Promise): A Promise that resolves with the parsed JSON data or rejects with an error.
18
+
19
+ **Example**
20
+
21
+ ```javascript
22
+ $.http.get('https://api.example.com/users')
23
+ .then(data => {
24
+ console.log('Users loaded:', data);
25
+ })
26
+ .catch(err => {
27
+ console.error('Error loading users:', err);
28
+ });
29
+
30
+ ```
31
+
32
+ ---
33
+
34
+ ## <a id="usage-getText"></a>getText
35
+
36
+ **Description**
37
+ Performs an asynchronous HTTP GET request. This method expects a raw text or HTML response and does not attempt to parse it as JSON. Ideal for loading HTML templates or config files.
38
+
39
+ **Parameters**
40
+
41
+ * `url` (String): A string containing the URL to which the request is sent.
42
+ * `headers` (Object, optional): An object of additional header key/value pairs.
43
+
44
+ **Returns**
45
+
46
+ * (Promise): A Promise that resolves with the raw string data.
47
+
48
+ **Example**
49
+
50
+ ```javascript
51
+ $.http.getText('/partials/footer.html')
52
+ .then(html => {
53
+ $('#footer-container').html(html);
54
+ });
55
+
56
+ ```
57
+
58
+ ---
59
+
60
+ ## <a id="usage-post"></a>post
61
+
62
+ **Description**
63
+ Performs an asynchronous HTTP POST request to submit data to a server. The data is automatically stringified to JSON, and the `Content-Type` is set to `application/json` by default (unless overridden).
64
+
65
+ **Parameters**
66
+
67
+ * `url` (String): A string containing the URL to which the request is sent.
68
+ * `data` (Object): A plain object or array that is sent to the server.
69
+ * `headers` (Object, optional): An object of additional header key/value pairs.
70
+
71
+ **Returns**
72
+
73
+ * (Promise): A Promise that resolves with the server's response (parsed as JSON).
74
+
75
+ **Example**
76
+
77
+ ```javascript
78
+ const payload = {
79
+ username: 'jdoe',
80
+ email: 'john@example.com'
81
+ };
82
+
83
+ $.http.post('/api/register', payload)
84
+ .then(response => {
85
+ if (response.success) {
86
+ console.log('User registered!');
87
+ }
88
+ })
89
+ .catch(err => {
90
+ console.error('Registration failed:', err);
91
+ });
92
+
93
+ ```
package/wiki/Home.md ADDED
@@ -0,0 +1,118 @@
1
+ # Welcome to the jBase Documentation
2
+
3
+ ![Version](https://img.shields.io/badge/version-2.0.0-blue.svg?style=flat-square)
4
+ ![License](https://img.shields.io/badge/license-GPL--3.0-green.svg?style=flat-square)
5
+ ![Lightweight](https://img.shields.io/badge/size-lightweight-orange.svg?style=flat-square)
6
+
7
+ **jBase** is a modern, modular, and lightweight JavaScript framework designed for high-performance DOM manipulation, event handling, and data management. It serves as a robust alternative to legacy libraries, built with modern ES6+ standards.
8
+
9
+ ---
10
+
11
+ ## 🚀 Getting Started
12
+
13
+ New to jBase? Start here to get up and running quickly.
14
+
15
+ * **[Installation & Setup](Installation)**
16
+ * Learn how to include jBase via Script Tag or NPM/Bundlers.
17
+ * **[Quick Start Guide](Quick-Start)**
18
+ * Basic usage examples to get you started in minutes.
19
+
20
+ ---
21
+
22
+ ## 📚 API Reference
23
+
24
+ Explore the comprehensive documentation for all jBase modules.
25
+
26
+ ### 🌲 DOM & UI
27
+ Manage your interface with powerful traversal and manipulation tools.
28
+
29
+ * **DOM Traversal**
30
+ * `find`, `closest`, `parent`, `children`, `siblings`, `next`, `prev`...
31
+ * **DOM Manipulation**
32
+ * `append`, `prepend`, `remove`, `html`, `text`, `wrap`, `replaceWith`...
33
+ * **Attributes & States**
34
+ * `attr`, `val`, `data`, `checked`, `disabled`, `selected`...
35
+ * **CSS & Styling**
36
+ * `css`, `addClass`, `removeClass`, `toggleClass`, `hasClass`...
37
+ * and many more...
38
+
39
+ ### ⚡ Interaction & Effects
40
+ Bring your application to life with events and animations.
41
+
42
+ * **Event Handling**
43
+ * **Bindings:** `on`, `off`, `trigger`
44
+ * **Mouse/Touch:** `click`, `swipe`, `hover`...
45
+ * **Keyboard:** `keydown`, `pressedkey`...
46
+ * **Forms:** `submit`, `change`, `input`...
47
+ * **Effects & Animations**
48
+ * `fadeIn`, `fadeOut`, `slideDown`, `slideUp`, `slideToggle`...
49
+ * and many more...
50
+
51
+ ### 🌐 Network
52
+ Communicate with servers easily.
53
+
54
+ * **HTTP Client**
55
+ * `get`, `post`, `getText` (Promise-based AJAX wrappers).
56
+
57
+ ### 🛠 Data Utilities
58
+ Advanced helpers for complex data structures (Immutable & Type-Safe).
59
+
60
+ * **Array Utilities**
61
+ * **Manage:** `chunk`, `mergeArray`, `add`
62
+ * **Immutable Remove:** `remove.at`, `remove.byMatch`...
63
+ * **Search:** `find.at`, `find.all`, `find.first`...
64
+ * **Object Utilities**
65
+ * **Manage:** `mergeObjects`, `pick`, `omit`
66
+ * **Deep Access:** `get` (dot-notation), `set`
67
+ * **Search:** `find.key`, `find.value`, `find.first`...
68
+
69
+ ---
70
+
71
+ ## 🖥️ Server-Side Rendering (SSR) & Node.js
72
+
73
+ jBase is **isomorphic**. You can use the exact same code on the client and the server.
74
+ To use DOM manipulation in Node.js, simply bind jBase to a `jsdom` window instance.
75
+
76
+ ### 1. Install JSDOM (Optional Peer Dependency)
77
+
78
+ ```bash
79
+ npm install jsdom
80
+ ```
81
+
82
+ ### 2. Bind to a Virtual Window
83
+
84
+ Use the `bind` factory to create a jBase instance scoped to a specific request or document.
85
+
86
+ ```javascript
87
+ import { JSDOM } from 'jsdom';
88
+ import { bind } from '@k37z3r/jbase'; // Adjust to your package name
89
+
90
+ // 1. Create a virtual DOM environment
91
+ const dom = new JSDOM('<!DOCTYPE html><div id="app"></div>');
92
+ const window = dom.window;
93
+
94
+ // 2. Create a scoped instance of jBase
95
+ const $ = bind(window);
96
+
97
+ // 3. Manipulate the DOM exactly like in the browser
98
+ $('#app')
99
+ .addClass('ssr-rendered')
100
+ .html('<h1>Hello from Node.js!</h1>')
101
+ .append('<p>This HTML was generated on the server.</p>');
102
+
103
+ // 4. Output the final HTML string
104
+ console.log(dom.serialize());
105
+ ```
106
+
107
+ > [!NOTE]
108
+ > Browser-only features like animations (`fadeIn`, `slideUp`) or Event Bindings (`click`) are **safely ignored** in Node.js environments to prevent crashes and save resources.
109
+
110
+ ---
111
+
112
+ ## 🤝 Contributing & Support
113
+
114
+ * Found a bug? [Open an Issue](../../issues)
115
+ * Back to Repository: [jBase Repo](../../)
116
+
117
+ ---
118
+ *© 2026 Sven Minio. Licensed under GPL-3.0.*
@@ -0,0 +1,44 @@
1
+ ## 1. Browser (Legacy / Static)
2
+ Download the `jbase.min.js` file (link above), upload it to your server, and include it in your HTML.
3
+
4
+ ```html
5
+ <script src="/path/to/js/jbase.min.js"></script>
6
+
7
+ <script>
8
+ // jBase is now available via '$' or 'jBase'
9
+ $(document).ready(() => {
10
+ console.log("jBase is ready!");
11
+ });
12
+ </script>
13
+ ```
14
+
15
+ ---
16
+
17
+ ## 2. Node.js / Bundlers (Webpack, Vite, Rollup) **coming soon**
18
+
19
+ If you are using a modern stack or server-side rendering (SSR), you can import jBase as a module.
20
+
21
+ ```bash
22
+ npm install @k37z3r/jbase
23
+ # or
24
+ yarn add @k37z3r/jbase
25
+
26
+ ```
27
+
28
+ **Usage in TypeScript/ESM:**
29
+
30
+ ```typescript
31
+ import { $ } from 'jbase';
32
+
33
+ // Use as usual
34
+ $('.element').addClass('active');
35
+
36
+ ```
37
+
38
+ **Usage in CommonJS (Node.js require):**
39
+
40
+ ```javascript
41
+ const { $ } = require('jbase');
42
+ $('.element').addClass('active');
43
+
44
+ ```
@@ -0,0 +1,139 @@
1
+ # 🚀 Quick Start Guide
2
+
3
+ Welcome to jBase! This guide will help you get up and running in minutes. We will cover the basics of selecting elements, handling events, and fetching data.
4
+
5
+ ---
6
+
7
+ ## 1. Setup
8
+
9
+ Ensure you have included jBase in your project.
10
+
11
+ ### Option A: CDN / Static
12
+ ```html
13
+ <!DOCTYPE html>
14
+ <html lang="en">
15
+ <head>
16
+ <meta charset="UTF-8">
17
+ <title>jBase App</title>
18
+ </head>
19
+ <body>
20
+ <div id="app"></div>
21
+
22
+ <script src="path/to/jbase.min.js"></script>
23
+ <script>
24
+ // Your code goes here
25
+ </script>
26
+ </body>
27
+ </html>
28
+
29
+ ```
30
+
31
+ ### Option B: Node.js / Bundler
32
+
33
+ ```javascript
34
+ import { $ } from 'jbase';
35
+ // or
36
+ const { $ } = require('jbase');
37
+
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 2. Basic DOM Manipulation
43
+
44
+ Selecting elements and changing their content is the most common task. jBase uses the familiar `$(selector)` syntax.
45
+
46
+ ```javascript
47
+ // Wait for DOM ready
48
+ $(document).ready(() => {
49
+
50
+ // 1. Select by ID and change text
51
+ $('#title').text('Hello jBase!');
52
+
53
+ // 2. Select by Class and change CSS
54
+ $('.box').css({
55
+ 'background-color': '#3498db',
56
+ 'color': 'white',
57
+ 'padding': '20px'
58
+ });
59
+
60
+ // 3. Append HTML content
61
+ $('#app').append('<button id="click-me">Click Me!</button>');
62
+
63
+ });
64
+
65
+ ```
66
+
67
+ ---
68
+
69
+ ## 3. Handling Events
70
+
71
+ Interactivity is key. Let's make that button work.
72
+
73
+ ```javascript
74
+ // Bind a click event
75
+ $('#click-me').on('click', function(e) {
76
+ e.preventDefault();
77
+ alert('You clicked the button!');
78
+ });
79
+
80
+ // Shorthand method
81
+ $('#click-me').click(() => {
82
+ console.log('Clicked via shorthand!');
83
+ });
84
+
85
+ // Hover effect
86
+ $('.box').hover(
87
+ () => console.log('Mouse In'), // Enter
88
+ () => console.log('Mouse Out') // Leave
89
+ );
90
+
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 4. Working with Arrays & Data
96
+
97
+ jBase isn't just for the DOM. It includes powerful data utilities.
98
+
99
+ ```javascript
100
+ const users = [
101
+ { id: 1, name: 'Alice', role: 'admin' },
102
+ { id: 2, name: 'Bob', role: 'user' },
103
+ { id: 3, name: 'Charlie', role: 'user' }
104
+ ];
105
+
106
+ // 1. Find the first admin
107
+ const admin = $.data.find.first(users, 'admin', 'exact', 'role');
108
+ console.log(admin); // { id: 1, name: 'Alice', ... }
109
+
110
+ // 2. Remove user with ID 2 (Immutable!)
111
+ const newUsers = $.data.remove.byMatch(users, 2, 'exact', 'id');
112
+ console.log(newUsers.length); // 2
113
+
114
+ ```
115
+
116
+ ---
117
+
118
+ ## 5. Fetching Data (AJAX)
119
+
120
+ Loading data from an API is built-in and Promise-based.
121
+
122
+ ```javascript
123
+ $.http.get('https://jsonplaceholder.typicode.com/todos/1')
124
+ .then(data => {
125
+ // Success
126
+ $('#app').append(`<p>Loaded: ${data.title}</p>`);
127
+ })
128
+ .catch(err => {
129
+ // Error
130
+ console.error('Failed to load data', err);
131
+ });
132
+
133
+ ```
134
+
135
+ ---
136
+
137
+ ## What's Next?
138
+
139
+ Now that you know the basics, explore the detailed modules, look at sidebar!
package/dist/browser.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/browser.ts
4
- * @version 2.0.0
5
- * @since 2.0.0
6
- * @license GPL-3.0-or-later
7
- * @copyright Sven Minio 2026
8
- * @author Sven Minio <https://sven-minio.de>
9
- * @category Browser
10
- * @description
11
- * * 🇬🇧: Browser Entry Point. Attaches the jBase library and utilities to the global window object so they can be accessed via `$` or `jBase` in inline scripts.
12
- * * 🇩🇪: Browser-Einstiegspunkt. Hängt die jBase-Bibliothek und Utilities an das globale Window-Objekt an, damit sie über `$` oder `jBase` in Inline-Skripten verfügbar sind.
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const index_1 = require("./index");
16
- /**
17
- * * 🇬🇧: Expose globals to the window object.
18
- * * 🇩🇪: Globale Variablen auf dem Window-Objekt setzen.
19
- */
20
- window.$ = index_1.$;
21
- window.jBase = index_1.jBase;
22
- window.jB = index_1.jB;
23
- window._jB = index_1._jB;
24
- window.__jB = index_1.__jB;
25
- window._jBase = index_1._jBase;
26
- window.__jBase = index_1.__jBase;
27
- window.http = index_1.http;
28
- console.log("jBase initialized and ready!");
29
- //# sourceMappingURL=browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,mCAAyE;AAmBzE;;;GAGG;AACF,MAAc,CAAC,CAAC,GAAG,SAAC,CAAC;AACrB,MAAc,CAAC,KAAK,GAAG,aAAK,CAAC;AAC7B,MAAc,CAAC,EAAE,GAAG,UAAE,CAAC;AACvB,MAAc,CAAC,GAAG,GAAG,WAAG,CAAC;AACzB,MAAc,CAAC,IAAI,GAAG,YAAI,CAAC;AAC3B,MAAc,CAAC,MAAM,GAAG,cAAM,CAAC;AAC/B,MAAc,CAAC,OAAO,GAAG,eAAO,CAAC;AACjC,MAAc,CAAC,IAAI,GAAG,YAAI,CAAC;AAE5B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC"}
package/dist/core.js DELETED
@@ -1,78 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/core.ts
4
- * @version 2.0.0
5
- * @since 2.0.0
6
- * @license GPL-3.0-or-later
7
- * @copyright Sven Minio 2026
8
- * @author Sven Minio <https://sven-minio.de>
9
- * @category Core
10
- * @description
11
- * * 🇬🇧: The main jBase class. Handles the selection engine, initialization, and plugin architecture.
12
- * * 🇩🇪: Die Haupt-jBase-Klasse. Behandelt die Selektions-Engine, Initialisierung und Plugin-Architektur.
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.jBase = void 0;
16
- /**
17
- * * 🇬🇧: The core class of the framework, inheriting from the native Array class. Acts as a wrapper around DOM elements and enables chainable methods (Fluent Interface).
18
- * * 🇩🇪: Die Kern-Klasse des Frameworks, die von der nativen Array-Klasse erbt. Dient als Wrapper um DOM-Elemente und ermöglicht verkettbare Methoden (Fluent Interface).
19
- */
20
- class jBase extends Array {
21
- /**
22
- * * 🇬🇧: Initializes a new jBase instance. Analyzes the provided selector and populates the internal array with found or created DOM elements.
23
- * * 🇩🇪: Initialisiert eine neue jBase-Instanz. Analysiert den übergebenen Selektor und füllt das interne Array mit den gefundenen oder erstellten DOM-Elementen.
24
- * @param selector
25
- * * 🇬🇧: The input selector (CSS selector, HTML string, DOM element, or collection).
26
- * * 🇩🇪: Der Eingabe-Selektor (CSS-Selektor, HTML-String, DOM-Element oder Sammlung).
27
- */
28
- constructor(selector) {
29
- super();
30
- this.selectorSource = '';
31
- this.selectorSource = typeof selector === 'string' ? selector : '<DOM Object/Array>';
32
- if (!selector)
33
- return;
34
- // 1. Single DOM Element / Window / Document
35
- if (selector instanceof HTMLElement || selector === document || selector === window || selector instanceof Element) {
36
- this.push(selector);
37
- }
38
- // 2. String (HTML Creation or CSS Selector)
39
- else if (typeof selector === 'string') {
40
- const trimmed = selector.trim();
41
- if (trimmed.startsWith('<') && trimmed.endsWith('>')) {
42
- // HTML Creation
43
- const tempDiv = document.createElement('div');
44
- tempDiv.innerHTML = trimmed;
45
- this.push(...Array.from(tempDiv.children));
46
- }
47
- else {
48
- // CSS Selector
49
- this.push(...Array.from(document.querySelectorAll(selector)));
50
- }
51
- }
52
- // 3. Collections (NodeList, Array)
53
- else if (selector instanceof NodeList || Array.isArray(selector)) {
54
- this.push(...Array.from(selector));
55
- }
56
- }
57
- /**
58
- * * 🇬🇧: Custom serializer for JSON.stringify. Prevents circular references and huge outputs by returning a simplified preview.
59
- * * 🇩🇪: Benutzerdefinierte Serialisierung für JSON.stringify. Verhindert Zirkelbezüge und riesige Ausgaben durch Rückgabe einer vereinfachten Vorschau.
60
- * @returns
61
- * * 🇬🇧: A simplified object representation for debugging.
62
- * * 🇩🇪: Eine vereinfachte Objektrepräsentation für das Debugging.
63
- */
64
- toJSON() {
65
- return {
66
- meta: 'jBase Wrapper',
67
- query: this.selectorSource,
68
- count: this.length,
69
- preview: this.slice(0, 10).map(el => {
70
- if (el instanceof Element)
71
- return el.tagName.toLowerCase();
72
- return typeof el;
73
- })
74
- };
75
- }
76
- }
77
- exports.jBase = jBase;
78
- //# sourceMappingURL=core.js.map
package/dist/core.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAIH;;;GAGG;AACH,MAAa,KAAM,SAAQ,KAAmB;IAG1C;;;;;;OAMG;IACH,YAAY,QAAqB;QAC7B,KAAK,EAAE,CAAC;QAVL,mBAAc,GAAW,EAAE,CAAC;QAY/B,IAAI,CAAC,cAAc,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAErF,IAAI,CAAC,QAAQ;YACT,OAAO;QAEX,4CAA4C;QAC5C,IAAI,QAAQ,YAAY,WAAW,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;YACjH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,4CAA4C;aACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEhC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,gBAAgB;gBAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,eAAe;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QACD,mCAAmC;aAC9B,IAAI,QAAQ,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAmC,CAAC,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACF,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAChC,IAAI,EAAE,YAAY,OAAO;oBACrB,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACpC,OAAO,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC;SACL,CAAC;IACN,CAAC;CACJ;AA7DD,sBA6DC"}
package/dist/index.js DELETED
@@ -1,100 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/index.ts
4
- * @version 2.0.0
5
- * @since 2.0.0
6
- * @license GPL-3.0-or-later
7
- * @copyright Sven Minio 2026
8
- * @author Sven Minio <https://sven-minio.de>
9
- * @category Entry Point
10
- * @description
11
- * * 🇬🇧: Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
12
- * * 🇩🇪: Haupt-Einstiegspunkt der Bibliothek. Aggregiert Core, Types, Utils und alle funktionalen Module in einen einzigen Export.
13
- * @requires ./core
14
- * * 🇬🇧: Core class logic and inheritance.
15
- * * 🇩🇪: Kern-Klassenlogik und Vererbung.
16
- * @requires ./types
17
- * * 🇬🇧: TypeScript type definitions and interfaces.
18
- * * 🇩🇪: TypeScript Typ-Definitionen und Interfaces.
19
- * @requires ./utils
20
- * * 🇬🇧: Helper functions (throttle, debounce).
21
- * * 🇩🇪: Hilfsfunktionen (throttle, debounce).
22
- * @requires ./modules/css
23
- * * 🇬🇧: Style manipulation methods.
24
- * * 🇩🇪: Style-Manipulations-Methoden.
25
- * @requires ./modules/events
26
- * * 🇬🇧: Event handling logic.
27
- * * 🇩🇪: Event-Handling-Logik.
28
- * @requires ./modules/dom
29
- * * 🇬🇧: DOM traversal and manipulation.
30
- * * 🇩🇪: DOM-Traversierung und -Manipulation.
31
- * @requires ./modules/effects
32
- * * 🇬🇧: Visual effects and animations.
33
- * * 🇩🇪: Visuelle Effekte und Animationen.
34
- * @requires ./modules/http
35
- * * 🇬🇧: HTTP client for AJAX requests.
36
- * * 🇩🇪: HTTP-Client für AJAX-Anfragen.
37
- * @requires ./modules/data
38
- * * 🇬🇧: Data structure utilities.
39
- * * 🇩🇪: Datenstruktur-Utilities.
40
- */
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.JBaseClass = exports.data = exports.http = exports.debounce = exports.throttle = exports.jBase = exports.__jBase = exports._jBase = exports.__jB = exports._jB = exports.jB = exports.$ = void 0;
43
- const core_1 = require("./core");
44
- Object.defineProperty(exports, "JBaseClass", { enumerable: true, get: function () { return core_1.jBase; } });
45
- const css_1 = require("./modules/css");
46
- const events_1 = require("./modules/events");
47
- const dom_1 = require("./modules/dom");
48
- const effects_1 = require("./modules/effects");
49
- // Runtime Extension
50
- Object.assign(core_1.jBase.prototype, css_1.cssMethods);
51
- Object.assign(core_1.jBase.prototype, events_1.eventMethods);
52
- Object.assign(core_1.jBase.prototype, dom_1.domMethods);
53
- Object.assign(core_1.jBase.prototype, effects_1.effectMethods);
54
- /**
55
- * * 🇬🇧: Factory function to initialize a new jBase instance.
56
- * * 🇩🇪: Factory-Funktion zur Initialisierung einer neuen jBase-Instanz.
57
- * @param selector
58
- * * 🇬🇧: CSS selector, HTML string, DOM element, or collection.
59
- * * 🇩🇪: CSS-Selektor, HTML-String, DOM-Element oder Sammlung.
60
- * @returns
61
- * * 🇬🇧: A new jBase collection.
62
- * * 🇩🇪: Eine neue jBase-Collection.
63
- */
64
- const init = (selector) => new core_1.jBase(selector);
65
- /**
66
- * * 🇬🇧: Export the factory under different aliases for maximum compatibility and convenience.
67
- * * 🇩🇪: Export der Factory unter verschiedenen Aliasen für maximale Kompatibilität und Komfort.
68
- */
69
- exports.$ = init;
70
- exports.jB = init;
71
- exports._jB = init;
72
- exports.__jB = init;
73
- exports._jBase = init;
74
- exports.__jBase = init;
75
- exports.jBase = init;
76
- /**
77
- * * 🇬🇧: Utility for throttled function calls.
78
- * * 🇩🇪: Utility für gedrosselte Funktionsaufrufe.
79
- */
80
- var utils_1 = require("./utils");
81
- Object.defineProperty(exports, "throttle", { enumerable: true, get: function () { return utils_1.throttle; } });
82
- /**
83
- * * 🇬🇧: Utility for debounced function calls.
84
- * * 🇩🇪: Utility für verzögerte Funktionsaufrufe.
85
- */
86
- var utils_2 = require("./utils");
87
- Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return utils_2.debounce; } });
88
- /**
89
- * * 🇬🇧: HTTP Client for AJAX requests.
90
- * * 🇩🇪: HTTP-Client für AJAX-Anfragen.
91
- */
92
- var http_1 = require("./modules/http");
93
- Object.defineProperty(exports, "http", { enumerable: true, get: function () { return http_1.http; } });
94
- /**
95
- * * 🇬🇧: Data utilities for Arrays and Objects.
96
- * * 🇩🇪: Daten-Utilities für Arrays und Objekte.
97
- */
98
- var data_1 = require("./modules/data");
99
- Object.defineProperty(exports, "data", { enumerable: true, get: function () { return data_1.data; } });
100
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AAEH,iCAA6C;AA+tCpC,2FA/tCS,YAAU,OA+tCT;AA5tCnB,uCAA2C;AAC3C,6CAAgD;AAChD,uCAA2C;AAC3C,+CAAkD;AAElD,oBAAoB;AACpB,MAAM,CAAC,MAAM,CAAC,YAAU,CAAC,SAAS,EAAE,gBAAU,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,CAAC,YAAU,CAAC,SAAS,EAAE,qBAAY,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,CAAC,YAAU,CAAC,SAAS,EAAE,gBAAU,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,CAAC,YAAU,CAAC,SAAS,EAAE,uBAAa,CAAC,CAAC;AA+pCnD;;;;;;;;;GASG;AACH,MAAM,IAAI,GAAG,CAAC,QAAoB,EAAc,EAAE,CAAC,IAAI,YAAU,CAAC,QAAQ,CAAC,CAAC;AAE5E;;;GAGG;AACU,QAAA,CAAC,GAAG,IAAI,CAAC;AACT,QAAA,EAAE,GAAG,IAAI,CAAC;AACV,QAAA,GAAG,GAAG,IAAI,CAAC;AACX,QAAA,IAAI,GAAG,IAAI,CAAC;AACZ,QAAA,MAAM,GAAG,IAAI,CAAC;AACd,QAAA,OAAO,GAAG,IAAI,CAAC;AACf,QAAA,KAAK,GAAG,IAAI,CAAC;AAE1B;;;GAGG;AACH,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB;;;GAGG;AACH,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB;;;GAGG;AACH,uCAAsC;AAA7B,4FAAA,IAAI,OAAA;AAEb;;;GAGG;AACH,uCAAsC;AAA7B,4FAAA,IAAI,OAAA"}