kritzel-stencil 0.4.20 → 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-25ExYYPf.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-d19d1b82.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
@@ -90,15 +90,15 @@ export class KritzelMasterDetail {
90
90
  const selectedItem = this.items.find(item => item.id === this.selectedItemId);
91
91
  const panelId = 'master-detail-panel';
92
92
  const selectedTabId = selectedItem ? `tab-${selectedItem.id}` : undefined;
93
- return (h(Host, { key: 'f54d66ffc0330fa9dc4294f6a21810e3dd5db495' }, h("div", { key: '8f786b099dd5d4b0efcc45cbfb38f37916f60126', class: {
93
+ return (h(Host, { key: '0166376f16ebb098049cd2ef5539a86086a5570e' }, h("div", { key: 'f5091fe672bc4751c8f66d43baa5c1fc86fca034', class: {
94
94
  'master-detail-container': true,
95
95
  'is-mobile-detail-visible': this.showMobileDetail,
96
- } }, h("nav", { key: '1a5db5ba8ba393ff7f29b9d438c59acbb6fbd849', class: "master-menu", role: "tablist", "aria-orientation": "vertical", "aria-label": "Settings categories" }, this.items.map((item, index) => (h("button", { key: item.id, id: `tab-${item.id}`, ref: el => this.setTabRef(el, index), class: {
96
+ } }, h("nav", { key: '66f5c61ea0308ea9ae1339526e86dcf1ee51fc0a', class: "master-menu", role: "tablist", "aria-orientation": "vertical", "aria-label": "Settings categories" }, this.items.map((item, index) => (h("button", { key: item.id, id: `tab-${item.id}`, ref: el => this.setTabRef(el, index), class: {
97
97
  'menu-item': true,
98
98
  'is-selected': item.id === this.selectedItemId,
99
99
  'is-disabled': !!item.disabled,
100
100
  'is-focused': index === this.focusedIndex,
101
- }, role: "tab", "aria-selected": item.id === this.selectedItemId ? 'true' : 'false', "aria-controls": panelId, "aria-disabled": item.disabled ? 'true' : undefined, tabIndex: this.getTabIndex(item, index), disabled: item.disabled, onClick: () => this.handleItemClick(item), onKeyDown: e => this.handleKeyDown(e, item, index), onFocus: () => this.handleFocus(index), onBlur: this.handleBlur }, item.icon && (h("kritzel-icon", { name: item.icon, size: 20, class: "menu-item-icon" })), h("span", { class: "menu-item-label" }, item.label), h("span", { class: "menu-item-chevron", "aria-hidden": "true" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { d: "m9 18 6-6-6-6" }))))))), h("div", { key: '22943ef64af7b63780fc4a25d0009443b5e1b0ba', id: panelId, class: "detail-panel", role: "tabpanel", "aria-labelledby": selectedTabId }, h("button", { key: '777b26506f739290be2d2267c1bc1381d59475fa', class: "mobile-back-button", onClick: this.handleBackClick, "aria-label": "Back to menu" }, h("kritzel-icon", { key: '96fe6b08965d7c5c41673bae0a5c5cc12f575a8f', name: "chevron-left", size: 20, class: "mobile-back-icon" }), "Back"), h("slot", { key: '985869d89bb10860e4a4bf221523376b7111ec1d' })))));
101
+ }, role: "tab", "aria-selected": item.id === this.selectedItemId ? 'true' : 'false', "aria-controls": panelId, "aria-disabled": item.disabled ? 'true' : undefined, tabIndex: this.getTabIndex(item, index), disabled: item.disabled, onClick: () => this.handleItemClick(item), onKeyDown: e => this.handleKeyDown(e, item, index), onFocus: () => this.handleFocus(index), onBlur: this.handleBlur }, item.icon && (h("kritzel-icon", { name: item.icon, size: 20, class: "menu-item-icon" })), h("span", { class: "menu-item-label" }, item.label), h("span", { class: "menu-item-chevron", "aria-hidden": "true" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { d: "m9 18 6-6-6-6" }))))))), h("div", { key: 'e8f762ad87fdcf401ec717538bf1e979b22a9f15', id: panelId, class: "detail-panel", role: "tabpanel", "aria-labelledby": selectedTabId }, h("button", { key: '958360d57a1fad0953bc3865503e86c1d8aa24e3', class: "mobile-back-button", onClick: this.handleBackClick, "aria-label": "Back to menu" }, h("kritzel-icon", { key: 'c65eb947f80aafec99b367dae7ea72b1a77acdac', name: "chevron-left", size: 20, class: "mobile-back-icon" }), "Back"), h("slot", { key: '44557fddf513fffd86c7a1b28b71a41fef7701f1' })))));
102
102
  }
103
103
  static get is() { return "kritzel-master-detail"; }
104
104
  static get encapsulation() { return "shadow"; }
@@ -1,34 +1,34 @@
1
- :host {
2
- position: relative;
3
- display: flex;
4
- flex-direction: column;
5
- background-color: var(--kritzel-menu-background-color, #ffffff);
6
- width: var(--kritzel-menu-width, 200px);
7
- padding: var(--kritzel-menu-padding, 8px);
8
- border-radius: var(--kritzel-menu-border-radius, 12px);
9
- box-shadow: var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));
10
- border: var(--kritzel-menu-border, 1px solid #ebebeb);
11
- z-index: 2;
12
- gap: var(--kritzel-menu-gap, 4px);
13
- overflow-y: auto;
14
- scrollbar-color: var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;
15
- scrollbar-width: thin;
16
- max-height: var(--kritzel-portal-max-height, 300px);
17
- box-sizing: border-box;
18
- -webkit-tap-highlight-color: transparent;
19
- outline: none;
20
- clip-path: inset(0 round var(--kritzel-menu-border-radius, 12px));
21
- }
22
-
23
- :host:focus-visible {
24
- outline: auto;
25
- }
26
-
27
- .has-open-child-overlay {
28
- position: absolute;
29
- top: 0;
30
- left: 0;
31
- right: 0;
32
- bottom: 0;
33
- z-index: 3;
34
- }
1
+ :host {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ background-color: var(--kritzel-menu-background-color, #ffffff);
6
+ width: var(--kritzel-menu-width, 200px);
7
+ padding: var(--kritzel-menu-padding, 8px);
8
+ border-radius: var(--kritzel-menu-border-radius, 12px);
9
+ box-shadow: var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));
10
+ border: var(--kritzel-menu-border, 1px solid #ebebeb);
11
+ z-index: 2;
12
+ gap: var(--kritzel-menu-gap, 4px);
13
+ overflow-y: auto;
14
+ scrollbar-color: var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;
15
+ scrollbar-width: thin;
16
+ max-height: var(--kritzel-portal-max-height, 300px);
17
+ box-sizing: border-box;
18
+ -webkit-tap-highlight-color: transparent;
19
+ outline: none;
20
+ clip-path: inset(0 round var(--kritzel-menu-border-radius, 12px));
21
+ }
22
+
23
+ :host:focus-visible {
24
+ outline: auto;
25
+ }
26
+
27
+ .has-open-child-overlay {
28
+ position: absolute;
29
+ top: 0;
30
+ left: 0;
31
+ right: 0;
32
+ bottom: 0;
33
+ z-index: 3;
34
+ }
@@ -51,7 +51,7 @@ export class KritzelMenu {
51
51
  this.itemCloseChildMenu.emit(event.detail);
52
52
  };
53
53
  render() {
54
- return (h(Host, { key: '9ab5256e8888aa48ab6018ffc1109f9614075772', tabIndex: 0, onClick: e => e.stopPropagation() }, this.openChildMenuItem && h("div", { key: '05415b8e7559af7bee51a2dcc62e8ed016fbfc42', class: "has-open-child-overlay", onClick: this.onOverlayClick }), this.items.map(item => (h("kritzel-menu-item", { key: item.id, "data-testid": `menu-item-${item.id}`, item: item, parent: this.parent, style: { pointerEvents: this.editingMenuItem && !item.isEditing ? 'none' : 'auto' }, onItemSelect: this.handleItemSelect, onItemSave: this.handleSave, onItemCancel: this.handleCancel, onItemToggleChildMenu: this.handleToggleChildMenu, onItemCloseChildMenu: this.handleCloseChildMenu })))));
54
+ return (h(Host, { key: '804ed34eb5340ecc1611ada01f608f7a0cf2f619', tabIndex: 0, onClick: e => e.stopPropagation() }, this.openChildMenuItem && h("div", { key: '6de5954a05b7f28961fa33cf8d34df3a81aae5f8', class: "has-open-child-overlay", onClick: this.onOverlayClick }), this.items.map(item => (h("kritzel-menu-item", { key: item.id, "data-testid": `menu-item-${item.id}`, item: item, parent: this.parent, style: { pointerEvents: this.editingMenuItem && !item.isEditing ? 'none' : 'auto' }, onItemSelect: this.handleItemSelect, onItemSave: this.handleSave, onItemCancel: this.handleCancel, onItemToggleChildMenu: this.handleToggleChildMenu, onItemCloseChildMenu: this.handleCloseChildMenu })))));
55
55
  }
56
56
  static get is() { return "kritzel-menu"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -1,167 +1,167 @@
1
- :host {
2
- position: relative;
3
- display: flex;
4
- align-items: center;
5
- justify-content: space-between;
6
- width: 100%;
7
- padding: var(--kritzel-menu-item-padding, 8px);
8
- box-sizing: border-box;
9
- gap: 16px;
10
- height: var(--kritzel-menu-item-height, 40px);
11
- min-height: var(--kritzel-menu-item-min-height, 40px);
12
- font-family: sans-serif;
13
- font-size: var(--kritzel-menu-item-font-size, 14px);
14
- color: var(--kritzel-menu-item-color, #333333);
15
- border-radius: var(--kritzel-menu-item-border-radius, 12px);
16
- -webkit-tap-highlight-color: transparent;
17
- }
18
-
19
- :host:focus:not(:focus-visible) {
20
- outline: none;
21
- }
22
-
23
- :host(:hover) .menu-item-overlay,
24
- :host(:focus-within) .menu-item-overlay {
25
- background-color: var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%));
26
- }
27
-
28
- :host(.selected) {
29
- background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
30
- color: var(--kritzel-menu-item-selected-color, #ffffff);
31
- }
32
-
33
- :host(.selected) .action-button {
34
- color: var(--kritzel-menu-item-selected-color, #ffffff);
35
- }
36
-
37
- :host(.selected.editing) {
38
- background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
39
- }
40
-
41
- :host(.selected) .edit-input {
42
- color: var(--kritzel-menu-item-selected-color, #ffffff);
43
- caret-color: var(--kritzel-menu-item-input-caret-color-on-selected, #ffffff);
44
- border-color: var(--kritzel-menu-item-input-border-color-on-selected, #ffffff);
45
- }
46
-
47
- :host(.selected) .action-button kritzel-icon {
48
- --kritzel-icon-color: var(--kritzel-menu-item-selected-color, #ffffff);
49
- }
50
-
51
- kritzel-icon {
52
- --kritzel-icon-color: var(--kritzel-menu-item-color, #333333);
53
- }
54
-
55
- :host(.selected) kritzel-icon {
56
- --kritzel-icon-color: var(--kritzel-menu-item-selected-color, #ffffff);
57
- }
58
-
59
- :host(.selected) .edit-input::selection {
60
- background-color: var(--kritzel-menu-item-input-selection-color-on-selected, rgba(255, 255, 255, 0.3));
61
- color: var(--kritzel-menu-item-input-selection-text-color-on-selected, #ffffff);
62
- }
63
-
64
- :host(.editing) {
65
- background-color: var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%));
66
- }
67
-
68
- :host(.disabled) {
69
- opacity: 0.5;
70
- pointer-events: none !important;
71
- }
72
-
73
- :host(.child-open) {
74
- background-color: var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%));
75
- }
76
-
77
- :host(.child-open.selected) {
78
- background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
79
- }
80
-
81
- .menu-item-overlay {
82
- position: absolute;
83
- inset: 0;
84
- background-color: transparent;
85
- z-index: 0;
86
- pointer-events: none;
87
- border-radius: var(--kritzel-menu-item-border-radius, 12px);
88
- }
89
-
90
- .menu-item-content {
91
- display: flex;
92
- align-items: center;
93
- gap: 8px;
94
- position: relative;
95
- z-index: 1;
96
- height: 100%;
97
- }
98
-
99
- .menu-item-content span {
100
- display: flex;
101
- align-items: center;
102
- line-height: 0;
103
- }
104
-
105
- .left {
106
- justify-content: flex-start;
107
- flex: 1;
108
- min-width: 0;
109
- }
110
-
111
- .left>div {
112
- white-space: nowrap;
113
- overflow: hidden;
114
- text-overflow: ellipsis;
115
- }
116
-
117
- .right {
118
- justify-content: flex-end;
119
- }
120
-
121
- .edit-input {
122
- flex: 1;
123
- height: var(--kritzel-menu-item-input-height, 24px);
124
- padding: 0;
125
- background-color: transparent;
126
- border-radius: 0;
127
- border: none;
128
- border-bottom: var(--kritzel-menu-item-input-border, 1px solid #ccc);
129
- font-size: var(--kritzel-menu-item-font-size, 14px);
130
- width: 100%;
131
- min-width: 0;
132
- box-sizing: border-box;
133
- outline: none;
134
- color: inherit;
135
- }
136
-
137
- .edit-input {
138
- caret-color: var(--kritzel-menu-item-input-caret-color, currentColor);
139
- }
140
-
141
- .edit-input::selection {
142
- background-color: var(--kritzel-menu-item-input-selection-color, #007bff);
143
- color: var(--kritzel-menu-item-input-selection-text-color, #ffffff);
144
- }
145
-
146
- .action-button {
147
- padding: 4px;
148
- border-radius: 8px;
149
- border: none;
150
- cursor: var(--kritzel-global-pointer-cursor, pointer);
151
- display: flex;
152
- align-items: center;
153
- justify-content: center;
154
- background-color: transparent;
155
- background: transparent;
156
- -webkit-tap-highlight-color: transparent;
157
- }
158
-
159
- .action-button:hover,
160
- .action-button:focus {
161
- background-color: var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%));
162
- }
163
-
164
- .action-button.disabled {
165
- pointer-events: none;
166
- opacity: 0.5;
1
+ :host {
2
+ position: relative;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ width: 100%;
7
+ padding: var(--kritzel-menu-item-padding, 8px);
8
+ box-sizing: border-box;
9
+ gap: 16px;
10
+ height: var(--kritzel-menu-item-height, 40px);
11
+ min-height: var(--kritzel-menu-item-min-height, 40px);
12
+ font-family: sans-serif;
13
+ font-size: var(--kritzel-menu-item-font-size, 14px);
14
+ color: var(--kritzel-menu-item-color, #333333);
15
+ border-radius: var(--kritzel-menu-item-border-radius, 12px);
16
+ -webkit-tap-highlight-color: transparent;
17
+ }
18
+
19
+ :host:focus:not(:focus-visible) {
20
+ outline: none;
21
+ }
22
+
23
+ :host(:hover) .menu-item-overlay,
24
+ :host(:focus-within) .menu-item-overlay {
25
+ background-color: var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%));
26
+ }
27
+
28
+ :host(.selected) {
29
+ background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
30
+ color: var(--kritzel-menu-item-selected-color, #ffffff);
31
+ }
32
+
33
+ :host(.selected) .action-button {
34
+ color: var(--kritzel-menu-item-selected-color, #ffffff);
35
+ }
36
+
37
+ :host(.selected.editing) {
38
+ background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
39
+ }
40
+
41
+ :host(.selected) .edit-input {
42
+ color: var(--kritzel-menu-item-selected-color, #ffffff);
43
+ caret-color: var(--kritzel-menu-item-input-caret-color-on-selected, #ffffff);
44
+ border-color: var(--kritzel-menu-item-input-border-color-on-selected, #ffffff);
45
+ }
46
+
47
+ :host(.selected) .action-button kritzel-icon {
48
+ --kritzel-icon-color: var(--kritzel-menu-item-selected-color, #ffffff);
49
+ }
50
+
51
+ kritzel-icon {
52
+ --kritzel-icon-color: var(--kritzel-menu-item-color, #333333);
53
+ }
54
+
55
+ :host(.selected) kritzel-icon {
56
+ --kritzel-icon-color: var(--kritzel-menu-item-selected-color, #ffffff);
57
+ }
58
+
59
+ :host(.selected) .edit-input::selection {
60
+ background-color: var(--kritzel-menu-item-input-selection-color-on-selected, rgba(255, 255, 255, 0.3));
61
+ color: var(--kritzel-menu-item-input-selection-text-color-on-selected, #ffffff);
62
+ }
63
+
64
+ :host(.editing) {
65
+ background-color: var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%));
66
+ }
67
+
68
+ :host(.disabled) {
69
+ opacity: 0.5;
70
+ pointer-events: none !important;
71
+ }
72
+
73
+ :host(.child-open) {
74
+ background-color: var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%));
75
+ }
76
+
77
+ :host(.child-open.selected) {
78
+ background-color: var(--kritzel-menu-item-selected-background-color, #007aff);
79
+ }
80
+
81
+ .menu-item-overlay {
82
+ position: absolute;
83
+ inset: 0;
84
+ background-color: transparent;
85
+ z-index: 0;
86
+ pointer-events: none;
87
+ border-radius: var(--kritzel-menu-item-border-radius, 12px);
88
+ }
89
+
90
+ .menu-item-content {
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 8px;
94
+ position: relative;
95
+ z-index: 1;
96
+ height: 100%;
97
+ }
98
+
99
+ .menu-item-content span {
100
+ display: flex;
101
+ align-items: center;
102
+ line-height: 0;
103
+ }
104
+
105
+ .left {
106
+ justify-content: flex-start;
107
+ flex: 1;
108
+ min-width: 0;
109
+ }
110
+
111
+ .left>div {
112
+ white-space: nowrap;
113
+ overflow: hidden;
114
+ text-overflow: ellipsis;
115
+ }
116
+
117
+ .right {
118
+ justify-content: flex-end;
119
+ }
120
+
121
+ .edit-input {
122
+ flex: 1;
123
+ height: var(--kritzel-menu-item-input-height, 24px);
124
+ padding: 0;
125
+ background-color: transparent;
126
+ border-radius: 0;
127
+ border: none;
128
+ border-bottom: var(--kritzel-menu-item-input-border, 1px solid #ccc);
129
+ font-size: var(--kritzel-menu-item-font-size, 14px);
130
+ width: 100%;
131
+ min-width: 0;
132
+ box-sizing: border-box;
133
+ outline: none;
134
+ color: inherit;
135
+ }
136
+
137
+ .edit-input {
138
+ caret-color: var(--kritzel-menu-item-input-caret-color, currentColor);
139
+ }
140
+
141
+ .edit-input::selection {
142
+ background-color: var(--kritzel-menu-item-input-selection-color, #007bff);
143
+ color: var(--kritzel-menu-item-input-selection-text-color, #ffffff);
144
+ }
145
+
146
+ .action-button {
147
+ padding: 4px;
148
+ border-radius: 8px;
149
+ border: none;
150
+ cursor: var(--kritzel-global-pointer-cursor, pointer);
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ background-color: transparent;
155
+ background: transparent;
156
+ -webkit-tap-highlight-color: transparent;
157
+ }
158
+
159
+ .action-button:hover,
160
+ .action-button:focus {
161
+ background-color: var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%));
162
+ }
163
+
164
+ .action-button.disabled {
165
+ pointer-events: none;
166
+ opacity: 0.5;
167
167
  }
@@ -90,12 +90,12 @@ export class KritzelMenuItem {
90
90
  ];
91
91
  }
92
92
  render() {
93
- return (h(Host, { key: '9fd327cadf3c28f51a28d174a1c888c3891cbcbd', tabIndex: this.item.isDisabled ? -1 : 0, class: {
93
+ return (h(Host, { key: '9b35e5631cfa14aca391636f06598ef6f2f26550', tabIndex: this.item.isDisabled ? -1 : 0, class: {
94
94
  'selected': this.item.isSelected,
95
95
  'editing': this.item.isEditing,
96
96
  'disabled': this.item.isDisabled,
97
97
  'child-open': this.item.isChildMenuOpen,
98
- }, onClick: this.handleItemSelect }, h("div", { key: '080c4fb6e04d6c88d7fa1410a5b86caa4952ed07', class: "menu-item-overlay" }), this.item.isEditing ? this.renderEditMode() : this.renderViewMode()));
98
+ }, onClick: this.handleItemSelect }, h("div", { key: '175258699f76fdad5dcf3c7481e7882c6765bf33', class: "menu-item-overlay" }), this.item.isEditing ? this.renderEditMode() : this.renderViewMode()));
99
99
  }
100
100
  static get is() { return "kritzel-menu-item"; }
101
101
  static get encapsulation() { return "shadow"; }
@@ -1,102 +1,102 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- .input-container {
6
- display: flex;
7
- flex-direction: column;
8
- gap: 6px;
9
- }
10
-
11
- .input-label {
12
- font-size: 14px;
13
- font-weight: 500;
14
- color: var(--kritzel-numeric-input-label-color, #333333);
15
- }
16
-
17
- .input-wrapper {
18
- display: flex;
19
- position: relative;
20
- }
21
-
22
- .numeric-input {
23
- flex: 1;
24
- padding: 8px 36px 8px 12px;
25
- border: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
26
- border-radius: var(--kritzel-numeric-input-border-radius, 6px);
27
- font-size: 14px;
28
- color: var(--kritzel-numeric-input-text-color, #333333);
29
- background-color: var(--kritzel-numeric-input-input-background, #ffffff);
30
- outline: none;
31
- transition: border-color 150ms ease;
32
- box-sizing: border-box;
33
- }
34
-
35
- /* Hide native spin buttons */
36
- .numeric-input::-webkit-outer-spin-button,
37
- .numeric-input::-webkit-inner-spin-button {
38
- -webkit-appearance: none;
39
- margin: 0;
40
- }
41
-
42
- .numeric-input[type='number'] {
43
- -moz-appearance: textfield;
44
- }
45
-
46
- .numeric-input::selection {
47
- background-color: var(--kritzel-numeric-input-selection-background, #007AFF);
48
- color: var(--kritzel-numeric-input-selection-color, #ffffff);
49
- }
50
-
51
- .numeric-input:hover {
52
- border-color: var(--kritzel-numeric-input-hover-border-color, #cccccc);
53
- }
54
-
55
- .numeric-input:focus {
56
- border-color: var(--kritzel-numeric-input-focus-border-color, #0066ff);
57
- border-width: 2px;
58
- padding: 7px 35px 7px 11px;
59
- }
60
-
61
- .spinner-buttons {
62
- position: absolute;
63
- right: 1px;
64
- top: 1px;
65
- bottom: 1px;
66
- display: flex;
67
- flex-direction: column;
68
- border-left: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
69
- border-radius: 0 var(--kritzel-numeric-input-spinner-border-radius, 5px) var(--kritzel-numeric-input-spinner-border-radius, 5px) 0;
70
- overflow: hidden;
71
- }
72
-
73
- .spinner-button {
74
- flex: 1;
75
- display: flex;
76
- align-items: center;
77
- justify-content: center;
78
- width: 24px;
79
- padding: 0;
80
- border: none;
81
- background-color: var(--kritzel-numeric-input-spinner-background, #f5f5f5);
82
- color: var(--kritzel-numeric-input-spinner-color, #666666);
83
- cursor: pointer;
84
- transition: background-color 150ms ease;
85
- }
86
-
87
- .spinner-button:hover {
88
- background-color: var(--kritzel-numeric-input-spinner-hover-background, #ebebeb);
89
- }
90
-
91
- .spinner-button:active {
92
- background-color: var(--kritzel-numeric-input-spinner-active-background, #dddddd);
93
- }
94
-
95
- .spinner-up {
96
- border-bottom: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
97
- }
98
-
99
- .spinner-icon {
100
- width: 10px;
101
- height: 6px;
102
- }
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .input-container {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 6px;
9
+ }
10
+
11
+ .input-label {
12
+ font-size: 14px;
13
+ font-weight: 500;
14
+ color: var(--kritzel-numeric-input-label-color, #333333);
15
+ }
16
+
17
+ .input-wrapper {
18
+ display: flex;
19
+ position: relative;
20
+ }
21
+
22
+ .numeric-input {
23
+ flex: 1;
24
+ padding: 8px 36px 8px 12px;
25
+ border: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
26
+ border-radius: var(--kritzel-numeric-input-border-radius, 6px);
27
+ font-size: 14px;
28
+ color: var(--kritzel-numeric-input-text-color, #333333);
29
+ background-color: var(--kritzel-numeric-input-input-background, #ffffff);
30
+ outline: none;
31
+ transition: border-color 150ms ease;
32
+ box-sizing: border-box;
33
+ }
34
+
35
+ /* Hide native spin buttons */
36
+ .numeric-input::-webkit-outer-spin-button,
37
+ .numeric-input::-webkit-inner-spin-button {
38
+ -webkit-appearance: none;
39
+ margin: 0;
40
+ }
41
+
42
+ .numeric-input[type='number'] {
43
+ -moz-appearance: textfield;
44
+ }
45
+
46
+ .numeric-input::selection {
47
+ background-color: var(--kritzel-numeric-input-selection-background, #007AFF);
48
+ color: var(--kritzel-numeric-input-selection-color, #ffffff);
49
+ }
50
+
51
+ .numeric-input:hover {
52
+ border-color: var(--kritzel-numeric-input-hover-border-color, #cccccc);
53
+ }
54
+
55
+ .numeric-input:focus {
56
+ border-color: var(--kritzel-numeric-input-focus-border-color, #0066ff);
57
+ border-width: 2px;
58
+ padding: 7px 35px 7px 11px;
59
+ }
60
+
61
+ .spinner-buttons {
62
+ position: absolute;
63
+ right: 1px;
64
+ top: 1px;
65
+ bottom: 1px;
66
+ display: flex;
67
+ flex-direction: column;
68
+ border-left: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
69
+ border-radius: 0 var(--kritzel-numeric-input-spinner-border-radius, 5px) var(--kritzel-numeric-input-spinner-border-radius, 5px) 0;
70
+ overflow: hidden;
71
+ }
72
+
73
+ .spinner-button {
74
+ flex: 1;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ width: 24px;
79
+ padding: 0;
80
+ border: none;
81
+ background-color: var(--kritzel-numeric-input-spinner-background, #f5f5f5);
82
+ color: var(--kritzel-numeric-input-spinner-color, #666666);
83
+ cursor: pointer;
84
+ transition: background-color 150ms ease;
85
+ }
86
+
87
+ .spinner-button:hover {
88
+ background-color: var(--kritzel-numeric-input-spinner-hover-background, #ebebeb);
89
+ }
90
+
91
+ .spinner-button:active {
92
+ background-color: var(--kritzel-numeric-input-spinner-active-background, #dddddd);
93
+ }
94
+
95
+ .spinner-up {
96
+ border-bottom: 1px solid var(--kritzel-numeric-input-border-color, #ebebeb);
97
+ }
98
+
99
+ .spinner-icon {
100
+ width: 10px;
101
+ height: 6px;
102
+ }