@newlogic-digital/ui 3.5.0 → 4.0.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.
Files changed (229) hide show
  1. package/README.md +17 -21
  2. package/package.json +38 -22
  3. package/src/data/main.json +17 -32
  4. package/src/data/nav.json +12 -0
  5. package/src/icons.svg +5 -35
  6. package/src/pages/dialog/basic.json.latte +5 -0
  7. package/src/pages/email/index.json +12 -0
  8. package/src/pages/gdpr.json +11 -0
  9. package/src/pages/index.json +8 -0
  10. package/src/scripts/components/(ui)/+.js +12 -0
  11. package/src/scripts/components/(ui)/Button.js +4 -0
  12. package/src/scripts/components/(ui)/Compare.js +4 -0
  13. package/src/scripts/components/(ui)/Control.js +11 -0
  14. package/src/scripts/components/(ui)/ControlSelect.js +4 -0
  15. package/src/scripts/components/(ui)/Details.js +4 -0
  16. package/src/scripts/components/(ui)/Dialog.js +17 -0
  17. package/src/scripts/components/(ui)/Drawer.js +4 -0
  18. package/src/scripts/components/(ui)/Form.js +15 -0
  19. package/src/scripts/components/(ui)/Popover.js +4 -0
  20. package/src/scripts/components/(ui)/Range.js +4 -0
  21. package/src/scripts/components/(ui)/Tabs.js +4 -0
  22. package/src/scripts/components/(ui)/Toast.js +4 -0
  23. package/src/scripts/components/+.js +5 -0
  24. package/src/scripts/components/App.js +5 -0
  25. package/src/scripts/components/ReCaptcha.js +4 -0
  26. package/src/scripts/components/Reveal.js +4 -0
  27. package/src/scripts/components/cookieconsent/+.js +2 -0
  28. package/src/scripts/components/cookieconsent/CookieConsentDialog.js +4 -0
  29. package/src/scripts/components/cookieconsent/CookieConsentForm.js +4 -0
  30. package/src/scripts/composables/+.js +3 -0
  31. package/src/scripts/composables/naja.js +24 -0
  32. package/src/scripts/composables/stimulus.js +31 -0
  33. package/src/scripts/composables/swup.js +23 -0
  34. package/src/scripts/main.js +4 -6
  35. package/src/scripts/utils/+.js +1 -0
  36. package/src/scripts/utils/initAfter.js +11 -0
  37. package/src/styles/base/+.css +4 -0
  38. package/src/styles/base/defaults.css +36 -0
  39. package/src/styles/base/transitions.css +12 -0
  40. package/src/styles/components/(layout)/+.css +2 -0
  41. package/src/styles/components/(layout)/Header.css +11 -0
  42. package/src/styles/components/(layout)/Main.css +20 -0
  43. package/src/styles/components/(ui)/+.css +23 -0
  44. package/src/styles/components/(ui)/Badge.css +8 -0
  45. package/src/styles/components/(ui)/Button.css +12 -0
  46. package/src/styles/components/(ui)/Check.css +1 -0
  47. package/src/styles/components/(ui)/Compare.css +1 -0
  48. package/src/styles/components/(ui)/Control.css +29 -0
  49. package/src/styles/components/(ui)/ControlSelect.css +1 -0
  50. package/src/styles/components/(ui)/Drawer.css +14 -0
  51. package/src/styles/components/(ui)/Field.css +1 -0
  52. package/src/styles/components/(ui)/Group.css +1 -0
  53. package/src/styles/components/(ui)/Heading.css +4 -0
  54. package/src/styles/components/(ui)/Image.css +1 -0
  55. package/src/styles/components/(ui)/Info.css +1 -0
  56. package/src/styles/components/(ui)/Label.css +1 -0
  57. package/src/styles/components/(ui)/Link.css +2 -0
  58. package/src/styles/components/(ui)/Notice.css +1 -0
  59. package/src/styles/components/(ui)/Popover.css +1 -0
  60. package/src/styles/components/(ui)/Progress.css +1 -0
  61. package/src/styles/components/(ui)/Range.css +1 -0
  62. package/src/styles/components/(ui)/Switch.css +1 -0
  63. package/src/styles/components/(ui)/Text.css +1 -0
  64. package/src/styles/components/(ui)/Title.css +4 -0
  65. package/src/styles/components/(ui)/Toaster.css +2 -0
  66. package/src/styles/components/(ui)/dialog/+.css +2 -0
  67. package/src/styles/components/(ui)/dialog/Dialog.css +2 -0
  68. package/src/styles/components/(ui)/dialog/DialogContent.css +2 -0
  69. package/src/styles/components/+.css +3 -0
  70. package/src/styles/components/cookieconsent/+.css +1 -0
  71. package/src/styles/components/cookieconsent/CookieConsentDialog.css +17 -0
  72. package/src/styles/emails/+.css +5 -0
  73. package/src/styles/emails/base/+.css +2 -0
  74. package/src/styles/emails/base/defaults.css +22 -0
  75. package/src/styles/emails/components/+.css +4 -0
  76. package/src/styles/emails/components/Button.css +31 -0
  77. package/src/styles/emails/components/Heading.css +7 -0
  78. package/src/styles/emails/components/Main.css +13 -0
  79. package/src/styles/emails/components/Text.css +14 -0
  80. package/src/styles/emails/main.css +9 -0
  81. package/src/styles/emails/theme/+.css +2 -0
  82. package/src/styles/emails/theme/config.css +5 -0
  83. package/src/styles/emails/theme/default.css +13 -0
  84. package/src/styles/emails/utils/+.css +1 -0
  85. package/src/styles/emails/utils/common.css +29 -0
  86. package/src/styles/main.css +5 -14
  87. package/src/styles/theme/+.css +2 -0
  88. package/src/styles/theme/dark.css +5 -0
  89. package/src/styles/theme/main.css +35 -0
  90. package/src/styles/tinymce.css +2 -34
  91. package/src/styles/utils/+.css +4 -0
  92. package/src/styles/utils/container.css +5 -0
  93. package/src/styles/utils/index.css +8 -0
  94. package/src/styles/utils/reveal.css +22 -0
  95. package/src/styles/utils/scrollbar.css +23 -0
  96. package/src/templates/components/(layout)/Footer.latte +1 -0
  97. package/src/templates/components/(layout)/Header.latte +7 -0
  98. package/src/templates/components/(ui)/Toast.latte +9 -0
  99. package/src/templates/components/Content.latte +64 -0
  100. package/src/templates/components/Example.latte +17 -0
  101. package/src/templates/components/cookieconsent/CookieConsentContent.latte +69 -0
  102. package/src/templates/components/cookieconsent/CookieConsentDialog.latte +27 -0
  103. package/src/templates/components/cookieconsent/CookieConsentForm.latte +47 -0
  104. package/src/templates/components/dialog/DialogBasic.latte +18 -0
  105. package/src/templates/emails/components/Content.latte +29 -0
  106. package/src/templates/emails/components/Footer.latte +13 -0
  107. package/src/templates/emails/components/Header.latte +8 -0
  108. package/src/templates/emails/layouts/default.latte +35 -0
  109. package/src/templates/layouts/default.latte +71 -0
  110. package/vite.config.js +5 -17
  111. package/src/emails/styles/email.css +0 -77
  112. package/src/emails/templates/.gitkeep +0 -0
  113. package/src/emails/templates.test/Content.latte +0 -24
  114. package/src/emails/templates.test/Header.latte +0 -14
  115. package/src/emails/templates.test/Layout.latte +0 -23
  116. package/src/scripts/Components/+.js +0 -1
  117. package/src/scripts/Components/CookieConsent.js +0 -78
  118. package/src/scripts/Layout/+.js +0 -2
  119. package/src/scripts/Layout/Header.js +0 -32
  120. package/src/scripts/Layout/Main.js +0 -50
  121. package/src/scripts/Libraries/+.js +0 -12
  122. package/src/scripts/Libraries/CookieConsent.js +0 -67
  123. package/src/scripts/Libraries/Dialog.js +0 -47
  124. package/src/scripts/Libraries/Drawer.js +0 -42
  125. package/src/scripts/Libraries/Form.js +0 -26
  126. package/src/scripts/Libraries/Naja.js +0 -33
  127. package/src/scripts/Libraries/ReCaptcha.js +0 -42
  128. package/src/scripts/Libraries/Ripple.js +0 -8
  129. package/src/scripts/Libraries/Script.js +0 -18
  130. package/src/scripts/Libraries/Slider.js +0 -160
  131. package/src/scripts/Libraries/Stimulus.js +0 -11
  132. package/src/scripts/Libraries/Swup.js +0 -92
  133. package/src/scripts/Libraries/Tippy.js +0 -117
  134. package/src/scripts/Sections/+.js +0 -0
  135. package/src/scripts/Ui/+.js +0 -4
  136. package/src/scripts/Ui/Check.js +0 -8
  137. package/src/scripts/Ui/Control.js +0 -186
  138. package/src/scripts/Ui/ControlSelect.js +0 -24
  139. package/src/scripts/Ui/Text.js +0 -21
  140. package/src/scripts/Utils/+.js +0 -3
  141. package/src/scripts/Utils/Functions/+.js +0 -7
  142. package/src/scripts/Utils/Functions/importScript.js +0 -17
  143. package/src/scripts/Utils/Functions/importStyle.js +0 -18
  144. package/src/scripts/Utils/Functions/inputStep.js +0 -9
  145. package/src/scripts/Utils/Functions/inputValidity.js +0 -57
  146. package/src/scripts/Utils/Functions/loadStimulus.js +0 -42
  147. package/src/scripts/Utils/Functions/replaceScript.js +0 -4
  148. package/src/scripts/Utils/Functions/replaceTag.js +0 -8
  149. package/src/scripts/Utils/cdn.js +0 -6
  150. package/src/scripts/Utils/global.js +0 -15
  151. package/src/styles/Components/+.css +0 -4
  152. package/src/styles/Components/CookieConsent.css +0 -68
  153. package/src/styles/Components/Dialog/+.css +0 -1
  154. package/src/styles/Components/Dialog/Default.css +0 -26
  155. package/src/styles/Components/Dropdown/+.css +0 -1
  156. package/src/styles/Components/Dropdown/Default.css +0 -8
  157. package/src/styles/Components/Field.css +0 -1
  158. package/src/styles/Layout/+.css +0 -3
  159. package/src/styles/Layout/Header.css +0 -50
  160. package/src/styles/Layout/Main.css +0 -28
  161. package/src/styles/Layout/Nav.css +0 -47
  162. package/src/styles/Libraries/+.css +0 -7
  163. package/src/styles/Libraries/Datepicker.css +0 -54
  164. package/src/styles/Libraries/Dialog.css +0 -1
  165. package/src/styles/Libraries/Drawer.css +0 -64
  166. package/src/styles/Libraries/Hint.css +0 -186
  167. package/src/styles/Libraries/Pickr.css +0 -13
  168. package/src/styles/Libraries/Ripple.css +0 -1
  169. package/src/styles/Libraries/Tippy.css +0 -73
  170. package/src/styles/Sections/+.css +0 -1
  171. package/src/styles/Ui/+.css +0 -17
  172. package/src/styles/Ui/Badge.css +0 -7
  173. package/src/styles/Ui/Btn.css +0 -13
  174. package/src/styles/Ui/Check.css +0 -1
  175. package/src/styles/Ui/Control.css +0 -47
  176. package/src/styles/Ui/ControlSelect.css +0 -66
  177. package/src/styles/Ui/Dot.css +0 -22
  178. package/src/styles/Ui/Group.css +0 -1
  179. package/src/styles/Ui/Heading.css +0 -3
  180. package/src/styles/Ui/Image.css +0 -1
  181. package/src/styles/Ui/Info.css +0 -1
  182. package/src/styles/Ui/Label.css +0 -1
  183. package/src/styles/Ui/Link.css +0 -2
  184. package/src/styles/Ui/Notice.css +0 -1
  185. package/src/styles/Ui/Progress.css +0 -1
  186. package/src/styles/Ui/Switch.css +0 -1
  187. package/src/styles/Ui/Text.css +0 -8
  188. package/src/styles/Ui/Title.css +0 -7
  189. package/src/styles/Utils/+.css +0 -8
  190. package/src/styles/Utils/config.css +0 -5
  191. package/src/styles/Utils/default.css +0 -19
  192. package/src/styles/Utils/icons.css +0 -5
  193. package/src/styles/Utils/tailwind.css +0 -50
  194. package/src/styles/Utils/theme/+.css +0 -1
  195. package/src/styles/Utils/theme/main.css +0 -19
  196. package/src/templates/Components/CookieConsent.latte +0 -28
  197. package/src/templates/Components/Dialogs/Basic.latte +0 -22
  198. package/src/templates/Components/Items/.gitkeep +0 -0
  199. package/src/templates/Layout/Footer.latte +0 -0
  200. package/src/templates/Layout/Header.latte +0 -40
  201. package/src/templates/Layout/Main.latte +0 -62
  202. package/src/templates/Sections/Gdpr.latte +0 -127
  203. package/src/templates/Sections/Site.latte +0 -141
  204. package/src/templates/Sections/Ui/Docs/@intro.html +0 -48
  205. package/src/templates/Sections/Ui/Docs/@nav.html +0 -144
  206. package/src/templates/Sections/Ui/Docs/@styles.html +0 -96
  207. package/src/templates/Sections/Ui/Docs/Default.latte +0 -1059
  208. package/src/templates/Sections/Ui/Icons.html +0 -30
  209. package/src/templates/Sections/Ui/Intro.html +0 -165
  210. package/src/templates/Sections/Ui.latte +0 -8
  211. package/src/templates/Ui/+.latte +0 -5
  212. package/src/templates/Ui/Check.latte +0 -7
  213. package/src/templates/Ui/Control.latte +0 -9
  214. package/src/templates/Ui/ControlDate.latte +0 -14
  215. package/src/templates/Ui/ControlSelect.latte +0 -9
  216. package/src/templates/Ui/ControlTime.latte +0 -14
  217. package/src/views/dialog/basic.json.latte +0 -5
  218. package/src/views/dropdown/tippy.json.latte +0 -19
  219. package/src/views/email/email.latte +0 -6
  220. package/src/views/email/email.test.latte +0 -6
  221. package/src/views/gdpr.json +0 -12
  222. package/src/views/index.json +0 -12
  223. package/src/views/site.json +0 -11
  224. package/src/views/ui-icons.json +0 -12
  225. package/src/views/ui.json +0 -11
  226. /package/src/styles/{Utils → base}/breakpoints.css +0 -0
  227. /package/src/styles/{Utils → base}/keyframes.css +0 -0
  228. /package/src/styles/{Utils/print.css → emails/base/fonts.css} +0 -0
  229. /package/src/templates/{Utils → utils}/sections.latte +0 -0
@@ -0,0 +1,23 @@
1
+ .no-scrollbar {
2
+ scrollbar-width: none;
3
+
4
+ &::-webkit-scrollbar {
5
+ display: none;
6
+ }
7
+ }
8
+
9
+ .scrollbar {
10
+ scrollbar-width: thin;
11
+ scrollbar-color: var(--color-primary) var(--color-body-primary);
12
+ overscroll-behavior: contain;
13
+
14
+ &::-webkit-scrollbar {
15
+ width: 0.375rem;
16
+ background-color: transparent;
17
+ }
18
+
19
+ &::-webkit-scrollbar-thumb {
20
+ background: var(--color-primary);
21
+ border-radius: var(--radius-full);
22
+ }
23
+ }
@@ -0,0 +1 @@
1
+ <footer class="x-footer"></footer>
@@ -0,0 +1,7 @@
1
+ <header class="x-header grid grid-cols-container" data-controller="x-header">
2
+ <nav class="flex justify-center py-4 gap-4">
3
+ <a n:foreach="$nav as $page" class="x-link" href="{$page->url}" title="{$page->name}">
4
+ {$page->name}
5
+ </a>
6
+ </nav>
7
+ </header>
@@ -0,0 +1,9 @@
1
+ <li class="x-toast" role="status" aria-live="assertive" aria-atomic="true" data-controller="x-toast" data-action="x-toast:connect->x-toast#show">
2
+ <div class="x-toast-content">
3
+ <div class="flex-col">
4
+ <div class="x-title">Hello toast</div>
5
+ <div class="x-text">Amazing toast</div>
6
+ </div>
7
+ <button class="x-button muted ml-auto" data-action="x-toast#close">Close</button>
8
+ </div>
9
+ </li>
@@ -0,0 +1,64 @@
1
+ <div class="x-content py-12 grid grid-cols-container gap-y-8">
2
+ <h1 class="x-heading">Zásady ochrany osobních údajů</h1>
3
+ <div class="x-text">
4
+ <p><strong>Správce osobních údajů a subjekt údajů</strong></p>
5
+ <p>Správcem osobních údajů je společnost provozující tento web, rezervační službu.</p>
6
+ <p>Subjektem údajů je fyzická osoba, která správci poskytla svoje osobní údaje na základě nájemní smlouvy, kupní
7
+ smlouvy, servisní smlouvy či jiné smlouvy uzavřené se správcem nebo na základě souhlasu se zpracováním
8
+ osobních údajů v rámci přihlášení k&nbsp;odběru novinek (newsletterů) zasílaných správcem. Subjektem údajů
9
+ může být též fyzická osoba, jejíž osobní údaje správce získal z&nbsp;jiných zákonných zdrojů.</p>
10
+ <p>&nbsp;</p>
11
+ <p><strong>Rozsah zpracování osobních údajů</strong></p>
12
+ <p>Správce zpracovává osobní údaje v&nbsp;rozsahu, v&nbsp;jakém jsou mu poskytnuty subjekty údajů, nebo v&nbsp;jakém
13
+ rozsahu je správce získá z&nbsp;jiných zákonných zdrojů. Jedná se o: jméno, příjmení, datum narození,
14
+ bydliště, místo podnikání, identifikační číslo, číslo platební karty daňové identifikační číslo, e-mail,
15
+ telefon, podpis.</p>
16
+ <p>&nbsp;</p>
17
+ <p><strong>Účel zpracování osobních údajů, souhlas obecný</strong></p>
18
+ <p>Správce zpracovává osobní údaje subjektů údajů za účelem splnění smlouvy uzavřené mezi subjektem údajů a
19
+ správcem a to formou elektronických komunikačních prostředků na dálku, nebo písemnou formou, plnění právních
20
+ povinností a za účelem přímého marketingu (tj. nabízení produktů a služeb správce) včetně zasílání
21
+ obchodních sdělení ve smyslu zákona č. 480/2004 Sb., o některých službách informační společnosti. Obchodní
22
+ sdělení správce zasílá pouze v případě, že se subjekt údajů přihlásil k odběru novinek (newsletterů) a
23
+ vyslovil druhý souhlas se zpracováním osobních údjaů pro marketingové účely.</p>
24
+ <p>&nbsp;</p>
25
+ <p><strong>Účel zpracování osobních údajů, souhlas pro marketingové účely</strong></p>
26
+ <p>Správce zpracovává osobní údaje subjektů údajů za účelem splnění smlouvy uzavřené mezi subjektem údajů a
27
+ správcem a to formou elektronických komunikačních prostředků na dálku, nebo písemnou formou, plnění právních
28
+ povinností a za účelem přímého marketing, nabídek, informací o hotelu a jeho aktivitách. Sbjekt údajů má
29
+ možnost se jednoduchým způsobem a zdarma z odběru novinek (newsletterů) odhlásit.</p>
30
+ <p>&nbsp;</p>
31
+ <p><strong>Posouzení nezbytnosti zpracování</strong></p>
32
+ <p>Správce dbá na ochranu soukromí subjektů údajů, a proto zpracovává pouze osobní údaje, které jsou nezbytně
33
+ nutné pro stanovené účely zpracování.</p>
34
+ <p>&nbsp;</p>
35
+ <p><strong>Právní základ zpracování osobních údajů</strong></p>
36
+ <p>Právním základem zpracování prováděného za účelem přímého marketingu je souhlas subjektů údajů se zpracováním
37
+ osobních údajů (přihlášení k odběru newsletterů) nebo oprávněný zájem správce (získání elektronického
38
+ kontaktu v souvislosti s prodejem výrobku nebo služby správce dle zák. č. 480/2004 Sb.).</p>
39
+ <p>V ostatních případech je právním základem zpracování splnění smlouvy, ochrana oprávněných zájmů správce
40
+ (ochrana majetku, uplatnění práv ze smlouvy v soudním řízení apod.) a splnění právní povinnosti.</p>
41
+ <p>&nbsp;</p>
42
+ <p><strong>Doba zpracovávání osobních údajů</strong></p>
43
+ <p>V&nbsp;případě osobních údajů zpracovávaných za účelem splnění smlouvy správce zpracovává osobní údaje po
44
+ dobu trvání smluvního vztahu a následně po dobu dalších 10 let, a to s&nbsp;ohledem na délku promlčecí lhůty
45
+ u náhrady škody či újmy. V&nbsp;případě zpracování za účelem splnění právní povinnosti správce zpracovává
46
+ osobní údaje po dobu stanovenou právními předpisy. V&nbsp;případě osobních údajů zpracovávaných na základě
47
+ souhlasu subjektu údajů správce zpracovává osobní údaje po dobu 10 let, nebude-li souhlas se zpracováním
48
+ osobních údajů do té doby odvolán. Tím není dotčena povinnost správce zpracovávat osobní údaje po dobu
49
+ stanovenou příslušnými právními předpisy či v souladu s nimi.</p>
50
+ <p>&nbsp;</p>
51
+ <p><strong>Odvolání souhlasu se zpracováním osobních údajů</strong></p>
52
+ <p>Jestliže subjekt údajů udělil správci souhlas se zpracováním osobních údajů, může svůj dobrovolně udělený
53
+ souhlas se zpracováním osobních údajů kdykoli bezplatně odvolat. Odvoláním souhlasu není dotčena zákonnost
54
+ zpracování vycházejícího ze souhlasu, který byl dán před jeho odvoláním. Odvolání souhlasu též nemá vliv na
55
+ zpracování osobních údajů, které správce zpracovává na základě jiného právního základu, než je souhlas (tj.
56
+ zejména je-li zpracování nezbytné pro splnění smlouvy, právní povinnosti či z&nbsp;jiných důvodů uvedených v&nbsp;platných
57
+ právních předpisech).</p>
58
+ <p>&nbsp;</p>
59
+ <p><strong>Přístup k&nbsp;osobním údajům</strong></p>
60
+ <p>K osobním údajům subjektů údajů má přístup správce a případně též třetí osoby - příjemci, kteří poskytují
61
+ vhodné záruky a jejichž zpracování splňuje požadavky dle platných právních předpisů a které zajišťuje
62
+ náležitou ochranu práv subjektů údajů</p>
63
+ </div>
64
+ </div>
@@ -0,0 +1,17 @@
1
+ <div class="grid grid-cols-container">
2
+ <div class="p-4 bg-body-secondary rounded w-full max-w-xl mx-auto">
3
+ <h1 class="x-heading mb-4">Hello world!</h1>
4
+ <div class="x-text mb-4">Want to dig deeper into Newlogic UI?</div>
5
+
6
+ <a href="https://ui.newlogic.cz/" class="x-link underline">Read the docs &rarr;</a>
7
+ </div>
8
+ <div class="flex justify-center mt-4">
9
+ <button
10
+ class="x-button"
11
+ data-invoke-action="x-dialog#show"
12
+ data-invoke-url="/dialog/basic.json"
13
+ >
14
+ Dialog Fetch Example
15
+ </button>
16
+ </div>
17
+ </div>
@@ -0,0 +1,69 @@
1
+ <div class="x-cookieconset-content x-content py-16 md:py-28 grid grid-cols-container gap-y-8">
2
+ <h2 class="x-heading">Zásady používání cookies</h2>
3
+ <div class="x-text">
4
+ <p style="text-align: left;">Tyto webové stránky používají k poskytování služeb, personalizaci
5
+ reklam a analýze návštěvnosti soubory cookies. Pokud nepovolíte využití reklamních cookies, web
6
+ bude používat pouze cookies nezbytné k tomu, abyste se mohli pohybovat po webu a používat jeho
7
+ funkce. Zásady ukládání cookies na váš počítač si můžete kdykoliv vypnout nebo upravit na konci
8
+ této stránky.</p>
9
+ <p></p>
10
+ <p></p><h4 style="text-align: left;">Cookies nutné pro funkčnost stránek</h4>
11
+ <p style="text-align: left;">Tyto cookies jsou nezbytné k tomu, abyste se mohli pohybovat po webu a
12
+ používat jeho funkce. Jsou aktivovány v okamžiku, kdy uživatel vstoupí na stránku. Některé části
13
+ webových stránek nemusí správně fungovat, pokud tyto soubory cookie nejsou uloženy.</p>
14
+ <p></p>
15
+ <table style="border-collapse: collapse; width: 100%; height: 96px;" border="1">
16
+ <tbody>
17
+ <tr style="height: 24px;">
18
+ <td style="width: 46.4115%; height: 24px;">Cookie</td>
19
+ <td style="width: 46.4115%; height: 24px;">PHPSSID</td>
20
+ </tr>
21
+ <tr style="height: 24px;">
22
+ <td style="width: 46.4115%; height: 24px;">Autor</td>
23
+ <td style="width: 46.4115%; height: 24px;"><a
24
+ href="http://www.newlogic.cz">www.newlogic.cz</a></td>
25
+ </tr>
26
+ <tr style="height: 24px;">
27
+ <td style="width: 46.4115%; height: 24px;">Účel</td>
28
+ <td style="width: 46.4115%; height: 24px;">Tyto soubory cookies mohou být použity pro
29
+ sledování aktuální relace uživatele. Součástí těchto údajů je i IP adresa uživatele,
30
+ která je použita jako jedna z komponent pro hash generovaný frameworkem. Vlastník
31
+ stránek IP adresu samostatně neukládá a z hashe ji nelze zpětně rekonstruovat.
32
+ </td>
33
+ </tr>
34
+ <tr style="height: 24px;">
35
+ <td style="width: 46.4115%; height: 24px;">Platnost</td>
36
+ <td style="width: 46.4115%; height: 24px;">1 den</td>
37
+ </tr>
38
+ </tbody>
39
+ </table>
40
+ <p></p>
41
+ <p></p><h4 style="text-align: left;">Cookies užívané k měření návštěvnosti stránek</h4>
42
+ <p style="text-align: left;">Tyto cookies slouží k měření počtu návštěv stránek. Jedná se o nástroje
43
+ služby Google Analytics.</p>
44
+ <p></p>
45
+ <table style="border-collapse: collapse; width: 100%;" border="1">
46
+ <tbody>
47
+ <tr>
48
+ <td style="width: 46.4689%;">Cookie</td>
49
+ <td style="width: 46.4689%;">utma, utmb, utmc, utmt, utmz</td>
50
+ </tr>
51
+ <tr>
52
+ <td style="width: 46.4689%;">Autor</td>
53
+ <td style="width: 46.4689%;"><a
54
+ href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage">Google
55
+ Analytics</a></td>
56
+ </tr>
57
+ <tr>
58
+ <td style="width: 46.4689%;">Účel</td>
59
+ <td style="width: 46.4689%;">Google Analytics měřící kódy</td>
60
+ </tr>
61
+ <tr>
62
+ <td style="width: 46.4689%;">Platnost</td>
63
+ <td style="width: 46.4689%;">Do ukončení uživatelské relace.</td>
64
+ </tr>
65
+ </tbody>
66
+ </table>
67
+ </div>
68
+ {include 'CookieConsentForm.latte'}
69
+ </div>
@@ -0,0 +1,27 @@
1
+ {var $center = true}
2
+
3
+ <dialog class="x-cookieconsent-dialog x-dialog {if $center}center{/if}" data-controller="x-cookieconsent-dialog">
4
+ <div class="x-dialog-content">
5
+ <div class="mt-2 mb-4 md:mb-6">
6
+ {if true}
7
+ <div class="x-image w-40 my-4">
8
+ <img src="{placeholder(160, 46)}" alt="">
9
+ </div>
10
+ {/if}
11
+ <div class="x-heading text-3xl md:my-8">Nastavení soukromí a&nbsp;cookies&nbsp;🍪</div>
12
+ </div>
13
+ <div class="x-text">
14
+ <p>Webové stránky používají k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory&nbsp;cookies.</p>
15
+ <p>Následující volbou souhlasíte s našimi <a href="/gdpr">zásady&nbsp;ochrany osobních údajů a cookies</a>. Svá&nbsp;nastavení můžete kdykoli změnit.</p>
16
+ </div>
17
+ <div class="flex items-center mt-6 md:mt-8 gap-4 {if $center}flex-col{else}max-md:flex-col{/if} px-4">
18
+ <div class="flex flex-col w-full">
19
+ <button class="x-button lg w-full" data-action="click->x-cookieconsent-dialog#approve">Ano, souhlasím</button>
20
+ </div>
21
+ <div class="flex w-full gap-4">
22
+ <a class="x-button ghosted lg accent-main flex-1 px-4" href="/gdpr"><span>Přizpůsobit</span></a>
23
+ <button class="x-button ghosted lg accent-main flex-1 px-4" data-action="click->x-cookieconsent-dialog#decline"><span>Nesouhlasím</span></button>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </dialog>
@@ -0,0 +1,47 @@
1
+ <form class="x-cookieconsent-form flex flex-col gap-8 mt-8" data-controller="x-cookieconsent-form" data-action="submit->x-cookieconsent-form#update:prevent" autocomplete="off">
2
+ <div class="flex-col">
3
+ <div class="x-text">
4
+ <h3 style="text-align: left;">Nastavení cookies</h3>
5
+ <p style="text-align: left;">
6
+ Následujícím nastavením můžete upravit jaké soubory cookie
7
+ se budou používat na této stránce.
8
+ </p>
9
+ </div>
10
+ </div>
11
+ <div class="flex-col">
12
+ <div class="x-text mb-4">
13
+ <h5>Nutné cookies</h5>
14
+ <p>
15
+ Tyto soubory cookies jsou nezbytně nutné pro váš pohyb po webové stránce a využívání všech funkcí, např. nastavení preferencí soukromí, přihlašování nebo vyplňování formulářů. Bez těchto cookies by nebylo možné řádně poskytovat služby požadované při používání naší stránky. Nezbytně nutné cookies nevyžadují souhlas uživatele dle příslušných právních předpisů. Můžete si také nakonfigurovat webový prohlížeč a nezbytně nutné soubory cookies zablokovat, ovšem následně se může stát, že nebudete moci používat všechny funkce stránky tak, jak byste chtěli.
16
+ </p>
17
+ </div>
18
+ <label class="x-switch">
19
+ <input type="checkbox" value="decline" checked disabled>
20
+ </label>
21
+ </div>
22
+ <div class="flex-col">
23
+ <div class="x-text mb-4">
24
+ <h5>Statistické soubory cookies</h5>
25
+ <p>
26
+ Tyto soubory cookie nám umožňují počítat návštěvy a zdroje návštěvnosti, abychom mohli měřit a zlepšovat výkon našich stránek. Pomáhají nám zjistit, které stránky jsou nejoblíbenější a které nejméně, a vidět, jak se návštěvníci na webu pohybují, což nám pomáhá optimalizovat váš zážitek. Všechny informace, které tyto soubory cookie shromažďují, jsou agregované, a proto anonymní. Pokud tyto soubory cookie nepovolíte, nebudeme moci používat vaše údaje tímto způsobem.
27
+ </p>
28
+ </div>
29
+ <label class="x-switch">
30
+ <input type="checkbox" value="performance">
31
+ </label>
32
+ </div>
33
+ <div class="flex-col">
34
+ <div class="x-text mb-4">
35
+ <h5>Reklamní soubory cookies</h5>
36
+ <p>
37
+ Tyto soubory cookies (zvané také cílené nebo reklamní cookies) se používají k zobrazování reklam na stránkách třetích stran, které by více odpovídaly vaší osobě a vašim zájmům. Používají se také k omezení počtu shlédnutí reklam a měření účinností reklamních kampaní.
38
+ </p>
39
+ </div>
40
+ <label class="x-switch">
41
+ <input type="checkbox" value="marketing">
42
+ </label>
43
+ </div>
44
+ <div class="flex-col items-start">
45
+ <button class="x-button">Uložit předvolby</button>
46
+ </div>
47
+ </form>
@@ -0,0 +1,18 @@
1
+ <dialog class="x-dialog" data-controller="x-dialog">
2
+ <form class="x-dialog-content">
3
+ <div class="flex justify-between">
4
+ <h2 class="x-heading">Dialog Basic</h2>
5
+ <button class="x-button square ghosted accent-main" type="button" data-action="click->x-dialog#close">
6
+ <svg>
7
+ <use href="#icon-x-mark"></use>
8
+ </svg>
9
+ </button>
10
+ </div>
11
+ <div class="x-text py-4">
12
+ {foreach range(1, 44) as $i}
13
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eget efficitur metus. In bibendum nisi et dui sagittis efficitur.</p>
14
+ {/foreach}
15
+ </div>
16
+ <button class="x-button" type="button" data-action="click->x-dialog#close">Continue</button>
17
+ </form>
18
+ </dialog>
@@ -0,0 +1,29 @@
1
+ <tr class="x-content">
2
+ <td class="p-container">
3
+ <table class="w-full">
4
+ <tr>
5
+ <td class="x-heading pb-[24px]">
6
+ Lorem ipsum
7
+ </td>
8
+ </tr>
9
+ <tr>
10
+ <td class="x-text">
11
+ Hello David,<br>
12
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <td class="pt-[24px]">
17
+ <table class="x-button flat">
18
+ <tr>
19
+ <td class="x-button-content">
20
+ <a href="https://www.kouzelnechaloupky.cz"><span>Button</span></a>
21
+ </td>
22
+ </tr>
23
+ </table>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ </td>
28
+ </tr>
29
+
@@ -0,0 +1,13 @@
1
+ <tr class="x-footer">
2
+ <td class="p-container pt-[0px]">
3
+ <table class="w-full text-center">
4
+ <tr>
5
+ <td class="x-text sm">
6
+ ahoj@email.cz<br>
7
+ (+420) 123 456 789<br>
8
+ po-pá 9:00 - 17:30
9
+ </td>
10
+ </tr>
11
+ </table>
12
+ </td>
13
+ </tr>
@@ -0,0 +1,8 @@
1
+ <tr class="x-header">
2
+ <td class="px-container pt-container">
3
+ <a href="https://www.bookolosystem.com" target="_blank">
4
+ <img src="https://placehold.co/160x60" alt="Logo" style="width: 160px; height: 60px;">
5
+ </a>
6
+ </td>
7
+ </tr>
8
+
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Email Template</title>
6
+ <!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]-->
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+
9
+ {var $forceLightMode = true}
10
+
11
+ {if $forceLightMode}
12
+ <meta name="color-scheme" content="only light">
13
+ <meta name="supported-color-schemes" content="only light">
14
+ {else}
15
+ <meta name="color-scheme" content="light dark">
16
+ <meta name="supported-color-schemes" content="light dark">
17
+ {/if}
18
+
19
+ <style type="text/css" n:syntax="off">
20
+ @import '/src/styles/emails/main.css';
21
+ </style>
22
+ </head>
23
+ <body>
24
+ <table class="x-main w-full" align="center">
25
+ <tr>
26
+ <td class="p-[20px]" align="center">
27
+ <table class="x-main-body container">
28
+ {include '../../utils/sections.latte', sections => $body}
29
+ </table>
30
+ </td>
31
+ </tr>
32
+ {include '../components/Footer.latte'}
33
+ </table>
34
+ </body>
35
+ </html>
@@ -0,0 +1,71 @@
1
+ <!DOCTYPE html>
2
+ <html class="no-js" lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>{$title}</title>
6
+
7
+ <meta name="keywords" content="">
8
+ <meta name="description" content="">
9
+ <meta name="author" content="">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
11
+ <meta name="format-detection" content="telephone=no">
12
+ <meta name="mobile-web-app-capable" content="yes">
13
+ <meta name="apple-mobile-web-app-title" content="{$title}">
14
+ <meta name="apple-mobile-web-app-capable" content="yes">
15
+ <meta name="theme-color" content="#ffffff">
16
+
17
+ {if isset($prefetch)}
18
+ {foreach $prefetch as $url}
19
+ <link rel="preconnect" href="{$url}" crossorigin>
20
+ <link rel="dns-prefetch" href="{$url}">
21
+ {/foreach}
22
+ {/if}
23
+
24
+ {if isset($preload)}
25
+ <link
26
+ n:foreach="$preload as $url"
27
+ href="{$url->href|asset}"
28
+ {if isset($url->rel)}rel="{$url->rel}"{else}rel="preload"{/if}
29
+ {if isset($url->as)}as="{$url->as}"{/if}
30
+ {if isset($url->type)}type="{$url->type}"{/if}
31
+ {if isset($url->crossorigin)}crossorigin{/if}
32
+ >
33
+ {/if}
34
+
35
+ <link n:foreach="$assets->css->all as $url" href="{$url|asset}" rel="stylesheet">
36
+
37
+ {if isset($modulepreload)}
38
+ <link n:foreach="$modulepreload as $url" href="{$url|asset}" rel="modulepreload">
39
+ {/if}
40
+
41
+ <script>
42
+ (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) && document.documentElement.classList.add('dark')
43
+ document.documentElement.classList.remove('no-js')
44
+ </script>
45
+
46
+ <script src="{$assets->js->main|asset}" type="module"></script>
47
+
48
+ <link rel="icon" type="image/svg+xml" href="/favicons/favicon.svg">
49
+ <link rel="apple-touch-icon" type="image/webp" href="/favicons/favicon-512.webp">
50
+ <link rel="manifest" href="/favicons/manifest.webmanifest">
51
+ </head>
52
+ <body data-controller="x-app invoke" data-naja-snippet-append>
53
+ {include '../components/(layout)/Header.latte'}
54
+ <main class="x-main view-transition-main">
55
+ {include '../utils/sections.latte', sections => $body}
56
+ </main>
57
+ {include '../components/(layout)/Footer.latte'}
58
+
59
+ {if $cookieConsent}
60
+ {include '../components/cookieconsent/CookieConsentDialog.latte'}
61
+ {/if}
62
+
63
+ <ol class="x-toaster items-end">
64
+ {*include TEMPLATES_DIR . 'Components/(ui)/Toast.latte'*}
65
+ </ol>
66
+
67
+ {if true} {* load only on first load in production *}
68
+ {fetch('/src/icons.svg')|noescape}
69
+ {/if}
70
+ </body>
71
+ </html>
package/vite.config.js CHANGED
@@ -1,20 +1,8 @@
1
+ import { defineConfig } from 'vite'
1
2
  import core from '@newlogic-digital/core'
2
- import postcssHasPseudo from 'css-has-pseudo'
3
- import postcssCustomSelectors from 'postcss-custom-selectors'
4
3
 
5
- export default {
4
+ export default defineConfig({
6
5
  plugins: [
7
- core({
8
- latte: {
9
- globals: {
10
- template: './src/templates/Layout/Main.latte'
11
- }
12
- }
13
- })
14
- ],
15
- css: {
16
- postcss: {
17
- plugins: [postcssCustomSelectors(), postcssHasPseudo()]
18
- }
19
- }
20
- }
6
+ core()
7
+ ]
8
+ })
@@ -1,77 +0,0 @@
1
- @import "../../styles/Utils/theme/main.css";
2
-
3
- :root {
4
- --width: 660px;
5
- --container: 30px;
6
- }
7
-
8
- body {
9
- margin: 0;
10
- padding: 0;
11
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Roboto, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
12
- color: var(--color-default);
13
- }
14
-
15
- table {
16
- border-collapse: separate;
17
- }
18
-
19
- p {
20
- font-size: 16px;
21
- line-height: 1.5;
22
- color: var(--color-default);
23
- margin: 0;
24
- }
25
-
26
- .elm_container_wrapper {
27
- background-color: #fff;
28
- width: 100%;
29
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Roboto, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
30
- color: var(--color-default);
31
-
32
- & .elm_container {
33
- margin: 0;
34
- width: 100%;
35
- background-color: #fff;
36
-
37
- & > tr > td {
38
- padding: 0 var(--container);
39
-
40
- &.elm_full {
41
- padding: 0;
42
- }
43
- }
44
-
45
- & .elm_inner_container {
46
- width: var(--width);
47
- min-width: var(--width);
48
- padding: 0;
49
- }
50
- }
51
- }
52
-
53
- .elm_content {
54
- & .elm_content_info {
55
- color: #606060;
56
- font-size: 13px;
57
- line-height: 2;
58
-
59
- & a {
60
- &, & span {
61
- color: #606060;
62
- }
63
- }
64
- }
65
-
66
- & .elm_content_heading {
67
- font-size: 22px;
68
- font-weight: 600;
69
- color: var(--color-primary);
70
- }
71
- }
72
-
73
- @media print {
74
- * {
75
- -webkit-print-color-adjust: exact;
76
- }
77
- }
File without changes
@@ -1,24 +0,0 @@
1
- <tr class="nlm_content">
2
- <td>
3
- <table class="elm_inner_container">
4
- <tr>
5
- <td>
6
- <br />
7
- <div class="elm_content_heading">Děkujeme za Váš zájem</div>
8
- <br />
9
- Jsme opravdu rádi že jste se nám ozvali! Toto jsou Vaše údaje z formuláře:
10
- <br />
11
- <br />
12
- <p><strong>Jméno</strong>: Pavel Novák</p>
13
- <p><strong>Email</strong>: jmeno.prijmeni@email.cz</p>
14
- <p><strong>Telefon</strong>: +420111222333</p>
15
- <br/>
16
- <p><strong>Zpráva</strong>:</p>
17
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vitae est dui. Vestibulum vehicula in mi in interdum. Aliquam quis tempor nibh. Duis tincidunt vel purus tincidunt iaculis. In bibendum leo justo, et elementum justo dapibus et. Aliquam eu elementum magna. Fusce egestas urna ac venenatis auctor. Phasellus felis leo, suscipit non est sit amet, lobortis pellentesque urna. Ut enim leo, posuere eget mauris vel, egestas pellentesque metus. Curabitur ut est ut orci blandit suscipit. Morbi lacinia sapien luctus lectus maximus, vitae gravida lectus aliquet. Vestibulum ut placerat diam. Fusce dapibus tincidunt justo, sed venenatis nisl porttitor vitae.</p>
18
- <br />
19
- <div class="elm_content_info"><a href="https://www.nazevwebu.cz"><span>www.nazevwebu.cz</span></a></div>
20
- </td>
21
- </tr>
22
- </table>
23
- </td>
24
- </tr>
@@ -1,14 +0,0 @@
1
- <tr class="elm_header">
2
- <td>
3
- <table class="elm_inner_container">
4
- <tr n:foreach="range(1,2) as $i">
5
- <td>
6
- <br />
7
- <a href="#"><img src="https://via.placeholder.com/160x60" width="160" alt="" style="width: 160px" /></a>
8
- <br />
9
- <br />
10
- </td>
11
- </tr>
12
- </table>
13
- </td>
14
- </tr>
@@ -1,23 +0,0 @@
1
- <!DOCTYPE html>
2
- <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
- <title>Email Template</title>
6
- <!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]-->
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
- <style type="text/css" n:syntax="off">
9
- @import '/src/emails/styles/email.css';
10
- </style>
11
- </head>
12
- <body>
13
- <table class="elm_container_wrapper">
14
- <tr>
15
- <td>
16
- <table class="elm_container">
17
- <block name="body" with="locals"></block>
18
- </table>
19
- </td>
20
- </tr>
21
- </table>
22
- </body>
23
- </html>
@@ -1 +0,0 @@
1
- import './CookieConsent.js'