@newlogic-digital/ui 3.7.5 → 4.2.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 (224) hide show
  1. package/README.md +17 -31
  2. package/package.json +22 -15
  3. package/src/data/main.json +2 -32
  4. package/src/data/nav.json +12 -0
  5. package/src/icons.svg +0 -30
  6. package/src/pages/dialog/basic.json.latte +5 -0
  7. package/src/pages/email/index.json +12 -0
  8. package/src/pages/example/popover-autocomplete.json +8 -0
  9. package/src/pages/gdpr.json +11 -0
  10. package/src/pages/index.json +8 -0
  11. package/src/scripts/components/(ui)/+.js +13 -0
  12. package/src/scripts/components/(ui)/Button.js +4 -0
  13. package/src/scripts/components/(ui)/Carousel.js +4 -0
  14. package/src/scripts/components/(ui)/Compare.js +4 -0
  15. package/src/scripts/components/(ui)/Control.js +11 -0
  16. package/src/scripts/components/(ui)/ControlSelect.js +4 -0
  17. package/src/scripts/components/(ui)/Details.js +4 -0
  18. package/src/scripts/components/(ui)/Dialog.js +17 -0
  19. package/src/scripts/components/(ui)/Drawer.js +4 -0
  20. package/src/scripts/components/(ui)/Form.js +15 -0
  21. package/src/scripts/components/(ui)/Popover.js +4 -0
  22. package/src/scripts/components/(ui)/Range.js +4 -0
  23. package/src/scripts/components/(ui)/Tabs.js +4 -0
  24. package/src/scripts/components/(ui)/Toast.js +4 -0
  25. package/src/scripts/components/+.js +5 -0
  26. package/src/scripts/components/App.js +5 -0
  27. package/src/scripts/components/ReCaptcha.js +4 -0
  28. package/src/scripts/components/Reveal.js +4 -0
  29. package/src/scripts/components/cookieconsent/+.js +2 -0
  30. package/src/scripts/components/cookieconsent/CookieConsentDialog.js +4 -0
  31. package/src/scripts/components/cookieconsent/CookieConsentForm.js +4 -0
  32. package/src/scripts/composables/+.js +3 -0
  33. package/src/scripts/composables/naja.js +24 -0
  34. package/src/scripts/composables/stimulus.js +31 -0
  35. package/src/scripts/composables/swup.js +23 -0
  36. package/src/scripts/main.js +4 -6
  37. package/src/scripts/utils/+.js +1 -0
  38. package/src/scripts/utils/initAfter.js +11 -0
  39. package/src/styles/base/+.css +5 -0
  40. package/src/styles/{Utils/default.css → base/defaults.css} +17 -1
  41. package/src/styles/base/transitions.css +12 -0
  42. package/src/styles/base/variants.css +11 -0
  43. package/src/styles/components/(layout)/+.css +2 -0
  44. package/src/styles/components/(layout)/Header.css +13 -0
  45. package/src/styles/components/(layout)/Main.css +24 -0
  46. package/src/styles/components/(ui)/+.css +25 -0
  47. package/src/styles/components/(ui)/Badge.css +8 -0
  48. package/src/styles/components/(ui)/Button.css +12 -0
  49. package/src/styles/components/(ui)/Carousel.css +2 -0
  50. package/src/styles/components/(ui)/Check.css +4 -0
  51. package/src/styles/components/(ui)/Compare.css +1 -0
  52. package/src/styles/components/(ui)/Control.css +31 -0
  53. package/src/styles/components/(ui)/ControlSelect.css +1 -0
  54. package/src/styles/components/(ui)/Drawer.css +16 -0
  55. package/src/styles/components/(ui)/Field.css +1 -0
  56. package/src/styles/components/(ui)/Group.css +2 -0
  57. package/src/styles/components/(ui)/Heading.css +14 -0
  58. package/src/styles/components/(ui)/Image.css +2 -0
  59. package/src/styles/components/(ui)/Info.css +2 -0
  60. package/src/styles/components/(ui)/Label.css +2 -0
  61. package/src/styles/components/(ui)/Link.css +2 -0
  62. package/src/styles/components/(ui)/Notice.css +2 -0
  63. package/src/styles/components/(ui)/Popover.css +13 -0
  64. package/src/styles/components/(ui)/Progress.css +6 -0
  65. package/src/styles/components/(ui)/Range.css +4 -0
  66. package/src/styles/components/(ui)/Switch.css +4 -0
  67. package/src/styles/components/(ui)/Text.css +2 -0
  68. package/src/styles/components/(ui)/Title.css +14 -0
  69. package/src/styles/components/(ui)/Toast.css +4 -0
  70. package/src/styles/components/(ui)/Toaster.css +2 -0
  71. package/src/styles/components/(ui)/dialog/+.css +2 -0
  72. package/src/styles/components/(ui)/dialog/Dialog.css +2 -0
  73. package/src/styles/components/(ui)/dialog/DialogContent.css +2 -0
  74. package/src/styles/components/+.css +3 -0
  75. package/src/styles/components/cookieconsent/+.css +1 -0
  76. package/src/styles/components/cookieconsent/CookieConsentDialog.css +19 -0
  77. package/src/styles/emails/base/+.css +2 -0
  78. package/src/styles/emails/base/defaults.css +23 -0
  79. package/src/styles/emails/components/+.css +4 -0
  80. package/src/styles/emails/components/Button.css +32 -0
  81. package/src/styles/emails/components/Heading.css +7 -0
  82. package/src/styles/emails/components/Main.css +13 -0
  83. package/src/{emails/styles/main/Ui → styles/emails/components}/Text.css +8 -5
  84. package/src/styles/emails/main.css +8 -0
  85. package/src/styles/emails/theme/+.css +2 -0
  86. package/src/styles/emails/theme/config.css +16 -0
  87. package/src/styles/emails/theme/default.css +13 -0
  88. package/src/styles/emails/utils/+.css +1 -0
  89. package/src/styles/emails/utils/common.css +29 -0
  90. package/src/styles/main.css +17 -16
  91. package/src/styles/theme/+.css +2 -0
  92. package/src/styles/theme/dark.css +6 -0
  93. package/src/styles/{Utils/theme → theme}/main.css +11 -14
  94. package/src/styles/tinymce.css +2 -34
  95. package/src/styles/utils/+.css +3 -0
  96. package/src/styles/utils/index.css +5 -0
  97. package/src/styles/utils/reveal.css +21 -0
  98. package/src/styles/utils/scrollbar.css +23 -0
  99. package/src/templates/components/(example)/PopoverAutocomplete.latte +27 -0
  100. package/src/templates/components/(layout)/Footer.latte +1 -0
  101. package/src/templates/components/(layout)/Header.latte +7 -0
  102. package/src/templates/components/(ui)/Toast.latte +9 -0
  103. package/src/templates/{Sections/Text.latte → components/Content.latte} +3 -3
  104. package/src/templates/components/Example.latte +17 -0
  105. package/src/templates/{Sections/CookieConsent.latte → components/cookieconsent/CookieConsentContent.latte} +4 -4
  106. package/src/templates/components/cookieconsent/CookieConsentDialog.latte +27 -0
  107. package/src/templates/{Components/Form/CookieConsent.latte → components/cookieconsent/CookieConsentForm.latte} +9 -9
  108. package/src/templates/components/dialog/DialogBasic.latte +18 -0
  109. package/src/templates/emails/components/Content.latte +29 -0
  110. package/src/templates/emails/components/Footer.latte +13 -0
  111. package/src/templates/emails/components/Header.latte +8 -0
  112. package/src/templates/emails/layouts/default.latte +44 -0
  113. package/src/templates/{Layout/Main.latte → layouts/default.latte} +26 -28
  114. package/vite.config.js +3 -18
  115. package/src/emails/styles/main/+.css +0 -3
  116. package/src/emails/styles/main/Base/+.css +0 -2
  117. package/src/emails/styles/main/Base/config.css +0 -22
  118. package/src/emails/styles/main/Components/+.css +0 -1
  119. package/src/emails/styles/main/Components/Card.css +0 -12
  120. package/src/emails/styles/main/Ui/+.css +0 -3
  121. package/src/emails/styles/main/Ui/Btn.css +0 -78
  122. package/src/emails/styles/main/Ui/Heading.css +0 -8
  123. package/src/emails/styles/main.css +0 -92
  124. package/src/emails/templates/.gitkeep +0 -0
  125. package/src/emails/templates.test/Layout.latte +0 -35
  126. package/src/emails/templates.test/Sections/Footer.latte +0 -22
  127. package/src/emails/templates.test/Sections/Header.latte +0 -37
  128. package/src/emails/templates.test/Sections/Text.latte +0 -24
  129. package/src/scripts/Components/+.js +0 -2
  130. package/src/scripts/Components/Drawer.js +0 -60
  131. package/src/scripts/Components/Popover.js +0 -65
  132. package/src/scripts/Layout/+.js +0 -1
  133. package/src/scripts/Layout/Header.js +0 -20
  134. package/src/scripts/Libraries/+.js +0 -10
  135. package/src/scripts/Libraries/CookieConsent.js +0 -80
  136. package/src/scripts/Libraries/Dialog.js +0 -28
  137. package/src/scripts/Libraries/Form.js +0 -13
  138. package/src/scripts/Libraries/Naja.js +0 -37
  139. package/src/scripts/Libraries/ReCaptcha.js +0 -25
  140. package/src/scripts/Libraries/Reveal.js +0 -32
  141. package/src/scripts/Libraries/Ripple.js +0 -8
  142. package/src/scripts/Libraries/Stimulus.js +0 -56
  143. package/src/scripts/Libraries/Swup.js +0 -77
  144. package/src/scripts/Libraries/Toaster.js +0 -55
  145. package/src/scripts/Sections/+.js +0 -0
  146. package/src/scripts/Ui/+.js +0 -4
  147. package/src/scripts/Ui/Check.js +0 -8
  148. package/src/scripts/Ui/Control.js +0 -194
  149. package/src/scripts/Ui/ControlSelect.js +0 -25
  150. package/src/scripts/Ui/Text.js +0 -21
  151. package/src/scripts/Utils/+.js +0 -3
  152. package/src/scripts/Utils/cdn.js +0 -5
  153. package/src/scripts/Utils/initAfter.js +0 -11
  154. package/src/scripts/Utils/naja.js +0 -41
  155. package/src/scripts/Utils/utilities.js +0 -8
  156. package/src/styles/Components/+.css +0 -5
  157. package/src/styles/Components/Dialog/+.css +0 -3
  158. package/src/styles/Components/Dialog/Content.css +0 -2
  159. package/src/styles/Components/Dialog/CookieConsent.css +0 -17
  160. package/src/styles/Components/Dialog/Default.css +0 -2
  161. package/src/styles/Components/Drawer.css +0 -18
  162. package/src/styles/Components/Field.css +0 -1
  163. package/src/styles/Components/Popover.css +0 -1
  164. package/src/styles/Components/Toaster.css +0 -2
  165. package/src/styles/Layout/+.css +0 -3
  166. package/src/styles/Layout/Header.css +0 -18
  167. package/src/styles/Layout/Main.css +0 -31
  168. package/src/styles/Layout/Nav.css +0 -23
  169. package/src/styles/Libraries/+.css +0 -2
  170. package/src/styles/Libraries/Datepicker.css +0 -54
  171. package/src/styles/Libraries/Pickr.css +0 -13
  172. package/src/styles/Sections/+.css +0 -1
  173. package/src/styles/Ui/+.css +0 -16
  174. package/src/styles/Ui/Badge.css +0 -8
  175. package/src/styles/Ui/Btn.css +0 -14
  176. package/src/styles/Ui/Check.css +0 -1
  177. package/src/styles/Ui/Control.css +0 -57
  178. package/src/styles/Ui/ControlSelect.css +0 -57
  179. package/src/styles/Ui/Group.css +0 -1
  180. package/src/styles/Ui/Heading.css +0 -4
  181. package/src/styles/Ui/Image.css +0 -1
  182. package/src/styles/Ui/Info.css +0 -1
  183. package/src/styles/Ui/Label.css +0 -1
  184. package/src/styles/Ui/Link.css +0 -8
  185. package/src/styles/Ui/Notice.css +0 -9
  186. package/src/styles/Ui/Progress.css +0 -1
  187. package/src/styles/Ui/Switch.css +0 -1
  188. package/src/styles/Ui/Text.css +0 -1
  189. package/src/styles/Ui/Title.css +0 -4
  190. package/src/styles/Utils/+.css +0 -6
  191. package/src/styles/Utils/config.css +0 -16
  192. package/src/styles/Utils/theme/+.css +0 -1
  193. package/src/styles/Utils/utilities.css +0 -42
  194. package/src/templates/Components/Dialog/Basic.latte +0 -24
  195. package/src/templates/Components/Dialog/CookieConsent.latte +0 -27
  196. package/src/templates/Layout/Footer.latte +0 -0
  197. package/src/templates/Layout/Header.latte +0 -38
  198. package/src/templates/Sections/Site.latte +0 -213
  199. package/src/templates/Sections/Ui/Docs/@intro.html +0 -48
  200. package/src/templates/Sections/Ui/Docs/@nav.html +0 -134
  201. package/src/templates/Sections/Ui/Docs/@styles.html +0 -96
  202. package/src/templates/Sections/Ui/Docs/Default.latte +0 -979
  203. package/src/templates/Sections/Ui/Icons.html +0 -30
  204. package/src/templates/Sections/Ui/Intro.html +0 -119
  205. package/src/templates/Sections/Ui.latte +0 -8
  206. package/src/templates/Ui/+.latte +0 -5
  207. package/src/templates/Ui/Check.latte +0 -7
  208. package/src/templates/Ui/Control.latte +0 -9
  209. package/src/templates/Ui/ControlDate.latte +0 -14
  210. package/src/templates/Ui/ControlSelect.latte +0 -9
  211. package/src/templates/Ui/ControlTime.latte +0 -14
  212. package/src/views/dialog/basic.json.latte +0 -5
  213. package/src/views/email/email.latte +0 -6
  214. package/src/views/email/email.test.latte +0 -6
  215. package/src/views/gdpr.json +0 -14
  216. package/src/views/index.json +0 -12
  217. package/src/views/popover/info.json.latte +0 -15
  218. package/src/views/site.json +0 -11
  219. package/src/views/ui-icons.json +0 -12
  220. package/src/views/ui.json +0 -11
  221. /package/src/styles/{Utils → base}/breakpoints.css +0 -0
  222. /package/src/styles/{Utils → base}/keyframes.css +0 -0
  223. /package/src/{emails/styles/main/Base/font.css → styles/emails/base/fonts.css} +0 -0
  224. /package/src/templates/{Utils → utils}/sections.latte +0 -0
@@ -1,34 +1,2 @@
1
- @import "Utils/theme/main.css";
2
- @import "Utils/config.css";
3
- @import "Ui/Text.css";
4
-
5
- .ui-text {
6
- & .row {
7
- display: flex;
8
- box-sizing: border-box;
9
- flex-wrap: wrap;
10
-
11
- & > .col {
12
- box-sizing: border-box;
13
- padding-top: 0;
14
- padding-bottom: 0;
15
- border: 1px dotted rgb(0 0 0 / 50%);
16
-
17
- &.col-6 {
18
- width: calc(6 / 12 * 100%);
19
- }
20
-
21
- &.col-8 {
22
- width: calc(8 / 12 * 100%);
23
- }
24
-
25
- &.col-4 {
26
- width: calc(4 / 12 * 100%);
27
- }
28
-
29
- &.col-3 {
30
- width: calc(3 / 12 * 100%);
31
- }
32
- }
33
- }
34
- }
1
+ @import "./theme/main.css";
2
+ @import "./components/(ui)/Text.css";
@@ -0,0 +1,3 @@
1
+ @import "./index.css";
2
+ @import "./reveal.css";
3
+ @import "./scrollbar.css";
@@ -0,0 +1,5 @@
1
+ @import "winduum/src/utilities/container/props/default.css" layer(theme);
2
+ @import "winduum/src/utilities/ripple/keyframes/default.css";
3
+ @import "winduum/src/utilities/skeleton/props/default.css" layer(theme);
4
+ @import "winduum/src/utilities/spinner/keyframes/ring.css";
5
+ @import "winduum/tailwindcss/utilities/index.css";
@@ -0,0 +1,21 @@
1
+ @utility reveal {
2
+ opacity: 0;
3
+ transition-property: var(--default-transition-property);
4
+ transition-timing-function: var(--ease-in-out);
5
+ transition-duration: 0.75s;
6
+ will-change: transform;
7
+
8
+ @media (prefers-reduced-motion), (scripting: none), print {
9
+ opacity: 1;
10
+ scale: none;
11
+ translate: none;
12
+ rotate: none;
13
+ }
14
+
15
+ &:is([data-in]) {
16
+ opacity: 1;
17
+ scale: none;
18
+ translate: none;
19
+ rotate: none;
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ @utility no-scrollbar {
2
+ scrollbar-width: none;
3
+
4
+ &::-webkit-scrollbar {
5
+ display: none;
6
+ }
7
+ }
8
+
9
+ @utility 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,27 @@
1
+ <div class="x-popover trigger-focus group mx-auto w-80" data-controller="x-popover">
2
+ <div class="x-control w-full">
3
+ <input
4
+ data-action="input->x-popover#autocomplete"
5
+ data-x-popover-target="autocomplete"
6
+ type="search"
7
+ placeholder="Vyhledávání ..."
8
+ autocomplete="off"
9
+ role="combobox"
10
+ aria-autocomplete="list"
11
+ aria-controls="popoverContent"
12
+ aria-haspopup="listbox"
13
+ aria-expanded="true"
14
+ value="Volba"
15
+ >
16
+ </div>
17
+ <div
18
+ class="x-popover-content center flex flex-col shadow dark:bg-body-secondary mt-2 p-2 gap-2 w-full empty:closed group-not-has-aria-expanded:closed"
19
+ data-x-popover-target="content"
20
+ role="listbox"
21
+ id="popoverContent"
22
+ >
23
+ <button id="option-1" class="x-button ghosted justify-start" role="option" data-action="click->x-popover#selectDescendant">Volba 1</button>
24
+ <button id="option-2" class="x-button ghosted justify-start" role="option" data-action="click->x-popover#selectDescendant">Volba 2</button>
25
+ <button id="option-3" class="x-button ghosted justify-start" role="option" data-action="click->x-popover#selectDescendant">Volba 3</button>
26
+ </div>
27
+ </div>
@@ -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>
@@ -1,6 +1,6 @@
1
- <div class="s-text py-12 grid-cols-container gap-8">
2
- <h1 class="ui-heading">Zásady ochrany osobních údajů</h1>
3
- <div class="ui-text">
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
4
  <p><strong>Správce osobních údajů a subjekt údajů</strong></p>
5
5
  <p>Správcem osobních údajů je společnost provozující tento web, rezervační službu.</p>
6
6
  <p>Subjektem údajů je fyzická osoba, která správci poskytla svoje osobní údaje na základě nájemní smlouvy, kupní
@@ -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 lg 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>
@@ -1,6 +1,6 @@
1
- <div class="s-text py-16 md:py-28 grid-cols-container gap-8">
2
- <h2 class="ui-heading">Zásady používání cookies</h2>
3
- <div class="ui-text">
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
4
  <p style="text-align: left;">Tyto webové stránky používají k poskytování služeb, personalizaci
5
5
  reklam a analýze návštěvnosti soubory cookies. Pokud nepovolíte využití reklamních cookies, web
6
6
  bude používat pouze cookies nezbytné k tomu, abyste se mohli pohybovat po webu a používat jeho
@@ -65,5 +65,5 @@
65
65
  </tbody>
66
66
  </table>
67
67
  </div>
68
- {include '../Components/Form/CookieConsent.latte'}
68
+ {include 'CookieConsentForm.latte'}
69
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>
@@ -1,6 +1,6 @@
1
- <form class="c-form-cookieconsent flex flex-col gap-8 mt-8" data-controller="c-form-cookieconsent" data-action="submit->c-form-cookieconsent#update:prevent" autocomplete="off">
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
2
  <div class="flex-col">
3
- <div class="ui-text">
3
+ <div class="x-text">
4
4
  <h3 style="text-align: left;">Nastavení cookies</h3>
5
5
  <p style="text-align: left;">
6
6
  Následujícím nastavením můžete upravit jaké soubory cookie
@@ -9,39 +9,39 @@
9
9
  </div>
10
10
  </div>
11
11
  <div class="flex-col">
12
- <div class="ui-text mb-4">
12
+ <div class="x-text mb-4">
13
13
  <h5>Nutné cookies</h5>
14
14
  <p>
15
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
16
  </p>
17
17
  </div>
18
- <label class="ui-switch">
18
+ <label class="x-switch">
19
19
  <input type="checkbox" value="decline" checked disabled>
20
20
  </label>
21
21
  </div>
22
22
  <div class="flex-col">
23
- <div class="ui-text mb-4">
23
+ <div class="x-text mb-4">
24
24
  <h5>Statistické soubory cookies</h5>
25
25
  <p>
26
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
27
  </p>
28
28
  </div>
29
- <label class="ui-switch">
29
+ <label class="x-switch">
30
30
  <input type="checkbox" value="performance">
31
31
  </label>
32
32
  </div>
33
33
  <div class="flex-col">
34
- <div class="ui-text mb-4">
34
+ <div class="x-text mb-4">
35
35
  <h5>Reklamní soubory cookies</h5>
36
36
  <p>
37
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
38
  </p>
39
39
  </div>
40
- <label class="ui-switch">
40
+ <label class="x-switch">
41
41
  <input type="checkbox" value="marketing">
42
42
  </label>
43
43
  </div>
44
44
  <div class="flex-col items-start">
45
- <button class="ui-btn">Uložit předvolby</button>
45
+ <button class="x-button">Uložit předvolby</button>
46
46
  </div>
47
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,44 @@
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
+ <link rel="stylesheet" href="/src/styles/emails/main.css">
20
+
21
+ <script type="module" n:if="VITE_SERVER">
22
+ if (import.meta.hot && window.location.search === '?send') {
23
+ import.meta.hot.send('my:send', {
24
+ filename: window.location.href,
25
+ content:
26
+ new XMLSerializer().serializeToString(document.doctype) +
27
+ document.documentElement.outerHTML.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "")
28
+ })
29
+ }
30
+ </script>
31
+ </head>
32
+ <body>
33
+ <table class="x-main w-full" align="center">
34
+ <tr>
35
+ <td class="p-[20px]" align="center">
36
+ <table class="x-main-body container">
37
+ {include '../../utils/sections.latte', sections => $body}
38
+ </table>
39
+ </td>
40
+ </tr>
41
+ {include '../components/Footer.latte'}
42
+ </table>
43
+ </body>
44
+ </html>
@@ -1,8 +1,8 @@
1
1
  <!DOCTYPE html>
2
- <html class="no-js" lang="en">
2
+ <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <title>{$page->title}</title>
5
+ <title>{$title}</title>
6
6
 
7
7
  <meta name="keywords" content="">
8
8
  <meta name="description" content="">
@@ -10,7 +10,7 @@
10
10
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
11
11
  <meta name="format-detection" content="telephone=no">
12
12
  <meta name="mobile-web-app-capable" content="yes">
13
- <meta name="apple-mobile-web-app-title" content="{$page->title}">
13
+ <meta name="apple-mobile-web-app-title" content="{$title}">
14
14
  <meta name="apple-mobile-web-app-capable" content="yes">
15
15
  <meta name="theme-color" content="#ffffff">
16
16
 
@@ -22,50 +22,48 @@
22
22
  {/if}
23
23
 
24
24
  {if isset($preload)}
25
- {foreach $preload as $url}
26
- <link
27
- {if isset($url->rel)}rel="{$url->rel}"{else}rel="preload"{/if}
28
- href="{$url->href|asset}"
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
- {/foreach}
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
+ >
34
33
  {/if}
35
34
 
36
- {foreach $assets->css->all as $url}
37
- <link rel="stylesheet" href="{$url|asset}">
38
- {/foreach}
35
+ <link n:foreach="$assets->css->all as $url" href="{$url|asset}" rel="stylesheet">
39
36
 
40
37
  {if isset($modulepreload)}
41
- {foreach $modulepreload as $url}
42
- <link rel="modulepreload" href="{$url|asset}">
43
- {/foreach}
38
+ <link n:foreach="$modulepreload as $url" href="{$url|asset}" rel="modulepreload">
44
39
  {/if}
45
40
 
46
41
  <script>
47
42
  (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) && document.documentElement.classList.add('dark')
48
- document.documentElement.classList.remove('no-js')
49
43
  </script>
50
44
 
51
45
  <script src="{$assets->js->main|asset}" type="module"></script>
52
46
 
53
47
  <link rel="icon" type="image/svg+xml" href="/favicons/favicon.svg">
48
+ <link rel="icon" type="image/webp" href="/favicons/favicon-512.webp">
54
49
  <link rel="apple-touch-icon" type="image/webp" href="/favicons/favicon-512.webp">
55
50
  <link rel="manifest" href="/favicons/manifest.webmanifest">
56
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'}
57
58
 
58
- <body data-controller="controller utils lib-dialog lib-ripple lib-reveal lib-toaster">
59
- {include '../Layout/Header.latte'}
60
- <main class="l-main swup-transition">
61
- {include '../Utils/sections.latte', sections => $page->body}
62
- </main>
63
- {include '../Layout/Footer.latte'}
64
-
65
- {if $layout->cookies}
66
- {include '../Components/Dialog/CookieConsent.latte'}
59
+ {if $cookieConsent}
60
+ {include '../components/cookieconsent/CookieConsentDialog.latte'}
67
61
  {/if}
68
62
 
63
+ <ol class="x-toaster items-end">
64
+ {*include TEMPLATES_DIR . 'Components/(ui)/Toast.latte'*}
65
+ </ol>
66
+
69
67
  {if true} {* load only on first load in production *}
70
68
  {fetch('/src/icons.svg')|noescape}
71
69
  {/if}
package/vite.config.js CHANGED
@@ -4,24 +4,9 @@ import core from '@newlogic-digital/core'
4
4
  export default defineConfig({
5
5
  plugins: [
6
6
  core({
7
- juice: {
8
- postcss: {
9
- globalData: {
10
- files: ['./src/emails/styles/main/Base/config.css']
11
- }
12
- }
7
+ css: {
8
+ transformer: 'lightningcss'
13
9
  }
14
10
  })
15
- ],
16
- build: {
17
- target: ['edge111', 'firefox111', 'chrome111', 'safari16'],
18
- rollupOptions: {
19
- output: {
20
- manualChunks: {
21
- swup: ['swup'],
22
- stimulus: ['@hotwired/stimulus']
23
- }
24
- }
25
- }
26
- }
11
+ ]
27
12
  })
@@ -1,3 +0,0 @@
1
- @import "Base/+.css";
2
- @import "Components/+.css";
3
- @import "Ui/+.css";
@@ -1,2 +0,0 @@
1
- @import "config.css";
2
- @import "font.css";
@@ -1,22 +0,0 @@
1
- :root {
2
- --color-primary: 131, 205, 79;
3
- --color-main: 21, 23, 26;
4
- --color-body-primary: 255, 255, 255;
5
- --color-body-secondary: 245, 245, 245;
6
- --color-body-tertiary: 230, 230, 230;
7
- --color-light: 255, 255, 255;
8
- }
9
-
10
- :root {
11
- --color-body-primary-dark: 21, 23, 26;
12
- --color-body-secondary-dark: 41, 43, 46;
13
- --color-body-tertiary-dark: 61, 63, 66;
14
- }
15
-
16
- :root {
17
- --spacing-container: 20px;
18
- --spacing-container-inner: 30px;
19
- --rounded: 20px;
20
- --transition-background: background-color 0.2s ease;
21
- --transition-color: color 0.2s ease;
22
- }
@@ -1 +0,0 @@
1
- @import "Card.css";
@@ -1,12 +0,0 @@
1
- .c-card {
2
- background-color: rgb(var(--color-body-tertiary));
3
- border-radius: var(--rounded);
4
-
5
- @media (prefers-color-scheme: dark) {
6
- background-color: rgb(var(--color-body-tertiary-dark)) !important;
7
- }
8
-
9
- & > tr > td {
10
- padding: 28px 24px;
11
- }
12
- }
@@ -1,3 +0,0 @@
1
- @import "Btn.css";
2
- @import "Heading.css";
3
- @import "Text.css";