kritzel-stencil 0.4.19 → 0.4.21

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 (217) hide show
  1. package/LICENSE +21 -21
  2. package/LICENSE.md +49 -49
  3. package/dist/cjs/{index-Dn19mGl-.js → index-Xav9JFHg.js} +11 -47
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/kritzel-active-users_47.cjs.entry.js +151 -119
  6. package/dist/cjs/kritzel-brush-style.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{schema.constants-CY0WWJYd.js → schema.constants-CjN-B633.js} +20 -44
  9. package/dist/cjs/stencil.cjs.js +2 -2
  10. package/dist/collection/classes/structures/app-state-map.structure.js +16 -6
  11. package/dist/collection/collection-manifest.json +1 -1
  12. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  13. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  14. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  15. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  16. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
  17. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +18 -18
  18. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
  19. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +43 -21
  20. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
  21. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
  22. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  23. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  24. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  25. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  26. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
  27. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  28. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  29. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  30. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  31. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  32. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
  33. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  34. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  35. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  36. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  37. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  38. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
  39. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  40. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  41. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  42. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  43. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  44. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  45. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  46. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  47. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  48. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  49. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  50. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
  51. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  52. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  53. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  54. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  55. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  56. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
  57. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  58. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  59. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  60. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  61. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  62. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  63. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  64. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  65. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  66. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  67. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +50 -50
  68. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
  69. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  70. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  71. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  72. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  73. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  74. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
  75. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
  76. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  77. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  78. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  79. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
  80. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  81. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  82. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  83. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +50 -50
  84. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  85. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  86. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  87. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
  88. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  89. package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
  90. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
  91. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  92. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
  93. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  94. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  95. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  96. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  97. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
  98. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
  99. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  100. package/dist/collection/constants/version.js +1 -1
  101. package/dist/collection/helpers/cursor.helper.js +6 -6
  102. package/dist/collection/helpers/svg-export.helper.js +41 -41
  103. package/dist/components/index.js +3 -3
  104. package/dist/components/kritzel-active-users.js +1 -1
  105. package/dist/components/kritzel-avatar.js +1 -1
  106. package/dist/components/kritzel-awareness-cursors.js +1 -1
  107. package/dist/components/kritzel-back-to-content.js +1 -1
  108. package/dist/components/kritzel-brush-style.js +4 -4
  109. package/dist/components/kritzel-button.js +1 -1
  110. package/dist/components/kritzel-color-palette.js +1 -1
  111. package/dist/components/kritzel-color.js +1 -1
  112. package/dist/components/kritzel-context-menu.js +1 -1
  113. package/dist/components/kritzel-controls.js +1 -1
  114. package/dist/components/kritzel-current-user-dialog.js +1 -1
  115. package/dist/components/kritzel-current-user.js +1 -1
  116. package/dist/components/kritzel-cursor-trail.js +1 -1
  117. package/dist/components/kritzel-dialog.js +1 -1
  118. package/dist/components/kritzel-dropdown.js +1 -1
  119. package/dist/components/kritzel-editor.js +56 -56
  120. package/dist/components/kritzel-engine.js +1 -1
  121. package/dist/components/kritzel-export.js +1 -1
  122. package/dist/components/kritzel-font-family.js +1 -1
  123. package/dist/components/kritzel-font-size.js +1 -1
  124. package/dist/components/kritzel-font.js +1 -1
  125. package/dist/components/kritzel-icon.js +1 -1
  126. package/dist/components/kritzel-input.js +1 -1
  127. package/dist/components/kritzel-line-endings.js +1 -1
  128. package/dist/components/kritzel-loading-overlay.js +1 -1
  129. package/dist/components/kritzel-login-dialog.js +1 -1
  130. package/dist/components/kritzel-master-detail.js +1 -1
  131. package/dist/components/kritzel-menu-item.js +1 -1
  132. package/dist/components/kritzel-menu.js +1 -1
  133. package/dist/components/kritzel-more-menu.js +1 -1
  134. package/dist/components/kritzel-notification-card.js +1 -1
  135. package/dist/components/kritzel-numeric-input.js +1 -1
  136. package/dist/components/kritzel-opacity-slider.js +1 -1
  137. package/dist/components/kritzel-pill-tabs.js +1 -1
  138. package/dist/components/kritzel-portal.js +1 -1
  139. package/dist/components/kritzel-settings.js +1 -1
  140. package/dist/components/kritzel-shape-fill.js +1 -1
  141. package/dist/components/kritzel-share-dialog.js +1 -1
  142. package/dist/components/kritzel-slide-toggle.js +1 -1
  143. package/dist/components/kritzel-split-button.js +1 -1
  144. package/dist/components/kritzel-stroke-size.js +1 -1
  145. package/dist/components/kritzel-sync-indicator.js +1 -1
  146. package/dist/components/kritzel-tool-config.js +1 -1
  147. package/dist/components/kritzel-tooltip.js +1 -1
  148. package/dist/components/kritzel-utility-panel.js +1 -1
  149. package/dist/components/kritzel-watermark.js +1 -1
  150. package/dist/components/kritzel-workspace-manager.js +1 -1
  151. package/dist/components/kritzel-zoom-panel.js +1 -1
  152. package/dist/components/{p-CLAz6RJc.js → p-2WiGyky4.js} +3 -3
  153. package/dist/components/{p-zG-WUBGF.js → p-4SPnZZkH.js} +4 -4
  154. package/dist/components/{p-MhQxGUvY.js → p-B-585egz.js} +3 -3
  155. package/dist/components/{p-C9_yBEoX.js → p-B43upypT.js} +10 -30
  156. package/dist/components/{p-CSKToqUl.js → p-B5SWPDuq.js} +4 -4
  157. package/dist/components/{p-Covorf4C.js → p-BFYtCsZu.js} +3 -3
  158. package/dist/components/{p-DYPA7jpg.js → p-BPsKYMH6.js} +2 -2
  159. package/dist/components/{p-BL0aCu3R.js → p-BdCrcQ0_.js} +9 -9
  160. package/dist/components/{p-Cx-L_28S.js → p-BoN700-O.js} +3 -3
  161. package/dist/components/{p-ME1sDz3f.js → p-BozrueXV.js} +2 -2
  162. package/dist/components/{p-D2VcPEtL.js → p-BrNsOp2v.js} +6 -6
  163. package/dist/components/{p-BXUx_C0N.js → p-BsLI_BWq.js} +2 -2
  164. package/dist/components/{p-dAXnRkjA.js → p-C98Eb3_R.js} +5 -5
  165. package/dist/components/{p-Bxi-Bm49.js → p-CAoN_STZ.js} +2 -2
  166. package/dist/components/{p-CSWCmyzb.js → p-CF8pLc07.js} +5 -5
  167. package/dist/components/{p-D3BzgkIE.js → p-CSPYkLLH.js} +2 -2
  168. package/dist/components/{p-Ck-87E2G.js → p-CSuU8frA.js} +1 -1
  169. package/dist/components/{p-Di--2boB.js → p-CXpv9Rxe.js} +3 -3
  170. package/dist/components/{p-Csxx9TbU.js → p-C_f_QElb.js} +104 -96
  171. package/dist/components/{p-o3NYKrVL.js → p-CaBbajU2.js} +3 -3
  172. package/dist/components/{p-3tBE7SyG.js → p-Cm33td2O.js} +2 -2
  173. package/dist/components/{p-vDCa_ZDm.js → p-CrHvaLRV.js} +3 -3
  174. package/dist/components/{p-DT_WBwsw.js → p-CwZ3KKFq.js} +6 -6
  175. package/dist/components/{p-BZZ3KRPk.js → p-CzW58DHM.js} +3 -3
  176. package/dist/components/{p-BrqSjRJN.js → p-Czhdc844.js} +3 -3
  177. package/dist/components/{p-BkXQL5Dl.js → p-D1rjfWgJ.js} +5 -5
  178. package/dist/components/{p-DPsbNStn.js → p-DB58Oa5V.js} +2 -2
  179. package/dist/components/{p-DafP9PAA.js → p-DBqoPgev.js} +2 -2
  180. package/dist/components/{p-BrA9NBEE.js → p-DDTMGbtA.js} +21 -21
  181. package/dist/components/{p-Dznwo6oc.js → p-DKGg-76-.js} +2 -2
  182. package/dist/components/{p-Dp1CD4gK.js → p-DVXTPI71.js} +2 -2
  183. package/dist/components/{p-QSyeAy8R.js → p-DX2nriaq.js} +2 -2
  184. package/dist/components/{p-CHoOe3FD.js → p-Df3BwVGy.js} +3 -3
  185. package/dist/components/{p-DcUIO14-.js → p-Dt7-I2Xz.js} +4 -4
  186. package/dist/components/{p-BShrnlam.js → p-DtnMdWWB.js} +2 -2
  187. package/dist/components/{p-Ch-KG9To.js → p-DwMqCX2P.js} +3 -3
  188. package/dist/components/{p-fSV6KVTC.js → p-GKmqCI8r.js} +3 -3
  189. package/dist/components/{p-CWAChRD5.js → p-HoO86l1o.js} +12 -12
  190. package/dist/components/{p-Qdo3E8dr.js → p-PjPPCHVL.js} +2 -2
  191. package/dist/components/{p-D6JycG-I.js → p-bAacqNHq.js} +3 -3
  192. package/dist/components/{p-DjXQxw9R.js → p-djJSnjAX.js} +3 -3
  193. package/dist/components/{p-b0J2ktAm.js → p-dsxHDlQ3.js} +7 -7
  194. package/dist/components/{p-BppcoKoo.js → p-eZXIu4yK.js} +5 -5
  195. package/dist/components/{p-BFYT03fw.js → p-fL9rl200.js} +3 -3
  196. package/dist/components/{p-1Q4VnThv.js → p-jIKskj3S.js} +3 -3
  197. package/dist/components/{p-D0Trc3IQ.js → p-vqEUQ-4Q.js} +5 -5
  198. package/dist/esm/{index-2va1Pk9z.js → index-Dhio9uis.js} +11 -47
  199. package/dist/esm/index.js +2 -2
  200. package/dist/esm/kritzel-active-users_47.entry.js +151 -119
  201. package/dist/esm/kritzel-brush-style.entry.js +2 -2
  202. package/dist/esm/loader.js +2 -2
  203. package/dist/esm/{schema.constants-DBvUmuDH.js → schema.constants-DfvqHmxc.js} +20 -44
  204. package/dist/esm/stencil.js +3 -3
  205. package/dist/stencil/index.esm.js +2 -2
  206. package/dist/stencil/{p-0250005e.entry.js → p-832b80e9.entry.js} +151 -119
  207. package/dist/stencil/{p-DBvUmuDH.js → p-DfvqHmxc.js} +20 -44
  208. package/dist/stencil/{p-2va1Pk9z.js → p-Dhio9uis.js} +11 -47
  209. package/dist/stencil/{p-df06ca3a.entry.js → p-fb32cd8f.entry.js} +2 -2
  210. package/dist/stencil/stencil.esm.js +4 -4
  211. package/dist/types/classes/structures/app-state-map.structure.d.ts +6 -0
  212. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +5 -0
  213. package/dist/types/constants/version.d.ts +1 -1
  214. package/dist/types/stencil-public-runtime.d.ts +0 -12
  215. package/loader/index.d.ts +1 -1
  216. package/package.json +1 -1
  217. package/readme.md +10 -10
@@ -1,209 +1,209 @@
1
- :host {
2
- display: contents;
3
- }
4
-
5
- .dialog-content {
6
- text-align: start;
7
- line-height: normal;
8
- }
9
-
10
- .backdrop {
11
- position: fixed;
12
- top: 0;
13
- left: 0;
14
- right: 0;
15
- bottom: 0;
16
- z-index: 10002;
17
- display: flex;
18
- align-items: center;
19
- justify-content: center;
20
- background-color: var(--kritzel-dialog-backdrop-color, rgba(0, 0, 0, 0.5));
21
- opacity: 1;
22
- transition: opacity 150ms ease-out;
23
- }
24
-
25
- .backdrop.is-animating {
26
- opacity: 0;
27
- }
28
-
29
- .dialog-content {
30
- position: relative;
31
- display: flex;
32
- flex-direction: column;
33
- background-color: var(--kritzel-dialog-background-color, #ffffff);
34
- border-radius: var(--kritzel-dialog-border-radius, 12px);
35
- box-shadow: var(--kritzel-dialog-box-shadow, 0 4px 20px rgba(0, 0, 0, 0.15));
36
- border: var(--kritzel-dialog-border, 1px solid #ebebeb);
37
- max-height: var(--kritzel-dialog-max-height, 90vh);
38
- max-width: var(--kritzel-dialog-max-width, 90vw);
39
- overflow: hidden;
40
- transform: scale(1);
41
- opacity: 1;
42
- transition:
43
- transform 200ms ease-out,
44
- opacity 200ms ease-out;
45
- font-family: var(--kritzel-dialog-font-family, sans-serif);
46
- }
47
-
48
- .dialog-content.is-animating {
49
- transform: scale(0.95);
50
- opacity: 0;
51
- }
52
-
53
- /* Size variants */
54
- .dialog-content.size-small {
55
- width: var(--kritzel-dialog-width-small, 320px);
56
- height: var(--kritzel-dialog-height-small, auto);
57
- }
58
-
59
- .dialog-content.size-medium {
60
- width: var(--kritzel-dialog-width-medium, 480px);
61
- height: var(--kritzel-dialog-height-medium, auto);
62
- }
63
-
64
- .dialog-content.size-large {
65
- width: var(--kritzel-dialog-width-large, 640px);
66
- height: var(--kritzel-dialog-height-large, auto);
67
- }
68
-
69
- .dialog-content.size-fullscreen {
70
- width: 100vw;
71
- height: 100vh;
72
- height: 100dvh;
73
- max-width: 100vw;
74
- max-height: 100vh;
75
- max-height: 100dvh;
76
- border-radius: 0;
77
- }
78
-
79
- /*
80
- * Contained-mobile: when the wrapping container itself is mobile-sized, the
81
- * dialog fills the container fully (mirrors the viewport fullscreen-on-mobile
82
- * behavior). The actual sizing is set inline by JS based on the container
83
- * rect; here we just remove decorations and ensure body flex layout.
84
- */
85
- .backdrop.contained-fullscreen {
86
- background-color: transparent;
87
- }
88
-
89
- .dialog-content.contained-fullscreen {
90
- border-radius: 0;
91
- }
92
-
93
- .dialog-content.contained-fullscreen .dialog-body {
94
- display: flex;
95
- flex-direction: column;
96
- }
97
-
98
- .dialog-content.contained-fullscreen .dialog-body ::slotted(*) {
99
- flex: 1;
100
- min-height: 0;
101
- }
102
-
103
- /* Responsive: auto fullscreen on mobile when enabled (portrait) */
104
- @media (max-width: 576px),
105
- (max-height: 576px) and (orientation: landscape) {
106
- .backdrop:has(.fullscreen-on-mobile) {
107
- background-color: transparent;
108
- }
109
-
110
- .dialog-content.fullscreen-on-mobile {
111
- width: 100vw;
112
- height: 100vh;
113
- height: 100dvh;
114
- max-width: 100vw;
115
- max-height: 100vh;
116
- max-height: 100dvh;
117
- border-radius: 0;
118
- }
119
-
120
- .dialog-content.fullscreen-on-mobile .dialog-body {
121
- display: flex;
122
- flex-direction: column;
123
- }
124
-
125
- .dialog-content.fullscreen-on-mobile .dialog-body ::slotted(*) {
126
- flex: 1;
127
- min-height: 0;
128
- }
129
- }
130
-
131
- .dialog-header {
132
- display: flex;
133
- align-items: center;
134
- justify-content: space-between;
135
- padding: var(--kritzel-dialog-header-padding, 16px 20px);
136
- border-bottom: var(--kritzel-dialog-header-border, 1px solid #ebebeb);
137
- gap: 12px;
138
- }
139
-
140
- .dialog-title {
141
- margin: 0;
142
- font-size: var(--kritzel-dialog-title-font-size, 18px);
143
- font-weight: var(--kritzel-dialog-title-font-weight, 600);
144
- color: var(--kritzel-dialog-title-color, #1a1a1a);
145
- flex: 1;
146
- overflow: hidden;
147
- text-overflow: ellipsis;
148
- white-space: nowrap;
149
- }
150
-
151
- .close-button {
152
- display: flex;
153
- align-items: center;
154
- justify-content: center;
155
- width: 32px;
156
- height: 32px;
157
- padding: 0;
158
- border: none;
159
- border-radius: var(--kritzel-dialog-close-button-border-radius, 6px);
160
- background-color: var(--kritzel-dialog-close-button-background, transparent);
161
- color: var(--kritzel-dialog-close-button-color, #666666);
162
- cursor: var(--kritzel-global-pointer-cursor, pointer);
163
- transition:
164
- background-color 150ms ease,
165
- color 150ms ease;
166
- flex-shrink: 0;
167
- -webkit-tap-highlight-color: transparent;
168
- }
169
-
170
- .close-button:hover {
171
- background-color: var(--kritzel-dialog-close-button-hover-background, #f5f5f5);
172
- color: var(--kritzel-dialog-close-button-hover-color, #1a1a1a);
173
- }
174
-
175
- .close-button:active {
176
- background-color: var(--kritzel-dialog-close-button-active-background, #ebebeb);
177
- }
178
-
179
- .close-button:focus-visible {
180
- outline: revert;
181
- outline-offset: revert;
182
- }
183
-
184
- .dialog-body {
185
- padding: var(--kritzel-dialog-body-padding, 20px);
186
- overflow-y: auto;
187
- flex: 1;
188
- min-height: 0;
189
- scrollbar-color: var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;
190
- scrollbar-width: thin;
191
- }
192
-
193
- .dialog-footer {
194
- display: flex;
195
- align-items: center;
196
- justify-content: flex-end;
197
- gap: var(--kritzel-dialog-footer-gap, 8px);
198
- padding: var(--kritzel-dialog-footer-padding, 16px 20px);
199
- border-top: var(--kritzel-dialog-footer-border, 1px solid #ebebeb);
200
- }
201
-
202
- /* Slotted content styling hints */
203
- ::slotted([slot='header']) {
204
- flex: 1;
205
- }
206
-
207
- ::slotted([slot='footer']) {
208
- display: contents;
209
- }
1
+ :host {
2
+ display: contents;
3
+ }
4
+
5
+ .dialog-content {
6
+ text-align: start;
7
+ line-height: normal;
8
+ }
9
+
10
+ .backdrop {
11
+ position: fixed;
12
+ top: 0;
13
+ left: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ z-index: 10002;
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ background-color: var(--kritzel-dialog-backdrop-color, rgba(0, 0, 0, 0.5));
21
+ opacity: 1;
22
+ transition: opacity 150ms ease-out;
23
+ }
24
+
25
+ .backdrop.is-animating {
26
+ opacity: 0;
27
+ }
28
+
29
+ .dialog-content {
30
+ position: relative;
31
+ display: flex;
32
+ flex-direction: column;
33
+ background-color: var(--kritzel-dialog-background-color, #ffffff);
34
+ border-radius: var(--kritzel-dialog-border-radius, 12px);
35
+ box-shadow: var(--kritzel-dialog-box-shadow, 0 4px 20px rgba(0, 0, 0, 0.15));
36
+ border: var(--kritzel-dialog-border, 1px solid #ebebeb);
37
+ max-height: var(--kritzel-dialog-max-height, 90vh);
38
+ max-width: var(--kritzel-dialog-max-width, 90vw);
39
+ overflow: hidden;
40
+ transform: scale(1);
41
+ opacity: 1;
42
+ transition:
43
+ transform 200ms ease-out,
44
+ opacity 200ms ease-out;
45
+ font-family: var(--kritzel-dialog-font-family, sans-serif);
46
+ }
47
+
48
+ .dialog-content.is-animating {
49
+ transform: scale(0.95);
50
+ opacity: 0;
51
+ }
52
+
53
+ /* Size variants */
54
+ .dialog-content.size-small {
55
+ width: var(--kritzel-dialog-width-small, 320px);
56
+ height: var(--kritzel-dialog-height-small, auto);
57
+ }
58
+
59
+ .dialog-content.size-medium {
60
+ width: var(--kritzel-dialog-width-medium, 480px);
61
+ height: var(--kritzel-dialog-height-medium, auto);
62
+ }
63
+
64
+ .dialog-content.size-large {
65
+ width: var(--kritzel-dialog-width-large, 640px);
66
+ height: var(--kritzel-dialog-height-large, auto);
67
+ }
68
+
69
+ .dialog-content.size-fullscreen {
70
+ width: 100vw;
71
+ height: 100vh;
72
+ height: 100dvh;
73
+ max-width: 100vw;
74
+ max-height: 100vh;
75
+ max-height: 100dvh;
76
+ border-radius: 0;
77
+ }
78
+
79
+ /*
80
+ * Contained-mobile: when the wrapping container itself is mobile-sized, the
81
+ * dialog fills the container fully (mirrors the viewport fullscreen-on-mobile
82
+ * behavior). The actual sizing is set inline by JS based on the container
83
+ * rect; here we just remove decorations and ensure body flex layout.
84
+ */
85
+ .backdrop.contained-fullscreen {
86
+ background-color: transparent;
87
+ }
88
+
89
+ .dialog-content.contained-fullscreen {
90
+ border-radius: 0;
91
+ }
92
+
93
+ .dialog-content.contained-fullscreen .dialog-body {
94
+ display: flex;
95
+ flex-direction: column;
96
+ }
97
+
98
+ .dialog-content.contained-fullscreen .dialog-body ::slotted(*) {
99
+ flex: 1;
100
+ min-height: 0;
101
+ }
102
+
103
+ /* Responsive: auto fullscreen on mobile when enabled (portrait) */
104
+ @media (max-width: 576px),
105
+ (max-height: 576px) and (orientation: landscape) {
106
+ .backdrop:has(.fullscreen-on-mobile) {
107
+ background-color: transparent;
108
+ }
109
+
110
+ .dialog-content.fullscreen-on-mobile {
111
+ width: 100vw;
112
+ height: 100vh;
113
+ height: 100dvh;
114
+ max-width: 100vw;
115
+ max-height: 100vh;
116
+ max-height: 100dvh;
117
+ border-radius: 0;
118
+ }
119
+
120
+ .dialog-content.fullscreen-on-mobile .dialog-body {
121
+ display: flex;
122
+ flex-direction: column;
123
+ }
124
+
125
+ .dialog-content.fullscreen-on-mobile .dialog-body ::slotted(*) {
126
+ flex: 1;
127
+ min-height: 0;
128
+ }
129
+ }
130
+
131
+ .dialog-header {
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: space-between;
135
+ padding: var(--kritzel-dialog-header-padding, 16px 20px);
136
+ border-bottom: var(--kritzel-dialog-header-border, 1px solid #ebebeb);
137
+ gap: 12px;
138
+ }
139
+
140
+ .dialog-title {
141
+ margin: 0;
142
+ font-size: var(--kritzel-dialog-title-font-size, 18px);
143
+ font-weight: var(--kritzel-dialog-title-font-weight, 600);
144
+ color: var(--kritzel-dialog-title-color, #1a1a1a);
145
+ flex: 1;
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
148
+ white-space: nowrap;
149
+ }
150
+
151
+ .close-button {
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ width: 32px;
156
+ height: 32px;
157
+ padding: 0;
158
+ border: none;
159
+ border-radius: var(--kritzel-dialog-close-button-border-radius, 6px);
160
+ background-color: var(--kritzel-dialog-close-button-background, transparent);
161
+ color: var(--kritzel-dialog-close-button-color, #666666);
162
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
163
+ transition:
164
+ background-color 150ms ease,
165
+ color 150ms ease;
166
+ flex-shrink: 0;
167
+ -webkit-tap-highlight-color: transparent;
168
+ }
169
+
170
+ .close-button:hover {
171
+ background-color: var(--kritzel-dialog-close-button-hover-background, #f5f5f5);
172
+ color: var(--kritzel-dialog-close-button-hover-color, #1a1a1a);
173
+ }
174
+
175
+ .close-button:active {
176
+ background-color: var(--kritzel-dialog-close-button-active-background, #ebebeb);
177
+ }
178
+
179
+ .close-button:focus-visible {
180
+ outline: revert;
181
+ outline-offset: revert;
182
+ }
183
+
184
+ .dialog-body {
185
+ padding: var(--kritzel-dialog-body-padding, 20px);
186
+ overflow-y: auto;
187
+ flex: 1;
188
+ min-height: 0;
189
+ scrollbar-color: var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;
190
+ scrollbar-width: thin;
191
+ }
192
+
193
+ .dialog-footer {
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: flex-end;
197
+ gap: var(--kritzel-dialog-footer-gap, 8px);
198
+ padding: var(--kritzel-dialog-footer-padding, 16px 20px);
199
+ border-top: var(--kritzel-dialog-footer-border, 1px solid #ebebeb);
200
+ }
201
+
202
+ /* Slotted content styling hints */
203
+ ::slotted([slot='header']) {
204
+ flex: 1;
205
+ }
206
+
207
+ ::slotted([slot='footer']) {
208
+ display: contents;
209
+ }