@newlogic-digital/ui 3.4.2 → 3.7.5

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 (180) hide show
  1. package/README.md +21 -15
  2. package/package.json +32 -24
  3. package/src/data/main.json +25 -15
  4. package/src/emails/styles/main/+.css +3 -0
  5. package/src/emails/styles/main/Base/+.css +2 -0
  6. package/src/emails/styles/main/Base/config.css +22 -0
  7. package/src/emails/styles/main/Components/+.css +1 -0
  8. package/src/emails/styles/main/Components/Card.css +12 -0
  9. package/src/emails/styles/main/Ui/+.css +3 -0
  10. package/src/emails/styles/main/Ui/Btn.css +78 -0
  11. package/src/emails/styles/main/Ui/Heading.css +8 -0
  12. package/src/emails/styles/main/Ui/Text.css +12 -0
  13. package/src/emails/styles/main.css +92 -0
  14. package/src/emails/{templates/Layout.twig → templates.test/Layout.latte} +17 -5
  15. package/src/emails/templates.test/Sections/Footer.latte +22 -0
  16. package/src/emails/templates.test/Sections/Header.latte +37 -0
  17. package/src/emails/templates.test/Sections/Text.latte +24 -0
  18. package/src/icons.svg +27 -21
  19. package/src/scripts/Components/+.js +2 -1
  20. package/src/scripts/Components/Drawer.js +60 -0
  21. package/src/scripts/Components/Popover.js +65 -0
  22. package/src/scripts/Layout/+.js +0 -1
  23. package/src/scripts/Layout/Header.js +14 -24
  24. package/src/scripts/Libraries/+.js +4 -8
  25. package/src/scripts/Libraries/CookieConsent.js +65 -52
  26. package/src/scripts/Libraries/Dialog.js +19 -36
  27. package/src/scripts/Libraries/Form.js +5 -25
  28. package/src/scripts/Libraries/Naja.js +22 -20
  29. package/src/scripts/Libraries/ReCaptcha.js +8 -30
  30. package/src/scripts/Libraries/Reveal.js +32 -0
  31. package/src/scripts/Libraries/Ripple.js +6 -22
  32. package/src/scripts/Libraries/Stimulus.js +49 -5
  33. package/src/scripts/Libraries/Swup.js +45 -32
  34. package/src/scripts/Libraries/Toaster.js +55 -0
  35. package/src/scripts/Ui/+.js +3 -3
  36. package/src/scripts/Ui/Check.js +8 -0
  37. package/src/scripts/Ui/Control.js +194 -0
  38. package/src/scripts/Ui/ControlSelect.js +25 -0
  39. package/src/scripts/Ui/Text.js +9 -11
  40. package/src/scripts/Utils/+.js +3 -3
  41. package/src/scripts/Utils/cdn.js +1 -3
  42. package/src/scripts/Utils/initAfter.js +11 -0
  43. package/src/scripts/Utils/naja.js +41 -0
  44. package/src/scripts/Utils/utilities.js +8 -0
  45. package/src/scripts/main.js +2 -1
  46. package/src/styles/Components/+.css +4 -3
  47. package/src/styles/Components/Dialog/+.css +2 -0
  48. package/src/styles/Components/Dialog/Content.css +2 -0
  49. package/src/styles/Components/Dialog/CookieConsent.css +17 -0
  50. package/src/styles/Components/Dialog/Default.css +2 -43
  51. package/src/styles/Components/Drawer.css +18 -0
  52. package/src/styles/Components/Field.css +1 -0
  53. package/src/styles/Components/Popover.css +1 -0
  54. package/src/styles/Components/Toaster.css +2 -0
  55. package/src/styles/Layout/Header.css +9 -45
  56. package/src/styles/Layout/Main.css +11 -75
  57. package/src/styles/Layout/Nav.css +13 -33
  58. package/src/styles/Libraries/+.css +1 -7
  59. package/src/styles/Libraries/Datepicker.css +38 -229
  60. package/src/styles/Libraries/Pickr.css +13 -0
  61. package/src/styles/Ui/+.css +5 -5
  62. package/src/styles/Ui/Badge.css +8 -82
  63. package/src/styles/Ui/Btn.css +14 -226
  64. package/src/styles/Ui/Check.css +1 -0
  65. package/src/styles/Ui/Control.css +57 -0
  66. package/src/styles/Ui/ControlSelect.css +57 -0
  67. package/src/styles/Ui/Group.css +1 -0
  68. package/src/styles/Ui/Heading.css +4 -22
  69. package/src/styles/Ui/Image.css +1 -17
  70. package/src/styles/Ui/Info.css +1 -0
  71. package/src/styles/Ui/Label.css +1 -14
  72. package/src/styles/Ui/Link.css +6 -39
  73. package/src/styles/Ui/Notice.css +5 -43
  74. package/src/styles/Ui/Progress.css +1 -56
  75. package/src/styles/Ui/Switch.css +1 -70
  76. package/src/styles/Ui/Text.css +1 -254
  77. package/src/styles/Ui/Title.css +4 -15
  78. package/src/styles/Utils/+.css +6 -10
  79. package/src/styles/Utils/breakpoints.css +1 -9
  80. package/src/styles/Utils/config.css +16 -0
  81. package/src/styles/Utils/default.css +15 -26
  82. package/src/styles/Utils/keyframes.css +1 -182
  83. package/src/styles/Utils/theme/+.css +1 -1
  84. package/src/styles/Utils/theme/main.css +28 -23
  85. package/src/styles/Utils/utilities.css +42 -0
  86. package/src/styles/main.css +16 -14
  87. package/src/styles/tinymce.css +34 -0
  88. package/src/templates/Components/Dialog/Basic.latte +24 -0
  89. package/src/templates/Components/Dialog/CookieConsent.latte +27 -0
  90. package/src/templates/Components/Form/CookieConsent.latte +47 -0
  91. package/src/templates/Layout/Header.latte +38 -0
  92. package/src/templates/Layout/Main.latte +73 -0
  93. package/src/templates/Sections/CookieConsent.latte +69 -0
  94. package/src/templates/Sections/Site.latte +213 -0
  95. package/src/templates/Sections/Text.latte +64 -0
  96. package/src/templates/Sections/Ui/Docs/@intro.html +16 -65
  97. package/src/templates/Sections/Ui/Docs/@nav.html +68 -129
  98. package/src/templates/Sections/Ui/Docs/@styles.html +3 -7
  99. package/src/templates/Sections/Ui/Docs/Default.latte +979 -0
  100. package/src/templates/Sections/Ui/Icons.html +11 -9
  101. package/src/templates/Sections/Ui/Intro.html +62 -79
  102. package/src/templates/Sections/Ui.latte +8 -0
  103. package/src/templates/Ui/+.latte +5 -0
  104. package/src/templates/Ui/Check.latte +7 -0
  105. package/src/templates/Ui/Control.latte +9 -0
  106. package/src/templates/Ui/ControlDate.latte +14 -0
  107. package/src/templates/Ui/ControlSelect.latte +9 -0
  108. package/src/templates/Ui/ControlTime.latte +14 -0
  109. package/src/templates/Utils/sections.latte +3 -0
  110. package/src/views/dialog/basic.json.latte +5 -0
  111. package/src/views/email/email.latte +6 -0
  112. package/src/views/email/email.test.latte +6 -0
  113. package/src/views/gdpr.json +6 -4
  114. package/src/views/index.json +1 -1
  115. package/src/views/popover/info.json.latte +15 -0
  116. package/src/views/site.json +11 -0
  117. package/src/views/ui-icons.json +1 -1
  118. package/src/views/ui.json +1 -1
  119. package/vite.config.js +17 -16
  120. package/src/emails/styles/email.css +0 -77
  121. package/src/emails/templates/Content.twig +0 -16
  122. package/src/emails/templates/Header.twig +0 -14
  123. package/src/scripts/Components/CookieConsent.js +0 -83
  124. package/src/scripts/Layout/Main.js +0 -47
  125. package/src/scripts/Libraries/Anchor.js +0 -35
  126. package/src/scripts/Libraries/Drawer.js +0 -45
  127. package/src/scripts/Libraries/NativeSlider.js +0 -138
  128. package/src/scripts/Libraries/Script.js +0 -19
  129. package/src/scripts/Libraries/Tabs.js +0 -16
  130. package/src/scripts/Libraries/Tippy.js +0 -120
  131. package/src/scripts/Ui/Checkbox.js +0 -10
  132. package/src/scripts/Ui/Input.js +0 -259
  133. package/src/scripts/Ui/Select.js +0 -53
  134. package/src/scripts/Utils/Functions/+.js +0 -6
  135. package/src/scripts/Utils/Functions/checkValidity.js +0 -44
  136. package/src/scripts/Utils/Functions/dataValue.js +0 -52
  137. package/src/scripts/Utils/Functions/importScript.js +0 -17
  138. package/src/scripts/Utils/Functions/importStyle.js +0 -18
  139. package/src/scripts/Utils/Functions/loadStimulus.js +0 -42
  140. package/src/scripts/Utils/Functions/replaceTag.js +0 -12
  141. package/src/scripts/Utils/global.js +0 -15
  142. package/src/styles/Components/CookieConsent.css +0 -71
  143. package/src/styles/Components/Dropdown/+.css +0 -1
  144. package/src/styles/Components/Dropdown/Default.css +0 -5
  145. package/src/styles/Components/Form/+.css +0 -1
  146. package/src/styles/Components/Form/CookieConsent.css +0 -31
  147. package/src/styles/Libraries/Dialog.css +0 -35
  148. package/src/styles/Libraries/Drawer.css +0 -70
  149. package/src/styles/Libraries/Hint.css +0 -201
  150. package/src/styles/Libraries/NativeSlider.css +0 -60
  151. package/src/styles/Libraries/Ripple.css +0 -16
  152. package/src/styles/Libraries/Tabs.css +0 -19
  153. package/src/styles/Libraries/Tippy.css +0 -87
  154. package/src/styles/Ui/Checkbox.css +0 -150
  155. package/src/styles/Ui/Icon.css +0 -33
  156. package/src/styles/Ui/Input.css +0 -467
  157. package/src/styles/Ui/Radio.css +0 -4
  158. package/src/styles/Ui/Select.css +0 -137
  159. package/src/styles/Utils/icons.css +0 -9
  160. package/src/styles/Utils/normalize.css +0 -223
  161. package/src/styles/Utils/tailwind/+.css +0 -3
  162. package/src/styles/Utils/tailwind/base.css +0 -3
  163. package/src/styles/Utils/tailwind/gutters.css +0 -346
  164. package/src/styles/Utils/tailwind/utilities.css +0 -48
  165. package/src/styles/Utils/vars.css +0 -91
  166. package/src/styles/Utils/vendor.css +0 -2
  167. package/src/templates/Components/CookieConsent.twig +0 -30
  168. package/src/templates/Components/Dialogs/Basic.twig +0 -22
  169. package/src/templates/Layout/Header.twig +0 -42
  170. package/src/templates/Layout/Main.twig +0 -49
  171. package/src/templates/Sections/Gdpr.twig +0 -64
  172. package/src/templates/Sections/Ui/Docs/Default.twig +0 -1600
  173. package/src/templates/Sections/Ui.twig +0 -8
  174. package/src/templates/Utils/sections.twig +0 -3
  175. package/src/views/dialog/basic.json.twig +0 -3
  176. package/src/views/dropdown/tippy.json.twig +0 -16
  177. package/src/views/email/email.twig +0 -6
  178. /package/src/{styles/Utils/print.css → emails/styles/main/Base/font.css} +0 -0
  179. /package/src/{templates/Components/Items → emails/templates}/.gitkeep +0 -0
  180. /package/src/templates/Layout/{Footer.twig → Footer.latte} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://ui.newlogic.cz/" target="_blank" rel="noopener noreferrer">
3
- <img width="180" src="https://ui.newlogic.cz/favicons/android-chrome-192x192.png" alt="Logo">
3
+ <img width="180" src="https://ui.newlogic.cz/favicons/favicon.svg" alt="Logo">
4
4
  </a>
5
5
  </p>
6
6
  <p align="center">
@@ -18,14 +18,24 @@ Lightweight, modern and modular CSS framework with the best principles
18
18
  - ✨️ Progressive
19
19
  - ⚡️ Fast
20
20
 
21
- Newlogic UI is component framework with easy syntax. Modern approach of CSS properties, enriched with utility classes from Tailwind. Inspired by favourite frameworks like Boostrap and Bulma
21
+ ## Příprava projektu pro implementaci
22
+ 1. nainstalovat node - `npm i`
23
+ 2. nainstalovat cms - `newlogic init cms`
24
+ 3. vytvořit si db na devlogic.cz a nastavit v `config/local.neon`
25
+ 4. spustit `docker compose up` a `vite`
26
+ 5. spustit `make prepare`
27
+ 6. spustit `make phinx-seed`
28
+ 7. nastavit `FTP_SERVER`, `DB_USERNAME` a `DB_PASSWORD` a vytvořit prostor na devlogic.cz
29
+ 8. commitnout změny a pushnout
22
30
 
23
- Javascript implementation is mainly intended for use on backend rendered websites and applications such as with PHP
31
+ Newlogic UI is component framework with easy syntax for backend integration. Modern approach of CSS properties, enriched with utility classes from TailwindCSS and powered by Winduum.
32
+
33
+ Javascript implementation is only **28 kB** and mainly intended for use on backend rendered websites and applications with PHP framework Nette
24
34
 
25
35
  ## ⚙️ Under the hood
26
- * **[Vituum](https://vituum.dev/)** - a small wrapper around Vite, adds support of template engines and more
27
- * **[Newlogic Core](https://github.com/newlogic-digital/core)** - integration for Vituum, adds pre-defined config of integrations and more
28
- * **[ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)** - completely written in modern JS syntax - ES8+, ES module, etc.
36
+ * **[Vituum](https://vituum.dev/)** - plugins for Vite, adds support for template engines and more.
37
+ * **[Newlogic Core](https://github.com/newlogic-digital/core)** - starter pack for creating modern web applications. Powered by Vite and Vituum.
38
+ * **[ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)** - completely written in modern JS syntax - esnext, ES modules, etc.
29
39
  * **[PostCSS](https://postcss.org/)** - completely written in modern CSS syntax - nesting, variables, etc.
30
40
  * **[Tailwind CSS](https://tailwindcss.com/)** - rich utility classes for everything
31
41
  * **[Stimulus](https://stimulus.hotwire.dev/)** - a modest JavaScript framework for the HTML you already have
@@ -33,11 +43,11 @@ Javascript implementation is mainly intended for use on backend rendered website
33
43
  * **Easy syntax** - .ui-btn (ui elements), .c-component (components), .c-section (sections) etc.
34
44
 
35
45
 
36
- The core of the Newlogic UI is Vituum with Newlogic Core, which compiles modern JS and CSS syntax and contains other tools for web development. Source code can be used with any other tools or even different environment than NodeJS, eg. Deno and is written in W3C standards and should be runnable in current or future version of browsers. The framework is modular, and you can really use only what is needed for your project.
46
+ Newlogic UI uses Newlogic Core, which compiles modern JS and CSS syntax via Vite and Vituum. Source code can be used with any other tools or even different environment than NodeJS, e.g. Deno and is written in W3C standards and should be runnable in current or future version of browsers.
37
47
 
38
48
  ## 🪄 Get started
39
49
 
40
- Creating a new project (using Vituum)
50
+ Creating a new project (with Vituum and Newlogic Core)
41
51
  ```sh
42
52
  $ git clone --depth 1 https://github.com/newlogic-digital/ui.git newlogic-ui-project
43
53
  $ cd newlogic-ui-project && npm i
@@ -57,22 +67,18 @@ $ npm i @newlogic-digital/ui
57
67
 
58
68
  ```css
59
69
  /* main.css or individual modules */
60
- @import "node_modules/@newlogic-digital/ui/src/styles/main.css"
70
+ @import "@newlogic-digital/ui/src/styles/main.css"
61
71
  ```
62
72
 
63
73
  ```js
64
74
  /* main.js or individual modules */
65
- import "node_modules/@newlogic-digital/ui/src/scripts/main.js"
75
+ import "@newlogic-digital/ui/src/scripts/main.js"
66
76
  ```
67
77
 
68
78
  ### Requirements
69
79
 
70
80
  - [Node.js LTS (16.x)](https://nodejs.org/en/download/)
71
- - [NPM (7.x)](https://www.npmjs.com/package/npm) or any other package manager
72
-
73
- ### Config
74
-
75
- Each Vituum project has to have config via `vite.config.js`, docs - [vituum.dev](https://vituum.dev)
81
+ - [NPM (9.x)](https://www.npmjs.com/package/npm) or any other package manager
76
82
 
77
83
  ## Licence
78
84
  GNU GPLv3
package/package.json CHANGED
@@ -1,49 +1,57 @@
1
1
  {
2
2
  "name": "@newlogic-digital/ui",
3
- "version": "3.4.2",
3
+ "version": "3.7.5",
4
4
  "type": "module",
5
5
  "main": "vite.config.js",
6
6
  "author": "New Logic Studio s.r.o.",
7
7
  "description": "Lightweight, modern and modular CSS framework with the best principles",
8
8
  "license": "GNU GPLv3",
9
9
  "scripts": {
10
- "postinstall": "rm -rf node_modules/typed-query-selector",
11
- "dev": "vite",
10
+ "postinstall": "rm -rf node_modules/typed-query-selector && ncu",
11
+ "dev": "npm run cleanup && vite",
12
+ "dev-emails": "npm run cleanup && vite --mode emails",
12
13
  "preview": "vite preview",
13
- "build": "vite build --mode development",
14
- "build-production": "vite build",
14
+ "build": "npm run cleanup && vite build --mode development",
15
+ "build-production": "npm run cleanup && vite build",
15
16
  "build-emails": "vite build --mode emails",
16
- "emails": "vituum emails",
17
- "cleanup": "vituum cleanup",
17
+ "cleanup": "git clean -qdfX public -e \\!userfiles",
18
18
  "eslint": "eslint 'src/scripts/**/*.js'",
19
19
  "eslint-fix": "eslint 'src/scripts/**/*.js' --fix",
20
20
  "stylelint": "stylelint 'src/styles/**/*.css'",
21
- "stylelint-fix": "stylelint 'src/styles/**/*.css' --fix"
21
+ "stylelint-fix": "stylelint 'src/styles/**/*.css' --fix",
22
+ "npm-update": "ncu -u && npm update",
23
+ "npm-sort": "npm r -S example && npm r -D example"
22
24
  },
23
25
  "dependencies": {
24
- "@simonwep/pickr": "^1.8.2",
25
- "@hotwired/stimulus": "^3.2.1",
26
- "winduum": "^0.1.18",
27
- "swup": "^3.1.1",
28
- "naja": "^2.5.0",
29
- "tippy.js": "^6.3.7",
30
- "vanillajs-datepicker": "^1.3.3",
31
- "css-has-pseudo": "^5.0.2"
26
+ "@floating-ui/dom": "^1.6.12",
27
+ "@hotwired/stimulus": "^3.2.2",
28
+ "@newlogic-digital/cookieconsent-js": "^1.0.0",
29
+ "@newlogic-digital/utils-js": "^1.1.1",
30
+ "@simonwep/pickr": "^1.9.1",
31
+ "air-datepicker": "^3.5.3",
32
+ "eslint": "^9.15.0",
33
+ "naja": "^3.2.1",
34
+ "neostandard": "^0.11.8",
35
+ "stylelint-config-standard": "^36.0.1",
36
+ "swup": "^4.8.1",
37
+ "winduum": "^1.2.4"
32
38
  },
33
39
  "devDependencies": {
34
- "@newlogic-digital/core": "^2.0.0",
35
- "@types/grecaptcha": "^3.0.4",
36
- "eslint-config-standard": "^17.1.0",
37
- "stylelint-config-standard": "^33.0.0",
38
- "stylelint-stylistic": "^0.4.2",
39
- "postcss-custom-selectors": "^7.1.3"
40
+ "@newlogic-digital/core": "^2.1.2",
41
+ "@stylistic/stylelint-config": "^2.0.0",
42
+ "@tailwindcss/container-queries": "^0.1.1",
43
+ "@types/grecaptcha": "^3.0.9",
44
+ "npm-check-updates": "^17.1.11",
45
+ "vite": "^5.4.11"
40
46
  },
41
47
  "files": [
42
48
  "src"
43
49
  ],
50
+ "exports": {
51
+ "./src/*": "./src/*"
52
+ },
44
53
  "engines": {
45
- "node": ">=16.0.0",
46
- "npm": ">=7.10.0"
54
+ "node": "^18.0.0 || >=20.0.0"
47
55
  },
48
56
  "repository": {
49
57
  "type": "git",
@@ -1,28 +1,37 @@
1
1
  {
2
+ "baseUrl": "https://localhost:5173",
2
3
  "lang": "en",
3
4
  "prefetch": [
4
5
  "https://cdn.jsdelivr.net",
5
6
  "https://fonts.gstatic.com",
6
7
  "https://fonts.googleapis.com"
7
8
  ],
9
+ "preload": [
10
+ {
11
+ "href": "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=block",
12
+ "rel": "preload stylesheet",
13
+ "as": "style",
14
+ "crossorigin": true
15
+ },
16
+ {
17
+ "href": "https://fonts.gstatic.com/s/poppins/v20/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2",
18
+ "as": "font",
19
+ "type": "font/woff2",
20
+ "crossorigin": true
21
+ }
22
+ ],
8
23
  "assets": {
9
24
  "css": {
10
25
  "all": [
11
- "/src/styles/main.css",
12
- "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=block"
13
- ],
14
- "tailwind": "/temp/tailwind.css",
15
- "tailwind.src": "/src/styles/tailwind.css",
16
- "ratio": "/temp/ratio.css"
26
+ "/src/styles/main.css"
27
+ ]
17
28
  },
18
29
  "js": {
19
- "importmap": "/public/importmap.json",
20
- "main": "/src/scripts/main.js",
21
- "lazysizes": "https://cdn.jsdelivr.net/npm/lazysizes@5.3.2/lazysizes.min.js"
30
+ "main": "/src/scripts/main.js"
22
31
  }
23
32
  },
24
33
  "layout": {
25
- "cookies": false,
34
+ "cookies": true,
26
35
  "nav": [
27
36
  {
28
37
  "name": "Home",
@@ -39,11 +48,12 @@
39
48
  ]
40
49
  },
41
50
  "media": {
42
- "min-1280": "(min-width: 1280px)",
43
- "min-960": "(min-width: 960px)",
44
- "min-768": "(min-width: 768px)",
45
- "max-400": "(max-width: 767px)",
46
- "min-320": "(min-width: 320px)"
51
+ "min-xl": "(min-width: 1216px)",
52
+ "max-lg": "(max-width: 959px)",
53
+ "min-lg": "(min-width: 960px)",
54
+ "min-md": "(min-width: 768px)",
55
+ "max-md": "(max-width: 767px)",
56
+ "min-xs": "(min-width: 360px)"
47
57
  },
48
58
  "lazy": {
49
59
  "1x1": "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
@@ -0,0 +1,3 @@
1
+ @import "Base/+.css";
2
+ @import "Components/+.css";
3
+ @import "Ui/+.css";
@@ -0,0 +1,2 @@
1
+ @import "config.css";
2
+ @import "font.css";
@@ -0,0 +1,22 @@
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
+ }
@@ -0,0 +1 @@
1
+ @import "Card.css";
@@ -0,0 +1,12 @@
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
+ }
@@ -0,0 +1,3 @@
1
+ @import "Btn.css";
2
+ @import "Heading.css";
3
+ @import "Text.css";
@@ -0,0 +1,78 @@
1
+ .ui-btn-group {
2
+ width: auto;
3
+
4
+ & td {
5
+ padding-top: 10px;
6
+ padding-bottom: 10px;
7
+ }
8
+ }
9
+
10
+
11
+ .ui-btn {
12
+ padding: 10px 15px;
13
+ background-color: rgb(var(--color-primary));
14
+ font-size: 12px;
15
+ border-radius: var(--rounded);
16
+ font-weight: 700;
17
+ transition: var(--transition-background), var(--transition-color);
18
+
19
+ &.lg {
20
+ padding: 20px;
21
+ border-radius: 999px;
22
+ font-size: 16px;
23
+ }
24
+
25
+ &, & span {
26
+ color: rgb(var(--color-light));
27
+ text-decoration: none;
28
+ }
29
+
30
+ & span {
31
+ transition: var(--transition-color);
32
+ }
33
+
34
+ &.ghosted {
35
+ background-color: transparent;
36
+
37
+ &, & span {
38
+ color: rgb(var(--color-primary));
39
+ }
40
+ }
41
+
42
+ &:hover {
43
+ background-color: rgba(var(--color-primary), 0.8) !important;
44
+
45
+ &[class*="text-main"] {
46
+ background-color: rgba(var(--color-main), 0.15) !important;
47
+ }
48
+ }
49
+ }
50
+
51
+ .ui-btn-table {
52
+ & table {
53
+ background-color: rgb(var(--color-primary));
54
+ width: auto;
55
+ border-radius: 999px;
56
+ font-weight: 700;
57
+ transition: var(--transition-background), var(--transition-color);
58
+ }
59
+
60
+ & td {
61
+ padding: 16px 20px;
62
+ }
63
+
64
+ &, & span {
65
+ color: rgb(var(--color-light));
66
+ text-decoration: none;
67
+ }
68
+
69
+ &:hover {
70
+ & table {
71
+ background-color: rgba(var(--color-primary), 0.8) !important;
72
+
73
+ &[class*="text-main"] {
74
+ background-color: rgba(var(--color-main), 0.15) !important;
75
+ }
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,8 @@
1
+ .ui-heading {
2
+ font-size: 16px;
3
+ font-weight: 700;
4
+
5
+ &.lg {
6
+ font-size: 28px;
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ .ui-text {
2
+ font-size: 14px;
3
+ font-weight: 400;
4
+ line-height: 24px;
5
+ mso-line-height-rule: exactly;
6
+
7
+ &.sm {
8
+ font-size: 13px;
9
+ font-weight: 400;
10
+ line-height: 20px;
11
+ }
12
+ }
@@ -0,0 +1,92 @@
1
+ @import "tailwindcss/base.css";
2
+ @import "tailwindcss/components.css";
3
+ @import "tailwindcss/utilities.css";
4
+ @import "tailwindcss/variants.css";
5
+ @import "main/Base/font.css";
6
+ @import "main/Ui/+.css";
7
+ @import "main/Components/+.css";
8
+
9
+ :where([class*="border-"]) {
10
+ border-width: 0;
11
+ border-style: solid;
12
+ }
13
+
14
+ body {
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ table {
20
+ width: 100%;
21
+ }
22
+
23
+ a {
24
+ &, img {
25
+ text-decoration: none;
26
+ color: rgb(var(--color-main));
27
+ }
28
+
29
+ & img {
30
+ font-weight: 700;
31
+ }
32
+ }
33
+
34
+ .l-main {
35
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Roboto, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
36
+ width: 600px;
37
+ }
38
+
39
+ .l-main-body {
40
+ background-color: rgb(var(--color-body-secondary));
41
+ border-radius: var(--rounded);
42
+
43
+ & > tr {
44
+ &:first-child > td {
45
+ padding-top: var(--spacing-container-inner);
46
+ }
47
+
48
+ &:last-child > td {
49
+ padding-bottom: var(--spacing-container-inner);
50
+ }
51
+ }
52
+ }
53
+
54
+ .dark-img {
55
+ display: none !important;
56
+ }
57
+
58
+ @media (prefers-color-scheme: dark) {
59
+ body {
60
+ background-color: rgb(var(--color-body-primary-dark));
61
+ color: rgb(var(--color-light));
62
+ border-radius: var(--rounded);
63
+ }
64
+
65
+ a {
66
+ &, img {
67
+ color: rgb(var(--color-light)) !important;
68
+ }
69
+ }
70
+
71
+ .l-main-body {
72
+ background-color: rgb(var(--color-body-secondary-dark)) !important;
73
+ }
74
+
75
+ [class*="border-main/10"] {
76
+ border-color: rgba(var(--color-light), 0.15) !important;
77
+ }
78
+
79
+ [class*="text-main"] {
80
+ &, & span {
81
+ color: rgb(var(--color-light)) !important;
82
+ }
83
+ }
84
+
85
+ .light-img {
86
+ display: none !important;
87
+ }
88
+
89
+ .dark-img {
90
+ display: block !important;
91
+ }
92
+ }
@@ -5,19 +5,31 @@
5
5
  <title>Email Template</title>
6
6
  <!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]-->
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
- <style type="text/css">
9
- @import '/src/emails/styles/email.css';
8
+
9
+ {var $forceLightMode = false}
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/emails/styles/main.css';
10
21
  </style>
11
22
  </head>
12
23
  <body>
13
- <table class="elm_container_wrapper">
24
+ <table class="l-main" align="center">
14
25
  <tr>
15
- <td>
16
- <table class="elm_container">
26
+ <td class="p-container" align="center">
27
+ <table class="l-main-body w-full">
17
28
  <block name="body" with="locals"></block>
18
29
  </table>
19
30
  </td>
20
31
  </tr>
32
+ <include src="emails/templates.test/Sections/Footer.latte"></include>
21
33
  </table>
22
34
  </body>
23
35
  </html>
@@ -0,0 +1,22 @@
1
+ <tr class="s-footer">
2
+ <td class="p-container pt-[16px]">
3
+ <table class="s_body" align="center">
4
+ <tr>
5
+ <td class="px-container-inner">
6
+ <table>
7
+ <tr>
8
+ <td class="ui-text sm pr-[160px]">
9
+ Název webu<br>
10
+ Adresa
11
+ </td>
12
+ <td class="ui-text sm">
13
+ <a href="mailto:info@example.com"><span>info@example.com</span></a><br>
14
+ <a href="tel:+420111222333"><span>(+420) 111 222 333</span></a>
15
+ </td>
16
+ </tr>
17
+ </table>
18
+ </td>
19
+ </tr>
20
+ </table>
21
+ </td>
22
+ </tr>
@@ -0,0 +1,37 @@
1
+ <tr class="s-header">
2
+ <td>
3
+ <table class="s_body" align="center">
4
+ <tr>
5
+ <td class="px-container-inner">
6
+ <table>
7
+ <tr>
8
+ <td>
9
+ <a href="https://www.bookolosystem.com" target="_blank">
10
+ <img src="https://via.placeholder.com/160x60" alt="Logo" class="light-img w-[160px] h-[60px] block">
11
+ <!--[if !mso]><! -->
12
+ <img src="https://via.placeholder.com/160x60" alt="Logo" class="dark-img w-[160px] h-[60px] block"
13
+ style="{if $forceLightMode}background-color: rgb(245,245,245);border-radius: 8px;padding: 6px{/if}">
14
+ <!--<![endif]-->
15
+ </a>
16
+ </td>
17
+ <td class="text-right">
18
+ <table class="ui-btn-group" align="right">
19
+ <tr>
20
+ <td>
21
+ <a href="#" class="ui-btn"><span>Zobrazit web</span></a>
22
+ </td>
23
+ </tr>
24
+ </table>
25
+ </td>
26
+ </tr>
27
+ </table>
28
+ <table>
29
+ <tr><td class="border-b border-main/10 pb-[32px]"></td></tr>
30
+ <tr><td class="pb-[32px]"></td></tr>
31
+ </table>
32
+ </td>
33
+ </tr>
34
+ </table>
35
+ </td>
36
+ </tr>
37
+
@@ -0,0 +1,24 @@
1
+ <tr class="s-text">
2
+ <td>
3
+ <table class="s_body" align="center">
4
+ <tr>
5
+ <td class="px-container-inner">
6
+ <table>
7
+ <tr>
8
+ <td class="ui-heading lg pb-[24px]">
9
+ Lorem ipsum
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <td class="ui-text">
14
+ Hello David,<br>
15
+ 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.
16
+ </td>
17
+ </tr>
18
+ </table>
19
+ </td>
20
+ </tr>
21
+ </table>
22
+ </td>
23
+ </tr>
24
+