domma-js 0.9.6-alpha → 0.9.8-alpha

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 (44) hide show
  1. package/bin/domma-cli.js +231 -22
  2. package/package.json +1 -1
  3. package/public/dist/domma-syntax.min.js +3 -3
  4. package/public/dist/domma.css +3 -3
  5. package/public/dist/domma.esm.js +4 -4
  6. package/public/dist/domma.min.js +4 -4
  7. package/public/dist/elements.css +3 -3
  8. package/public/dist/grid.css +3 -3
  9. package/public/dist/syntax.css +3 -3
  10. package/public/dist/themes/domma-themes.css +3 -3
  11. package/templates/kickstart/README.md +139 -0
  12. package/templates/kickstart/backend/.gitkeep +0 -0
  13. package/templates/kickstart/backend/README.md +160 -0
  14. package/templates/kickstart/domma.config.json +14 -10
  15. package/templates/kickstart/frontend/assets/logo/placeholder.svg +6 -0
  16. package/templates/kickstart/frontend/css/custom.css +121 -0
  17. package/templates/kickstart/frontend/js/app.js +167 -0
  18. package/templates/kickstart/frontend/pages/about/about.js +10 -0
  19. package/templates/kickstart/frontend/pages/about/index.html +232 -0
  20. package/templates/kickstart/frontend/pages/blog/blog.js +10 -0
  21. package/templates/kickstart/frontend/pages/blog/index.html +221 -0
  22. package/templates/kickstart/frontend/pages/contact/contact.js +33 -0
  23. package/templates/kickstart/frontend/pages/contact/index.html +199 -0
  24. package/templates/kickstart/frontend/pages/cookies/cookies.js +51 -0
  25. package/templates/kickstart/frontend/pages/cookies/index.html +384 -0
  26. package/templates/kickstart/frontend/pages/docs/docs.js +28 -0
  27. package/templates/kickstart/frontend/pages/docs/index.html +289 -0
  28. package/templates/kickstart/frontend/pages/index.html +164 -0
  29. package/templates/kickstart/frontend/pages/index.js +10 -0
  30. package/templates/kickstart/frontend/pages/privacy/index.html +280 -0
  31. package/templates/kickstart/frontend/pages/privacy/privacy.js +51 -0
  32. package/templates/kickstart/frontend/pages/terms/index.html +372 -0
  33. package/templates/kickstart/frontend/pages/terms/terms.js +51 -0
  34. package/templates/kickstart-old/domma.config.json +74 -0
  35. package/templates/page-template/page.html +54 -0
  36. package/templates/page-template/page.js +10 -0
  37. /package/templates/{kickstart → kickstart-old}/about/index.html +0 -0
  38. /package/templates/{kickstart → kickstart-old}/assets/logo/placeholder.svg +0 -0
  39. /package/templates/{kickstart → kickstart-old}/blog/index.html +0 -0
  40. /package/templates/{kickstart → kickstart-old}/contact/index.html +0 -0
  41. /package/templates/{kickstart → kickstart-old}/css/custom.css +0 -0
  42. /package/templates/{kickstart → kickstart-old}/docs/index.html +0 -0
  43. /package/templates/{kickstart → kickstart-old}/index.html +0 -0
  44. /package/templates/{kickstart → kickstart-old}/js/app.js +0 -0
@@ -0,0 +1,280 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Privacy Policy - {{projectName}}</title>
7
+
8
+ <!-- Domma CSS -->
9
+ <link rel="stylesheet" href="../../dist/domma.css">
10
+ <link rel="stylesheet" href="../../dist/grid.css">
11
+ <link rel="stylesheet" href="../../dist/elements.css">
12
+ <link rel="stylesheet" href="../../dist/themes/domma-themes.css">
13
+
14
+ <!-- Custom CSS -->
15
+ <link rel="stylesheet" href="../../css/custom.css">
16
+ </head>
17
+ <body class="dm-theme-{{theme}}">
18
+ <!-- Navigation -->
19
+ <nav id="main-navbar"></nav>
20
+
21
+ <!-- Page Header -->
22
+ <section class="container py-6">
23
+ <h1 class="display-2 mb-3">Privacy Policy</h1>
24
+ <p class="lead text-secondary">
25
+ Last updated: <time datetime="{{year}}-01-01">January {{year}}</time>
26
+ </p>
27
+ </section>
28
+
29
+ <!-- Privacy Content -->
30
+ <section class="container py-4">
31
+ <div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
32
+ <!-- Table of Contents -->
33
+ <aside>
34
+ <div class="card sticky" style="top: 80px;">
35
+ <div class="card-body">
36
+ <h2 class="h5 mb-3">Contents</h2>
37
+ <nav class="nav flex-column">
38
+ <a href="#introduction" class="nav-link">Introduction</a>
39
+ <a href="#information-collection" class="nav-link">Information We Collect</a>
40
+ <a href="#information-use" class="nav-link">How We Use Information</a>
41
+ <a href="#information-sharing" class="nav-link">Information Sharing</a>
42
+ <a href="#data-security" class="nav-link">Data Security</a>
43
+ <a href="#your-rights" class="nav-link">Your Rights</a>
44
+ <a href="#cookies" class="nav-link">Cookies</a>
45
+ <a href="#children" class="nav-link">Children's Privacy</a>
46
+ <a href="#changes" class="nav-link">Policy Changes</a>
47
+ <a href="#contact" class="nav-link">Contact Us</a>
48
+ </nav>
49
+ </div>
50
+ </div>
51
+ </aside>
52
+
53
+ <!-- Main Content -->
54
+ <main class="lg:col-span-3">
55
+ <!-- Introduction -->
56
+ <section id="introduction" class="mb-6">
57
+ <h2 class="h3 mb-4">Introduction</h2>
58
+ <p>
59
+ Welcome to {{projectName}}. We respect your privacy and are committed to protecting your personal data.
60
+ This privacy policy will inform you about how we look after your personal data when you visit our website
61
+ and tell you about your privacy rights and how the law protects you.
62
+ </p>
63
+ </section>
64
+
65
+ <!-- Information Collection -->
66
+ <section id="information-collection" class="mb-6">
67
+ <h2 class="h3 mb-4">Information We Collect</h2>
68
+
69
+ <h3 class="h5 mb-3">Personal Information</h3>
70
+ <p class="mb-3">We may collect the following types of personal information:</p>
71
+ <ul class="mb-4">
72
+ <li><strong>Identity Data:</strong> First name, last name, username or similar identifier</li>
73
+ <li><strong>Contact Data:</strong> Email address, telephone numbers, billing and delivery addresses</li>
74
+ <li><strong>Technical Data:</strong> IP address, browser type and version, time zone setting, browser plug-in types and versions, operating system and platform</li>
75
+ <li><strong>Usage Data:</strong> Information about how you use our website, products and services</li>
76
+ <li><strong>Marketing Data:</strong> Your preferences in receiving marketing from us and your communication preferences</li>
77
+ </ul>
78
+
79
+ <h3 class="h5 mb-3">Automatically Collected Information</h3>
80
+ <p>
81
+ When you visit our website, we automatically collect certain information about your device, including
82
+ information about your web browser, IP address, time zone, and some of the cookies that are installed on your device.
83
+ </p>
84
+ </section>
85
+
86
+ <!-- Information Use -->
87
+ <section id="information-use" class="mb-6">
88
+ <h2 class="h3 mb-4">How We Use Your Information</h2>
89
+ <p class="mb-3">We use your personal information for the following purposes:</p>
90
+ <ul>
91
+ <li>To provide, operate, and maintain our website and services</li>
92
+ <li>To improve, personalise, and expand our website and services</li>
93
+ <li>To understand and analyse how you use our website</li>
94
+ <li>To develop new products, services, features, and functionality</li>
95
+ <li>To communicate with you, either directly or through one of our partners</li>
96
+ <li>To send you emails and notifications</li>
97
+ <li>To find and prevent fraud</li>
98
+ <li>To comply with legal obligations</li>
99
+ </ul>
100
+ </section>
101
+
102
+ <!-- Information Sharing -->
103
+ <section id="information-sharing" class="mb-6">
104
+ <h2 class="h3 mb-4">Information Sharing and Disclosure</h2>
105
+
106
+ <div class="alert alert-info mb-4">
107
+ <span data-icon="info" class="me-2"></span>
108
+ <strong>Important:</strong> We do not sell, trade, or rent your personal information to third parties.
109
+ </div>
110
+
111
+ <p class="mb-3">We may share your information with:</p>
112
+ <ul>
113
+ <li><strong>Service Providers:</strong> Third-party companies that help us operate our website and provide services to you</li>
114
+ <li><strong>Legal Requirements:</strong> When required by law or to protect our rights</li>
115
+ <li><strong>Business Transfers:</strong> In connection with a merger, acquisition, or sale of assets</li>
116
+ </ul>
117
+ </section>
118
+
119
+ <!-- Data Security -->
120
+ <section id="data-security" class="mb-6">
121
+ <h2 class="h3 mb-4">Data Security</h2>
122
+ <p class="mb-3">
123
+ We have implemented appropriate security measures to prevent your personal data from being accidentally lost,
124
+ used, accessed, altered, or disclosed in an unauthorised manner.
125
+ </p>
126
+ <p>
127
+ However, please note that no method of transmission over the internet or method of electronic storage is 100% secure.
128
+ While we strive to use commercially acceptable means to protect your personal data, we cannot guarantee its absolute security.
129
+ </p>
130
+ </section>
131
+
132
+ <!-- Your Rights -->
133
+ <section id="your-rights" class="mb-6">
134
+ <h2 class="h3 mb-4">Your Rights</h2>
135
+ <p class="mb-3">Under data protection laws, you have the following rights:</p>
136
+
137
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
138
+ <div class="card">
139
+ <div class="card-body">
140
+ <h3 class="h6 mb-2">
141
+ <span data-icon="user" class="me-2"></span>Right to Access
142
+ </h3>
143
+ <p class="text-secondary mb-0">Request copies of your personal data</p>
144
+ </div>
145
+ </div>
146
+
147
+ <div class="card">
148
+ <div class="card-body">
149
+ <h3 class="h6 mb-2">
150
+ <span data-icon="edit" class="me-2"></span>Right to Rectification
151
+ </h3>
152
+ <p class="text-secondary mb-0">Request correction of inaccurate data</p>
153
+ </div>
154
+ </div>
155
+
156
+ <div class="card">
157
+ <div class="card-body">
158
+ <h3 class="h6 mb-2">
159
+ <span data-icon="trash" class="me-2"></span>Right to Erasure
160
+ </h3>
161
+ <p class="text-secondary mb-0">Request deletion of your personal data</p>
162
+ </div>
163
+ </div>
164
+
165
+ <div class="card">
166
+ <div class="card-body">
167
+ <h3 class="h6 mb-2">
168
+ <span data-icon="shield" class="me-2"></span>Right to Restrict
169
+ </h3>
170
+ <p class="text-secondary mb-0">Request restriction of processing</p>
171
+ </div>
172
+ </div>
173
+
174
+ <div class="card">
175
+ <div class="card-body">
176
+ <h3 class="h6 mb-2">
177
+ <span data-icon="download" class="me-2"></span>Right to Data Portability
178
+ </h3>
179
+ <p class="text-secondary mb-0">Request transfer of your data</p>
180
+ </div>
181
+ </div>
182
+
183
+ <div class="card">
184
+ <div class="card-body">
185
+ <h3 class="h6 mb-2">
186
+ <span data-icon="x-circle" class="me-2"></span>Right to Object
187
+ </h3>
188
+ <p class="text-secondary mb-0">Object to processing of your data</p>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
+ <p class="mt-4">
194
+ To exercise any of these rights, please contact us using the details provided in the Contact Us section below.
195
+ </p>
196
+ </section>
197
+
198
+ <!-- Cookies -->
199
+ <section id="cookies" class="mb-6">
200
+ <h2 class="h3 mb-4">Cookies and Tracking Technologies</h2>
201
+ <p class="mb-3">
202
+ We use cookies and similar tracking technologies to track activity on our website and hold certain information.
203
+ Cookies are files with a small amount of data which may include an anonymous unique identifier.
204
+ </p>
205
+ <p>
206
+ You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However,
207
+ if you do not accept cookies, you may not be able to use some portions of our website.
208
+ </p>
209
+ <p class="mt-3">
210
+ For more information about our use of cookies, please see our
211
+ <a href="../cookies/">Cookie Policy</a>.
212
+ </p>
213
+ </section>
214
+
215
+ <!-- Children's Privacy -->
216
+ <section id="children" class="mb-6">
217
+ <h2 class="h3 mb-4">Children's Privacy</h2>
218
+ <p>
219
+ Our website is not intended for children under the age of 13. We do not knowingly collect personal information
220
+ from children under 13. If you are a parent or guardian and you are aware that your child has provided us with
221
+ personal information, please contact us so that we can take necessary action.
222
+ </p>
223
+ </section>
224
+
225
+ <!-- Changes to Policy -->
226
+ <section id="changes" class="mb-6">
227
+ <h2 class="h3 mb-4">Changes to This Privacy Policy</h2>
228
+ <p>
229
+ We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new
230
+ Privacy Policy on this page and updating the "Last updated" date at the top of this policy.
231
+ </p>
232
+ <p class="mt-3">
233
+ You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy
234
+ are effective when they are posted on this page.
235
+ </p>
236
+ </section>
237
+
238
+ <!-- Contact -->
239
+ <section id="contact" class="mb-6">
240
+ <h2 class="h3 mb-4">Contact Us</h2>
241
+ <p class="mb-4">
242
+ If you have any questions about this Privacy Policy, please contact us:
243
+ </p>
244
+
245
+ <div class="card bg-surface">
246
+ <div class="card-body">
247
+ <dl class="mb-0">
248
+ <dt class="mb-2">Email</dt>
249
+ <dd class="mb-4">
250
+ <a href="mailto:privacy@example.com">privacy@example.com</a>
251
+ </dd>
252
+
253
+ <dt class="mb-2">Contact Form</dt>
254
+ <dd class="mb-0">
255
+ <a href="../contact/">Submit a contact request</a>
256
+ </dd>
257
+ </dl>
258
+ </div>
259
+ </div>
260
+ </section>
261
+ </main>
262
+ </div>
263
+ </section>
264
+
265
+ <!-- Footer -->
266
+ <footer class="page-footer"></footer>
267
+
268
+ <!-- Security: DOMPurify for XSS protection -->
269
+ <script src="https://cdn.jsdelivr.net/npm/dompurify@3.2.5/dist/purify.min.js"></script>
270
+
271
+ <!-- Domma JavaScript -->
272
+ <script src="../../dist/domma/domma.min.js"></script>
273
+
274
+ <!-- Global App Initialization -->
275
+ <script src="../../js/app.js"></script>
276
+
277
+ <!-- Page-specific Initialization -->
278
+ <script src="privacy.js"></script>
279
+ </body>
280
+ </html>
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Privacy Policy Page Initialization
3
+ * Smooth scroll navigation, highlight active sections
4
+ */
5
+ $(() => {
6
+ // Smooth scroll for table of contents links
7
+ $('.nav-link').on('click', function(e) {
8
+ e.preventDefault();
9
+ const targetId = $(this).attr('href');
10
+ const $target = $(targetId);
11
+
12
+ if ($target.length) {
13
+ $target[0].scrollIntoView({ behavior: 'smooth' });
14
+
15
+ // Update active state
16
+ $('.nav-link').removeClass('active');
17
+ $(this).addClass('active');
18
+ }
19
+ });
20
+
21
+ // Highlight active section on scroll
22
+ let ticking = false;
23
+ $(window).on('scroll', () => {
24
+ if (!ticking) {
25
+ window.requestAnimationFrame(() => {
26
+ updateActiveSection();
27
+ ticking = false;
28
+ });
29
+ ticking = true;
30
+ }
31
+ });
32
+
33
+ function updateActiveSection() {
34
+ const sections = $('section[id]');
35
+ const scrollPos = $(window).scrollTop() + 100;
36
+
37
+ sections.each((section) => {
38
+ const $section = $(section);
39
+ const sectionTop = $section.offset().top;
40
+ const sectionBottom = sectionTop + $section.outerHeight();
41
+
42
+ if (scrollPos >= sectionTop && scrollPos < sectionBottom) {
43
+ const id = $section.attr('id');
44
+ $('.nav-link').removeClass('active');
45
+ $(`.nav-link[href="#${id}"]`).addClass('active');
46
+ }
47
+ });
48
+ }
49
+
50
+ console.log('Privacy Policy page initialized');
51
+ });