kritzel-stencil 0.1.83 → 0.1.86

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 (187) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/kritzel-active-users_42.cjs.entry.js +94 -94
  4. package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
  5. package/dist/cjs/{workspace.migrations-K5oVASsb.js → workspace.migrations-Dj-FiYEO.js} +6 -6
  6. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  7. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  8. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  9. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  10. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +71 -71
  11. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +12 -12
  12. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +99 -99
  13. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +14 -14
  14. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  15. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  16. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  17. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  18. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +72 -72
  19. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  20. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  21. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  22. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  23. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  24. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +179 -179
  25. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  26. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  27. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  28. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  29. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  30. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +3 -3
  31. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  32. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  33. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  34. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  35. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  36. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  37. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  38. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  39. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  40. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  41. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  42. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +160 -160
  43. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  44. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  45. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  46. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  47. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  48. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +58 -58
  49. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  50. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  51. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  52. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  53. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  54. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  55. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  56. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  57. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  58. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  59. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  60. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  61. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  62. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  63. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  64. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +105 -105
  65. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -1
  66. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +330 -330
  67. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +5 -5
  68. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  69. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  70. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +29 -29
  71. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  72. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  73. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  74. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  75. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  76. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +45 -45
  77. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  78. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +129 -129
  79. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  80. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +133 -133
  81. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  82. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  83. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  84. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  85. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +5 -5
  86. package/dist/collection/constants/version.js +1 -1
  87. package/dist/collection/helpers/cursor.helper.js +6 -6
  88. package/dist/collection/helpers/svg-export.helper.js +31 -31
  89. package/dist/components/index.js +1 -1
  90. package/dist/components/kritzel-active-users.js +1 -1
  91. package/dist/components/kritzel-avatar.js +1 -1
  92. package/dist/components/kritzel-awareness-cursors.js +1 -1
  93. package/dist/components/kritzel-back-to-content.js +1 -1
  94. package/dist/components/kritzel-brush-style.js +1 -1
  95. package/dist/components/kritzel-button.js +1 -1
  96. package/dist/components/kritzel-color-palette.js +1 -1
  97. package/dist/components/kritzel-color.js +1 -1
  98. package/dist/components/kritzel-context-menu.js +1 -1
  99. package/dist/components/kritzel-controls.js +1 -1
  100. package/dist/components/kritzel-current-user-dialog.js +1 -1
  101. package/dist/components/kritzel-current-user.js +1 -1
  102. package/dist/components/kritzel-cursor-trail.js +1 -1
  103. package/dist/components/kritzel-dialog.js +1 -1
  104. package/dist/components/kritzel-dropdown.js +1 -1
  105. package/dist/components/kritzel-editor.js +1 -1
  106. package/dist/components/kritzel-engine.js +1 -1
  107. package/dist/components/kritzel-export.js +1 -1
  108. package/dist/components/kritzel-font-family.js +1 -1
  109. package/dist/components/kritzel-font-size.js +1 -1
  110. package/dist/components/kritzel-font.js +1 -1
  111. package/dist/components/kritzel-input.js +1 -1
  112. package/dist/components/kritzel-line-endings.js +1 -1
  113. package/dist/components/kritzel-login-dialog.js +1 -1
  114. package/dist/components/kritzel-master-detail.js +1 -1
  115. package/dist/components/kritzel-menu-item.js +1 -1
  116. package/dist/components/kritzel-menu.js +1 -1
  117. package/dist/components/kritzel-more-menu.js +1 -1
  118. package/dist/components/kritzel-numeric-input.js +1 -1
  119. package/dist/components/kritzel-opacity-slider.js +1 -1
  120. package/dist/components/kritzel-pill-tabs.js +1 -1
  121. package/dist/components/kritzel-portal.js +1 -1
  122. package/dist/components/kritzel-settings.js +1 -1
  123. package/dist/components/kritzel-shape-fill.js +1 -1
  124. package/dist/components/kritzel-share-dialog.js +1 -1
  125. package/dist/components/kritzel-slide-toggle.js +1 -1
  126. package/dist/components/kritzel-split-button.js +1 -1
  127. package/dist/components/kritzel-stroke-size.js +1 -1
  128. package/dist/components/kritzel-tool-config.js +1 -1
  129. package/dist/components/kritzel-tooltip.js +1 -1
  130. package/dist/components/kritzel-utility-panel.js +1 -1
  131. package/dist/components/kritzel-workspace-manager.js +1 -1
  132. package/dist/components/{p-B5WII1Lk.js → p-0cs6zQLB.js} +1 -1
  133. package/dist/components/p-7yTPTHbQ.js +1 -0
  134. package/dist/components/{p-DwemlMvt.js → p-B3UJucEe.js} +1 -1
  135. package/dist/components/{p-DUQmBcTy.js → p-B5a3arJg.js} +1 -1
  136. package/dist/components/{p-DCH4Rlqx.js → p-BIdZCZ_l.js} +1 -1
  137. package/dist/components/{p-CNMpVlot.js → p-BMPgR5Bt.js} +1 -1
  138. package/dist/components/{p-CKfjz1gj.js → p-BOcGfEkz.js} +1 -1
  139. package/dist/components/{p-DUnKjQN7.js → p-BVEYAGm1.js} +1 -1
  140. package/dist/components/{p-CMGHx71q.js → p-BYX50YSd.js} +1 -1
  141. package/dist/components/{p-BjPmEs5A.js → p-BfJav4Zz.js} +1 -1
  142. package/dist/components/{p-CLo-TjD_.js → p-BgopgrfE.js} +1 -1
  143. package/dist/components/{p-CJzg_ejc.js → p-BsQ4E7I8.js} +1 -1
  144. package/dist/components/{p-V3VW2JKl.js → p-C-ZoFpSf.js} +1 -1
  145. package/dist/components/p-C0U3Mg5I.js +1 -0
  146. package/dist/components/{p-Brwz_Dpb.js → p-C3Dwuqka.js} +1 -1
  147. package/dist/components/{p-CS7r-zhx.js → p-C4vg_-vg.js} +1 -1
  148. package/dist/components/{p-DrsORMoT.js → p-C4zfI-dj.js} +1 -1
  149. package/dist/components/{p-cjeDomsc.js → p-CBTqCoUx.js} +1 -1
  150. package/dist/components/{p-BaaFG0p-.js → p-CBq-KE9C.js} +1 -1
  151. package/dist/components/{p-CfEGaTaV.js → p-CTj2UdbS.js} +1 -1
  152. package/dist/components/{p-Bat829Bg.js → p-C_OSXZqJ.js} +1 -1
  153. package/dist/components/{p-B4F19Aqj.js → p-CaKSDRid.js} +1 -1
  154. package/dist/components/{p-BZ8bK8qT.js → p-CekG3_ce.js} +1 -1
  155. package/dist/components/{p-Dw0Obsn5.js → p-Cz2gQKbL.js} +1 -1
  156. package/dist/components/{p-VxgCvVox.js → p-CzIuqMQA.js} +1 -1
  157. package/dist/components/{p-1ppb4M65.js → p-D6KNaj_Y.js} +1 -1
  158. package/dist/components/{p-rNu5JVNH.js → p-D8fQwcNC.js} +1 -1
  159. package/dist/components/{p-CYl_JKvH.js → p-DBZRCL1u.js} +1 -1
  160. package/dist/components/{p-DkT0KZCm.js → p-DDBaFNFi.js} +1 -1
  161. package/dist/components/{p-CM7rYf9A.js → p-DEd2L0e3.js} +1 -1
  162. package/dist/components/{p-DYcsC2zO.js → p-DMvIGnOt.js} +1 -1
  163. package/dist/components/{p-C9zsWWH2.js → p-DPmAV68B.js} +1 -1
  164. package/dist/components/{p-7yR-sKH8.js → p-DRbR0Li3.js} +1 -1
  165. package/dist/components/{p-C-MtTi6x.js → p-DXO_ppUK.js} +1 -1
  166. package/dist/components/p-DemKKw9U.js +1 -0
  167. package/dist/components/{p-D5BXoK9m.js → p-Dxb22STM.js} +1 -1
  168. package/dist/components/p-Nq8UyPCc.js +1 -0
  169. package/dist/components/{p-DEOUiiyI.js → p-R9M5PnAz.js} +1 -1
  170. package/dist/components/{p-D7pwbRUy.js → p-qBqQhAmh.js} +1 -1
  171. package/dist/esm/index.js +1 -1
  172. package/dist/esm/kritzel-active-users_42.entry.js +94 -94
  173. package/dist/esm/kritzel-brush-style.entry.js +1 -1
  174. package/dist/esm/{workspace.migrations-D5iSPf3E.js → workspace.migrations-ByWmiPl8.js} +6 -6
  175. package/dist/stencil/index.esm.js +1 -1
  176. package/dist/stencil/{p-b0be4da1.entry.js → p-10c2b77c.entry.js} +1 -1
  177. package/dist/stencil/p-b38650d2.entry.js +9 -0
  178. package/dist/stencil/stencil.esm.js +1 -1
  179. package/dist/types/constants/version.d.ts +1 -1
  180. package/package.json +2 -2
  181. package/readme.md +114 -114
  182. package/dist/components/p-B4h_tGG1.js +0 -1
  183. package/dist/components/p-CJKsuQun.js +0 -1
  184. package/dist/components/p-DKeBfe_l.js +0 -1
  185. package/dist/components/p-HK-6khHo.js +0 -1
  186. package/dist/stencil/p-c28b30ab.entry.js +0 -9
  187. /package/dist/stencil/{p-D5iSPf3E.js → p-ByWmiPl8.js} +0 -0
@@ -1,331 +1,331 @@
1
- :host {
2
- display: flex;
3
- flex-direction: column;
4
- user-select: none;
5
- max-width: calc(100vw - 16px);
6
- }
7
-
8
- :host(.mobile) {
9
- --kritzel-controls-control-hover-background-color: transparent;
10
- --kritzel-controls-control-active-background-color: transparent;
11
- }
12
-
13
- .kritzel-controls {
14
- display: flex;
15
- flex-direction: row;
16
- align-items: center;
17
- justify-content: flex-start;
18
- gap: var(--kritzel-controls-gap, 8px);
19
- height: 100%;
20
- padding: var(--kritzel-controls-padding, 8px);
21
- background-color: var(--kritzel-controls-background-color, #ffffff);
22
- border-radius: var(--kritzel-controls-border-radius, 16px);
23
- box-shadow: var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));
24
- border: var(--kritzel-controls-border, 1px solid #ebebeb);
25
- z-index: 10000;
26
- position: relative;
27
- max-width: 100%;
28
- overflow: hidden;
29
- }
30
-
31
- .kritzel-tools-scroll {
32
- display: flex;
33
- flex-direction: row;
34
- align-items: center;
35
- gap: var(--kritzel-controls-gap, 8px);
36
- overflow-x: auto;
37
- overflow-y: hidden;
38
- flex: 1 1 auto;
39
- min-width: 0;
40
- padding: 4px;
41
- margin: -4px;
42
-
43
- /* Hide scrollbar for all browsers */
44
- scrollbar-width: none;
45
- -ms-overflow-style: none;
46
- }
47
-
48
- .kritzel-tools-scroll::-webkit-scrollbar {
49
- display: none;
50
- }
51
-
52
- /* Scroll indicator gradients */
53
- .scroll-indicator-left,
54
- .scroll-indicator-right {
55
- position: absolute;
56
- top: 0;
57
- bottom: 0;
58
- width: 32px;
59
- pointer-events: none;
60
- opacity: 0;
61
- transition: opacity 0.2s ease-out;
62
- z-index: 1;
63
- }
64
-
65
- .scroll-indicator-left {
66
- left: 0;
67
- background: linear-gradient(to right, var(--kritzel-controls-background-color, #ffffff), transparent);
68
- border-radius: var(--kritzel-controls-border-radius, 16px) 0 0 var(--kritzel-controls-border-radius, 16px);
69
- }
70
-
71
- .scroll-indicator-right {
72
- right: 0;
73
- background: linear-gradient(to left, var(--kritzel-controls-background-color, #ffffff), transparent);
74
- border-radius: 0 var(--kritzel-controls-border-radius, 16px) var(--kritzel-controls-border-radius, 16px) 0;
75
- }
76
-
77
- .scroll-indicator-left.visible,
78
- .scroll-indicator-right.visible {
79
- opacity: 1;
80
- }
81
-
82
- .kritzel-control {
83
- display: flex;
84
- justify-content: center;
85
- align-items: center;
86
- color: var(--kritzel-controls-control-color, #000000);
87
- border-radius: var(--kritzel-controls-control-border-radius, 12px);
88
- padding: var(--kritzel-controls-control-padding, 8px);
89
- border: none;
90
- background: none;
91
- cursor: var(--kritzel-global-pointer-cursor, pointer);
92
- -webkit-tap-highlight-color: transparent;
93
- font-weight: bold;
94
- }
95
-
96
- .kritzel-control:focus,
97
- .kritzel-control:hover {
98
- background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
99
- }
100
-
101
- .kritzel-control:active {
102
- background-color: var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%));
103
- }
104
-
105
- .kritzel-control.selected,
106
- .kritzel-control.selected:hover,
107
- .kritzel-control.selected:active {
108
- background-color: var(--kritzel-controls-control-selected-background-color, #007AFF) !important;
109
- color: var(--kritzel-controls-control-selected-color, #ffffff) !important;
110
- }
111
-
112
- .kritzel-control.selected:focus {
113
- background-color: var(--kritzel-controls-control-selected-background-color, #007bffe3) !important;
114
-
115
- }
116
-
117
- .kritzel-control-separator {
118
- width: 1px;
119
- height: 24px;
120
- background-color: var(--kritzel-controls-border, #ebebeb);
121
- margin: 0 4px;
122
- }
123
-
124
-
125
- /* Split-button control styles */
126
- .kritzel-control-split {
127
- position: relative;
128
- display: flex;
129
- align-items: center;
130
- border-radius: var(--kritzel-controls-control-border-radius, 12px);
131
- color: var(--kritzel-controls-control-color, #000000);
132
- }
133
-
134
- .kritzel-control-split .kritzel-control-main {
135
- display: flex;
136
- justify-content: center;
137
- align-items: center;
138
- padding: var(--kritzel-controls-control-padding, 8px);
139
- border: none;
140
- background: none;
141
- cursor: var(--kritzel-global-pointer-cursor, pointer);
142
- -webkit-tap-highlight-color: transparent;
143
- border-radius: var(--kritzel-controls-control-border-radius, 12px);
144
- color: inherit;
145
- }
146
-
147
- /* When selected, main button only has left-rounded corners (dropdown appears on right) */
148
- .kritzel-control-split.selected .kritzel-control-main {
149
- border-radius: var(--kritzel-controls-control-border-radius, 12px) 0 0 var(--kritzel-controls-control-border-radius, 12px);
150
- }
151
-
152
- .kritzel-control-split .kritzel-control-dropdown {
153
- display: flex;
154
- justify-content: center;
155
- align-items: center;
156
- align-self: stretch;
157
- border: none;
158
- background: none;
159
- cursor: var(--kritzel-global-pointer-cursor, pointer);
160
- -webkit-tap-highlight-color: transparent;
161
- border-radius: 0 var(--kritzel-controls-control-border-radius, 12px) var(--kritzel-controls-control-border-radius, 12px) 0;
162
- color: inherit;
163
-
164
- /* Hidden state - collapsed with no visibility */
165
- width: 0;
166
- padding: 0;
167
- opacity: 0;
168
- overflow: hidden;
169
- pointer-events: none;
170
-
171
- /* Smooth transition */
172
- transition: width 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out;
173
- }
174
-
175
- .kritzel-control-split .kritzel-control-dropdown.visible {
176
- width: auto;
177
- padding: 0 6px;
178
- opacity: 1;
179
- pointer-events: auto;
180
- }
181
-
182
- .kritzel-control-split .kritzel-control-main:focus,
183
- .kritzel-control-split .kritzel-control-main:hover,
184
- .kritzel-control-split .kritzel-control-dropdown:focus,
185
- .kritzel-control-split .kritzel-control-dropdown:hover {
186
- background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
187
- }
188
-
189
- .kritzel-control-split .kritzel-control-main:active,
190
- .kritzel-control-split .kritzel-control-dropdown:active {
191
- background-color: var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%));
192
- }
193
-
194
- .kritzel-control-split.selected {
195
- background-color: var(--kritzel-controls-control-selected-background-color, #007AFF) !important;
196
- color: var(--kritzel-controls-control-selected-color, #ffffff) !important;
197
- }
198
-
199
- .kritzel-control-split.selected .kritzel-control-main:hover,
200
- .kritzel-control-split.selected .kritzel-control-dropdown:hover {
201
- background-color: rgba(255, 255, 255, 0.15);
202
- }
203
-
204
- /* Submenu content styles (positioned by kritzel-tooltip) */
205
- .kritzel-submenu-content {
206
- display: flex;
207
- flex-direction: column;
208
- gap: var(--kritzel-submenu-gap, 4px);
209
- min-width: 140px;
210
- }
211
-
212
- .kritzel-submenu-item {
213
- display: flex;
214
- align-items: center;
215
- gap: 10px;
216
- padding: 10px 12px;
217
- border: none;
218
- background: none;
219
- cursor: var(--kritzel-global-pointer-cursor, pointer);
220
- border-radius: 8px;
221
- color: var(--kritzel-controls-control-color, #000000);
222
- font-size: 14px;
223
- text-align: left;
224
- white-space: nowrap;
225
- -webkit-tap-highlight-color: transparent;
226
- }
227
-
228
- .kritzel-submenu-item:hover {
229
- background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
230
- }
231
-
232
- .kritzel-submenu-item.active {
233
- background-color: var(--kritzel-controls-control-selected-background-color, #007AFF);
234
- color: var(--kritzel-controls-control-selected-color, #ffffff);
235
- }
236
-
237
- .kritzel-submenu-item.active:hover {
238
- background-color: var(--kritzel-controls-control-selected-background-color, #007AFF);
239
- }
240
-
241
- .kritzel-config-container {
242
- position: relative;
243
- display: flex;
244
- justify-content: center;
245
- align-items: center;
246
- height: 40px;
247
- box-sizing: border-box;
248
- -webkit-tap-highlight-color: transparent;
249
- flex-shrink: 0;
250
-
251
- /* Hidden state - collapsed */
252
- width: 0;
253
- opacity: 0;
254
- overflow: hidden;
255
- pointer-events: none;
256
- margin-left: calc(-1 * var(--kritzel-controls-gap, 8px));
257
-
258
- /* Smooth transition */
259
- transition: width 0.2s ease-out, opacity 0.2s ease-out, margin-left 0.2s ease-out;
260
- }
261
-
262
- .kritzel-config-container.visible {
263
- width: 40px;
264
- opacity: 1;
265
- pointer-events: auto;
266
- margin-left: 0;
267
- overflow: visible;
268
- }
269
-
270
- /* Left gradient on config container */
271
- .config-gradient-left {
272
- position: absolute;
273
- top: 0;
274
- bottom: 0;
275
- left: -32px;
276
- width: 32px;
277
- background: linear-gradient(to right, transparent, var(--kritzel-controls-background-color, #ffffff));
278
- pointer-events: none;
279
- z-index: 1;
280
- opacity: 0;
281
- transition: opacity 0.2s ease-out;
282
- }
283
-
284
- .config-gradient-left.visible {
285
- opacity: 1;
286
- }
287
-
288
- .kritzel-config {
289
- display: flex;
290
- justify-content: center;
291
- align-items: center;
292
- cursor: var(--kritzel-global-pointer-cursor, pointer);
293
- border-radius: 50%;
294
- }
295
-
296
- .color-container {
297
- display: flex;
298
- justify-content: center;
299
- align-items: center;
300
- width: 32px;
301
- height: 32px;
302
- border-radius: 50%;
303
- cursor: var(--kritzel-global-pointer-cursor, pointer);
304
- border: 2px solid transparent;
305
- box-sizing: border-box;
306
- background-color: var(--kritzel-color-palette-hover-background-color, #ebebeb);
307
- }
308
-
309
- .font-container {
310
- display: flex;
311
- justify-content: center;
312
- align-items: center;
313
- width: 32px;
314
- height: 32px;
315
- border-radius: 50%;
316
- cursor: var(--kritzel-global-pointer-cursor, pointer);
317
- border: 2px solid transparent;
318
- box-sizing: border-box;
319
- background-color: var(--kritzel-color-palette-hover-background-color, #ebebeb);
320
- }
321
-
322
- .no-config {
323
- height: 24px;
324
- width: 24px;
325
- border-radius: 50%;
326
- border: 1px dashed gray;
327
- }
328
-
329
- kritzel-tooltip {
330
- z-index: 10001;
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ user-select: none;
5
+ max-width: calc(100vw - 16px);
6
+ }
7
+
8
+ :host(.mobile) {
9
+ --kritzel-controls-control-hover-background-color: transparent;
10
+ --kritzel-controls-control-active-background-color: transparent;
11
+ }
12
+
13
+ .kritzel-controls {
14
+ display: flex;
15
+ flex-direction: row;
16
+ align-items: center;
17
+ justify-content: flex-start;
18
+ gap: var(--kritzel-controls-gap, 8px);
19
+ height: 100%;
20
+ padding: var(--kritzel-controls-padding, 8px);
21
+ background-color: var(--kritzel-controls-background-color, #ffffff);
22
+ border-radius: var(--kritzel-controls-border-radius, 16px);
23
+ box-shadow: var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));
24
+ border: var(--kritzel-controls-border, 1px solid #ebebeb);
25
+ z-index: 10000;
26
+ position: relative;
27
+ max-width: 100%;
28
+ overflow: hidden;
29
+ }
30
+
31
+ .kritzel-tools-scroll {
32
+ display: flex;
33
+ flex-direction: row;
34
+ align-items: center;
35
+ gap: var(--kritzel-controls-gap, 8px);
36
+ overflow-x: auto;
37
+ overflow-y: hidden;
38
+ flex: 1 1 auto;
39
+ min-width: 0;
40
+ padding: 4px;
41
+ margin: -4px;
42
+
43
+ /* Hide scrollbar for all browsers */
44
+ scrollbar-width: none;
45
+ -ms-overflow-style: none;
46
+ }
47
+
48
+ .kritzel-tools-scroll::-webkit-scrollbar {
49
+ display: none;
50
+ }
51
+
52
+ /* Scroll indicator gradients */
53
+ .scroll-indicator-left,
54
+ .scroll-indicator-right {
55
+ position: absolute;
56
+ top: 0;
57
+ bottom: 0;
58
+ width: 32px;
59
+ pointer-events: none;
60
+ opacity: 0;
61
+ transition: opacity 0.2s ease-out;
62
+ z-index: 1;
63
+ }
64
+
65
+ .scroll-indicator-left {
66
+ left: 0;
67
+ background: linear-gradient(to right, var(--kritzel-controls-background-color, #ffffff), transparent);
68
+ border-radius: var(--kritzel-controls-border-radius, 16px) 0 0 var(--kritzel-controls-border-radius, 16px);
69
+ }
70
+
71
+ .scroll-indicator-right {
72
+ right: 0;
73
+ background: linear-gradient(to left, var(--kritzel-controls-background-color, #ffffff), transparent);
74
+ border-radius: 0 var(--kritzel-controls-border-radius, 16px) var(--kritzel-controls-border-radius, 16px) 0;
75
+ }
76
+
77
+ .scroll-indicator-left.visible,
78
+ .scroll-indicator-right.visible {
79
+ opacity: 1;
80
+ }
81
+
82
+ .kritzel-control {
83
+ display: flex;
84
+ justify-content: center;
85
+ align-items: center;
86
+ color: var(--kritzel-controls-control-color, #000000);
87
+ border-radius: var(--kritzel-controls-control-border-radius, 12px);
88
+ padding: var(--kritzel-controls-control-padding, 8px);
89
+ border: none;
90
+ background: none;
91
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
92
+ -webkit-tap-highlight-color: transparent;
93
+ font-weight: bold;
94
+ }
95
+
96
+ .kritzel-control:focus,
97
+ .kritzel-control:hover {
98
+ background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
99
+ }
100
+
101
+ .kritzel-control:active {
102
+ background-color: var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%));
103
+ }
104
+
105
+ .kritzel-control.selected,
106
+ .kritzel-control.selected:hover,
107
+ .kritzel-control.selected:active {
108
+ background-color: var(--kritzel-controls-control-selected-background-color, #007AFF) !important;
109
+ color: var(--kritzel-controls-control-selected-color, #ffffff) !important;
110
+ }
111
+
112
+ .kritzel-control.selected:focus {
113
+ background-color: var(--kritzel-controls-control-selected-background-color, #007bffe3) !important;
114
+
115
+ }
116
+
117
+ .kritzel-control-separator {
118
+ width: 1px;
119
+ height: 24px;
120
+ background-color: var(--kritzel-controls-border, #ebebeb);
121
+ margin: 0 4px;
122
+ }
123
+
124
+
125
+ /* Split-button control styles */
126
+ .kritzel-control-split {
127
+ position: relative;
128
+ display: flex;
129
+ align-items: center;
130
+ border-radius: var(--kritzel-controls-control-border-radius, 12px);
131
+ color: var(--kritzel-controls-control-color, #000000);
132
+ }
133
+
134
+ .kritzel-control-split .kritzel-control-main {
135
+ display: flex;
136
+ justify-content: center;
137
+ align-items: center;
138
+ padding: var(--kritzel-controls-control-padding, 8px);
139
+ border: none;
140
+ background: none;
141
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
142
+ -webkit-tap-highlight-color: transparent;
143
+ border-radius: var(--kritzel-controls-control-border-radius, 12px);
144
+ color: inherit;
145
+ }
146
+
147
+ /* When selected, main button only has left-rounded corners (dropdown appears on right) */
148
+ .kritzel-control-split.selected .kritzel-control-main {
149
+ border-radius: var(--kritzel-controls-control-border-radius, 12px) 0 0 var(--kritzel-controls-control-border-radius, 12px);
150
+ }
151
+
152
+ .kritzel-control-split .kritzel-control-dropdown {
153
+ display: flex;
154
+ justify-content: center;
155
+ align-items: center;
156
+ align-self: stretch;
157
+ border: none;
158
+ background: none;
159
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
160
+ -webkit-tap-highlight-color: transparent;
161
+ border-radius: 0 var(--kritzel-controls-control-border-radius, 12px) var(--kritzel-controls-control-border-radius, 12px) 0;
162
+ color: inherit;
163
+
164
+ /* Hidden state - collapsed with no visibility */
165
+ width: 0;
166
+ padding: 0;
167
+ opacity: 0;
168
+ overflow: hidden;
169
+ pointer-events: none;
170
+
171
+ /* Smooth transition */
172
+ transition: width 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out;
173
+ }
174
+
175
+ .kritzel-control-split .kritzel-control-dropdown.visible {
176
+ width: auto;
177
+ padding: 0 6px;
178
+ opacity: 1;
179
+ pointer-events: auto;
180
+ }
181
+
182
+ .kritzel-control-split .kritzel-control-main:focus,
183
+ .kritzel-control-split .kritzel-control-main:hover,
184
+ .kritzel-control-split .kritzel-control-dropdown:focus,
185
+ .kritzel-control-split .kritzel-control-dropdown:hover {
186
+ background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
187
+ }
188
+
189
+ .kritzel-control-split .kritzel-control-main:active,
190
+ .kritzel-control-split .kritzel-control-dropdown:active {
191
+ background-color: var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%));
192
+ }
193
+
194
+ .kritzel-control-split.selected {
195
+ background-color: var(--kritzel-controls-control-selected-background-color, #007AFF) !important;
196
+ color: var(--kritzel-controls-control-selected-color, #ffffff) !important;
197
+ }
198
+
199
+ .kritzel-control-split.selected .kritzel-control-main:hover,
200
+ .kritzel-control-split.selected .kritzel-control-dropdown:hover {
201
+ background-color: rgba(255, 255, 255, 0.15);
202
+ }
203
+
204
+ /* Submenu content styles (positioned by kritzel-tooltip) */
205
+ .kritzel-submenu-content {
206
+ display: flex;
207
+ flex-direction: column;
208
+ gap: var(--kritzel-submenu-gap, 4px);
209
+ min-width: 140px;
210
+ }
211
+
212
+ .kritzel-submenu-item {
213
+ display: flex;
214
+ align-items: center;
215
+ gap: 10px;
216
+ padding: 10px 12px;
217
+ border: none;
218
+ background: none;
219
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
220
+ border-radius: 8px;
221
+ color: var(--kritzel-controls-control-color, #000000);
222
+ font-size: 14px;
223
+ text-align: left;
224
+ white-space: nowrap;
225
+ -webkit-tap-highlight-color: transparent;
226
+ }
227
+
228
+ .kritzel-submenu-item:hover {
229
+ background-color: var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%));
230
+ }
231
+
232
+ .kritzel-submenu-item.active {
233
+ background-color: var(--kritzel-controls-control-selected-background-color, #007AFF);
234
+ color: var(--kritzel-controls-control-selected-color, #ffffff);
235
+ }
236
+
237
+ .kritzel-submenu-item.active:hover {
238
+ background-color: var(--kritzel-controls-control-selected-background-color, #007AFF);
239
+ }
240
+
241
+ .kritzel-config-container {
242
+ position: relative;
243
+ display: flex;
244
+ justify-content: center;
245
+ align-items: center;
246
+ height: 40px;
247
+ box-sizing: border-box;
248
+ -webkit-tap-highlight-color: transparent;
249
+ flex-shrink: 0;
250
+
251
+ /* Hidden state - collapsed */
252
+ width: 0;
253
+ opacity: 0;
254
+ overflow: hidden;
255
+ pointer-events: none;
256
+ margin-left: calc(-1 * var(--kritzel-controls-gap, 8px));
257
+
258
+ /* Smooth transition */
259
+ transition: width 0.2s ease-out, opacity 0.2s ease-out, margin-left 0.2s ease-out;
260
+ }
261
+
262
+ .kritzel-config-container.visible {
263
+ width: 40px;
264
+ opacity: 1;
265
+ pointer-events: auto;
266
+ margin-left: 0;
267
+ overflow: visible;
268
+ }
269
+
270
+ /* Left gradient on config container */
271
+ .config-gradient-left {
272
+ position: absolute;
273
+ top: 0;
274
+ bottom: 0;
275
+ left: -32px;
276
+ width: 32px;
277
+ background: linear-gradient(to right, transparent, var(--kritzel-controls-background-color, #ffffff));
278
+ pointer-events: none;
279
+ z-index: 1;
280
+ opacity: 0;
281
+ transition: opacity 0.2s ease-out;
282
+ }
283
+
284
+ .config-gradient-left.visible {
285
+ opacity: 1;
286
+ }
287
+
288
+ .kritzel-config {
289
+ display: flex;
290
+ justify-content: center;
291
+ align-items: center;
292
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
293
+ border-radius: 50%;
294
+ }
295
+
296
+ .color-container {
297
+ display: flex;
298
+ justify-content: center;
299
+ align-items: center;
300
+ width: 32px;
301
+ height: 32px;
302
+ border-radius: 50%;
303
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
304
+ border: 2px solid transparent;
305
+ box-sizing: border-box;
306
+ background-color: var(--kritzel-color-palette-hover-background-color, #ebebeb);
307
+ }
308
+
309
+ .font-container {
310
+ display: flex;
311
+ justify-content: center;
312
+ align-items: center;
313
+ width: 32px;
314
+ height: 32px;
315
+ border-radius: 50%;
316
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
317
+ border: 2px solid transparent;
318
+ box-sizing: border-box;
319
+ background-color: var(--kritzel-color-palette-hover-background-color, #ebebeb);
320
+ }
321
+
322
+ .no-config {
323
+ height: 24px;
324
+ width: 24px;
325
+ border-radius: 50%;
326
+ border: 1px dashed gray;
327
+ }
328
+
329
+ kritzel-tooltip {
330
+ z-index: 10001;
331
331
  }