kritzel-stencil 0.1.76 → 0.1.78

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 (128) hide show
  1. package/dist/cjs/{index-Dc7LOVhs.js → index-BRZ6e6oa.js} +1 -1
  2. package/dist/cjs/index.cjs.js +2 -330
  3. package/dist/cjs/kritzel-active-users_42.cjs.entry.js +88 -50
  4. package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/stencil.cjs.js +2 -2
  7. package/dist/cjs/{workspace.migrations-DkmVO6dE.js → workspace.migrations-sUPrO23c.js} +378 -13
  8. package/dist/collection/classes/objects/selection-group.class.js +2 -0
  9. package/dist/collection/collection-manifest.json +1 -1
  10. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +6 -1
  11. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +5 -2
  12. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +2 -0
  13. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +16 -6
  14. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +21 -0
  15. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +24 -10
  16. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +3 -0
  17. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +1 -0
  18. package/dist/collection/configs/default-engine-config.js +1 -0
  19. package/dist/collection/constants/version.js +1 -1
  20. package/dist/components/index.js +1 -1
  21. package/dist/components/kritzel-active-users.js +1 -1
  22. package/dist/components/kritzel-avatar.js +1 -1
  23. package/dist/components/kritzel-awareness-cursors.js +1 -1
  24. package/dist/components/kritzel-back-to-content.js +1 -1
  25. package/dist/components/kritzel-brush-style.js +1 -1
  26. package/dist/components/kritzel-button.js +1 -1
  27. package/dist/components/kritzel-color-palette.js +1 -1
  28. package/dist/components/kritzel-color.js +1 -1
  29. package/dist/components/kritzel-context-menu.js +1 -1
  30. package/dist/components/kritzel-controls.js +1 -1
  31. package/dist/components/kritzel-current-user-dialog.js +1 -1
  32. package/dist/components/kritzel-current-user.js +1 -1
  33. package/dist/components/kritzel-cursor-trail.js +1 -1
  34. package/dist/components/kritzel-dialog.js +1 -1
  35. package/dist/components/kritzel-dropdown.js +1 -1
  36. package/dist/components/kritzel-editor.js +1 -1
  37. package/dist/components/kritzel-engine.js +1 -1
  38. package/dist/components/kritzel-export.js +1 -1
  39. package/dist/components/kritzel-font-family.js +1 -1
  40. package/dist/components/kritzel-font-size.js +1 -1
  41. package/dist/components/kritzel-font.js +1 -1
  42. package/dist/components/kritzel-icon.js +1 -1
  43. package/dist/components/kritzel-input.js +1 -1
  44. package/dist/components/kritzel-line-endings.js +1 -1
  45. package/dist/components/kritzel-login-dialog.js +1 -1
  46. package/dist/components/kritzel-master-detail.js +1 -1
  47. package/dist/components/kritzel-menu-item.js +1 -1
  48. package/dist/components/kritzel-menu.js +1 -1
  49. package/dist/components/kritzel-more-menu.js +1 -1
  50. package/dist/components/kritzel-numeric-input.js +1 -1
  51. package/dist/components/kritzel-opacity-slider.js +1 -1
  52. package/dist/components/kritzel-pill-tabs.js +1 -1
  53. package/dist/components/kritzel-portal.js +1 -1
  54. package/dist/components/kritzel-settings.js +1 -1
  55. package/dist/components/kritzel-shape-fill.js +1 -1
  56. package/dist/components/kritzel-share-dialog.js +1 -1
  57. package/dist/components/kritzel-slide-toggle.js +1 -1
  58. package/dist/components/kritzel-split-button.js +1 -1
  59. package/dist/components/kritzel-stroke-size.js +1 -1
  60. package/dist/components/kritzel-tool-config.js +1 -1
  61. package/dist/components/kritzel-tooltip.js +1 -1
  62. package/dist/components/kritzel-utility-panel.js +1 -1
  63. package/dist/components/kritzel-workspace-manager.js +1 -1
  64. package/dist/components/{p-Dt-J69xt.js → p-53di1Zko.js} +1 -1
  65. package/dist/components/{p-DS0xx1eT.js → p-6NFl6EB2.js} +1 -1
  66. package/dist/components/{p-DSzQ6H2j.js → p-76W5pG2O.js} +1 -1
  67. package/dist/components/{p-DRbG92F9.js → p-BLsH_Oi0.js} +1 -1
  68. package/dist/components/p-Ban3OlgZ.js +9 -0
  69. package/dist/components/{p-CUkKKbnu.js → p-BrZ_gL8Q.js} +1 -1
  70. package/dist/components/{p-kj9wbLY8.js → p-BuI6Gkzg.js} +1 -1
  71. package/dist/components/{p-BeFUNGEI.js → p-BueaqfA2.js} +1 -1
  72. package/dist/components/{p-BiByyU2C.js → p-C2l9mZ1P.js} +1 -1
  73. package/dist/components/{p-CsR4owzk.js → p-C4fKLlrd.js} +1 -1
  74. package/dist/components/{p-BA0ayKqO.js → p-CBslLN3-.js} +1 -1
  75. package/dist/components/p-CHY71o5B.js +1 -0
  76. package/dist/components/{p-KQzWumjB.js → p-CI9Nbh-x.js} +1 -1
  77. package/dist/components/{p-CsoDfhD5.js → p-CN8IxBlU.js} +1 -1
  78. package/dist/components/{p-2OYw6GJ7.js → p-CWMFGEe0.js} +1 -1
  79. package/dist/components/{p-Dj_Qjga5.js → p-CYh7yV-K.js} +1 -1
  80. package/dist/components/{p-xM-_OeRO.js → p-Ck1dhpUQ.js} +1 -1
  81. package/dist/components/{p-b4gyXoju.js → p-Cns7qSKS.js} +1 -1
  82. package/dist/components/{p-C69Stayh.js → p-D14QNK3X.js} +1 -1
  83. package/dist/components/{p-iRL0wQHQ.js → p-D3pNw-SV.js} +1 -1
  84. package/dist/components/{p-BEJQ2kP7.js → p-D5IhryUR.js} +1 -1
  85. package/dist/components/{p-CZhyKp-f.js → p-D7yzmu1l.js} +1 -1
  86. package/dist/components/{p-HLbqRJGs.js → p-DDKjsXCe.js} +1 -1
  87. package/dist/components/{p-TyR-YTXm.js → p-DV7Z_qfa.js} +1 -1
  88. package/dist/components/{p-ByR0VXeU.js → p-DWsCbu01.js} +1 -1
  89. package/dist/components/{p-31FVoNWR.js → p-DaGZEV0R.js} +1 -1
  90. package/dist/components/{p-Da46jw3N.js → p-DkWWzVg8.js} +1 -1
  91. package/dist/components/{p-D1O7DxL4.js → p-Dr3-pKVg.js} +1 -1
  92. package/dist/components/{p-JdNoaqqb.js → p-Dte67BWd.js} +1 -1
  93. package/dist/components/{p-CHmi1QWx.js → p-DxzDda_J.js} +1 -1
  94. package/dist/components/{p-CAIGuV2J.js → p-KJ4dHzrS.js} +1 -1
  95. package/dist/components/{p-BiouZo1q.js → p-Lhyh6KeB.js} +1 -1
  96. package/dist/components/{p-CFhp1W9F.js → p-Md9Y-b3d.js} +1 -1
  97. package/dist/components/{p-C1uR_ZNW.js → p-ZC5YELQJ.js} +1 -1
  98. package/dist/components/{p-C7SBI_0T.js → p-ZQ2bKafG.js} +1 -1
  99. package/dist/components/{p-0kShCfeb.js → p-_QEHfsIk.js} +1 -1
  100. package/dist/components/{p-DXjuuVq9.js → p-gtQlsorg.js} +1 -1
  101. package/dist/components/{p-GYI7sDxr.js → p-l_YGO7RB.js} +1 -1
  102. package/dist/components/{p-DvIEvoZu.js → p-m1nVDC3G.js} +1 -1
  103. package/dist/components/{p-7o2FWtFx.js → p-pCC6t6BH.js} +1 -1
  104. package/dist/components/p-pGzF7PUB.js +1 -0
  105. package/dist/esm/{index-MV-81ybv.js → index-BbOHefEf.js} +1 -1
  106. package/dist/esm/index.js +2 -331
  107. package/dist/esm/kritzel-active-users_42.entry.js +88 -50
  108. package/dist/esm/kritzel-brush-style.entry.js +1 -1
  109. package/dist/esm/loader.js +2 -2
  110. package/dist/esm/stencil.js +3 -3
  111. package/dist/esm/{workspace.migrations-D48_Bqvh.js → workspace.migrations-NhRgr2_H.js} +378 -12
  112. package/dist/stencil/index.esm.js +1 -1
  113. package/dist/stencil/p-4a4b38e4.entry.js +9 -0
  114. package/dist/stencil/{p-fc21e29c.entry.js → p-98238bf9.entry.js} +1 -1
  115. package/dist/stencil/p-NhRgr2_H.js +1 -0
  116. package/dist/stencil/stencil.esm.js +1 -1
  117. package/dist/types/classes/objects/selection-group.class.d.ts +1 -0
  118. package/dist/types/components.d.ts +4 -2
  119. package/dist/types/constants/version.d.ts +1 -1
  120. package/dist/types/interfaces/engine-state.interface.d.ts +1 -0
  121. package/package.json +2 -2
  122. package/dist/components/p-CJ2eHeoV.js +0 -1
  123. package/dist/components/p-jdYmu4SA.js +0 -9
  124. package/dist/components/p-xNwOWoiT.js +0 -1
  125. package/dist/stencil/p-775a7246.entry.js +0 -9
  126. package/dist/stencil/p-D48_Bqvh.js +0 -1
  127. /package/dist/components/{p-pebXO4LU.js → p-CGGiwvWZ.js} +0 -0
  128. /package/dist/stencil/{p-MV-81ybv.js → p-BbOHefEf.js} +0 -0
@@ -1 +1 @@
1
- import{p as e,H as t,c as a,h as l,d as s,t as r}from"./p-pebXO4LU.js";import{d as i}from"./p-CHmi1QWx.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=a(this,"valueChange")}tabs=[];value;valueChange;handleTabClick(e){this.value!==e&&(this.value=e,this.valueChange.emit(e))}handleKeyDown(e,t){const a=this.tabs;let l=t;switch(e.key){case"ArrowLeft":e.preventDefault(),l=t>0?t-1:a.length-1;break;case"ArrowRight":e.preventDefault(),l=t<a.length-1?t+1:0;break;case"Home":e.preventDefault(),l=0;break;case"End":e.preventDefault(),l=a.length-1;break;default:return}this.handleTabClick(a[l].id);const s=e.currentTarget.parentElement,r=s?.querySelectorAll("button");r?.[l]?.focus()}render(){return l(s,{key:"d2f8c83b3dbb77ca7e4d9c4e3cd047eff29fe521"},l("div",{key:"713d0a7a616fb9ba4bc3dd7bf0beb951a889c4c6",class:"pill-tabs-container",role:"tablist"},this.tabs.map(((e,t)=>l("button",{key:e.id,class:{"pill-tab":!0,selected:this.value===e.id},role:"tab","aria-selected":this.value===e.id?"true":"false",tabIndex:this.value===e.id?0:-1,onClick:()=>this.handleTabClick(e.id),onKeyDown:e=>this.handleKeyDown(e,t)},e.icon&&l("kritzel-icon",{name:e.icon,size:16}),l("span",{class:"pill-tab-label"},e.label))))))}static get style(){return":host{display:block}.pill-tabs-container{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--kritzel-pill-tabs-border-radius, 10px);background:var(--kritzel-pill-tabs-background, #f0f0f0);box-sizing:border-box}.pill-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--kritzel-pill-tabs-tab-border-radius, 8px);background:var(--kritzel-pill-tabs-tab-background, transparent);color:var(--kritzel-pill-tabs-tab-text-color, #666666);font-family:inherit;font-size:14px;font-weight:500;cursor:var(--kritzel-global-pointer-cursor, pointer);transition:background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;white-space:nowrap}.pill-tab:hover:not(.selected){background:var(--kritzel-pill-tabs-tab-background-hover, rgba(0, 0, 0, 0.05))}.pill-tab.selected{background:var(--kritzel-pill-tabs-tab-background-selected, #ffffff);color:var(--kritzel-pill-tabs-tab-text-color-selected, #000000);box-shadow:var(--kritzel-pill-tabs-tab-shadow-selected, 0 1px 3px rgba(0, 0, 0, 0.1))}.pill-tab:focus{outline:none}.pill-tab:focus-visible{box-shadow:0 0 0 2px var(--kritzel-global-focus-ring-color, rgba(0, 122, 255, 0.3))}.pill-tab-label{line-height:1}.pill-tab kritzel-icon{flex-shrink:0}"}},[513,"kritzel-pill-tabs",{tabs:[16],value:[1025]}]);function b(){"undefined"!=typeof customElements&&["kritzel-pill-tabs","kritzel-icon"].forEach((e=>{switch(e){case"kritzel-pill-tabs":customElements.get(r(e))||customElements.define(r(e),o);break;case"kritzel-icon":customElements.get(r(e))||i()}}))}export{o as K,b as d}
1
+ import{p as e,H as t,c as a,h as l,d as s,t as r}from"./p-CGGiwvWZ.js";import{d as i}from"./p-DxzDda_J.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=a(this,"valueChange")}tabs=[];value;valueChange;handleTabClick(e){this.value!==e&&(this.value=e,this.valueChange.emit(e))}handleKeyDown(e,t){const a=this.tabs;let l=t;switch(e.key){case"ArrowLeft":e.preventDefault(),l=t>0?t-1:a.length-1;break;case"ArrowRight":e.preventDefault(),l=t<a.length-1?t+1:0;break;case"Home":e.preventDefault(),l=0;break;case"End":e.preventDefault(),l=a.length-1;break;default:return}this.handleTabClick(a[l].id);const s=e.currentTarget.parentElement,r=s?.querySelectorAll("button");r?.[l]?.focus()}render(){return l(s,{key:"d2f8c83b3dbb77ca7e4d9c4e3cd047eff29fe521"},l("div",{key:"713d0a7a616fb9ba4bc3dd7bf0beb951a889c4c6",class:"pill-tabs-container",role:"tablist"},this.tabs.map(((e,t)=>l("button",{key:e.id,class:{"pill-tab":!0,selected:this.value===e.id},role:"tab","aria-selected":this.value===e.id?"true":"false",tabIndex:this.value===e.id?0:-1,onClick:()=>this.handleTabClick(e.id),onKeyDown:e=>this.handleKeyDown(e,t)},e.icon&&l("kritzel-icon",{name:e.icon,size:16}),l("span",{class:"pill-tab-label"},e.label))))))}static get style(){return":host{display:block}.pill-tabs-container{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--kritzel-pill-tabs-border-radius, 10px);background:var(--kritzel-pill-tabs-background, #f0f0f0);box-sizing:border-box}.pill-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--kritzel-pill-tabs-tab-border-radius, 8px);background:var(--kritzel-pill-tabs-tab-background, transparent);color:var(--kritzel-pill-tabs-tab-text-color, #666666);font-family:inherit;font-size:14px;font-weight:500;cursor:var(--kritzel-global-pointer-cursor, pointer);transition:background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;white-space:nowrap}.pill-tab:hover:not(.selected){background:var(--kritzel-pill-tabs-tab-background-hover, rgba(0, 0, 0, 0.05))}.pill-tab.selected{background:var(--kritzel-pill-tabs-tab-background-selected, #ffffff);color:var(--kritzel-pill-tabs-tab-text-color-selected, #000000);box-shadow:var(--kritzel-pill-tabs-tab-shadow-selected, 0 1px 3px rgba(0, 0, 0, 0.1))}.pill-tab:focus{outline:none}.pill-tab:focus-visible{box-shadow:0 0 0 2px var(--kritzel-global-focus-ring-color, rgba(0, 122, 255, 0.3))}.pill-tab-label{line-height:1}.pill-tab kritzel-icon{flex-shrink:0}"}},[513,"kritzel-pill-tabs",{tabs:[16],value:[1025]}]);function b(){"undefined"!=typeof customElements&&["kritzel-pill-tabs","kritzel-icon"].forEach((e=>{switch(e){case"kritzel-pill-tabs":customElements.get(r(e))||customElements.define(r(e),o);break;case"kritzel-icon":customElements.get(r(e))||i()}}))}export{o as K,b as d}
@@ -1 +1 @@
1
- import{p as t,H as i,c as e,h as s,d as o,t as n}from"./p-pebXO4LU.js";import{K as l}from"./p-BML28BJR.js";const h=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.tooltipClosed=e(this,"tooltipClosed"),this.tooltipOpened=e(this,"tooltipOpened")}get host(){return this}isVisible=!1;anchorElement;triggerElement;offsetY=24;tooltipClosed;tooltipOpened;positionX=0;positionY=0;handleOutsideClick(t){if(!this.isVisible)return;const i=t.composedPath(),e=i.some((t=>t===this.host)),s=this.triggerElement&&i.some((t=>t===this.triggerElement));e||s||this.close()}handleOutsidePointerDown(t){if(!this.isVisible)return;const i=t.composedPath(),e=i.some((t=>t===this.host)),s=this.triggerElement&&i.some((t=>t===this.triggerElement));e||s||(t.stopPropagation(),t.preventDefault(),this.close())}handleCloseAll(t){t.detail!==this.host&&this.close()}handleWindowResize(){this.calculateAdjustedPosition()}handleTriggerElementChange(t,i){i&&i.removeEventListener("click",this.handleTriggerClick),t&&t.addEventListener("click",this.handleTriggerClick)}handleVisibilityChange(t){t&&(this.calculateAdjustedPosition(),requestAnimationFrame((()=>{this.focusContent()})))}async open(){this.isVisible||(document.dispatchEvent(new CustomEvent("kritzelTooltipCloseAll",{detail:this.host})),this.isVisible=!0,this.tooltipOpened.emit())}async close(){this.isVisible&&(this.isVisible=!1,this.tooltipClosed.emit())}async toggle(){this.isVisible?this.close():this.open()}async focusContent(){const t=l.getFocusableElements(this.host);t.length>0&&t[0].focus()}connectedCallback(){this.triggerElement&&this.triggerElement.addEventListener("click",this.handleTriggerClick)}componentDidLoad(){this.triggerElement&&this.triggerElement.addEventListener("click",this.handleTriggerClick)}componentWillLoad(){this.calculateAdjustedPosition()}componentWillUpdate(){this.calculateAdjustedPosition()}disconnectedCallback(){this.triggerElement&&this.triggerElement.removeEventListener("click",this.handleTriggerClick)}handleTriggerClick=t=>{t.stopPropagation(),this.toggle()};calculateAdjustedPosition(){if(this.isVisible&&this.anchorElement){const t=this.anchorElement.getBoundingClientRect(),i=this.host.shadowRoot?.querySelector(".tooltip-content"),e=i?.getBoundingClientRect(),s=e?.width||0,o=12,n=window.innerWidth-s-o;this.positionX=Math.max(o,Math.min(t.left+t.width/2-s/2,n)),this.positionY=window.innerHeight-t.top+this.offsetY}}render(){return s(o,{key:"0f67bc5736d65b2dcb277bfea3a052e165213c01",style:{position:"fixed",zIndex:"9999",transition:"opacity 0.3s ease-in-out, transform 0.3s ease-in-out",visibility:this.isVisible?"visible":"hidden",left:`${this.positionX}px`,bottom:`${this.positionY}px`}},s("div",{key:"d193b1b6dd28022da87bcce832ae72d630fcd7e0",class:"tooltip-content",onClick:t=>t.stopPropagation(),onPointerDown:t=>t.stopPropagation(),onMouseDown:t=>t.stopPropagation()},s("slot",{key:"a06478f4a9c995bad3558287341003effa6fc834"})))}static get watchers(){return{triggerElement:[{handleTriggerElementChange:0}],isVisible:[{handleVisibilityChange:0}]}}static get style(){return":host{width:auto}.tooltip-content{position:relative;padding:8px 12px;border-radius:4px;width:fit-content;background-color:var(--kritzel-tooltip-background-color, #ffffff);color:var(--kritzel-tooltip-color, #000000);padding:var(--kritzel-tooltip-padding, 12px);border:var(--kritzel-tooltip-border, 1px solid #ebebeb);border-radius:var(--kritzel-tooltip-border-radius, 16px);white-space:nowrap;box-shadow:var(--kritzel-tooltip-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12))}"}},[769,"kritzel-tooltip",{isVisible:[1028,"is-visible"],anchorElement:[16],triggerElement:[16],offsetY:[2,"offset-y"],positionX:[32],positionY:[32],open:[64],close:[64],toggle:[64],focusContent:[64]},[[4,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[4,"kritzelTooltipCloseAll","handleCloseAll"],[9,"resize","handleWindowResize"]],{triggerElement:[{handleTriggerElementChange:0}],isVisible:[{handleVisibilityChange:0}]}]);function r(){"undefined"!=typeof customElements&&["kritzel-tooltip"].forEach((t=>{"kritzel-tooltip"===t&&(customElements.get(n(t))||customElements.define(n(t),h))}))}export{h as K,r as d}
1
+ import{p as t,H as i,c as e,h as s,d as o,t as n}from"./p-CGGiwvWZ.js";import{K as l}from"./p-BML28BJR.js";const h=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.tooltipClosed=e(this,"tooltipClosed"),this.tooltipOpened=e(this,"tooltipOpened")}get host(){return this}isVisible=!1;anchorElement;triggerElement;offsetY=24;tooltipClosed;tooltipOpened;positionX=0;positionY=0;handleOutsideClick(t){if(!this.isVisible)return;const i=t.composedPath(),e=i.some((t=>t===this.host)),s=this.triggerElement&&i.some((t=>t===this.triggerElement));e||s||this.close()}handleOutsidePointerDown(t){if(!this.isVisible)return;const i=t.composedPath(),e=i.some((t=>t===this.host)),s=this.triggerElement&&i.some((t=>t===this.triggerElement));e||s||(t.stopPropagation(),t.preventDefault(),this.close())}handleCloseAll(t){t.detail!==this.host&&this.close()}handleWindowResize(){this.calculateAdjustedPosition()}handleTriggerElementChange(t,i){i&&i.removeEventListener("click",this.handleTriggerClick),t&&t.addEventListener("click",this.handleTriggerClick)}handleVisibilityChange(t){t&&(this.calculateAdjustedPosition(),requestAnimationFrame((()=>{this.focusContent()})))}async open(){this.isVisible||(document.dispatchEvent(new CustomEvent("kritzelTooltipCloseAll",{detail:this.host})),this.isVisible=!0,this.tooltipOpened.emit())}async close(){this.isVisible&&(this.isVisible=!1,this.tooltipClosed.emit())}async toggle(){this.isVisible?this.close():this.open()}async focusContent(){const t=l.getFocusableElements(this.host);t.length>0&&t[0].focus()}connectedCallback(){this.triggerElement&&this.triggerElement.addEventListener("click",this.handleTriggerClick)}componentDidLoad(){this.triggerElement&&this.triggerElement.addEventListener("click",this.handleTriggerClick)}componentWillLoad(){this.calculateAdjustedPosition()}componentWillUpdate(){this.calculateAdjustedPosition()}disconnectedCallback(){this.triggerElement&&this.triggerElement.removeEventListener("click",this.handleTriggerClick)}handleTriggerClick=t=>{t.stopPropagation(),this.toggle()};calculateAdjustedPosition(){if(this.isVisible&&this.anchorElement){const t=this.anchorElement.getBoundingClientRect(),i=this.host.shadowRoot?.querySelector(".tooltip-content"),e=i?.getBoundingClientRect(),s=e?.width||0,o=12,n=window.innerWidth-s-o;this.positionX=Math.max(o,Math.min(t.left+t.width/2-s/2,n)),this.positionY=window.innerHeight-t.top+this.offsetY}}render(){return s(o,{key:"0f67bc5736d65b2dcb277bfea3a052e165213c01",style:{position:"fixed",zIndex:"9999",transition:"opacity 0.3s ease-in-out, transform 0.3s ease-in-out",visibility:this.isVisible?"visible":"hidden",left:`${this.positionX}px`,bottom:`${this.positionY}px`}},s("div",{key:"d193b1b6dd28022da87bcce832ae72d630fcd7e0",class:"tooltip-content",onClick:t=>t.stopPropagation(),onPointerDown:t=>t.stopPropagation(),onMouseDown:t=>t.stopPropagation()},s("slot",{key:"a06478f4a9c995bad3558287341003effa6fc834"})))}static get watchers(){return{triggerElement:[{handleTriggerElementChange:0}],isVisible:[{handleVisibilityChange:0}]}}static get style(){return":host{width:auto}.tooltip-content{position:relative;padding:8px 12px;border-radius:4px;width:fit-content;background-color:var(--kritzel-tooltip-background-color, #ffffff);color:var(--kritzel-tooltip-color, #000000);padding:var(--kritzel-tooltip-padding, 12px);border:var(--kritzel-tooltip-border, 1px solid #ebebeb);border-radius:var(--kritzel-tooltip-border-radius, 16px);white-space:nowrap;box-shadow:var(--kritzel-tooltip-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12))}"}},[769,"kritzel-tooltip",{isVisible:[1028,"is-visible"],anchorElement:[16],triggerElement:[16],offsetY:[2,"offset-y"],positionX:[32],positionY:[32],open:[64],close:[64],toggle:[64],focusContent:[64]},[[4,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[4,"kritzelTooltipCloseAll","handleCloseAll"],[9,"resize","handleWindowResize"]],{triggerElement:[{handleTriggerElementChange:0}],isVisible:[{handleVisibilityChange:0}]}]);function r(){"undefined"!=typeof customElements&&["kritzel-tooltip"].forEach((t=>{"kritzel-tooltip"===t&&(customElements.get(n(t))||customElements.define(n(t),h))}))}export{h as K,r as d}
@@ -1 +1 @@
1
- import{p as e,H as t,h as a,d as r,t as i}from"./p-pebXO4LU.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}user;name;size=32;color;imageError=!1;retryCount=0;maxRetries=3;retryTimer;userChanged(){this.resetImageState()}profileImageUrlChanged(){this.resetImageState()}resetImageState(){this.imageError=!1,this.retryCount=0,clearTimeout(this.retryTimer)}disconnectedCallback(){clearTimeout(this.retryTimer)}getImageUrl(){return this.user?.profileImageUrl}getDisplayName(){return this.user?this.user.displayName??([this.user.firstName,this.user.lastName].filter(Boolean).join(" ")||this.user.email):this.name}getInitials(){const e=this.getDisplayName();if(!e)return;const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():t[0][0]?.toUpperCase()}getBackgroundColor(){return this.user?.color??this.color??this.generateColorFromName()}generateColorFromName(){const e=this.getDisplayName()||"";let t=0;for(let a=0;a<e.length;a++)t=e.charCodeAt(a)+((t<<5)-t);return`hsl(${Math.abs(t%360)}, 45%, 55%)`}handleImageError=()=>{if(this.retryCount<this.maxRetries){this.retryCount++;const e=1e3*Math.pow(2,this.retryCount-1);this.retryTimer=setTimeout((()=>{this.imageError=!1}),e)}this.imageError=!0};render(){const e=this.getImageUrl(),t=this.getInitials(),i=e&&!this.imageError,s=!i&&t,o=!i&&!s,l={width:`${this.size}px`,height:`${this.size}px`,fontSize:`${Math.round(.4*this.size)}px`};return a(r,{key:"67c0c1f944b9c835d1685d2b743114a1b5a1f061",style:l,class:{"has-image":!!i,"has-initials":!!s,"has-default":!!o},role:"img","aria-label":this.getDisplayName()||"User avatar"},i&&a("img",{key:"d71ccd7449a27133bcf8cc01f3cd654cc9b00142",src:e,alt:"",class:"avatar-image",ref:e=>{e&&(e.referrerPolicy="no-referrer",e.crossOrigin="anonymous")},onError:this.handleImageError}),s&&a("span",{key:"818ad4a24d6489565dffc8c64b3d4e76b701444c",class:"avatar-initials",style:{backgroundColor:this.getBackgroundColor()}},t),o&&a("span",{key:"87af93fd968f3bf5b1f86295de6bd4b71c94120c",class:"avatar-default"},a("svg",{key:"3267317fe99fb8d90432e207516bb48f603c08ed",viewBox:"0 0 24 24",fill:"currentColor"},a("path",{key:"9e4e225f9a058a24f63b508f36969c8c429fccd6",d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}))))}static get watchers(){return{user:[{userChanged:0}],profileImageUrl:[{profileImageUrlChanged:0}]}}static get style(){return":host{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;overflow:hidden;user-select:none;flex-shrink:0}.avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-initials{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;color:var(--kritzel-avatar-initials-color, #ffffff);font-weight:var(--kritzel-avatar-initials-font-weight, 500);font-family:var(--kritzel-avatar-initials-font-family, sans-serif);line-height:1}.avatar-default{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background-color:var(--kritzel-avatar-default-background, #e0e0e0);color:var(--kritzel-avatar-default-color, #9e9e9e)}.avatar-default svg{width:60%;height:60%}:host(.has-image){border:var(--kritzel-avatar-border, none)}:host(.has-initials){border:var(--kritzel-avatar-border, none)}:host(.has-default){border:var(--kritzel-avatar-border, none)}"}},[513,"kritzel-avatar",{user:[16],name:[1],size:[2],color:[1],imageError:[32]},void 0,{user:[{userChanged:0}],profileImageUrl:[{profileImageUrlChanged:0}]}]);function o(){"undefined"!=typeof customElements&&["kritzel-avatar"].forEach((e=>{"kritzel-avatar"===e&&(customElements.get(i(e))||customElements.define(i(e),s))}))}export{s as K,o as d}
1
+ import{p as e,H as t,h as a,d as r,t as i}from"./p-CGGiwvWZ.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}user;name;size=32;color;imageError=!1;retryCount=0;maxRetries=3;retryTimer;userChanged(){this.resetImageState()}profileImageUrlChanged(){this.resetImageState()}resetImageState(){this.imageError=!1,this.retryCount=0,clearTimeout(this.retryTimer)}disconnectedCallback(){clearTimeout(this.retryTimer)}getImageUrl(){return this.user?.profileImageUrl}getDisplayName(){return this.user?this.user.displayName??([this.user.firstName,this.user.lastName].filter(Boolean).join(" ")||this.user.email):this.name}getInitials(){const e=this.getDisplayName();if(!e)return;const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():t[0][0]?.toUpperCase()}getBackgroundColor(){return this.user?.color??this.color??this.generateColorFromName()}generateColorFromName(){const e=this.getDisplayName()||"";let t=0;for(let a=0;a<e.length;a++)t=e.charCodeAt(a)+((t<<5)-t);return`hsl(${Math.abs(t%360)}, 45%, 55%)`}handleImageError=()=>{if(this.retryCount<this.maxRetries){this.retryCount++;const e=1e3*Math.pow(2,this.retryCount-1);this.retryTimer=setTimeout((()=>{this.imageError=!1}),e)}this.imageError=!0};render(){const e=this.getImageUrl(),t=this.getInitials(),i=e&&!this.imageError,s=!i&&t,o=!i&&!s,l={width:`${this.size}px`,height:`${this.size}px`,fontSize:`${Math.round(.4*this.size)}px`};return a(r,{key:"67c0c1f944b9c835d1685d2b743114a1b5a1f061",style:l,class:{"has-image":!!i,"has-initials":!!s,"has-default":!!o},role:"img","aria-label":this.getDisplayName()||"User avatar"},i&&a("img",{key:"d71ccd7449a27133bcf8cc01f3cd654cc9b00142",src:e,alt:"",class:"avatar-image",ref:e=>{e&&(e.referrerPolicy="no-referrer",e.crossOrigin="anonymous")},onError:this.handleImageError}),s&&a("span",{key:"818ad4a24d6489565dffc8c64b3d4e76b701444c",class:"avatar-initials",style:{backgroundColor:this.getBackgroundColor()}},t),o&&a("span",{key:"87af93fd968f3bf5b1f86295de6bd4b71c94120c",class:"avatar-default"},a("svg",{key:"3267317fe99fb8d90432e207516bb48f603c08ed",viewBox:"0 0 24 24",fill:"currentColor"},a("path",{key:"9e4e225f9a058a24f63b508f36969c8c429fccd6",d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}))))}static get watchers(){return{user:[{userChanged:0}],profileImageUrl:[{profileImageUrlChanged:0}]}}static get style(){return":host{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;overflow:hidden;user-select:none;flex-shrink:0}.avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-initials{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;color:var(--kritzel-avatar-initials-color, #ffffff);font-weight:var(--kritzel-avatar-initials-font-weight, 500);font-family:var(--kritzel-avatar-initials-font-family, sans-serif);line-height:1}.avatar-default{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background-color:var(--kritzel-avatar-default-background, #e0e0e0);color:var(--kritzel-avatar-default-color, #9e9e9e)}.avatar-default svg{width:60%;height:60%}:host(.has-image){border:var(--kritzel-avatar-border, none)}:host(.has-initials){border:var(--kritzel-avatar-border, none)}:host(.has-default){border:var(--kritzel-avatar-border, none)}"}},[513,"kritzel-avatar",{user:[16],name:[1],size:[2],color:[1],imageError:[32]},void 0,{user:[{userChanged:0}],profileImageUrl:[{profileImageUrlChanged:0}]}]);function o(){"undefined"!=typeof customElements&&["kritzel-avatar"].forEach((e=>{"kritzel-avatar"===e&&(customElements.get(i(e))||customElements.define(i(e),s))}))}export{s as K,o as d}
@@ -1 +1 @@
1
- import{p as t,H as e,h as s,d as i,t as o}from"./p-pebXO4LU.js";import{K as r}from"./p-D8W6LE-c.js";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}core;cursorTrailPoints=[];isLeftButtonDown=!1;handleMouseDown(t){"mouse"===t.pointerType&&t.button===r.Left&&(this.isLeftButtonDown=!0,this.cursorTrailPoints=[]),"touch"===t.pointerType&&1===this.core.store.state.pointers.size&&(this.isLeftButtonDown=!0,this.cursorTrailPoints=[])}handlePointerMove(t){if(!this.isLeftButtonDown)return;const e=[{x:t.clientX,y:t.clientY,timestamp:Date.now()},...this.cursorTrailPoints];this.cursorTrailPoints=e.length>this.MAX_TRAIL_POINTS?e.slice(0,this.MAX_TRAIL_POINTS):e}handlePointerUp(t){"mouse"===t.pointerType&&t.button===r.Left&&(this.isLeftButtonDown=!1,this.cursorTrailPoints=[]),"touch"===t.pointerType&&0===this.core.store.state.pointers.size&&(this.isLeftButtonDown=!1,this.cursorTrailPoints=[])}trailCleanupIntervalId;TRAIL_DURATION_MS=100;MAX_TRAIL_POINTS=50;componentDidLoad(){this.trailCleanupIntervalId=window.setInterval((()=>{const t=Date.now(),e=this.cursorTrailPoints.filter((e=>t-e.timestamp<this.TRAIL_DURATION_MS));e.length!==this.cursorTrailPoints.length&&(this.cursorTrailPoints=e)}),50)}disconnectedCallback(){this.trailCleanupIntervalId&&window.clearInterval(this.trailCleanupIntervalId)}render(){return s(i,{key:"b6a9e84ce49dd72f353e0b87ae0bc02b0e5aeb1e"},this.cursorTrailPoints.length>1&&s("svg",{key:"238ea314a937d556c75ae080495c2e6559340c6f",class:"cursor-trail-svg",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",pointerEvents:"none",opacity:"var(--kritzel-cursor-trail-opacity, 0.6)",zIndex:"9000"}},this.cursorTrailPoints.slice(1).map(((t,e)=>{const i=this.cursorTrailPoints[e],o=Date.now(),r=Math.max(0,Math.min(1,(o-t.timestamp)/this.TRAIL_DURATION_MS));if(r>=1)return null;const n=Math.max(2,15*(1-r));return s("line",{key:`trail-segment-${t.timestamp}`,x1:i.x.toString(),y1:i.y.toString(),x2:t.x.toString(),y2:t.y.toString(),stroke:"var(--kritzel-cursor-trail-color, rgb(228, 228, 228))","stroke-width":n.toString(),"stroke-linecap":"round"})}))))}static get style(){return":host{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000}"}},[513,"kritzel-cursor-trail",{core:[16],cursorTrailPoints:[32],isLeftButtonDown:[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]]);function a(){"undefined"!=typeof customElements&&["kritzel-cursor-trail"].forEach((t=>{"kritzel-cursor-trail"===t&&(customElements.get(o(t))||customElements.define(o(t),n))}))}export{n as K,a as d}
1
+ import{p as t,H as e,h as s,d as i,t as o}from"./p-CGGiwvWZ.js";import{K as r}from"./p-D8W6LE-c.js";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}core;cursorTrailPoints=[];isLeftButtonDown=!1;handleMouseDown(t){"mouse"===t.pointerType&&t.button===r.Left&&(this.isLeftButtonDown=!0,this.cursorTrailPoints=[]),"touch"===t.pointerType&&1===this.core.store.state.pointers.size&&(this.isLeftButtonDown=!0,this.cursorTrailPoints=[])}handlePointerMove(t){if(!this.isLeftButtonDown)return;const e=[{x:t.clientX,y:t.clientY,timestamp:Date.now()},...this.cursorTrailPoints];this.cursorTrailPoints=e.length>this.MAX_TRAIL_POINTS?e.slice(0,this.MAX_TRAIL_POINTS):e}handlePointerUp(t){"mouse"===t.pointerType&&t.button===r.Left&&(this.isLeftButtonDown=!1,this.cursorTrailPoints=[]),"touch"===t.pointerType&&0===this.core.store.state.pointers.size&&(this.isLeftButtonDown=!1,this.cursorTrailPoints=[])}trailCleanupIntervalId;TRAIL_DURATION_MS=100;MAX_TRAIL_POINTS=50;componentDidLoad(){this.trailCleanupIntervalId=window.setInterval((()=>{const t=Date.now(),e=this.cursorTrailPoints.filter((e=>t-e.timestamp<this.TRAIL_DURATION_MS));e.length!==this.cursorTrailPoints.length&&(this.cursorTrailPoints=e)}),50)}disconnectedCallback(){this.trailCleanupIntervalId&&window.clearInterval(this.trailCleanupIntervalId)}render(){return s(i,{key:"b6a9e84ce49dd72f353e0b87ae0bc02b0e5aeb1e"},this.cursorTrailPoints.length>1&&s("svg",{key:"238ea314a937d556c75ae080495c2e6559340c6f",class:"cursor-trail-svg",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",pointerEvents:"none",opacity:"var(--kritzel-cursor-trail-opacity, 0.6)",zIndex:"9000"}},this.cursorTrailPoints.slice(1).map(((t,e)=>{const i=this.cursorTrailPoints[e],o=Date.now(),r=Math.max(0,Math.min(1,(o-t.timestamp)/this.TRAIL_DURATION_MS));if(r>=1)return null;const n=Math.max(2,15*(1-r));return s("line",{key:`trail-segment-${t.timestamp}`,x1:i.x.toString(),y1:i.y.toString(),x2:t.x.toString(),y2:t.y.toString(),stroke:"var(--kritzel-cursor-trail-color, rgb(228, 228, 228))","stroke-width":n.toString(),"stroke-linecap":"round"})}))))}static get style(){return":host{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000}"}},[513,"kritzel-cursor-trail",{core:[16],cursorTrailPoints:[32],isLeftButtonDown:[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]]);function a(){"undefined"!=typeof customElements&&["kritzel-cursor-trail"].forEach((t=>{"kritzel-cursor-trail"===t&&(customElements.get(o(t))||customElements.define(o(t),n))}))}export{n as K,a as d}
@@ -1 +1 @@
1
- import{p as e,H as o,c as r,h as i,d as s,t}from"./p-pebXO4LU.js";import{d as a}from"./p-Dt-J69xt.js";import{d as l}from"./p-CHmi1QWx.js";import{d as c}from"./p-xM-_OeRO.js";const n=e(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.toggleIsPublic=r(this,"toggleIsPublic"),this.dialogClosed=r(this,"dialogClosed")}get host(){return this}isPublic=!1;workspaceId=void 0;onIsPublicChange(e){this.internalIsPublic=e}isDialogOpen=!1;internalIsPublic=!1;copySuccess=!1;toggleIsPublic;dialogClosed;async open(){this.internalIsPublic=this.isPublic,this.isDialogOpen=!0}async close(){this.isDialogOpen=!1}handleToggleChange=e=>{const o=e.detail;this.internalIsPublic=o,this.toggleIsPublic.emit(o)};getShareUrl(){if(!this.workspaceId)return"";const e=new URL(this.workspaceId,window.location.origin);return e.searchParams.set("share","true"),e.toString()}handleCopyUrl=async()=>{const e=this.getShareUrl();if(e)try{await navigator.clipboard.writeText(e),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),2e3)}catch{const o=document.createElement("textarea");o.value=e,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),2e3)}};closeDialog=()=>{this.isDialogOpen=!1,this.dialogClosed.emit()};render(){return i(s,{key:"f1d9bac1ed73b3c028d77bec2eb0882b08ec12c8"},i("kritzel-dialog",{key:"952e6c6c8ed5b2260c7b540524044a8704796cd9",dialogTitle:"Share Workspace",isOpen:this.isDialogOpen,onDialogClose:this.closeDialog,size:"small"},i("div",{key:"1834e98b32be60eebf499ff7d021b16f2d9ad018",class:"share-content"},i("div",{key:"bc19e19e35de1513a1b337ad96a5e58b1c987751",class:"share-section"},i("div",{key:"0310309b3389827d94be755d926eeda87d434148",class:"share-row"},i("div",{key:"ed3171611a010df28ead03955f413083e615f908",class:"share-label-group"},i("label",{key:"90cc0d814c973bd02e4fb8b871b20561804e08dc",class:"share-label"},"Link sharing"),i("p",{key:"02ae9eb9aeaf7e1153873da7f6501bdf0fc27096",class:"share-description"},this.internalIsPublic?"Anyone with the link can access this workspace.":"Link sharing is disabled. Only you can access this workspace.")),i("kritzel-slide-toggle",{key:"656ff6bff6dff3956b73072766b73642c13cf968",checked:this.internalIsPublic,onCheckedChange:this.handleToggleChange,label:"Enable link sharing"}))),this.internalIsPublic&&i("div",{key:"dfc591b157b9ae5c268d77b7a7aab4168c80690d",class:"share-section"},i("div",{key:"54f71d05705ddca92ccf1637e0ad7318127b6e72",class:"share-url-container"},i("input",{key:"fa1a9fad703a30e87daa8c3f83c782349103809a",type:"text",class:"share-url-input",value:this.getShareUrl(),readOnly:!0,onClick:e=>e.target.select()}),i("button",{key:"d879775f7df013855e748c48dda63470ee0f66c4",class:{"copy-button":!0,"copy-success":this.copySuccess},onClick:this.handleCopyUrl,title:this.copySuccess?"Copied!":"Copy link"},i("kritzel-icon",{key:"985ee904561df3bd182697f7b95bc0e64c7f70d5",name:this.copySuccess?"check":"copy",size:18})))))))}static get watchers(){return{isPublic:[{onIsPublicChange:0}]}}static get style(){return":host{display:contents}kritzel-dialog{--kritzel-dialog-width-small:420px}.share-content{display:flex;flex-direction:column;gap:20px}.share-section{display:flex;flex-direction:column;gap:8px}.share-section-revoke{padding-top:12px;border-top:1px solid var(--kritzel-share-dialog-border-color, #e5e5e5)}.share-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-label-group{display:flex;flex-direction:column;gap:8px;flex:1}.share-label{font-size:14px;font-weight:600;color:var(--kritzel-share-dialog-label-color, #333333);margin:0}.share-description{font-size:12px;color:var(--kritzel-share-dialog-description-color, #666666);margin:0;line-height:1.4}.share-url-container{display:flex;align-items:center;gap:8px;background:var(--kritzel-share-dialog-input-background, #f5f5f5);border:1px solid var(--kritzel-share-dialog-input-border-color, #e0e0e0);border-radius:6px;padding:4px 4px 4px 12px}.share-url-input{flex:1;border:none;background:transparent;font-size:13px;color:var(--kritzel-share-dialog-input-text-color, #333333);outline:none;min-width:0;padding:8px 0}.share-url-input:focus{outline:none}.share-url-input::selection{background:var(--kritzel-share-dialog-selection-color, #cce5ff)}.copy-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:4px;background:var(--kritzel-share-dialog-copy-button-background, #ffffff);color:var(--kritzel-share-dialog-copy-button-color, #666666);cursor:pointer;transition:all 0.15s ease;flex-shrink:0}.copy-button:hover{background:var(--kritzel-share-dialog-copy-button-hover-background, #e8e8e8);color:var(--kritzel-share-dialog-copy-button-hover-color, #333333)}.copy-button.copy-success{background:var(--kritzel-share-dialog-copy-success-background, #d4edda);color:var(--kritzel-share-dialog-copy-success-color, #28a745)}.revoke-button{align-self:flex-start;padding:8px 16px;border:1px solid var(--kritzel-share-dialog-revoke-button-border-color, #dc3545);border-radius:6px;background:transparent;color:var(--kritzel-share-dialog-revoke-button-color, #dc3545);font-size:13px;font-weight:500;cursor:pointer;transition:all 0.15s ease}.revoke-button:hover{background:var(--kritzel-share-dialog-revoke-button-hover-background, #dc3545);color:var(--kritzel-share-dialog-revoke-button-hover-color, #ffffff)}kritzel-dropdown{--kritzel-dropdown-trigger-padding:8px 12px;--kritzel-dropdown-trigger-font-size:13px}"}},[513,"kritzel-share-dialog",{isPublic:[4,"is-public"],workspaceId:[1,"workspace-id"],isDialogOpen:[32],internalIsPublic:[32],copySuccess:[32],open:[64],close:[64]},void 0,{isPublic:[{onIsPublicChange:0}]}]);function d(){"undefined"!=typeof customElements&&["kritzel-share-dialog","kritzel-dialog","kritzel-icon","kritzel-slide-toggle"].forEach((e=>{switch(e){case"kritzel-share-dialog":customElements.get(t(e))||customElements.define(t(e),n);break;case"kritzel-dialog":customElements.get(t(e))||a();break;case"kritzel-icon":customElements.get(t(e))||l();break;case"kritzel-slide-toggle":customElements.get(t(e))||c()}}))}export{n as K,d}
1
+ import{p as e,H as o,c as r,h as i,d as s,t}from"./p-CGGiwvWZ.js";import{d as a}from"./p-53di1Zko.js";import{d as l}from"./p-DxzDda_J.js";import{d as c}from"./p-Ck1dhpUQ.js";const n=e(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.toggleIsPublic=r(this,"toggleIsPublic"),this.dialogClosed=r(this,"dialogClosed")}get host(){return this}isPublic=!1;workspaceId=void 0;onIsPublicChange(e){this.internalIsPublic=e}isDialogOpen=!1;internalIsPublic=!1;copySuccess=!1;toggleIsPublic;dialogClosed;async open(){this.internalIsPublic=this.isPublic,this.isDialogOpen=!0}async close(){this.isDialogOpen=!1}handleToggleChange=e=>{const o=e.detail;this.internalIsPublic=o,this.toggleIsPublic.emit(o)};getShareUrl(){if(!this.workspaceId)return"";const e=new URL(this.workspaceId,window.location.origin);return e.searchParams.set("share","true"),e.toString()}handleCopyUrl=async()=>{const e=this.getShareUrl();if(e)try{await navigator.clipboard.writeText(e),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),2e3)}catch{const o=document.createElement("textarea");o.value=e,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),2e3)}};closeDialog=()=>{this.isDialogOpen=!1,this.dialogClosed.emit()};render(){return i(s,{key:"f1d9bac1ed73b3c028d77bec2eb0882b08ec12c8"},i("kritzel-dialog",{key:"952e6c6c8ed5b2260c7b540524044a8704796cd9",dialogTitle:"Share Workspace",isOpen:this.isDialogOpen,onDialogClose:this.closeDialog,size:"small"},i("div",{key:"1834e98b32be60eebf499ff7d021b16f2d9ad018",class:"share-content"},i("div",{key:"bc19e19e35de1513a1b337ad96a5e58b1c987751",class:"share-section"},i("div",{key:"0310309b3389827d94be755d926eeda87d434148",class:"share-row"},i("div",{key:"ed3171611a010df28ead03955f413083e615f908",class:"share-label-group"},i("label",{key:"90cc0d814c973bd02e4fb8b871b20561804e08dc",class:"share-label"},"Link sharing"),i("p",{key:"02ae9eb9aeaf7e1153873da7f6501bdf0fc27096",class:"share-description"},this.internalIsPublic?"Anyone with the link can access this workspace.":"Link sharing is disabled. Only you can access this workspace.")),i("kritzel-slide-toggle",{key:"656ff6bff6dff3956b73072766b73642c13cf968",checked:this.internalIsPublic,onCheckedChange:this.handleToggleChange,label:"Enable link sharing"}))),this.internalIsPublic&&i("div",{key:"dfc591b157b9ae5c268d77b7a7aab4168c80690d",class:"share-section"},i("div",{key:"54f71d05705ddca92ccf1637e0ad7318127b6e72",class:"share-url-container"},i("input",{key:"fa1a9fad703a30e87daa8c3f83c782349103809a",type:"text",class:"share-url-input",value:this.getShareUrl(),readOnly:!0,onClick:e=>e.target.select()}),i("button",{key:"d879775f7df013855e748c48dda63470ee0f66c4",class:{"copy-button":!0,"copy-success":this.copySuccess},onClick:this.handleCopyUrl,title:this.copySuccess?"Copied!":"Copy link"},i("kritzel-icon",{key:"985ee904561df3bd182697f7b95bc0e64c7f70d5",name:this.copySuccess?"check":"copy",size:18})))))))}static get watchers(){return{isPublic:[{onIsPublicChange:0}]}}static get style(){return":host{display:contents}kritzel-dialog{--kritzel-dialog-width-small:420px}.share-content{display:flex;flex-direction:column;gap:20px}.share-section{display:flex;flex-direction:column;gap:8px}.share-section-revoke{padding-top:12px;border-top:1px solid var(--kritzel-share-dialog-border-color, #e5e5e5)}.share-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-label-group{display:flex;flex-direction:column;gap:8px;flex:1}.share-label{font-size:14px;font-weight:600;color:var(--kritzel-share-dialog-label-color, #333333);margin:0}.share-description{font-size:12px;color:var(--kritzel-share-dialog-description-color, #666666);margin:0;line-height:1.4}.share-url-container{display:flex;align-items:center;gap:8px;background:var(--kritzel-share-dialog-input-background, #f5f5f5);border:1px solid var(--kritzel-share-dialog-input-border-color, #e0e0e0);border-radius:6px;padding:4px 4px 4px 12px}.share-url-input{flex:1;border:none;background:transparent;font-size:13px;color:var(--kritzel-share-dialog-input-text-color, #333333);outline:none;min-width:0;padding:8px 0}.share-url-input:focus{outline:none}.share-url-input::selection{background:var(--kritzel-share-dialog-selection-color, #cce5ff)}.copy-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:4px;background:var(--kritzel-share-dialog-copy-button-background, #ffffff);color:var(--kritzel-share-dialog-copy-button-color, #666666);cursor:pointer;transition:all 0.15s ease;flex-shrink:0}.copy-button:hover{background:var(--kritzel-share-dialog-copy-button-hover-background, #e8e8e8);color:var(--kritzel-share-dialog-copy-button-hover-color, #333333)}.copy-button.copy-success{background:var(--kritzel-share-dialog-copy-success-background, #d4edda);color:var(--kritzel-share-dialog-copy-success-color, #28a745)}.revoke-button{align-self:flex-start;padding:8px 16px;border:1px solid var(--kritzel-share-dialog-revoke-button-border-color, #dc3545);border-radius:6px;background:transparent;color:var(--kritzel-share-dialog-revoke-button-color, #dc3545);font-size:13px;font-weight:500;cursor:pointer;transition:all 0.15s ease}.revoke-button:hover{background:var(--kritzel-share-dialog-revoke-button-hover-background, #dc3545);color:var(--kritzel-share-dialog-revoke-button-hover-color, #ffffff)}kritzel-dropdown{--kritzel-dropdown-trigger-padding:8px 12px;--kritzel-dropdown-trigger-font-size:13px}"}},[513,"kritzel-share-dialog",{isPublic:[4,"is-public"],workspaceId:[1,"workspace-id"],isDialogOpen:[32],internalIsPublic:[32],copySuccess:[32],open:[64],close:[64]},void 0,{isPublic:[{onIsPublicChange:0}]}]);function d(){"undefined"!=typeof customElements&&["kritzel-share-dialog","kritzel-dialog","kritzel-icon","kritzel-slide-toggle"].forEach((e=>{switch(e){case"kritzel-share-dialog":customElements.get(t(e))||customElements.define(t(e),n);break;case"kritzel-dialog":customElements.get(t(e))||a();break;case"kritzel-icon":customElements.get(t(e))||l();break;case"kritzel-slide-toggle":customElements.get(t(e))||c()}}))}export{n as K,d}
@@ -1 +1 @@
1
- import{p as t,H as e,c as o,h as n,d as c,t as a}from"./p-pebXO4LU.js";import{d as r}from"./p-CHmi1QWx.js";const i=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.backToContent=o(this,"backToContent")}visible=!1;text="Back to content";backToContent;handleClick=()=>{this.backToContent.emit()};render(){return n(c,{key:"890501d05ecfadaedbf298590d43b5efd67f1d5f"},n("button",{key:"fae3acd5aed5d0a5322fe9e0da2186577d873c5c",class:{"back-to-content-button":!0,visible:this.visible},onClick:this.handleClick},n("kritzel-icon",{key:"eaa718ab29fad870464c6b67d5ad27c4300dfd54",name:"chevrons-left"})))}static get style(){return":host{display:block;z-index:var(--kritzel-back-to-content-z-index, 1000)}.back-to-content-button{display:flex;align-items:center;justify-content:center;height:var(--kritzel-back-to-content-height, 50px);box-sizing:border-box;gap:var(--kritzel-back-to-content-gap, 6px);padding:var(--kritzel-back-to-content-padding, 0 16px);border:var(--kritzel-back-to-content-border, 1px solid #ebebeb);border-radius:var(--kritzel-back-to-content-border-radius, 12px);background-color:var(--kritzel-back-to-content-background-color, #ffffff);color:var(--kritzel-back-to-content-color, #000000);font-size:var(--kritzel-back-to-content-font-size, 14px);font-weight:var(--kritzel-back-to-content-font-weight, 500);cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:var(--kritzel-back-to-content-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));opacity:0;pointer-events:none;transition:opacity 0.2s ease-out, transform 0.2s ease-out, background-color 0.15s ease-out;-webkit-tap-highlight-color:transparent;user-select:none}.back-to-content-button.visible{opacity:1;pointer-events:auto}@media (hover: hover){.back-to-content-button:hover{background-color:var(--kritzel-back-to-content-hover-background-color, hsl(0, 0%, 0%, 4.3%))}}.back-to-content-button:active{background-color:var(--kritzel-back-to-content-active-background-color, hsl(0, 0%, 0%, 8.6%))}"}},[513,"kritzel-back-to-content",{visible:[4],text:[1]}]);function s(){"undefined"!=typeof customElements&&["kritzel-back-to-content","kritzel-icon"].forEach((t=>{switch(t){case"kritzel-back-to-content":customElements.get(a(t))||customElements.define(a(t),i);break;case"kritzel-icon":customElements.get(a(t))||r()}}))}export{i as K,s as d}
1
+ import{p as t,H as o,c as e,h as n,d as c,t as a}from"./p-CGGiwvWZ.js";import{d as r}from"./p-DxzDda_J.js";const i=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.backToContent=e(this,"backToContent")}visible=!1;text="Back to content";backToContent;handleClick=()=>{this.backToContent.emit()};render(){return n(c,{key:"890501d05ecfadaedbf298590d43b5efd67f1d5f"},n("button",{key:"fae3acd5aed5d0a5322fe9e0da2186577d873c5c",class:{"back-to-content-button":!0,visible:this.visible},onClick:this.handleClick},n("kritzel-icon",{key:"eaa718ab29fad870464c6b67d5ad27c4300dfd54",name:"chevrons-left"})))}static get style(){return":host{display:block;z-index:var(--kritzel-back-to-content-z-index, 1000)}.back-to-content-button{display:flex;align-items:center;justify-content:center;height:var(--kritzel-back-to-content-height, 50px);box-sizing:border-box;gap:var(--kritzel-back-to-content-gap, 6px);padding:var(--kritzel-back-to-content-padding, 0 16px);border:var(--kritzel-back-to-content-border, 1px solid #ebebeb);border-radius:var(--kritzel-back-to-content-border-radius, 12px);background-color:var(--kritzel-back-to-content-background-color, #ffffff);color:var(--kritzel-back-to-content-color, #000000);font-size:var(--kritzel-back-to-content-font-size, 14px);font-weight:var(--kritzel-back-to-content-font-weight, 500);cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:var(--kritzel-back-to-content-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));opacity:0;pointer-events:none;transition:opacity 0.2s ease-out, transform 0.2s ease-out, background-color 0.15s ease-out;-webkit-tap-highlight-color:transparent;user-select:none}.back-to-content-button.visible{opacity:1;pointer-events:auto}@media (hover: hover){.back-to-content-button:hover{background-color:var(--kritzel-back-to-content-hover-background-color, hsl(0, 0%, 0%, 4.3%))}}.back-to-content-button:active{background-color:var(--kritzel-back-to-content-active-background-color, hsl(0, 0%, 0%, 8.6%))}"}},[513,"kritzel-back-to-content",{visible:[4],text:[1]}]);function s(){"undefined"!=typeof customElements&&["kritzel-back-to-content","kritzel-icon"].forEach((t=>{switch(t){case"kritzel-back-to-content":customElements.get(a(t))||customElements.define(a(t),i);break;case"kritzel-icon":customElements.get(a(t))||r()}}))}export{i as K,s as d}
@@ -0,0 +1 @@
1
+ import{p as t,H as e,h as s,d as r,t as o}from"./p-CGGiwvWZ.js";import{K as n,a as i}from"./p-DXpYcAnT.js";const a=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}core;showEdgeIndicators=!0;edgeIndicatorPadding=8;remoteCursors=new Map;objectVersion=0;cleanupIntervalId;objectChangeRafId=null;componentDidLoad(){this.core.store.state.objects?.onAwarenessChange((t=>{this.handleAwarenessChange(t)})),this.core.store.state.objects?.onObjectsChange((()=>{this.handleRemoteObjectChange()})),this.cleanupIntervalId=setInterval((()=>{this.cleanupStaleCursors()}),3e3)}disconnectedCallback(){this.cleanupIntervalId&&clearInterval(this.cleanupIntervalId),null!==this.objectChangeRafId&&cancelAnimationFrame(this.objectChangeRafId)}handleAwarenessChange(t){const e=this.core.store.state.objects?.localClientId,s=Date.now(),r=new Map(this.remoteCursors),o=new Set;t.forEach(((t,n)=>{if(n===e)return;if(!t.user)return;o.add(n);const i=t.user,a=t.cursor,l=t.activeObjectId||null,c=t.selectionBox||null,d=r.get(n);r.set(n,{clientId:n,user:i,cursor:a,activeObjectId:l,selectionBox:c,lastUpdated:s,lastCursorMove:!d||!d.cursor!=!a||a&&d.cursor&&(a.x!==d.cursor.x||a.y!==d.cursor.y)?s:d?.lastCursorMove??s})}));for(const t of r.keys())o.has(t)||r.delete(t);this.remoteCursors=r}cleanupStaleCursors(){const t=Date.now();let e=!1;const s=new Map(this.remoteCursors);for(const[r,o]of s)t-o.lastUpdated>3e4?(s.delete(r),e=!0):!e&&t-o.lastCursorMove>1e4&&(e=!0);e&&(this.remoteCursors=s)}isStale(t){return Date.now()-t.lastCursorMove>1e4}hasActiveDrawingCursors(){for(const t of this.remoteCursors.values())if(t.activeObjectId)return!0;return!1}handleRemoteObjectChange(){this.hasActiveDrawingCursors()&&null===this.objectChangeRafId&&(this.objectChangeRafId=requestAnimationFrame((()=>{this.objectChangeRafId=null,this.objectVersion++})))}getActiveObjectTip(t){const e=this.core.store.state.objects?.findById(t);if(!e)return null;if(e instanceof n&&!e.isCompleted){const t=e.points[e.points.length-1];return t?{x:(t[0]-e.x)/e.scale+e.translateX,y:(t[1]-e.y)/e.scale+e.translateY}:null}return e instanceof i&&!e.isCompleted?{x:(e.endX-e.x)/e.scale+e.translateX,y:(e.endY-e.y)/e.scale+e.translateY}:null}worldToScreen(t,e){const{scale:s,translateX:r,translateY:o}=this.core.store.state;return{x:t*s+r,y:e*s+o}}isInViewport(t,e){const{viewportWidth:s,viewportHeight:r}=this.core.store.state;return t>=0&&t<=s&&e>=0&&e<=r}clampToEdge(t,e){const{viewportWidth:s,viewportHeight:r}=this.core.store.state,o=this.edgeIndicatorPadding,n=Math.max(o,Math.min(s-o,t)),i=Math.max(o,Math.min(r-o,e)),a=n-o,l=s-o-n,c=i-o;let d="top";const h=Math.min(a,l,c,r-o-i);return d=h===a?"left":h===l?"right":h===c?"top":"bottom",{x:n,y:i,angle:Math.atan2(e-i,t-n),edge:d}}getUserDisplayName(t){return t.displayName?t.displayName:t.firstName||t.lastName?[t.firstName,t.lastName].filter(Boolean).join(" "):"Unknown"}render(){const t=Array.from(this.remoteCursors.values());return s(r,{key:"5a28def6e024249c4309c087502cde9f219f5421"},t.map((t=>{if(!t.cursor)return null;let e,s=!1;if(t.activeObjectId){const r=this.getActiveObjectTip(t.activeObjectId);r?(s=!0,e=this.worldToScreen(r.x,r.y)):e=this.worldToScreen(t.cursor.x,t.cursor.y)}else e=this.worldToScreen(t.cursor.x,t.cursor.y);const r=this.isInViewport(e.x,e.y),o=this.isStale(t),n=t.user.color||"#6B7280";return r?this.renderCursor(t,e.x,e.y,n,o,s):this.showEdgeIndicators?this.renderEdgeIndicator(t,e.x,e.y,n,o,s):null})),t.map((t=>{if(!t.selectionBox)return null;const e=t.user.color||"#6B7280",r=t.selectionBox,o=this.worldToScreen(r.x,r.y),{scale:n}=this.core.store.state;return s("div",{key:`selection-box-${t.clientId}`,class:"remote-selection-box",style:{transform:`translate(${o.x}px, ${o.y}px)`,width:r.width*n+"px",height:r.height*n+"px",backgroundColor:`color-mix(in srgb, ${e} 20%, transparent)`,borderColor:`color-mix(in srgb, ${e} 50%, transparent)`}})})))}renderCursor(t,e,r,o,n,i){return s("div",{key:`cursor-${t.clientId}`,class:{"awareness-cursor":!0,stale:n,"tracking-object":i},style:{transform:`translate(${e}px, ${r}px)`}},s("svg",{class:"cursor-arrow",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s("path",{d:"M5 3L19 12L12 13L9 20L5 3Z",fill:o,stroke:"#ffffff","stroke-width":"1.5","stroke-linejoin":"round"})),s("span",{class:"cursor-label",style:{backgroundColor:o}},this.getUserDisplayName(t.user)))}renderEdgeIndicator(t,e,r,o,n,i){const a=this.clampToEdge(e,r),l=180*a.angle/Math.PI+90;let c=0,d=0;"left"===a.edge?c=20:"right"===a.edge?c=-20:"top"===a.edge?d=20:"bottom"===a.edge&&(d=-20);const h=this.getUserDisplayName(t.user);return s("div",{key:`edge-${t.clientId}`,class:{"edge-indicator":!0,stale:n,"tracking-object":i},style:{transform:`translate(${a.x}px, ${a.y}px)`}},s("svg",{class:{"edge-arrow":!0,stale:n},width:"16",height:"16",viewBox:"0 0 16 16",style:{transform:`rotate(${l}deg)`}},s("path",{d:"M8 1L14 13H2L8 1Z",fill:o,stroke:"#ffffff","stroke-width":"1.5","stroke-linejoin":"round"})),s("span",{class:"edge-label",style:{backgroundColor:o,transform:`translate(${c}px, ${d}px)`}},h))}static get style(){return":host{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1}.awareness-cursor{position:absolute;top:0;left:0;transition:transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out, opacity 300ms ease;will-change:transform}.awareness-cursor.stale{opacity:0}.awareness-cursor.tracking-object{transition-duration:0ms}.cursor-arrow{filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3))}.cursor-label{position:absolute;left:16px;top:16px;white-space:nowrap;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;font-size:var(--kritzel-awareness-cursor-label-font-size, 12px);color:var(--kritzel-awareness-cursor-label-text-color, #ffffff);padding:2px 8px;border-radius:4px;line-height:1.4;font-weight:500;pointer-events:none;user-select:none}.edge-indicator{position:absolute;top:-12px;left:-12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out, opacity 300ms ease;will-change:transform;pointer-events:auto;user-select:none;cursor:pointer}.edge-indicator.stale{opacity:0}.edge-indicator.tracking-object{transition-duration:0ms}.edge-arrow{position:absolute;filter:drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));transition:opacity 300ms ease}.edge-arrow.stale{opacity:0}.edge-label{position:absolute;white-space:nowrap;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;font-size:var(--kritzel-awareness-cursor-label-font-size, 12px);color:var(--kritzel-awareness-cursor-label-text-color, #ffffff);padding:2px 8px;border-radius:4px;line-height:1.4;font-weight:500;pointer-events:none;opacity:0;transform-origin:center;transition:opacity 150ms ease}.edge-indicator:hover .edge-label{opacity:1}.remote-selection-box{position:absolute;top:0;left:0;border-width:2px;border-style:solid;pointer-events:none;will-change:transform, width, height;transition:transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out, width var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out, height var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out}"}},[513,"kritzel-awareness-cursors",{core:[16],showEdgeIndicators:[4,"show-edge-indicators"],edgeIndicatorPadding:[2,"edge-indicator-padding"],remoteCursors:[32],objectVersion:[32]}]);function l(){"undefined"!=typeof customElements&&["kritzel-awareness-cursors"].forEach((t=>{"kritzel-awareness-cursors"===t&&(customElements.get(o(t))||customElements.define(o(t),a))}))}export{a as K,l as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as o,d as n,t as r}from"./p-pebXO4LU.js";import{d as s}from"./p-CHmi1QWx.js";import{K as l}from"./p-jGOpkGDl.js";import{d as a}from"./p-D1O7DxL4.js";const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect"),this.itemSave=i(this,"itemSave"),this.itemCancel=i(this,"itemCancel"),this.itemToggleChildMenu=i(this,"itemToggleChildMenu"),this.itemCloseChildMenu=i(this,"itemCloseChildMenu")}get host(){return this}item;onItemChange(e,t){e!==t&&(this.isDirty=!1)}parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;isDirty=!1;inputRef;focusInput(){this.item.isEditing&&!this.isDirty&&requestAnimationFrame((()=>{if(this.inputRef)if(this.inputRef.focus(),l.isIOS()){const e=this.inputRef.value.length;this.inputRef.setSelectionRange(e,e)}else this.inputRef.select()}))}componentDidLoad(){this.setDeviceSpecificStyles(),this.focusInput()}componentDidUpdate(){this.focusInput()}setDeviceSpecificStyles=()=>{l.isTouchDevice()&&(this.host.style.setProperty("--kritzel-menu-item-overlay-background-color","transparent"),this.host.style.setProperty("--kritzel-menu-item-button-hover-background-color","transparent"))};handleItemSelect=e=>{e.stopPropagation(),this.itemSelect.emit({item:this.item,parent:this.parent})};handleInputChange=e=>{e.stopPropagation(),this.item.label=e.target.value,this.isDirty=!0};handleSave=e=>{e.stopPropagation(),this.host.focus(),this.itemSave.emit(this.item)};handleCancel=e=>{e.stopPropagation(),this.host.focus(),this.itemCancel.emit(this.item)};handleMenuToggle=e=>{e.stopPropagation(),this.itemToggleChildMenu.emit({item:this.item,childMenuAnchor:e.target})};handleMenuClose=()=>{this.itemCloseChildMenu.emit(this.item)};renderViewMode(){return[o("div",{class:"menu-item-content left"},this.item.icon&&o("span",{title:this.item.iconTooltip},o("kritzel-icon",{name:this.item.icon,size:16,style:this.item.color?{"--kritzel-icon-color":this.item.color}:void 0})),o("div",{style:this.item.color?{color:this.item.color}:void 0},this.item.label)),o("div",{class:"menu-item-content right"},this.item.children&&this.item.children.length>0&&[o("button",{id:"child-menu-toggle",class:"action-button",onClick:this.handleMenuToggle,disabled:this.item.isDisabled},o("kritzel-icon",{name:"ellipsis-vertical",size:16})),o("kritzel-portal",{anchor:this.item.childMenuAnchor,offsetY:4,onClose:this.handleMenuClose},o("kritzel-menu",{items:this.item.children,parent:this.item,onItemSelect:e=>this.itemSelect.emit(e.detail),onItemSave:e=>this.itemSave.emit(e.detail),onItemCancel:e=>this.itemCancel.emit(e.detail),onClose:this.handleMenuClose}))])]}renderEditMode(){return[o("div",{class:"menu-item-content left"},o("input",{ref:e=>this.inputRef=e,type:"text",class:"edit-input",value:this.item.label,onInput:this.handleInputChange})),o("div",{class:"menu-item-content right"},o("div",{tabIndex:0,class:"action-button",onClick:this.handleCancel},o("kritzel-icon",{name:"x",size:16})),o("div",{tabIndex:this.isDirty||this.item.isNewItem?0:-1,class:{"action-button":!0,disabled:!this.isDirty&&!this.item.isNewItem},onClick:this.handleSave},o("kritzel-icon",{name:"check",size:16})))]}render(){return o(n,{key:"5a0d685c83cb3f82e64e74feef124ae0c9bca162",tabIndex:this.item.isDisabled?-1:0,class:{selected:this.item.isSelected,editing:this.item.isEditing,disabled:this.item.isDisabled,"child-open":this.item.isChildMenuOpen},onClick:this.handleItemSelect},o("div",{key:"02415ff1e0abf326ae284ed5b31b2a0241d4c7e2",class:"menu-item-overlay"}),this.item.isEditing?this.renderEditMode():this.renderViewMode())}static get watchers(){return{item:[{onItemChange:0}]}}static get style(){return":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);color:var(--kritzel-menu-item-color, #333333);border-radius:var(--kritzel-menu-item-border-radius, 12px);-webkit-tap-highlight-color:transparent}:host:focus:not(:focus-visible){outline:none}:host(:hover) .menu-item-overlay,:host(:focus-within) .menu-item-overlay{background-color:var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.selected){background-color:var(--kritzel-menu-item-selected-background-color, #007aff);color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected.editing){background-color:var(--kritzel-menu-item-selected-background-color, #007aff)}:host(.selected) .edit-input{color:var(--kritzel-menu-item-selected-color, #ffffff);caret-color:var(--kritzel-menu-item-input-caret-color-on-selected, #ffffff);border-color:var(--kritzel-menu-item-input-border-color-on-selected, #ffffff)}:host(.selected) .action-button kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-color, #333333)}:host(.selected) kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color-on-selected, rgba(255, 255, 255, 0.3));color:var(--kritzel-menu-item-input-selection-text-color-on-selected, #ffffff)}:host(.editing){background-color:var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.disabled){opacity:0.5;pointer-events:none !important}:host(.child-open){background-color:var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.child-open.selected){background-color:var(--kritzel-menu-item-selected-background-color, #007aff)}.menu-item-overlay{position:absolute;inset:0;background-color:transparent;z-index:0;pointer-events:none;border-radius:var(--kritzel-menu-item-border-radius, 12px)}.menu-item-content{display:flex;align-items:center;gap:8px;position:relative;z-index:1;height:100%}.left{justify-content:flex-start;flex:1;min-width:0}.left>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{justify-content:flex-end}.edit-input{flex:1;height:var(--kritzel-menu-item-input-height, 24px);padding:0;background-color:transparent;border-radius:0;border:none;border-bottom:var(--kritzel-menu-item-input-border, 1px solid #ccc);font-size:var(--kritzel-menu-item-font-size, 14px);width:100%;min-width:0;box-sizing:border-box;outline:none;color:inherit}.edit-input{caret-color:var(--kritzel-menu-item-input-caret-color, currentColor)}.edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, #007bff);color:var(--kritzel-menu-item-input-selection-text-color, #ffffff)}.action-button{padding:4px;border-radius:8px;border:none;cursor:var(--kritzel-global-pointer-cursor, pointer);display:flex;align-items:center;justify-content:center;background-color:transparent;background:transparent;-webkit-tap-highlight-color:transparent}.action-button:hover,.action-button:focus{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.action-button.disabled{pointer-events:none;opacity:0.5}"}},[513,"kritzel-menu-item",{item:[16],parent:[16],isDirty:[32]},void 0,{item:[{onItemChange:0}]}]);function h(){"undefined"!=typeof customElements&&["kritzel-menu-item","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-menu-item":customElements.get(r(e))||customElements.define(r(e),c);break;case"kritzel-icon":customElements.get(r(e))||s();break;case"kritzel-menu":customElements.get(r(e))||u();break;case"kritzel-menu-item":customElements.get(r(e))||h();break;case"kritzel-portal":customElements.get(r(e))||a()}}))}const m=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect"),this.itemSave=i(this,"itemSave"),this.itemCancel=i(this,"itemCancel"),this.itemToggleChildMenu=i(this,"itemToggleChildMenu"),this.itemCloseChildMenu=i(this,"itemCloseChildMenu"),this.close=i(this,"close")}get host(){return this}items;parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;close;selectedIndex=null;async setScrollTop(e){this.host.scrollTop=e,this.host.scrollTo({top:e,behavior:"auto"})}async setFocus(){const e=this.host.shadowRoot.querySelector("kritzel-menu-item");e&&e.focus()}get openChildMenuItem(){return this.items.find((e=>e.isChildMenuOpen))}get editingMenuItem(){return this.items.find((e=>e.isEditing))}onOverlayClick=e=>{e.stopPropagation(),this.itemCloseChildMenu.emit(this.openChildMenuItem)};handleItemSelect=e=>{e.stopPropagation(),this.itemSelect.emit(e.detail)};handleSave=e=>{e.stopPropagation(),this.itemSave.emit(e.detail)};handleCancel=e=>{e.stopPropagation(),this.itemCancel.emit(e.detail)};handleToggleChildMenu=e=>{e.stopPropagation(),this.itemToggleChildMenu.emit(e.detail)};handleCloseChildMenu=e=>{e.stopPropagation(),this.itemCloseChildMenu.emit(e.detail)};render(){return o(n,{key:"9a14983012bb0c286a17811d3e3c41743799c560",tabIndex:0,onClick:e=>e.stopPropagation()},this.openChildMenuItem&&o("div",{key:"0540a587c117a09857e9d87b65e019c8fa85c694",class:"has-open-child-overlay",onClick:this.onOverlayClick}),this.items.map((e=>o("kritzel-menu-item",{key:e.id,item:e,parent:this.parent,style:{pointerEvents:this.editingMenuItem&&!e.isEditing?"none":"auto"},onItemSelect:this.handleItemSelect,onItemSave:this.handleSave,onItemCancel:this.handleCancel,onItemToggleChildMenu:this.handleToggleChildMenu,onItemCloseChildMenu:this.handleCloseChildMenu}))))}static get style(){return":host{position:relative;display:flex;flex-direction:column;background-color:var(--kritzel-menu-background-color, #ffffff);width:var(--kritzel-menu-width, 200px);padding:var(--kritzel-menu-padding, 8px);border-radius:var(--kritzel-menu-border-radius, 12px);box-shadow:var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-menu-border, 1px solid #ebebeb);z-index:2;gap:var(--kritzel-menu-gap, 4px);overflow-y:auto;scrollbar-color:var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;scrollbar-width:thin;max-height:var(--kritzel-portal-max-height, 300px);box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none;clip-path:inset(0 round var(--kritzel-menu-border-radius, 12px))}:host:focus-visible{outline:auto}.has-open-child-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3}"}},[513,"kritzel-menu",{items:[16],parent:[16],selectedIndex:[32],setScrollTop:[64],setFocus:[64]}]);function u(){"undefined"!=typeof customElements&&["kritzel-menu","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-menu":customElements.get(r(e))||customElements.define(r(e),m);break;case"kritzel-icon":customElements.get(r(e))||s();break;case"kritzel-menu":customElements.get(r(e))||u();break;case"kritzel-menu-item":customElements.get(r(e))||h();break;case"kritzel-portal":customElements.get(r(e))||a()}}))}export{m as K,u as a,c as b,h as d}
1
+ import{p as e,H as t,c as i,h as o,d as n,t as r}from"./p-CGGiwvWZ.js";import{d as s}from"./p-DxzDda_J.js";import{K as l}from"./p-jGOpkGDl.js";import{d as a}from"./p-Dr3-pKVg.js";const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect"),this.itemSave=i(this,"itemSave"),this.itemCancel=i(this,"itemCancel"),this.itemToggleChildMenu=i(this,"itemToggleChildMenu"),this.itemCloseChildMenu=i(this,"itemCloseChildMenu")}get host(){return this}item;onItemChange(e,t){e!==t&&(this.isDirty=!1)}parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;isDirty=!1;inputRef;focusInput(){this.item.isEditing&&!this.isDirty&&requestAnimationFrame((()=>{if(this.inputRef)if(this.inputRef.focus(),l.isIOS()){const e=this.inputRef.value.length;this.inputRef.setSelectionRange(e,e)}else this.inputRef.select()}))}componentDidLoad(){this.setDeviceSpecificStyles(),this.focusInput()}componentDidUpdate(){this.focusInput()}setDeviceSpecificStyles=()=>{l.isTouchDevice()&&(this.host.style.setProperty("--kritzel-menu-item-overlay-background-color","transparent"),this.host.style.setProperty("--kritzel-menu-item-button-hover-background-color","transparent"))};handleItemSelect=e=>{e.stopPropagation(),this.itemSelect.emit({item:this.item,parent:this.parent})};handleInputChange=e=>{e.stopPropagation(),this.item.label=e.target.value,this.isDirty=!0};handleSave=e=>{e.stopPropagation(),this.host.focus(),this.itemSave.emit(this.item)};handleCancel=e=>{e.stopPropagation(),this.host.focus(),this.itemCancel.emit(this.item)};handleMenuToggle=e=>{e.stopPropagation(),this.itemToggleChildMenu.emit({item:this.item,childMenuAnchor:e.target})};handleMenuClose=()=>{this.itemCloseChildMenu.emit(this.item)};renderViewMode(){return[o("div",{class:"menu-item-content left"},this.item.icon&&o("span",{title:this.item.iconTooltip},o("kritzel-icon",{name:this.item.icon,size:16,style:this.item.color?{"--kritzel-icon-color":this.item.color}:void 0})),o("div",{style:this.item.color?{color:this.item.color}:void 0},this.item.label)),o("div",{class:"menu-item-content right"},this.item.children&&this.item.children.length>0&&[o("button",{id:"child-menu-toggle",class:"action-button",onClick:this.handleMenuToggle,disabled:this.item.isDisabled},o("kritzel-icon",{name:"ellipsis-vertical",size:16})),o("kritzel-portal",{anchor:this.item.childMenuAnchor,offsetY:4,onClose:this.handleMenuClose},o("kritzel-menu",{items:this.item.children,parent:this.item,onItemSelect:e=>this.itemSelect.emit(e.detail),onItemSave:e=>this.itemSave.emit(e.detail),onItemCancel:e=>this.itemCancel.emit(e.detail),onClose:this.handleMenuClose}))])]}renderEditMode(){return[o("div",{class:"menu-item-content left"},o("input",{ref:e=>this.inputRef=e,type:"text",class:"edit-input",value:this.item.label,onInput:this.handleInputChange})),o("div",{class:"menu-item-content right"},o("div",{tabIndex:0,class:"action-button",onClick:this.handleCancel},o("kritzel-icon",{name:"x",size:16})),o("div",{tabIndex:this.isDirty||this.item.isNewItem?0:-1,class:{"action-button":!0,disabled:!this.isDirty&&!this.item.isNewItem},onClick:this.handleSave},o("kritzel-icon",{name:"check",size:16})))]}render(){return o(n,{key:"5a0d685c83cb3f82e64e74feef124ae0c9bca162",tabIndex:this.item.isDisabled?-1:0,class:{selected:this.item.isSelected,editing:this.item.isEditing,disabled:this.item.isDisabled,"child-open":this.item.isChildMenuOpen},onClick:this.handleItemSelect},o("div",{key:"02415ff1e0abf326ae284ed5b31b2a0241d4c7e2",class:"menu-item-overlay"}),this.item.isEditing?this.renderEditMode():this.renderViewMode())}static get watchers(){return{item:[{onItemChange:0}]}}static get style(){return":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);color:var(--kritzel-menu-item-color, #333333);border-radius:var(--kritzel-menu-item-border-radius, 12px);-webkit-tap-highlight-color:transparent}:host:focus:not(:focus-visible){outline:none}:host(:hover) .menu-item-overlay,:host(:focus-within) .menu-item-overlay{background-color:var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.selected){background-color:var(--kritzel-menu-item-selected-background-color, #007aff);color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected.editing){background-color:var(--kritzel-menu-item-selected-background-color, #007aff)}:host(.selected) .edit-input{color:var(--kritzel-menu-item-selected-color, #ffffff);caret-color:var(--kritzel-menu-item-input-caret-color-on-selected, #ffffff);border-color:var(--kritzel-menu-item-input-border-color-on-selected, #ffffff)}:host(.selected) .action-button kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-color, #333333)}:host(.selected) kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color-on-selected, rgba(255, 255, 255, 0.3));color:var(--kritzel-menu-item-input-selection-text-color-on-selected, #ffffff)}:host(.editing){background-color:var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.disabled){opacity:0.5;pointer-events:none !important}:host(.child-open){background-color:var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.child-open.selected){background-color:var(--kritzel-menu-item-selected-background-color, #007aff)}.menu-item-overlay{position:absolute;inset:0;background-color:transparent;z-index:0;pointer-events:none;border-radius:var(--kritzel-menu-item-border-radius, 12px)}.menu-item-content{display:flex;align-items:center;gap:8px;position:relative;z-index:1;height:100%}.left{justify-content:flex-start;flex:1;min-width:0}.left>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{justify-content:flex-end}.edit-input{flex:1;height:var(--kritzel-menu-item-input-height, 24px);padding:0;background-color:transparent;border-radius:0;border:none;border-bottom:var(--kritzel-menu-item-input-border, 1px solid #ccc);font-size:var(--kritzel-menu-item-font-size, 14px);width:100%;min-width:0;box-sizing:border-box;outline:none;color:inherit}.edit-input{caret-color:var(--kritzel-menu-item-input-caret-color, currentColor)}.edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, #007bff);color:var(--kritzel-menu-item-input-selection-text-color, #ffffff)}.action-button{padding:4px;border-radius:8px;border:none;cursor:var(--kritzel-global-pointer-cursor, pointer);display:flex;align-items:center;justify-content:center;background-color:transparent;background:transparent;-webkit-tap-highlight-color:transparent}.action-button:hover,.action-button:focus{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.action-button.disabled{pointer-events:none;opacity:0.5}"}},[513,"kritzel-menu-item",{item:[16],parent:[16],isDirty:[32]},void 0,{item:[{onItemChange:0}]}]);function h(){"undefined"!=typeof customElements&&["kritzel-menu-item","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-menu-item":customElements.get(r(e))||customElements.define(r(e),c);break;case"kritzel-icon":customElements.get(r(e))||s();break;case"kritzel-menu":customElements.get(r(e))||u();break;case"kritzel-menu-item":customElements.get(r(e))||h();break;case"kritzel-portal":customElements.get(r(e))||a()}}))}const m=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect"),this.itemSave=i(this,"itemSave"),this.itemCancel=i(this,"itemCancel"),this.itemToggleChildMenu=i(this,"itemToggleChildMenu"),this.itemCloseChildMenu=i(this,"itemCloseChildMenu"),this.close=i(this,"close")}get host(){return this}items;parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;close;selectedIndex=null;async setScrollTop(e){this.host.scrollTop=e,this.host.scrollTo({top:e,behavior:"auto"})}async setFocus(){const e=this.host.shadowRoot.querySelector("kritzel-menu-item");e&&e.focus()}get openChildMenuItem(){return this.items.find((e=>e.isChildMenuOpen))}get editingMenuItem(){return this.items.find((e=>e.isEditing))}onOverlayClick=e=>{e.stopPropagation(),this.itemCloseChildMenu.emit(this.openChildMenuItem)};handleItemSelect=e=>{e.stopPropagation(),this.itemSelect.emit(e.detail)};handleSave=e=>{e.stopPropagation(),this.itemSave.emit(e.detail)};handleCancel=e=>{e.stopPropagation(),this.itemCancel.emit(e.detail)};handleToggleChildMenu=e=>{e.stopPropagation(),this.itemToggleChildMenu.emit(e.detail)};handleCloseChildMenu=e=>{e.stopPropagation(),this.itemCloseChildMenu.emit(e.detail)};render(){return o(n,{key:"9a14983012bb0c286a17811d3e3c41743799c560",tabIndex:0,onClick:e=>e.stopPropagation()},this.openChildMenuItem&&o("div",{key:"0540a587c117a09857e9d87b65e019c8fa85c694",class:"has-open-child-overlay",onClick:this.onOverlayClick}),this.items.map((e=>o("kritzel-menu-item",{key:e.id,item:e,parent:this.parent,style:{pointerEvents:this.editingMenuItem&&!e.isEditing?"none":"auto"},onItemSelect:this.handleItemSelect,onItemSave:this.handleSave,onItemCancel:this.handleCancel,onItemToggleChildMenu:this.handleToggleChildMenu,onItemCloseChildMenu:this.handleCloseChildMenu}))))}static get style(){return":host{position:relative;display:flex;flex-direction:column;background-color:var(--kritzel-menu-background-color, #ffffff);width:var(--kritzel-menu-width, 200px);padding:var(--kritzel-menu-padding, 8px);border-radius:var(--kritzel-menu-border-radius, 12px);box-shadow:var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-menu-border, 1px solid #ebebeb);z-index:2;gap:var(--kritzel-menu-gap, 4px);overflow-y:auto;scrollbar-color:var(--kritzel-global-scrollbar-thumb-color, #ebebeb) transparent;scrollbar-width:thin;max-height:var(--kritzel-portal-max-height, 300px);box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none;clip-path:inset(0 round var(--kritzel-menu-border-radius, 12px))}:host:focus-visible{outline:auto}.has-open-child-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3}"}},[513,"kritzel-menu",{items:[16],parent:[16],selectedIndex:[32],setScrollTop:[64],setFocus:[64]}]);function u(){"undefined"!=typeof customElements&&["kritzel-menu","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-menu":customElements.get(r(e))||customElements.define(r(e),m);break;case"kritzel-icon":customElements.get(r(e))||s();break;case"kritzel-menu":customElements.get(r(e))||u();break;case"kritzel-menu-item":customElements.get(r(e))||h();break;case"kritzel-portal":customElements.get(r(e))||a()}}))}export{m as K,u as a,c as b,h as d}
@@ -1 +1 @@
1
- import{p as t,H as o,c as e,h as r,d as i,t as l}from"./p-pebXO4LU.js";import{h as n,d as s,f as a,e as c,g as d}from"./p-CJ2eHeoV.js";import{K as p}from"./p-jGOpkGDl.js";import{K as h,d as k}from"./p-2OYw6GJ7.js";import{a as f}from"./p-CjazGGq3.js";import{d as u}from"./p-C1uR_ZNW.js";import{d as b}from"./p-BEJQ2kP7.js";import{d as g}from"./p-GYI7sDxr.js";import{d as z}from"./p-HLbqRJGs.js";import{d as m}from"./p-TyR-YTXm.js";import{d as v}from"./p-CZhyKp-f.js";import{d as x}from"./p-CHmi1QWx.js";import{d as y}from"./p-CFhp1W9F.js";import{d as w}from"./p-C7SBI_0T.js";import{d as C}from"./p-JdNoaqqb.js";import{d as j}from"./p-BiouZo1q.js";import{d as E}from"./p-kj9wbLY8.js";import{d as T}from"./p-DvIEvoZu.js";const S=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.isControlsReady=e(this,"isControlsReady")}get host(){return this}controls=[];activeControl=null;isUtilityPanelVisible=!0;undoState=null;theme;isControlsReady;firstConfig=null;isTouchDevice=p.isTouchDevice();selectedSubOptions=new Map;canScrollLeft=!1;canScrollRight=!1;needsScrolling=!1;displayValues=null;handleKeyDown(t){"Escape"===t.key&&(t.preventDefault(),this.closeTooltip(),this.kritzelEngine?.enable())}async handleActiveToolChange(t){this.activeControl=this.controls.find((o=>o.tool===t.detail))||null,this.activeControl?.tool&&this.updateDisplayValues(this.activeControl.tool),this.closeTooltip()}handleSelectionChange(){this.activeControl?.tool instanceof n&&this.updateDisplayValues(this.activeControl.tool)}onThemeChange(){this.activeControl?.tool&&this.updateDisplayValues(this.activeControl.tool)}async closeTooltip(){document.dispatchEvent(new CustomEvent("kritzelTooltipCloseAll"))}kritzelEngine=null;toolsScrollRef=null;configTriggerRef=null;get activeToolAsTextTool(){return this.activeControl?.tool}get activeToolAsBrushTool(){return this.activeControl?.tool}get activeToolAsLineTool(){return this.activeControl?.tool}get activeToolAsShapeTool(){return this.activeControl?.tool}handleDisplayValuesChange=t=>{const o=t.detail;this.displayValues&&this.displayValues.color===o.color&&this.displayValues.size===o.size&&this.displayValues.fontFamily===o.fontFamily||(this.displayValues=o)};updateDisplayValues(t){const o=h.getToolConfig(t);if(!o)return void(this.displayValues=null);const e=t[o.sizeProperty],r={color:f.applyOpacity(t[o.colorProperty],t[o.opacityProperty]??1,this.theme),size:e};t instanceof a&&(r.fontFamily=t.fontFamily),this.displayValues&&this.displayValues.color===r.color&&this.displayValues.size===r.size&&this.displayValues.fontFamily===r.fontFamily||(this.displayValues=r)}async componentWillLoad(){await this.initializeEngine(),await this.initializeTools(),this.isControlsReady.emit()}componentDidLoad(){this.updateScrollIndicators()}componentDidRender(){this.updateScrollIndicators()}updateScrollIndicators(){if(!this.toolsScrollRef)return;const{scrollLeft:t,scrollWidth:o,clientWidth:e}=this.toolsScrollRef,r=t>2,i=t+e<o-2,l=o>e;this.canScrollLeft!==r&&(this.canScrollLeft=r),this.canScrollRight!==i&&(this.canScrollRight=i),this.needsScrolling!==l&&(this.needsScrolling=l)}handleToolsScroll=()=>{this.updateScrollIndicators()};async initializeEngine(){if(await customElements.whenDefined("kritzel-engine"),this.kritzelEngine=this.host.parentElement.querySelector("kritzel-engine"),!this.kritzelEngine)throw new Error("kritzel-engine not found in parent element.")}async initializeTools(){for(const t of this.controls)"tool"===t.type&&t.tool&&(t.tool=await this.kritzelEngine.registerTool(t.name,t.tool,t.config)),"tool"===t.type&&t.isDefault&&t.tool&&(await this.kritzelEngine.changeActiveTool(t.tool),this.activeControl=t,this.updateDisplayValues(t.tool)),"config"===t.type&&(null===this.firstConfig?this.firstConfig=t:console.warn("Only one config control is allowed. The first one will be used."))}async handleControlClick(t){this.activeControl=t,"tool"===this.activeControl.type&&(this.updateDisplayValues(this.activeControl.tool),await this.kritzelEngine.changeActiveTool(this.activeControl.tool))}async handleToolChange(t){this.activeControl={...this.activeControl,tool:t.detail},await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}getSelectedSubOption(t){if(t.subOptions?.length)return this.selectedSubOptions.get(t.name)||t.subOptions[0]}async selectSubOption(t,o){const e=new Map(this.selectedSubOptions);e.set(t.name,o),this.selectedSubOptions=e,t.tool&&"function"!=typeof t.tool&&(t.tool[o.toolProperty]=o.value),this.closeTooltip(),await this.handleControlClick(t)}render(){const t=this.activeControl?.tool instanceof s||this.activeControl?.tool instanceof a||this.activeControl?.tool instanceof c||this.activeControl?.tool instanceof d||this.activeControl?.tool instanceof n&&this.activeControl.tool.hasSelection(),o=this.controls.filter((t=>"tool"===t.type||"separator"===t.type)),e=this.controls.find((t=>"config"===t.type&&t.name===this.firstConfig?.name));return r(i,{key:"fa03f9eae6ebc0a043d6ac3cb774ae32491ae943",class:{mobile:this.isTouchDevice}},this.isUtilityPanelVisible&&r("kritzel-utility-panel",{key:"2e789118656dc3366f131b520f2be4386e5889c8",style:{position:"absolute",bottom:"56px",left:"12px"},undoState:this.undoState,onUndo:()=>this.kritzelEngine?.undo(),onRedo:()=>this.kritzelEngine?.redo(),onDelete:()=>this.kritzelEngine?.delete()}),r("div",{key:"29b4d14746f81f7def022ec5769c9d1bf21a6dab",class:"kritzel-controls"},r("div",{key:"eb5a4ddd2c0ee9d77c008ddae1223e4ce4449116",class:{"scroll-indicator-left":!0,visible:this.canScrollLeft}}),r("div",{key:"5c41c8fc6770ef5eae7e5b03752f0fe65bcf30e1",class:"kritzel-tools-scroll",ref:t=>this.toolsScrollRef=t,onScroll:this.handleToolsScroll},o.map((t=>{if(t.subOptions?.length){const o=this.getSelectedSubOption(t),e=this.activeControl?.name===t.name;return r("div",{class:{"kritzel-control-split":!0,selected:e},key:t.name,"data-testid":`tool-${t.name}`,ref:o=>{o&&(t._anchorRef=o)}},r("button",{class:"kritzel-control-main",onClick:()=>this.handleControlClick(t),title:o?.label,"data-testid":`tool-${t.name}-main`},r("kritzel-icon",{name:o?.icon||t.icon})),r("button",{class:{"kritzel-control-dropdown":!0,visible:e},ref:o=>{o&&(t._triggerRef=o)},"aria-label":"Select shape type","data-testid":`tool-${t.name}-dropdown`,tabIndex:e?0:-1},r("kritzel-icon",{name:"chevron-down",size:12})),r("kritzel-tooltip",{anchorElement:t._anchorRef,triggerElement:t._triggerRef},r("div",{class:"kritzel-submenu-content"},t.subOptions.map((e=>r("button",{class:{"kritzel-submenu-item":!0,active:e.id===o?.id},key:e.id,"data-testid":`suboption-${e.id}`,onClick:()=>this.selectSubOption(t,e)},r("kritzel-icon",{name:e.icon,size:20}),r("span",null,e.label)))))))}return"separator"===t.type?r("div",{class:"kritzel-control-separator",key:t.name}):r("button",{class:{"kritzel-control":!0,selected:this.activeControl?.name===t?.name},key:t.name,"data-testid":`tool-${t.name}`,onClick:()=>this.handleControlClick?.(t)},r("kritzel-icon",{name:t.icon}))}))),r("div",{key:"a924ed9102961f992b27afe6945732c8541c13a0",class:{"scroll-indicator-right":!0,visible:this.canScrollRight&&!(e&&this.activeControl&&t)}}),e&&this.activeControl&&r("div",{class:{"kritzel-config-container":!0,visible:t},key:e.name},r("div",{key:"9709b046ceb6ba0982ca45b93212b2d449c2b2fe",class:{"config-gradient-left":!0,visible:this.needsScrolling}}),r("kritzel-tooltip",{key:"b2a2521c810f176f54ef8accff5b98a4a1acf42d",anchorElement:this.host.shadowRoot?.querySelector(".kritzel-config-container"),triggerElement:this.configTriggerRef},r("kritzel-tool-config",{key:"cdfc29f2b8a3cd800789f68879216e73700d546e",tool:this.activeControl.tool,theme:this.theme,onToolChange:t=>this.handleToolChange?.(t),onDisplayValuesChange:this.handleDisplayValuesChange,style:{width:"100%",height:"100%"}})),r("div",{key:"09d77705945e3e52eff40107c3bcbccbb636586d",tabIndex:t?0:-1,class:"kritzel-config","data-testid":"tool-config",ref:t=>{t&&(this.configTriggerRef=t)},onKeyDown:t=>{"Enter"===t.key&&t.target.click()},style:{cursor:"pointer"}},this.activeControl.tool instanceof a&&this.displayValues?r("div",{class:"font-container"},r("kritzel-font",{fontFamily:this.displayValues.fontFamily,size:this.displayValues.size,color:this.displayValues.color})):this.displayValues&&r("div",{class:"color-container"},r("kritzel-color",{value:this.displayValues.color,theme:this.theme,size:this.displayValues.size,style:{borderRadius:"50%",border:"none"}}))))))}static get assetsDirs(){return["../assets"]}static get watchers(){return{theme:[{onThemeChange:0}]}}static get style(){return":host{display:flex;flex-direction:column;user-select:none;max-width:calc(100vw - 16px)}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative;max-width:100%;overflow:hidden}.kritzel-tools-scroll{display:flex;flex-direction:row;align-items:center;gap:var(--kritzel-controls-gap, 8px);overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-width:0;padding:4px;margin:-4px;scrollbar-width:none;-ms-overflow-style:none}.kritzel-tools-scroll::-webkit-scrollbar{display:none}.scroll-indicator-left,.scroll-indicator-right{position:absolute;top:0;bottom:0;width:32px;pointer-events:none;opacity:0;transition:opacity 0.2s ease-out;z-index:1}.scroll-indicator-left{left:0;background:linear-gradient(to right, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:var(--kritzel-controls-border-radius, 16px) 0 0 var(--kritzel-controls-border-radius, 16px)}.scroll-indicator-right{right:0;background:linear-gradient(to left, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:0 var(--kritzel-controls-border-radius, 16px) var(--kritzel-controls-border-radius, 16px) 0}.scroll-indicator-left.visible,.scroll-indicator-right.visible{opacity:1}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-control-separator{width:1px;height:24px;background-color:var(--kritzel-controls-border, #ebebeb);margin:0 4px}.kritzel-control-split{position:relative;display:flex;align-items:center;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:var(--kritzel-controls-control-color, #000000)}.kritzel-control-split .kritzel-control-main{display:flex;justify-content:center;align-items:center;padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:inherit}.kritzel-control-split.selected .kritzel-control-main{border-radius:var(--kritzel-controls-control-border-radius, 12px) 0 0 var(--kritzel-controls-control-border-radius, 12px)}.kritzel-control-split .kritzel-control-dropdown{display:flex;justify-content:center;align-items:center;align-self:stretch;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:0 var(--kritzel-controls-control-border-radius, 12px) var(--kritzel-controls-control-border-radius, 12px) 0;color:inherit;width:0;padding:0;opacity:0;overflow:hidden;pointer-events:none;transition:width 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out}.kritzel-control-split .kritzel-control-dropdown.visible{width:auto;padding:0 6px;opacity:1;pointer-events:auto}.kritzel-control-split .kritzel-control-main:focus,.kritzel-control-split .kritzel-control-main:hover,.kritzel-control-split .kritzel-control-dropdown:focus,.kritzel-control-split .kritzel-control-dropdown:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control-split .kritzel-control-main:active,.kritzel-control-split .kritzel-control-dropdown:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control-split.selected{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control-split.selected .kritzel-control-main:hover,.kritzel-control-split.selected .kritzel-control-dropdown:hover{background-color:rgba(255, 255, 255, 0.15)}.kritzel-submenu-content{display:flex;flex-direction:column;gap:var(--kritzel-submenu-gap, 4px);min-width:140px}.kritzel-submenu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:8px;color:var(--kritzel-controls-control-color, #000000);font-size:14px;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent}.kritzel-submenu-item:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-submenu-item.active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF);color:var(--kritzel-controls-control-selected-color, #ffffff)}.kritzel-submenu-item.active:hover{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF)}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent;flex-shrink:0;width:0;opacity:0;overflow:hidden;pointer-events:none;margin-left:calc(-1 * var(--kritzel-controls-gap, 8px));transition:width 0.2s ease-out, opacity 0.2s ease-out, margin-left 0.2s ease-out}.kritzel-config-container.visible{width:40px;opacity:1;pointer-events:auto;margin-left:0;overflow:visible}.config-gradient-left{position:absolute;top:0;bottom:0;left:-32px;width:32px;background:linear-gradient(to right, transparent, var(--kritzel-controls-background-color, #ffffff));pointer-events:none;z-index:1;opacity:0;transition:opacity 0.2s ease-out}.config-gradient-left.visible{opacity:1}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{z-index:10001}"}},[513,"kritzel-controls",{controls:[16],activeControl:[1040],isUtilityPanelVisible:[4,"is-utility-panel-visible"],undoState:[16],theme:[1],firstConfig:[32],isTouchDevice:[32],selectedSubOptions:[32],canScrollLeft:[32],canScrollRight:[32],needsScrolling:[32],displayValues:[32],closeTooltip:[64]},[[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{theme:[{onThemeChange:0}]}]);function D(){"undefined"!=typeof customElements&&["kritzel-controls","kritzel-color","kritzel-color-palette","kritzel-dropdown","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-opacity-slider","kritzel-shape-fill","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel"].forEach((t=>{switch(t){case"kritzel-controls":customElements.get(l(t))||customElements.define(l(t),S);break;case"kritzel-color":customElements.get(l(t))||u();break;case"kritzel-color-palette":customElements.get(l(t))||b();break;case"kritzel-dropdown":customElements.get(l(t))||g();break;case"kritzel-font":customElements.get(l(t))||z();break;case"kritzel-font-family":customElements.get(l(t))||m();break;case"kritzel-font-size":customElements.get(l(t))||v();break;case"kritzel-icon":customElements.get(l(t))||x();break;case"kritzel-line-endings":customElements.get(l(t))||y();break;case"kritzel-opacity-slider":customElements.get(l(t))||w();break;case"kritzel-shape-fill":customElements.get(l(t))||C();break;case"kritzel-stroke-size":customElements.get(l(t))||j();break;case"kritzel-tool-config":customElements.get(l(t))||k();break;case"kritzel-tooltip":customElements.get(l(t))||E();break;case"kritzel-utility-panel":customElements.get(l(t))||T()}}))}export{S as K,D as d}
1
+ import{p as t,H as o,c as e,h as r,d as i,t as l}from"./p-CGGiwvWZ.js";import{h as n,d as s,f as a,e as c,g as d}from"./p-pGzF7PUB.js";import{K as p}from"./p-jGOpkGDl.js";import{K as h,d as k}from"./p-CWMFGEe0.js";import{a as f}from"./p-CjazGGq3.js";import{d as u}from"./p-ZC5YELQJ.js";import{d as b}from"./p-D5IhryUR.js";import{d as g}from"./p-l_YGO7RB.js";import{d as z}from"./p-DDKjsXCe.js";import{d as m}from"./p-DV7Z_qfa.js";import{d as v}from"./p-D7yzmu1l.js";import{d as y}from"./p-DxzDda_J.js";import{d as x}from"./p-Md9Y-b3d.js";import{d as w}from"./p-ZQ2bKafG.js";import{d as C}from"./p-Dte67BWd.js";import{d as j}from"./p-Lhyh6KeB.js";import{d as E}from"./p-BuI6Gkzg.js";import{d as T}from"./p-m1nVDC3G.js";const S=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.isControlsReady=e(this,"isControlsReady")}get host(){return this}controls=[];activeControl=null;isUtilityPanelVisible=!0;undoState=null;theme;isControlsReady;firstConfig=null;isTouchDevice=p.isTouchDevice();selectedSubOptions=new Map;canScrollLeft=!1;canScrollRight=!1;needsScrolling=!1;displayValues=null;handleKeyDown(t){"Escape"===t.key&&(t.preventDefault(),this.closeTooltip(),this.kritzelEngine?.enable())}async handleActiveToolChange(t){this.activeControl=this.controls.find((o=>o.tool===t.detail))||null,this.activeControl?.tool&&this.updateDisplayValues(this.activeControl.tool),this.closeTooltip()}handleSelectionChange(){this.activeControl?.tool instanceof n&&this.updateDisplayValues(this.activeControl.tool)}onThemeChange(){this.activeControl?.tool&&this.updateDisplayValues(this.activeControl.tool)}async closeTooltip(){document.dispatchEvent(new CustomEvent("kritzelTooltipCloseAll"))}kritzelEngine=null;toolsScrollRef=null;configTriggerRef=null;get activeToolAsTextTool(){return this.activeControl?.tool}get activeToolAsBrushTool(){return this.activeControl?.tool}get activeToolAsLineTool(){return this.activeControl?.tool}get activeToolAsShapeTool(){return this.activeControl?.tool}handleDisplayValuesChange=t=>{const o=t.detail;this.displayValues&&this.displayValues.color===o.color&&this.displayValues.size===o.size&&this.displayValues.fontFamily===o.fontFamily||(this.displayValues=o)};updateDisplayValues(t){const o=h.getToolConfig(t);if(!o)return void(this.displayValues=null);const e=t[o.sizeProperty],r={color:f.applyOpacity(t[o.colorProperty],t[o.opacityProperty]??1,this.theme),size:e};t instanceof a&&(r.fontFamily=t.fontFamily),this.displayValues&&this.displayValues.color===r.color&&this.displayValues.size===r.size&&this.displayValues.fontFamily===r.fontFamily||(this.displayValues=r)}async componentWillLoad(){await this.initializeEngine(),await this.initializeTools(),this.isControlsReady.emit()}componentDidLoad(){this.updateScrollIndicators()}componentDidRender(){this.updateScrollIndicators()}updateScrollIndicators(){if(!this.toolsScrollRef)return;const{scrollLeft:t,scrollWidth:o,clientWidth:e}=this.toolsScrollRef,r=t>2,i=t+e<o-2,l=o>e;this.canScrollLeft!==r&&(this.canScrollLeft=r),this.canScrollRight!==i&&(this.canScrollRight=i),this.needsScrolling!==l&&(this.needsScrolling=l)}handleToolsScroll=()=>{this.updateScrollIndicators()};async initializeEngine(){if(await customElements.whenDefined("kritzel-engine"),this.kritzelEngine=this.host.parentElement.querySelector("kritzel-engine"),!this.kritzelEngine)throw new Error("kritzel-engine not found in parent element.")}async initializeTools(){for(const t of this.controls)"tool"===t.type&&t.tool&&(t.tool=await this.kritzelEngine.registerTool(t.name,t.tool,t.config)),"tool"===t.type&&t.isDefault&&t.tool&&(await this.kritzelEngine.changeActiveTool(t.tool),this.activeControl=t,this.updateDisplayValues(t.tool)),"config"===t.type&&(null===this.firstConfig?this.firstConfig=t:console.warn("Only one config control is allowed. The first one will be used."))}async handleControlClick(t){this.activeControl=t,"tool"===this.activeControl.type&&(this.updateDisplayValues(this.activeControl.tool),await this.kritzelEngine.changeActiveTool(this.activeControl.tool))}async handleToolChange(t){this.activeControl={...this.activeControl,tool:t.detail},await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}getSelectedSubOption(t){if(t.subOptions?.length)return this.selectedSubOptions.get(t.name)||t.subOptions[0]}async selectSubOption(t,o){const e=new Map(this.selectedSubOptions);e.set(t.name,o),this.selectedSubOptions=e,t.tool&&"function"!=typeof t.tool&&(t.tool[o.toolProperty]=o.value),this.closeTooltip(),await this.handleControlClick(t)}render(){const t=this.activeControl?.tool instanceof s||this.activeControl?.tool instanceof a||this.activeControl?.tool instanceof c||this.activeControl?.tool instanceof d||this.activeControl?.tool instanceof n&&this.activeControl.tool.hasSelection(),o=this.controls.filter((t=>"tool"===t.type||"separator"===t.type)),e=this.controls.find((t=>"config"===t.type&&t.name===this.firstConfig?.name));return r(i,{key:"fa03f9eae6ebc0a043d6ac3cb774ae32491ae943",class:{mobile:this.isTouchDevice}},this.isUtilityPanelVisible&&r("kritzel-utility-panel",{key:"2e789118656dc3366f131b520f2be4386e5889c8",style:{position:"absolute",bottom:"56px",left:"12px"},undoState:this.undoState,onUndo:()=>this.kritzelEngine?.undo(),onRedo:()=>this.kritzelEngine?.redo(),onDelete:()=>this.kritzelEngine?.delete()}),r("div",{key:"29b4d14746f81f7def022ec5769c9d1bf21a6dab",class:"kritzel-controls"},r("div",{key:"eb5a4ddd2c0ee9d77c008ddae1223e4ce4449116",class:{"scroll-indicator-left":!0,visible:this.canScrollLeft}}),r("div",{key:"5c41c8fc6770ef5eae7e5b03752f0fe65bcf30e1",class:"kritzel-tools-scroll",ref:t=>this.toolsScrollRef=t,onScroll:this.handleToolsScroll},o.map((t=>{if(t.subOptions?.length){const o=this.getSelectedSubOption(t),e=this.activeControl?.name===t.name;return r("div",{class:{"kritzel-control-split":!0,selected:e},key:t.name,"data-testid":`tool-${t.name}`,ref:o=>{o&&(t._anchorRef=o)}},r("button",{class:"kritzel-control-main",onClick:()=>this.handleControlClick(t),title:o?.label,"data-testid":`tool-${t.name}-main`},r("kritzel-icon",{name:o?.icon||t.icon})),r("button",{class:{"kritzel-control-dropdown":!0,visible:e},ref:o=>{o&&(t._triggerRef=o)},"aria-label":"Select shape type","data-testid":`tool-${t.name}-dropdown`,tabIndex:e?0:-1},r("kritzel-icon",{name:"chevron-down",size:12})),r("kritzel-tooltip",{anchorElement:t._anchorRef,triggerElement:t._triggerRef},r("div",{class:"kritzel-submenu-content"},t.subOptions.map((e=>r("button",{class:{"kritzel-submenu-item":!0,active:e.id===o?.id},key:e.id,"data-testid":`suboption-${e.id}`,onClick:()=>this.selectSubOption(t,e)},r("kritzel-icon",{name:e.icon,size:20}),r("span",null,e.label)))))))}return"separator"===t.type?r("div",{class:"kritzel-control-separator",key:t.name}):r("button",{class:{"kritzel-control":!0,selected:this.activeControl?.name===t?.name},key:t.name,"data-testid":`tool-${t.name}`,onClick:()=>this.handleControlClick?.(t)},r("kritzel-icon",{name:t.icon}))}))),r("div",{key:"a924ed9102961f992b27afe6945732c8541c13a0",class:{"scroll-indicator-right":!0,visible:this.canScrollRight&&!(e&&this.activeControl&&t)}}),e&&this.activeControl&&r("div",{class:{"kritzel-config-container":!0,visible:t},key:e.name},r("div",{key:"9709b046ceb6ba0982ca45b93212b2d449c2b2fe",class:{"config-gradient-left":!0,visible:this.needsScrolling}}),r("kritzel-tooltip",{key:"b2a2521c810f176f54ef8accff5b98a4a1acf42d",anchorElement:this.host.shadowRoot?.querySelector(".kritzel-config-container"),triggerElement:this.configTriggerRef},r("kritzel-tool-config",{key:"cdfc29f2b8a3cd800789f68879216e73700d546e",tool:this.activeControl.tool,theme:this.theme,onToolChange:t=>this.handleToolChange?.(t),onDisplayValuesChange:this.handleDisplayValuesChange,style:{width:"100%",height:"100%"}})),r("div",{key:"09d77705945e3e52eff40107c3bcbccbb636586d",tabIndex:t?0:-1,class:"kritzel-config","data-testid":"tool-config",ref:t=>{t&&(this.configTriggerRef=t)},onKeyDown:t=>{"Enter"===t.key&&t.target.click()},style:{cursor:"pointer"}},this.activeControl.tool instanceof a&&this.displayValues?r("div",{class:"font-container"},r("kritzel-font",{fontFamily:this.displayValues.fontFamily,size:this.displayValues.size,color:this.displayValues.color})):this.displayValues&&r("div",{class:"color-container"},r("kritzel-color",{value:this.displayValues.color,theme:this.theme,size:this.displayValues.size,style:{borderRadius:"50%",border:"none"}}))))))}static get assetsDirs(){return["../assets"]}static get watchers(){return{theme:[{onThemeChange:0}]}}static get style(){return":host{display:flex;flex-direction:column;user-select:none;max-width:calc(100vw - 16px)}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative;max-width:100%;overflow:hidden}.kritzel-tools-scroll{display:flex;flex-direction:row;align-items:center;gap:var(--kritzel-controls-gap, 8px);overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-width:0;padding:4px;margin:-4px;scrollbar-width:none;-ms-overflow-style:none}.kritzel-tools-scroll::-webkit-scrollbar{display:none}.scroll-indicator-left,.scroll-indicator-right{position:absolute;top:0;bottom:0;width:32px;pointer-events:none;opacity:0;transition:opacity 0.2s ease-out;z-index:1}.scroll-indicator-left{left:0;background:linear-gradient(to right, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:var(--kritzel-controls-border-radius, 16px) 0 0 var(--kritzel-controls-border-radius, 16px)}.scroll-indicator-right{right:0;background:linear-gradient(to left, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:0 var(--kritzel-controls-border-radius, 16px) var(--kritzel-controls-border-radius, 16px) 0}.scroll-indicator-left.visible,.scroll-indicator-right.visible{opacity:1}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-control-separator{width:1px;height:24px;background-color:var(--kritzel-controls-border, #ebebeb);margin:0 4px}.kritzel-control-split{position:relative;display:flex;align-items:center;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:var(--kritzel-controls-control-color, #000000)}.kritzel-control-split .kritzel-control-main{display:flex;justify-content:center;align-items:center;padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:inherit}.kritzel-control-split.selected .kritzel-control-main{border-radius:var(--kritzel-controls-control-border-radius, 12px) 0 0 var(--kritzel-controls-control-border-radius, 12px)}.kritzel-control-split .kritzel-control-dropdown{display:flex;justify-content:center;align-items:center;align-self:stretch;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:0 var(--kritzel-controls-control-border-radius, 12px) var(--kritzel-controls-control-border-radius, 12px) 0;color:inherit;width:0;padding:0;opacity:0;overflow:hidden;pointer-events:none;transition:width 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out}.kritzel-control-split .kritzel-control-dropdown.visible{width:auto;padding:0 6px;opacity:1;pointer-events:auto}.kritzel-control-split .kritzel-control-main:focus,.kritzel-control-split .kritzel-control-main:hover,.kritzel-control-split .kritzel-control-dropdown:focus,.kritzel-control-split .kritzel-control-dropdown:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control-split .kritzel-control-main:active,.kritzel-control-split .kritzel-control-dropdown:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control-split.selected{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control-split.selected .kritzel-control-main:hover,.kritzel-control-split.selected .kritzel-control-dropdown:hover{background-color:rgba(255, 255, 255, 0.15)}.kritzel-submenu-content{display:flex;flex-direction:column;gap:var(--kritzel-submenu-gap, 4px);min-width:140px}.kritzel-submenu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:8px;color:var(--kritzel-controls-control-color, #000000);font-size:14px;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent}.kritzel-submenu-item:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-submenu-item.active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF);color:var(--kritzel-controls-control-selected-color, #ffffff)}.kritzel-submenu-item.active:hover{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF)}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent;flex-shrink:0;width:0;opacity:0;overflow:hidden;pointer-events:none;margin-left:calc(-1 * var(--kritzel-controls-gap, 8px));transition:width 0.2s ease-out, opacity 0.2s ease-out, margin-left 0.2s ease-out}.kritzel-config-container.visible{width:40px;opacity:1;pointer-events:auto;margin-left:0;overflow:visible}.config-gradient-left{position:absolute;top:0;bottom:0;left:-32px;width:32px;background:linear-gradient(to right, transparent, var(--kritzel-controls-background-color, #ffffff));pointer-events:none;z-index:1;opacity:0;transition:opacity 0.2s ease-out}.config-gradient-left.visible{opacity:1}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{z-index:10001}"}},[513,"kritzel-controls",{controls:[16],activeControl:[1040],isUtilityPanelVisible:[4,"is-utility-panel-visible"],undoState:[16],theme:[1],firstConfig:[32],isTouchDevice:[32],selectedSubOptions:[32],canScrollLeft:[32],canScrollRight:[32],needsScrolling:[32],displayValues:[32],closeTooltip:[64]},[[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{theme:[{onThemeChange:0}]}]);function D(){"undefined"!=typeof customElements&&["kritzel-controls","kritzel-color","kritzel-color-palette","kritzel-dropdown","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-opacity-slider","kritzel-shape-fill","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel"].forEach((t=>{switch(t){case"kritzel-controls":customElements.get(l(t))||customElements.define(l(t),S);break;case"kritzel-color":customElements.get(l(t))||u();break;case"kritzel-color-palette":customElements.get(l(t))||b();break;case"kritzel-dropdown":customElements.get(l(t))||g();break;case"kritzel-font":customElements.get(l(t))||z();break;case"kritzel-font-family":customElements.get(l(t))||m();break;case"kritzel-font-size":customElements.get(l(t))||v();break;case"kritzel-icon":customElements.get(l(t))||y();break;case"kritzel-line-endings":customElements.get(l(t))||x();break;case"kritzel-opacity-slider":customElements.get(l(t))||w();break;case"kritzel-shape-fill":customElements.get(l(t))||C();break;case"kritzel-stroke-size":customElements.get(l(t))||j();break;case"kritzel-tool-config":customElements.get(l(t))||k();break;case"kritzel-tooltip":customElements.get(l(t))||E();break;case"kritzel-utility-panel":customElements.get(l(t))||T()}}))}export{S as K,D as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as s,h as i,d as o,t as r}from"./p-pebXO4LU.js";import{h as a,d as l,e as n,g as h,f as p}from"./p-CJ2eHeoV.js";import{a as c}from"./p-CjazGGq3.js";import{d}from"./p-C1uR_ZNW.js";import{d as m}from"./p-BEJQ2kP7.js";import{d as f}from"./p-GYI7sDxr.js";import{d as y}from"./p-HLbqRJGs.js";import{d as u}from"./p-TyR-YTXm.js";import{d as g}from"./p-CZhyKp-f.js";import{d as k}from"./p-CHmi1QWx.js";import{d as z}from"./p-CFhp1W9F.js";import{d as C}from"./p-C7SBI_0T.js";import{d as x}from"./p-JdNoaqqb.js";import{d as b}from"./p-BiouZo1q.js";class v{static getToolConfig(e){return e instanceof a?e.getToolConfig():e instanceof l?{type:"brush",colorProperty:"color",sizeProperty:"size",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"size"}]}:e instanceof n?{type:"line",colorProperty:"color",sizeProperty:"size",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"size"},{type:"line-endings",propertyName:"arrows",additionalProps:{}}]}:e instanceof h?{type:"shape",colorProperty:"strokeColor",sizeProperty:"strokeWidth",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"strokeWidth"},{type:"shape-fill",propertyName:"fillColor",additionalProps:{}}]}:e instanceof p?{type:"text",colorProperty:"fontColor",sizeProperty:"fontSize",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"font-size",propertyName:"fontSize",additionalProps:{}},{type:"font-family",propertyName:"fontFamily"}]}:null}}const E=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.toolChange=s(this,"toolChange"),this.displayValuesChange=s(this,"displayValuesChange")}tool;handleToolChange(e,t){const s=v.getToolConfig(e);if(t&&e&&"shape"===s?.type){const i=v.getToolConfig(t);"shape"===i?.type&&[s.colorProperty,s.sizeProperty,s.opacityProperty,"fillColor"].forEach((s=>{s&&void 0!==t[s]&&(e[s]=t[s])}))}this.config=s,this.config&&(this.updatePalette(),this.currentOpacity=e[this.config.opacityProperty]??1,this.emitDisplayValues())}isExpanded=!1;theme;onThemeChange(){this.emitDisplayValues()}toolChange;displayValuesChange;config;palette=[];currentOpacity=1;updateTrigger=0;handleSelectionChange(){this.tool instanceof a&&(this.config=v.getToolConfig(this.tool),this.config&&(this.updatePalette(),this.currentOpacity=this.tool[this.config.opacityProperty]??1,this.emitDisplayValues()))}componentWillLoad(){this.config=v.getToolConfig(this.tool),this.config&&(this.updatePalette(),this.currentOpacity=this.tool[this.config.opacityProperty]??1,this.emitDisplayValues())}emitDisplayValues(){if(!this.config)return;const e=this.tool[this.config.sizeProperty],t={color:c.applyOpacity(this.tool[this.config.colorProperty],this.currentOpacity,this.theme),size:e};this.tool instanceof p&&(t.fontFamily=this.tool.fontFamily),this.displayValuesChange.emit(t)}updatePalette(){this.config&&(this.palette="none"===this.config.paletteSource?[]:this.tool.palette||[])}handleToggleExpand=()=>{this.isExpanded=!this.isExpanded};handleColorChange=e=>{if(this.tool[this.config.colorProperty]=e.detail,"shape"===this.config.type||"selection"===this.config.type){const t=this.tool;("string"==typeof t.fillColor?"transparent"===t.fillColor:"transparent"===t.fillColor.light&&"transparent"===t.fillColor.dark)||(t.fillColor=e.detail)}this.emitDisplayValues(),this.toolChange.emit(this.tool),this.updateTrigger++};handleSizeChange=e=>{this.tool[this.config.sizeProperty]=e.detail,this.emitDisplayValues(),this.toolChange.emit(this.tool),this.updateTrigger++};handleOpacityChange=e=>{this.tool[this.config.opacityProperty]=e.detail,this.currentOpacity=e.detail,this.emitDisplayValues(),this.toolChange.emit(this.tool)};handlePropertyChange=(e,t)=>{if("shape"!==this.config.type&&"selection"!==this.config.type||"fillColor"!==e)this.tool[e]=t,"fontFamily"===e&&this.emitDisplayValues();else{const e="filled"===t?this.tool[this.config.colorProperty]:{light:"transparent",dark:"transparent"};this.tool.fillColor=e,"filled"===t&&(this.tool[this.config.colorProperty]=e)}this.toolChange.emit(this.tool),this.updateTrigger++};getShapeFillValue(){const e=this.tool.fillColor;return("string"==typeof e?"transparent"===e:"transparent"===e.light&&"transparent"===e.dark)?"transparent":"filled"}renderControl(e){const t=this.tool[e.propertyName];switch(e.type){case"stroke-size":return i("kritzel-stroke-size",{key:e.type,selectedSize:t,onSizeChange:this.handleSizeChange});case"font-size":return i("kritzel-font-size",{key:e.type,selectedSize:t,fontFamily:this.tool.fontFamily,onSizeChange:this.handleSizeChange});case"line-endings":return i("kritzel-line-endings",{key:e.type,value:t,onValueChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});case"shape-fill":return i("kritzel-shape-fill",{key:e.type,value:this.getShapeFillValue(),onValueChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});case"font-family":return i("kritzel-font-family",{key:e.type,selectedFontFamily:t,onFontFamilyChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});default:return null}}render(){if(!this.config)return null;const e=this.palette.length>6||"text"===this.config.type,t=this.palette.length>0,s=this.config.controls.find((e=>"stroke-size"===e.type||"font-size"===e.type)),r=this.config.controls.filter((e=>"stroke-size"!==e.type&&"font-size"!==e.type));return i(o,null,i("div",{style:{display:"flex",flexDirection:"row",gap:"8px",width:"100%"}},i("div",{style:{display:"flex",flexDirection:"column",gap:"12px",flex:"1"}},t&&i("kritzel-color-palette",{colors:this.palette,selectedColor:this.tool[this.config.colorProperty],isExpanded:this.isExpanded,isOpaque:!0,opacity:this.currentOpacity,theme:this.theme,onColorChange:this.handleColorChange}),s&&this.renderControl(s),i("kritzel-opacity-slider",{value:this.tool[this.config.opacityProperty],previewColor:this.tool[this.config.colorProperty],onValueChange:this.handleOpacityChange}),r.map((e=>[i("div",{class:"divider"}),this.renderControl(e)]))),e&&i("div",{style:{display:"flex",alignItems:"flex-start"}},i("button",{class:"expand-toggle",onClick:this.handleToggleExpand,title:this.isExpanded?"Collapse":"Expand"},i("kritzel-icon",{name:this.isExpanded?"chevron-up":"chevron-down"})))))}static get watchers(){return{tool:[{handleToolChange:0}],theme:[{onThemeChange:0}]}}static get style(){return".expand-toggle{background:none;border:none;cursor:var(--kritzel-global-pointer-cursor, pointer);padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--kritzel-icon-color, currentColor);transition:transform 0.2s ease}.expand-toggle:hover{opacity:0.7}.expand-toggle:focus{outline:none}.expand-toggle:focus-visible{outline:2px solid var(--kritzel-focus-color, #007acc);outline-offset:2px}.expand-toggle:active{transform:scale(0.95)}.divider{height:1px;background-color:var(--kritzel-divider-color, #e0e0e0);margin:4px 0;width:100%}"}},[513,"kritzel-tool-config",{tool:[1040],isExpanded:[1028,"is-expanded"],theme:[1],config:[32],palette:[32],currentOpacity:[32],updateTrigger:[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{tool:[{handleToolChange:0}],theme:[{onThemeChange:0}]}]);function P(){"undefined"!=typeof customElements&&["kritzel-tool-config","kritzel-color","kritzel-color-palette","kritzel-dropdown","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-opacity-slider","kritzel-shape-fill","kritzel-stroke-size"].forEach((e=>{switch(e){case"kritzel-tool-config":customElements.get(r(e))||customElements.define(r(e),E);break;case"kritzel-color":customElements.get(r(e))||d();break;case"kritzel-color-palette":customElements.get(r(e))||m();break;case"kritzel-dropdown":customElements.get(r(e))||f();break;case"kritzel-font":customElements.get(r(e))||y();break;case"kritzel-font-family":customElements.get(r(e))||u();break;case"kritzel-font-size":customElements.get(r(e))||g();break;case"kritzel-icon":customElements.get(r(e))||k();break;case"kritzel-line-endings":customElements.get(r(e))||z();break;case"kritzel-opacity-slider":customElements.get(r(e))||C();break;case"kritzel-shape-fill":customElements.get(r(e))||x();break;case"kritzel-stroke-size":customElements.get(r(e))||b()}}))}export{v as K,E as a,P as d}
1
+ import{p as e,H as t,c as s,h as i,d as o,t as r}from"./p-CGGiwvWZ.js";import{h as a,d as l,e as n,g as h,f as p}from"./p-pGzF7PUB.js";import{a as c}from"./p-CjazGGq3.js";import{d}from"./p-ZC5YELQJ.js";import{d as f}from"./p-D5IhryUR.js";import{d as m}from"./p-l_YGO7RB.js";import{d as y}from"./p-DDKjsXCe.js";import{d as g}from"./p-DV7Z_qfa.js";import{d as u}from"./p-D7yzmu1l.js";import{d as z}from"./p-DxzDda_J.js";import{d as k}from"./p-Md9Y-b3d.js";import{d as C}from"./p-ZQ2bKafG.js";import{d as x}from"./p-Dte67BWd.js";import{d as v}from"./p-Lhyh6KeB.js";class b{static getToolConfig(e){return e instanceof a?e.getToolConfig():e instanceof l?{type:"brush",colorProperty:"color",sizeProperty:"size",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"size"}]}:e instanceof n?{type:"line",colorProperty:"color",sizeProperty:"size",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"size"},{type:"line-endings",propertyName:"arrows",additionalProps:{}}]}:e instanceof h?{type:"shape",colorProperty:"strokeColor",sizeProperty:"strokeWidth",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"stroke-size",propertyName:"strokeWidth"},{type:"shape-fill",propertyName:"fillColor",additionalProps:{}}]}:e instanceof p?{type:"text",colorProperty:"fontColor",sizeProperty:"fontSize",opacityProperty:"opacity",paletteSource:"palette",controls:[{type:"font-size",propertyName:"fontSize",additionalProps:{}},{type:"font-family",propertyName:"fontFamily"}]}:null}}const E=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.toolChange=s(this,"toolChange"),this.displayValuesChange=s(this,"displayValuesChange")}tool;handleToolChange(e,t){const s=b.getToolConfig(e);if(t&&e&&"shape"===s?.type){const i=b.getToolConfig(t);"shape"===i?.type&&[s.colorProperty,s.sizeProperty,s.opacityProperty,"fillColor"].forEach((s=>{s&&void 0!==t[s]&&(e[s]=t[s])}))}this.config=s,this.config&&(this.updatePalette(),this.currentOpacity=e[this.config.opacityProperty]??1,this.emitDisplayValues())}isExpanded=!1;theme;onThemeChange(){this.emitDisplayValues()}toolChange;displayValuesChange;config;palette=[];currentOpacity=1;updateTrigger=0;handleSelectionChange(){this.tool instanceof a&&(this.config=b.getToolConfig(this.tool),this.config&&(this.updatePalette(),this.currentOpacity=this.tool[this.config.opacityProperty]??1,this.emitDisplayValues()))}componentWillLoad(){this.config=b.getToolConfig(this.tool),this.config&&(this.updatePalette(),this.currentOpacity=this.tool[this.config.opacityProperty]??1,this.emitDisplayValues())}emitDisplayValues(){if(!this.config)return;const e=this.tool[this.config.sizeProperty],t={color:c.applyOpacity(this.tool[this.config.colorProperty],this.currentOpacity,this.theme),size:e};this.tool instanceof p&&(t.fontFamily=this.tool.fontFamily),this.displayValuesChange.emit(t)}updatePalette(){this.config&&(this.palette="none"===this.config.paletteSource?[]:this.tool.palette||[])}handleToggleExpand=()=>{this.isExpanded=!this.isExpanded};handleColorChange=e=>{if(this.tool[this.config.colorProperty]=e.detail,"shape"===this.config.type||"selection"===this.config.type){const t=this.tool;("string"==typeof t.fillColor?"transparent"===t.fillColor:"transparent"===t.fillColor.light&&"transparent"===t.fillColor.dark)||(t.fillColor=e.detail)}this.emitDisplayValues(),this.toolChange.emit(this.tool),this.updateTrigger++};handleSizeChange=e=>{this.tool[this.config.sizeProperty]=e.detail,this.emitDisplayValues(),this.toolChange.emit(this.tool),this.updateTrigger++};handleOpacityChange=e=>{this.tool[this.config.opacityProperty]=e.detail,this.currentOpacity=e.detail,this.emitDisplayValues(),this.toolChange.emit(this.tool)};handlePropertyChange=(e,t)=>{if("shape"!==this.config.type&&"selection"!==this.config.type||"fillColor"!==e)this.tool[e]=t,"fontFamily"===e&&this.emitDisplayValues();else{const e="filled"===t?this.tool[this.config.colorProperty]:{light:"transparent",dark:"transparent"};this.tool.fillColor=e,"filled"===t&&(this.tool[this.config.colorProperty]=e)}this.toolChange.emit(this.tool),this.updateTrigger++};getShapeFillValue(){const e=this.tool.fillColor;return("string"==typeof e?"transparent"===e:"transparent"===e.light&&"transparent"===e.dark)?"transparent":"filled"}renderControl(e){const t=this.tool[e.propertyName];switch(e.type){case"stroke-size":return i("kritzel-stroke-size",{key:e.type,selectedSize:t,onSizeChange:this.handleSizeChange});case"font-size":return i("kritzel-font-size",{key:e.type,selectedSize:t,fontFamily:this.tool.fontFamily,onSizeChange:this.handleSizeChange});case"line-endings":return i("kritzel-line-endings",{key:e.type,value:t,onValueChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});case"shape-fill":return i("kritzel-shape-fill",{key:e.type,value:this.getShapeFillValue(),onValueChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});case"font-family":return i("kritzel-font-family",{key:e.type,selectedFontFamily:t,onFontFamilyChange:t=>this.handlePropertyChange(e.propertyName,t.detail)});default:return null}}render(){if(!this.config)return null;const e=this.palette.length>6||"text"===this.config.type,t=this.palette.length>0,s=this.config.controls.find((e=>"stroke-size"===e.type||"font-size"===e.type)),r=this.config.controls.filter((e=>"stroke-size"!==e.type&&"font-size"!==e.type));return i(o,null,i("div",{style:{display:"flex",flexDirection:"row",gap:"8px",width:"100%"}},i("div",{style:{display:"flex",flexDirection:"column",gap:"12px",flex:"1"}},t&&i("kritzel-color-palette",{colors:this.palette,selectedColor:this.tool[this.config.colorProperty],isExpanded:this.isExpanded,isOpaque:!0,opacity:this.currentOpacity,theme:this.theme,onColorChange:this.handleColorChange}),s&&this.renderControl(s),i("kritzel-opacity-slider",{value:this.tool[this.config.opacityProperty],previewColor:this.tool[this.config.colorProperty],onValueChange:this.handleOpacityChange}),r.map((e=>[i("div",{class:"divider"}),this.renderControl(e)]))),e&&i("div",{style:{display:"flex",alignItems:"flex-start"}},i("button",{class:"expand-toggle",onClick:this.handleToggleExpand,title:this.isExpanded?"Collapse":"Expand"},i("kritzel-icon",{name:this.isExpanded?"chevron-up":"chevron-down"})))))}static get watchers(){return{tool:[{handleToolChange:0}],theme:[{onThemeChange:0}]}}static get style(){return".expand-toggle{background:none;border:none;cursor:var(--kritzel-global-pointer-cursor, pointer);padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--kritzel-icon-color, currentColor);transition:transform 0.2s ease}.expand-toggle:hover{opacity:0.7}.expand-toggle:focus{outline:none}.expand-toggle:focus-visible{outline:2px solid var(--kritzel-focus-color, #007acc);outline-offset:2px}.expand-toggle:active{transform:scale(0.95)}.divider{height:1px;background-color:var(--kritzel-divider-color, #e0e0e0);margin:4px 0;width:100%}"}},[513,"kritzel-tool-config",{tool:[1040],isExpanded:[1028,"is-expanded"],theme:[1],config:[32],palette:[32],currentOpacity:[32],updateTrigger:[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{tool:[{handleToolChange:0}],theme:[{onThemeChange:0}]}]);function j(){"undefined"!=typeof customElements&&["kritzel-tool-config","kritzel-color","kritzel-color-palette","kritzel-dropdown","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-opacity-slider","kritzel-shape-fill","kritzel-stroke-size"].forEach((e=>{switch(e){case"kritzel-tool-config":customElements.get(r(e))||customElements.define(r(e),E);break;case"kritzel-color":customElements.get(r(e))||d();break;case"kritzel-color-palette":customElements.get(r(e))||f();break;case"kritzel-dropdown":customElements.get(r(e))||m();break;case"kritzel-font":customElements.get(r(e))||y();break;case"kritzel-font-family":customElements.get(r(e))||g();break;case"kritzel-font-size":customElements.get(r(e))||u();break;case"kritzel-icon":customElements.get(r(e))||z();break;case"kritzel-line-endings":customElements.get(r(e))||k();break;case"kritzel-opacity-slider":customElements.get(r(e))||C();break;case"kritzel-shape-fill":customElements.get(r(e))||x();break;case"kritzel-stroke-size":customElements.get(r(e))||v()}}))}export{b as K,E as a,j as d}
@@ -1 +1 @@
1
- import{p as e,H as t,h as s,d as i,t as a}from"./p-pebXO4LU.js";import{d as r}from"./p-BeFUNGEI.js";import{d as l}from"./p-Dt-J69xt.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}get host(){return this}user;isDialogOpen=!1;async open(){this.isDialogOpen=!0}async close(){this.isDialogOpen=!1}closeDialog=()=>{this.isDialogOpen=!1};getDisplayName(){if(this.user)return this.user.displayName??([this.user.firstName,this.user.lastName].filter(Boolean).join(" ")||void 0)}render(){const e=this.getDisplayName();return s(i,{key:"f2b3c74f360bc81671e405d05e9a250878722911"},s("kritzel-dialog",{key:"c042f0574d72ed8705d27730aea8106e089cbcf6",dialogTitle:"Account",isOpen:this.isDialogOpen,onDialogClose:this.closeDialog,size:"small"},s("div",{key:"3d02828a3444eebb92bdb317923315873e791831",class:"user-info"},s("kritzel-avatar",{key:"172f2a529de8f397e327cbe6395272e12f7a51d0",user:this.user,size:80}),e&&s("div",{key:"8537c57e8eaa2172caebcc5d53700f4835b4d1bf",class:"user-name"},e),this.user?.email&&s("div",{key:"446e60e1d422455518f38049eda813d7c52c8c0d",class:"user-email"},this.user.email))))}static get style(){return":host{display:contents}kritzel-dialog{--kritzel-dialog-width-small:380px}.user-info{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.user-name{font-size:18px;font-weight:600;color:var(--kritzel-current-user-dialog-name-color, #333333);text-align:center;margin-top:8px}.user-email{font-size:14px;color:var(--kritzel-current-user-dialog-email-color, #666666);text-align:center}"}},[513,"kritzel-current-user-dialog",{user:[16],isDialogOpen:[32],open:[64],close:[64]}]);function c(){"undefined"!=typeof customElements&&["kritzel-current-user-dialog","kritzel-avatar","kritzel-dialog"].forEach((e=>{switch(e){case"kritzel-current-user-dialog":customElements.get(a(e))||customElements.define(a(e),o);break;case"kritzel-avatar":customElements.get(a(e))||r();break;case"kritzel-dialog":customElements.get(a(e))||l()}}))}export{o as K,c as d}
1
+ import{p as e,H as s,h as t,d as i,t as a}from"./p-CGGiwvWZ.js";import{d as r}from"./p-BueaqfA2.js";import{d as l}from"./p-53di1Zko.js";const o=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}get host(){return this}user;isDialogOpen=!1;async open(){this.isDialogOpen=!0}async close(){this.isDialogOpen=!1}closeDialog=()=>{this.isDialogOpen=!1};getDisplayName(){if(this.user)return this.user.displayName??([this.user.firstName,this.user.lastName].filter(Boolean).join(" ")||void 0)}render(){const e=this.getDisplayName();return t(i,{key:"f2b3c74f360bc81671e405d05e9a250878722911"},t("kritzel-dialog",{key:"c042f0574d72ed8705d27730aea8106e089cbcf6",dialogTitle:"Account",isOpen:this.isDialogOpen,onDialogClose:this.closeDialog,size:"small"},t("div",{key:"3d02828a3444eebb92bdb317923315873e791831",class:"user-info"},t("kritzel-avatar",{key:"172f2a529de8f397e327cbe6395272e12f7a51d0",user:this.user,size:80}),e&&t("div",{key:"8537c57e8eaa2172caebcc5d53700f4835b4d1bf",class:"user-name"},e),this.user?.email&&t("div",{key:"446e60e1d422455518f38049eda813d7c52c8c0d",class:"user-email"},this.user.email))))}static get style(){return":host{display:contents}kritzel-dialog{--kritzel-dialog-width-small:380px}.user-info{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.user-name{font-size:18px;font-weight:600;color:var(--kritzel-current-user-dialog-name-color, #333333);text-align:center;margin-top:8px}.user-email{font-size:14px;color:var(--kritzel-current-user-dialog-email-color, #666666);text-align:center}"}},[513,"kritzel-current-user-dialog",{user:[16],isDialogOpen:[32],open:[64],close:[64]}]);function c(){"undefined"!=typeof customElements&&["kritzel-current-user-dialog","kritzel-avatar","kritzel-dialog"].forEach((e=>{switch(e){case"kritzel-current-user-dialog":customElements.get(a(e))||customElements.define(a(e),o);break;case"kritzel-avatar":customElements.get(a(e))||r();break;case"kritzel-dialog":customElements.get(a(e))||l()}}))}export{o as K,c as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as l,d as s,t as r}from"./p-pebXO4LU.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.checkedChange=i(this,"checkedChange")}checked=!1;disabled=!1;label;checkedChange;handleToggle=()=>{this.disabled||(this.checked=!this.checked,this.checkedChange.emit(this.checked))};handleKeyDown=e=>{" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.handleToggle())};render(){return l(s,{key:"fa4a31e3978f5a7187c8e011d58278829f60f912",class:{checked:this.checked,disabled:this.disabled},tabIndex:this.disabled?-1:0,role:"switch","aria-checked":this.checked?"true":"false","aria-disabled":this.disabled?"true":"false","aria-label":this.label,onClick:this.handleToggle,onKeyDown:this.handleKeyDown},l("div",{key:"1ae5a58c6cedf19626cba1e04abe566669582081",class:"toggle-track"},l("div",{key:"e11d42017fd624837f9e44f2671b74d38e4d015f",class:"toggle-thumb"})))}static get style(){return":host{display:inline-flex;align-items:center;cursor:var(--kritzel-global-pointer-cursor, pointer);outline:none;z-index:1;-webkit-tap-highlight-color:transparent}:host(:focus-visible) .toggle-track{box-shadow:0 0 0 2px var(--kritzel-global-focus-ring-color, rgba(0, 122, 255, 0.3))}:host(.disabled){opacity:0.5;pointer-events:none;cursor:default}.toggle-track{position:relative;width:var(--kritzel-slide-toggle-width, 40px);height:var(--kritzel-slide-toggle-height, 22px);background-color:var(--kritzel-slide-toggle-track-color, #ccc);border-radius:var(--kritzel-slide-toggle-border-radius, 11px);transition:background-color var(--kritzel-slide-toggle-transition-duration, 0.2s) ease}:host(.checked) .toggle-track{background-color:var(--kritzel-slide-toggle-track-checked-color, #007AFF)}.toggle-thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);width:var(--kritzel-slide-toggle-thumb-size, 18px);height:var(--kritzel-slide-toggle-thumb-size, 18px);background-color:var(--kritzel-slide-toggle-thumb-color, #fff);border-radius:50%;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:left var(--kritzel-slide-toggle-transition-duration, 0.2s) ease}:host(.checked) .toggle-thumb{left:calc(var(--kritzel-slide-toggle-width, 40px) - var(--kritzel-slide-toggle-thumb-size, 18px) - 2px)}"}},[513,"kritzel-slide-toggle",{checked:[1028],disabled:[4],label:[1]}]);function a(){"undefined"!=typeof customElements&&["kritzel-slide-toggle"].forEach((e=>{"kritzel-slide-toggle"===e&&(customElements.get(r(e))||customElements.define(r(e),o))}))}export{o as K,a as d}
1
+ import{p as e,H as t,c as i,h as l,d as s,t as r}from"./p-CGGiwvWZ.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.checkedChange=i(this,"checkedChange")}checked=!1;disabled=!1;label;checkedChange;handleToggle=()=>{this.disabled||(this.checked=!this.checked,this.checkedChange.emit(this.checked))};handleKeyDown=e=>{" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.handleToggle())};render(){return l(s,{key:"fa4a31e3978f5a7187c8e011d58278829f60f912",class:{checked:this.checked,disabled:this.disabled},tabIndex:this.disabled?-1:0,role:"switch","aria-checked":this.checked?"true":"false","aria-disabled":this.disabled?"true":"false","aria-label":this.label,onClick:this.handleToggle,onKeyDown:this.handleKeyDown},l("div",{key:"1ae5a58c6cedf19626cba1e04abe566669582081",class:"toggle-track"},l("div",{key:"e11d42017fd624837f9e44f2671b74d38e4d015f",class:"toggle-thumb"})))}static get style(){return":host{display:inline-flex;align-items:center;cursor:var(--kritzel-global-pointer-cursor, pointer);outline:none;z-index:1;-webkit-tap-highlight-color:transparent}:host(:focus-visible) .toggle-track{box-shadow:0 0 0 2px var(--kritzel-global-focus-ring-color, rgba(0, 122, 255, 0.3))}:host(.disabled){opacity:0.5;pointer-events:none;cursor:default}.toggle-track{position:relative;width:var(--kritzel-slide-toggle-width, 40px);height:var(--kritzel-slide-toggle-height, 22px);background-color:var(--kritzel-slide-toggle-track-color, #ccc);border-radius:var(--kritzel-slide-toggle-border-radius, 11px);transition:background-color var(--kritzel-slide-toggle-transition-duration, 0.2s) ease}:host(.checked) .toggle-track{background-color:var(--kritzel-slide-toggle-track-checked-color, #007AFF)}.toggle-thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);width:var(--kritzel-slide-toggle-thumb-size, 18px);height:var(--kritzel-slide-toggle-thumb-size, 18px);background-color:var(--kritzel-slide-toggle-thumb-color, #fff);border-radius:50%;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:left var(--kritzel-slide-toggle-transition-duration, 0.2s) ease}:host(.checked) .toggle-thumb{left:calc(var(--kritzel-slide-toggle-width, 40px) - var(--kritzel-slide-toggle-thumb-size, 18px) - 2px)}"}},[513,"kritzel-slide-toggle",{checked:[1028],disabled:[4],label:[1]}]);function a(){"undefined"!=typeof customElements&&["kritzel-slide-toggle"].forEach((e=>{"kritzel-slide-toggle"===e&&(customElements.get(r(e))||customElements.define(r(e),o))}))}export{o as K,a as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as r,h as o,d as n,t as i}from"./p-pebXO4LU.js";import{K as s}from"./p-jGOpkGDl.js";import{d as a}from"./p-CHmi1QWx.js";import{d as m,a as c}from"./p-KQzWumjB.js";import{d as l}from"./p-D1O7DxL4.js";const u=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=r(this,"itemSelect")}get host(){return this}items=[];icon="ellipsis-vertical";iconSize=24;offsetY=4;itemSelect;menuAnchor=null;isTouchDevice=s.isTouchDevice();toggleMenu=e=>{e.stopPropagation(),this.menuAnchor?this.closeMenu():(window.dispatchEvent(new CustomEvent("kritzel-dismiss-menus")),this.menuAnchor=this.host)};closeMenu=()=>{this.menuAnchor=null};get visibleItems(){return this.items.filter((e=>!1!==e.isVisible))}handleMenuItemSelect=e=>{const{item:t,parent:r}=e.detail;t.action&&t.action(t,r),this.itemSelect.emit(e.detail),this.closeMenu()};render(){return o(n,{key:"951577ab19a6bb10e7c578546a386e6159d16aff",class:{mobile:this.isTouchDevice}},o("button",{key:"2b5112a4458544945c91536cb974e230401c6cd2",class:"more-menu-button",onClick:this.toggleMenu},o("kritzel-icon",{key:"e37122c20fa642ad4e53ae039ab43539f3b5b195",name:this.icon,size:this.iconSize})),o("kritzel-portal",{key:"5b4fd597eb4ec299ca672194f0dd69d3d50c270b",anchor:this.menuAnchor,offsetY:this.offsetY,onClose:this.closeMenu},o("kritzel-menu",{key:"a3a48b1ebb064293ecb6bb06f1783cba849d2ade",items:this.visibleItems,onItemSelect:this.handleMenuItemSelect})))}static get style(){return":host{display:inline-flex;padding:var(--kritzel-more-menu-padding, 4px);background-color:var(--kritzel-more-menu-background-color, #ffffff);border-radius:var(--kritzel-more-menu-border-radius, 12px);box-shadow:var(--kritzel-more-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-more-menu-border, 1px solid #ebebeb)}:host(.mobile){--kritzel-more-menu-button-hover-background-color:transparent;--kritzel-more-menu-button-active-background-color:transparent}.more-menu-button{display:flex;align-items:center;justify-content:center;width:var(--kritzel-more-menu-button-width, 40px);height:var(--kritzel-more-menu-button-height, 40px);padding:0;border:none;border-radius:var(--kritzel-more-menu-inner-border-radius, 12px);background-color:transparent;cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:none;transition:background-color 150ms ease;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--kritzel-more-menu-button-color, currentColor)}.more-menu-button:hover{background-color:var(--kritzel-more-menu-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.more-menu-button:focus-visible{background-color:var(--kritzel-more-menu-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.more-menu-button:active{background-color:var(--kritzel-more-menu-button-active-background-color, hsl(0, 0%, 0%, 4.3%))}"}},[513,"kritzel-more-menu",{items:[16],icon:[1],iconSize:[2,"icon-size"],offsetY:[2,"offset-y"],menuAnchor:[32],isTouchDevice:[32]}]);function b(){"undefined"!=typeof customElements&&["kritzel-more-menu","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-more-menu":customElements.get(i(e))||customElements.define(i(e),u);break;case"kritzel-icon":customElements.get(i(e))||a();break;case"kritzel-menu":customElements.get(i(e))||c();break;case"kritzel-menu-item":customElements.get(i(e))||m();break;case"kritzel-portal":customElements.get(i(e))||l()}}))}export{u as K,b as d}
1
+ import{p as e,H as t,c as r,h as o,d as n,t as i}from"./p-CGGiwvWZ.js";import{K as s}from"./p-jGOpkGDl.js";import{d as a}from"./p-DxzDda_J.js";import{d as c,a as m}from"./p-CI9Nbh-x.js";import{d as l}from"./p-Dr3-pKVg.js";const u=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelect=r(this,"itemSelect")}get host(){return this}items=[];icon="ellipsis-vertical";iconSize=24;offsetY=4;itemSelect;menuAnchor=null;isTouchDevice=s.isTouchDevice();toggleMenu=e=>{e.stopPropagation(),this.menuAnchor?this.closeMenu():(window.dispatchEvent(new CustomEvent("kritzel-dismiss-menus")),this.menuAnchor=this.host)};closeMenu=()=>{this.menuAnchor=null};get visibleItems(){return this.items.filter((e=>!1!==e.isVisible))}handleMenuItemSelect=e=>{const{item:t,parent:r}=e.detail;t.action&&t.action(t,r),this.itemSelect.emit(e.detail),this.closeMenu()};render(){return o(n,{key:"951577ab19a6bb10e7c578546a386e6159d16aff",class:{mobile:this.isTouchDevice}},o("button",{key:"2b5112a4458544945c91536cb974e230401c6cd2",class:"more-menu-button",onClick:this.toggleMenu},o("kritzel-icon",{key:"e37122c20fa642ad4e53ae039ab43539f3b5b195",name:this.icon,size:this.iconSize})),o("kritzel-portal",{key:"5b4fd597eb4ec299ca672194f0dd69d3d50c270b",anchor:this.menuAnchor,offsetY:this.offsetY,onClose:this.closeMenu},o("kritzel-menu",{key:"a3a48b1ebb064293ecb6bb06f1783cba849d2ade",items:this.visibleItems,onItemSelect:this.handleMenuItemSelect})))}static get style(){return":host{display:inline-flex;padding:var(--kritzel-more-menu-padding, 4px);background-color:var(--kritzel-more-menu-background-color, #ffffff);border-radius:var(--kritzel-more-menu-border-radius, 12px);box-shadow:var(--kritzel-more-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-more-menu-border, 1px solid #ebebeb)}:host(.mobile){--kritzel-more-menu-button-hover-background-color:transparent;--kritzel-more-menu-button-active-background-color:transparent}.more-menu-button{display:flex;align-items:center;justify-content:center;width:var(--kritzel-more-menu-button-width, 40px);height:var(--kritzel-more-menu-button-height, 40px);padding:0;border:none;border-radius:var(--kritzel-more-menu-inner-border-radius, 12px);background-color:transparent;cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:none;transition:background-color 150ms ease;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--kritzel-more-menu-button-color, currentColor)}.more-menu-button:hover{background-color:var(--kritzel-more-menu-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.more-menu-button:focus-visible{background-color:var(--kritzel-more-menu-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.more-menu-button:active{background-color:var(--kritzel-more-menu-button-active-background-color, hsl(0, 0%, 0%, 4.3%))}"}},[513,"kritzel-more-menu",{items:[16],icon:[1],iconSize:[2,"icon-size"],offsetY:[2,"offset-y"],menuAnchor:[32],isTouchDevice:[32]}]);function b(){"undefined"!=typeof customElements&&["kritzel-more-menu","kritzel-icon","kritzel-menu","kritzel-menu-item","kritzel-portal"].forEach((e=>{switch(e){case"kritzel-more-menu":customElements.get(i(e))||customElements.define(i(e),u);break;case"kritzel-icon":customElements.get(i(e))||a();break;case"kritzel-menu":customElements.get(i(e))||m();break;case"kritzel-menu-item":customElements.get(i(e))||c();break;case"kritzel-portal":customElements.get(i(e))||l()}}))}export{u as K,b as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as r,d as o,t as a}from"./p-pebXO4LU.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange")}value="";label="";placeholder="";suffix="";type="text";disabled=!1;valueChange;inputValue="";onValueChange(e){this.inputValue=e??""}componentWillLoad(){this.inputValue=this.value??""}handleInput=e=>{const t=e.target;this.inputValue=t.value,this.value=t.value,this.valueChange.emit(t.value)};render(){return r(o,{key:"5cfc93853afd27dd24ff9709dcd277571ae4d0a1"},r("div",{key:"fa0a43610b98ffbc30bf9485a4f8730b80f74ab7",class:"input-container"},this.label&&r("label",{key:"151346732ef4a00a1ea78bbc19ac56a94488dfc4",class:"input-label"},this.label),r("div",{key:"79b28f6f45cdacf7d122988bb4c844c929544cce",class:{"input-wrapper":!0,"has-suffix":!!this.suffix}},r("input",{key:"e22abd0e10ee231b2e66f50085693769584a1254",type:this.type,class:"text-input",value:this.inputValue,placeholder:this.placeholder,disabled:this.disabled,onInput:this.handleInput}),this.suffix&&r("span",{key:"5c96287d24dc28f4ac321f108a356527194f4e81",class:"input-suffix"},this.suffix))))}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-text-input-label-color, #333333)}.input-wrapper{display:flex;align-items:center;border:1px solid var(--kritzel-text-input-border-color, #ebebeb);border-radius:6px;overflow:hidden;background:var(--kritzel-text-input-background, #ffffff);transition:border-color 150ms ease}.input-wrapper:hover:not(:focus-within){border-color:var(--kritzel-text-input-hover-border-color, #cccccc)}.input-wrapper:focus-within{border-color:var(--kritzel-text-input-focus-border-color, #007AFF);border-width:2px}.text-input{flex:1;padding:10px 12px;border:none;outline:none;font-size:14px;font-family:inherit;background:transparent;color:var(--kritzel-text-input-text-color, #333333);box-sizing:border-box}.text-input::placeholder{color:var(--kritzel-text-input-placeholder-color, #999999)}.text-input::selection{background-color:var(--kritzel-text-input-selection-background, #007AFF);color:var(--kritzel-text-input-selection-color, #ffffff)}.text-input:disabled{cursor:not-allowed;opacity:0.6}.input-suffix{padding:10px 12px;background:var(--kritzel-text-input-suffix-background, #f5f5f5);color:var(--kritzel-text-input-suffix-color, #666666);font-size:14px;border-left:1px solid var(--kritzel-text-input-border-color, #ebebeb);flex-shrink:0}"}},[513,"kritzel-input",{value:[1025],label:[1],placeholder:[1],suffix:[1],type:[1],disabled:[4],inputValue:[32]},void 0,{value:[{onValueChange:0}]}]);function n(){"undefined"!=typeof customElements&&["kritzel-input"].forEach((e=>{"kritzel-input"===e&&(customElements.get(a(e))||customElements.define(a(e),l))}))}export{l as K,n as d}
1
+ import{p as e,H as t,c as i,h as r,d as o,t as a}from"./p-CGGiwvWZ.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange")}value="";label="";placeholder="";suffix="";type="text";disabled=!1;valueChange;inputValue="";onValueChange(e){this.inputValue=e??""}componentWillLoad(){this.inputValue=this.value??""}handleInput=e=>{const t=e.target;this.inputValue=t.value,this.value=t.value,this.valueChange.emit(t.value)};render(){return r(o,{key:"5cfc93853afd27dd24ff9709dcd277571ae4d0a1"},r("div",{key:"fa0a43610b98ffbc30bf9485a4f8730b80f74ab7",class:"input-container"},this.label&&r("label",{key:"151346732ef4a00a1ea78bbc19ac56a94488dfc4",class:"input-label"},this.label),r("div",{key:"79b28f6f45cdacf7d122988bb4c844c929544cce",class:{"input-wrapper":!0,"has-suffix":!!this.suffix}},r("input",{key:"e22abd0e10ee231b2e66f50085693769584a1254",type:this.type,class:"text-input",value:this.inputValue,placeholder:this.placeholder,disabled:this.disabled,onInput:this.handleInput}),this.suffix&&r("span",{key:"5c96287d24dc28f4ac321f108a356527194f4e81",class:"input-suffix"},this.suffix))))}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-text-input-label-color, #333333)}.input-wrapper{display:flex;align-items:center;border:1px solid var(--kritzel-text-input-border-color, #ebebeb);border-radius:6px;overflow:hidden;background:var(--kritzel-text-input-background, #ffffff);transition:border-color 150ms ease}.input-wrapper:hover:not(:focus-within){border-color:var(--kritzel-text-input-hover-border-color, #cccccc)}.input-wrapper:focus-within{border-color:var(--kritzel-text-input-focus-border-color, #007AFF);border-width:2px}.text-input{flex:1;padding:10px 12px;border:none;outline:none;font-size:14px;font-family:inherit;background:transparent;color:var(--kritzel-text-input-text-color, #333333);box-sizing:border-box}.text-input::placeholder{color:var(--kritzel-text-input-placeholder-color, #999999)}.text-input::selection{background-color:var(--kritzel-text-input-selection-background, #007AFF);color:var(--kritzel-text-input-selection-color, #ffffff)}.text-input:disabled{cursor:not-allowed;opacity:0.6}.input-suffix{padding:10px 12px;background:var(--kritzel-text-input-suffix-background, #f5f5f5);color:var(--kritzel-text-input-suffix-color, #666666);font-size:14px;border-left:1px solid var(--kritzel-text-input-border-color, #ebebeb);flex-shrink:0}"}},[513,"kritzel-input",{value:[1025],label:[1],placeholder:[1],suffix:[1],type:[1],disabled:[4],inputValue:[32]},void 0,{value:[{onValueChange:0}]}]);function n(){"undefined"!=typeof customElements&&["kritzel-input"].forEach((e=>{"kritzel-input"===e&&(customElements.get(a(e))||customElements.define(a(e),l))}))}export{l as K,n as d}
@@ -1 +1 @@
1
- import{p as e,H as t,h as r,d as a,t as s}from"./p-pebXO4LU.js";import{d as i}from"./p-BeFUNGEI.js";import{d as c}from"./p-Dj_Qjga5.js";import{d as l}from"./p-Dt-J69xt.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}get host(){return this}user;avatarSize=40;dialogRef;handleAvatarClick=e=>{e.stopPropagation(),this.dialogRef?.open()};render(){return r(a,{key:"603389630e3c1fb02c94663bebdc374bbbfaa79e"},r("kritzel-avatar",{key:"b346db9aaa7681c484725a42c05ab94f468a19f0",user:this.user,size:this.avatarSize,onClick:this.handleAvatarClick}),r("kritzel-current-user-dialog",{key:"647b32cff0ffbfa08ce8d00f1a2f42a6d17027a3",ref:e=>this.dialogRef=e,user:this.user}))}static get style(){return":host{display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}kritzel-avatar{cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}"}},[513,"kritzel-current-user",{user:[16],avatarSize:[2,"avatar-size"]}]);function n(){"undefined"!=typeof customElements&&["kritzel-current-user","kritzel-avatar","kritzel-current-user-dialog","kritzel-dialog"].forEach((e=>{switch(e){case"kritzel-current-user":customElements.get(s(e))||customElements.define(s(e),o);break;case"kritzel-avatar":customElements.get(s(e))||i();break;case"kritzel-current-user-dialog":customElements.get(s(e))||c();break;case"kritzel-dialog":customElements.get(s(e))||l()}}))}export{o as K,n as d}
1
+ import{p as e,H as t,h as r,d as a,t as s}from"./p-CGGiwvWZ.js";import{d as i}from"./p-BueaqfA2.js";import{d as o}from"./p-CYh7yV-K.js";import{d as c}from"./p-53di1Zko.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}get host(){return this}user;avatarSize=40;dialogRef;handleAvatarClick=e=>{e.stopPropagation(),this.dialogRef?.open()};render(){return r(a,{key:"603389630e3c1fb02c94663bebdc374bbbfaa79e"},r("kritzel-avatar",{key:"b346db9aaa7681c484725a42c05ab94f468a19f0",user:this.user,size:this.avatarSize,onClick:this.handleAvatarClick}),r("kritzel-current-user-dialog",{key:"647b32cff0ffbfa08ce8d00f1a2f42a6d17027a3",ref:e=>this.dialogRef=e,user:this.user}))}static get style(){return":host{display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}kritzel-avatar{cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}"}},[513,"kritzel-current-user",{user:[16],avatarSize:[2,"avatar-size"]}]);function n(){"undefined"!=typeof customElements&&["kritzel-current-user","kritzel-avatar","kritzel-current-user-dialog","kritzel-dialog"].forEach((e=>{switch(e){case"kritzel-current-user":customElements.get(s(e))||customElements.define(s(e),l);break;case"kritzel-avatar":customElements.get(s(e))||i();break;case"kritzel-current-user-dialog":customElements.get(s(e))||o();break;case"kritzel-dialog":customElements.get(s(e))||c()}}))}export{l as K,n as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as o,h as r,d as s,t as i}from"./p-pebXO4LU.js";import{a as l}from"./p-CjazGGq3.js";import{d as a}from"./p-C1uR_ZNW.js";const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.colorChange=o(this,"colorChange")}colors=[];selectedColor=null;isExpanded=!1;isOpaque=!1;opacity=1;theme;colorChange;handleColorClick(e){this.selectedColor=e,this.colorChange.emit(e)}handleKeyDown(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleColorClick(t))}calculateHeight(){const e=Math.ceil(this.colors.length/6);return 32*e+8*(e-1)+"px"}areColorsEqual(e,t){return!!e&&e.light===t.light&&e.dark===t.dark}render(){const e=this.isExpanded?this.colors:this.colors.slice(0,6),t=this.isExpanded?this.calculateHeight():"32px";return r(s,{key:"22b6f0362933848cd40ad44c73a48fd4d8330884"},r("div",{key:"38adb9abc39d78ae9528341212acf2de425b4eb8",class:{"color-grid":!0,expanded:this.isExpanded},style:{height:t}},e.map((e=>r("div",{tabIndex:0,class:{"color-container":!0,selected:this.areColorsEqual(this.selectedColor,e)},onClick:()=>this.handleColorClick(e),onKeyDown:t=>this.handleKeyDown(t,e)},r("kritzel-color",{value:l.applyOpacity(e,this.opacity,this.theme),theme:this.theme}))))))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}"}},[513,"kritzel-color-palette",{colors:[16],selectedColor:[1040],isExpanded:[4,"is-expanded"],isOpaque:[4,"is-opaque"],opacity:[2],theme:[1]}]);function n(){"undefined"!=typeof customElements&&["kritzel-color-palette","kritzel-color"].forEach((e=>{switch(e){case"kritzel-color-palette":customElements.get(i(e))||customElements.define(i(e),c);break;case"kritzel-color":customElements.get(i(e))||a()}}))}export{c as K,n as d}
1
+ import{p as e,H as t,c as o,h as r,d as s,t as i}from"./p-CGGiwvWZ.js";import{a as l}from"./p-CjazGGq3.js";import{d as a}from"./p-ZC5YELQJ.js";const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.colorChange=o(this,"colorChange")}colors=[];selectedColor=null;isExpanded=!1;isOpaque=!1;opacity=1;theme;colorChange;handleColorClick(e){this.selectedColor=e,this.colorChange.emit(e)}handleKeyDown(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleColorClick(t))}calculateHeight(){const e=Math.ceil(this.colors.length/6);return 32*e+8*(e-1)+"px"}areColorsEqual(e,t){return!!e&&e.light===t.light&&e.dark===t.dark}render(){const e=this.isExpanded?this.colors:this.colors.slice(0,6),t=this.isExpanded?this.calculateHeight():"32px";return r(s,{key:"22b6f0362933848cd40ad44c73a48fd4d8330884"},r("div",{key:"38adb9abc39d78ae9528341212acf2de425b4eb8",class:{"color-grid":!0,expanded:this.isExpanded},style:{height:t}},e.map((e=>r("div",{tabIndex:0,class:{"color-container":!0,selected:this.areColorsEqual(this.selectedColor,e)},onClick:()=>this.handleColorClick(e),onKeyDown:t=>this.handleKeyDown(t,e)},r("kritzel-color",{value:l.applyOpacity(e,this.opacity,this.theme),theme:this.theme}))))))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}"}},[513,"kritzel-color-palette",{colors:[16],selectedColor:[1040],isExpanded:[4,"is-expanded"],isOpaque:[4,"is-opaque"],opacity:[2],theme:[1]}]);function n(){"undefined"!=typeof customElements&&["kritzel-color-palette","kritzel-color"].forEach((e=>{switch(e){case"kritzel-color-palette":customElements.get(i(e))||customElements.define(i(e),c);break;case"kritzel-color":customElements.get(i(e))||a()}}))}export{c as K,n as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as s,h as i,d as r,t as o}from"./p-pebXO4LU.js";import{d as n}from"./p-HLbqRJGs.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.sizeChange=s(this,"sizeChange")}sizes=[8,10,12,16,20,24];selectedSize=null;fontFamily="Arial";sizeChange;handleSizeClick(e){this.selectedSize=e,this.sizeChange.emit(e)}handleKeyDown(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleSizeClick(t))}render(){return i(r,{key:"32615ac4756efd047219b93642f7b5cc7d80669b"},this.sizes.map((e=>i("div",{tabIndex:0,class:{"size-container":!0,selected:this.selectedSize===e},onClick:()=>this.handleSizeClick(e),onKeyDown:t=>this.handleKeyDown(t,e)},i("kritzel-font",{fontFamily:this.fontFamily,size:e,color:"var(--kritzel-global-text-primary)"})))))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}"}},[513,"kritzel-font-size",{sizes:[16],selectedSize:[1026,"selected-size"],fontFamily:[1,"font-family"]}]);function a(){"undefined"!=typeof customElements&&["kritzel-font-size","kritzel-font"].forEach((e=>{switch(e){case"kritzel-font-size":customElements.get(o(e))||customElements.define(o(e),l);break;case"kritzel-font":customElements.get(o(e))||n()}}))}export{l as K,a as d}
1
+ import{p as e,H as t,c as s,h as i,d as r,t as o}from"./p-CGGiwvWZ.js";import{d as n}from"./p-DDKjsXCe.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.sizeChange=s(this,"sizeChange")}sizes=[8,10,12,16,20,24];selectedSize=null;fontFamily="Arial";sizeChange;handleSizeClick(e){this.selectedSize=e,this.sizeChange.emit(e)}handleKeyDown(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleSizeClick(t))}render(){return i(r,{key:"32615ac4756efd047219b93642f7b5cc7d80669b"},this.sizes.map((e=>i("div",{tabIndex:0,class:{"size-container":!0,selected:this.selectedSize===e},onClick:()=>this.handleSizeClick(e),onKeyDown:t=>this.handleKeyDown(t,e)},i("kritzel-font",{fontFamily:this.fontFamily,size:e,color:"var(--kritzel-global-text-primary)"})))))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}"}},[513,"kritzel-font-size",{sizes:[16],selectedSize:[1026,"selected-size"],fontFamily:[1,"font-family"]}]);function a(){"undefined"!=typeof customElements&&["kritzel-font-size","kritzel-font"].forEach((e=>{switch(e){case"kritzel-font-size":customElements.get(o(e))||customElements.define(o(e),l);break;case"kritzel-font":customElements.get(o(e))||n()}}))}export{l as K,a as d}
@@ -1 +1 @@
1
- import{p as t,H as e,h as o,d as s,t as i}from"./p-pebXO4LU.js";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}fontFamily="Arial, sans-serif";size=24;color="#000000";render(){return o(s,{key:"3d5fd9aecf7abc96c438b890f5831281d6194922"},o("div",{key:"2b3df82e475177e803f172f440ffcee97dbe5aa5",class:"font-preview",style:{fontFamily:this.fontFamily,fontSize:`${this.size}px`,color:this.color}},"A"))}static get style(){return":host{display:block}.font-preview{color:var(--kritzel-font-size-text-color, #333333);line-height:1;text-align:center;font-weight:bold}"}},[513,"kritzel-font",{fontFamily:[1,"font-family"],size:[2],color:[1]}]);function r(){"undefined"!=typeof customElements&&["kritzel-font"].forEach((t=>{"kritzel-font"===t&&(customElements.get(i(t))||customElements.define(i(t),n))}))}export{n as K,r as d}
1
+ import{p as t,H as e,h as o,d as s,t as i}from"./p-CGGiwvWZ.js";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}fontFamily="Arial, sans-serif";size=24;color="#000000";render(){return o(s,{key:"3d5fd9aecf7abc96c438b890f5831281d6194922"},o("div",{key:"2b3df82e475177e803f172f440ffcee97dbe5aa5",class:"font-preview",style:{fontFamily:this.fontFamily,fontSize:`${this.size}px`,color:this.color}},"A"))}static get style(){return":host{display:block}.font-preview{color:var(--kritzel-font-size-text-color, #333333);line-height:1;text-align:center;font-weight:bold}"}},[513,"kritzel-font",{fontFamily:[1,"font-family"],size:[2],color:[1]}]);function r(){"undefined"!=typeof customElements&&["kritzel-font"].forEach((t=>{"kritzel-font"===t&&(customElements.get(i(t))||customElements.define(i(t),n))}))}export{n as K,r as d}
@@ -1 +1 @@
1
- import{p as t,H as e,c as o,h as l,d as a,t as n}from"./p-pebXO4LU.js";import{d as r}from"./p-GYI7sDxr.js";const s=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.fontFamilyChange=o(this,"fontFamilyChange")}fontOptions=[{value:"arial",label:"Arial"},{value:"verdana",label:"Verdana"},{value:"helvetica",label:"Helvetica"},{value:"tahoma",label:"Tahoma"},{value:"trebuchet ms",label:"Trebuchet MS"},{value:"times new roman",label:"Times New Roman"},{value:"georgia",label:"Georgia"},{value:"garamond",label:"Garamond"},{value:"courier new",label:"Courier New"},{value:"brush script mt",label:"Brush Script MT"}];selectedFontFamily;fontFamilyChange;componentWillLoad(){if(this.fontOptions&&this.fontOptions.length>0){const t=this.fontOptions.some((t=>t.value===this.selectedFontFamily));this.selectedFontFamily&&t||(this.selectedFontFamily=this.fontOptions[0].value)}}handleDropdownValueChange=t=>{this.fontFamilyChange.emit(t.detail)};render(){const t=this.fontOptions.map((t=>({value:t.value,label:t.label,style:{fontFamily:t.value}})));return l(a,{key:"914739658f9d11eab9ff5f9bf674395cc7395804"},l("kritzel-dropdown",{key:"8f8ec602c96f97680a614e21c088dd650e840919",options:t,value:this.selectedFontFamily,onValueChanged:this.handleDropdownValueChange,selectStyles:{fontFamily:this.selectedFontFamily}}))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}"}},[513,"kritzel-font-family",{fontOptions:[16],selectedFontFamily:[1025,"selected-font-family"]}]);function i(){"undefined"!=typeof customElements&&["kritzel-font-family","kritzel-dropdown"].forEach((t=>{switch(t){case"kritzel-font-family":customElements.get(n(t))||customElements.define(n(t),s);break;case"kritzel-dropdown":customElements.get(n(t))||r()}}))}export{s as K,i as d}
1
+ import{p as t,H as e,c as o,h as l,d as a,t as n}from"./p-CGGiwvWZ.js";import{d as r}from"./p-l_YGO7RB.js";const i=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.fontFamilyChange=o(this,"fontFamilyChange")}fontOptions=[{value:"arial",label:"Arial"},{value:"verdana",label:"Verdana"},{value:"helvetica",label:"Helvetica"},{value:"tahoma",label:"Tahoma"},{value:"trebuchet ms",label:"Trebuchet MS"},{value:"times new roman",label:"Times New Roman"},{value:"georgia",label:"Georgia"},{value:"garamond",label:"Garamond"},{value:"courier new",label:"Courier New"},{value:"brush script mt",label:"Brush Script MT"}];selectedFontFamily;fontFamilyChange;componentWillLoad(){if(this.fontOptions&&this.fontOptions.length>0){const t=this.fontOptions.some((t=>t.value===this.selectedFontFamily));this.selectedFontFamily&&t||(this.selectedFontFamily=this.fontOptions[0].value)}}handleDropdownValueChange=t=>{this.fontFamilyChange.emit(t.detail)};render(){const t=this.fontOptions.map((t=>({value:t.value,label:t.label,style:{fontFamily:t.value}})));return l(a,{key:"914739658f9d11eab9ff5f9bf674395cc7395804"},l("kritzel-dropdown",{key:"8f8ec602c96f97680a614e21c088dd650e840919",options:t,value:this.selectedFontFamily,onValueChanged:this.handleDropdownValueChange,selectStyles:{fontFamily:this.selectedFontFamily}}))}static get style(){return":host{display:flex;align-items:flex-start;gap:8px;padding:0;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}"}},[513,"kritzel-font-family",{fontOptions:[16],selectedFontFamily:[1025,"selected-font-family"]}]);function s(){"undefined"!=typeof customElements&&["kritzel-font-family","kritzel-dropdown"].forEach((t=>{switch(t){case"kritzel-font-family":customElements.get(n(t))||customElements.define(n(t),i);break;case"kritzel-dropdown":customElements.get(n(t))||r()}}))}export{i as K,s as d}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as n,d as r,t as o}from"./p-pebXO4LU.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange")}value;min=Number.MIN_SAFE_INTEGER;max=Number.MAX_SAFE_INTEGER;step=1;label="";placeholder="";valueChange;inputValue="";onValueChange(e){this.inputValue=this.shouldShowEmpty(e)?"":String(e)}componentWillLoad(){this.inputValue=this.shouldShowEmpty(this.value)?"":String(this.value)}shouldShowEmpty(e){return void 0===e||e===1/0||e===-1/0}normalizeValue(e){return isNaN(e)?this.value??0:Math.min(this.max,Math.max(this.min,e))}getDecimalPlaces(){const e=String(this.step),t=e.indexOf(".");return-1===t?0:e.length-t-1}roundToStep(e){const t=this.getDecimalPlaces(),i=Math.pow(10,t);return Math.round(e*i)/i}handleInput=e=>{this.inputValue=e.target.value};handleBlur=()=>{this.commitValue()};handleKeyDown=e=>{"Enter"===e.key&&this.commitValue()};handleInvalid=e=>{e.preventDefault()};commitValue(){if(""===this.inputValue.trim())return this.value=void 0,void this.valueChange.emit(void 0);const e=parseFloat(this.inputValue),t=this.normalizeValue(e);this.value=t,this.inputValue=String(t),this.valueChange.emit(t)}handleIncrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t+this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};handleDecrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t-this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};render(){return n(r,{key:"9f5b165e9c4db1cc6724020e12d18beb0a70ad11"},n("div",{key:"e5e3d790f9d9bd7bb2d25367bb7d7d86c731091f",class:"input-container"},this.label&&n("label",{key:"0ee62b45cbfe34405a888d0d61af472936b0a453",class:"input-label"},this.label),n("div",{key:"49bbdca156346c1e0dd7b08d6790ae5829fa6d1f",class:"input-wrapper"},n("input",{key:"986e05275c90bee119ff3c803d90ba16a0005f8d",type:"number",class:"numeric-input",title:"",min:this.min===Number.MIN_SAFE_INTEGER?void 0:this.min,max:this.max===Number.MAX_SAFE_INTEGER?void 0:this.max,step:this.step,value:this.inputValue,placeholder:this.placeholder,onInput:this.handleInput,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,onInvalid:this.handleInvalid}),n("div",{key:"4c468fdca0018390bdc57f1b2fd7fa2e68b09f98",class:"spinner-buttons"},n("button",{key:"7b433424c6817049b6229e249d715ebd43dfe350",type:"button",class:"spinner-button spinner-up",onClick:this.handleIncrement,tabIndex:-1,"aria-label":"Increase value"},n("svg",{key:"666b0c184d00d000a1fa97d4bdda3a9a6b0d299d",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"223f829a0b808e9fdde656294729121e2c8ae0d3",d:"M1 5L5 1L9 5",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}))),n("button",{key:"40f72b01e59b98c7bca4952c94eeb631fe3d17a1",type:"button",class:"spinner-button spinner-down",onClick:this.handleDecrement,tabIndex:-1,"aria-label":"Decrease value"},n("svg",{key:"5f304877010fc9fa1c7559270b5105659b2f4863",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"e31b6f1edb583eebbf608fc5360c53d49d4d2d5c",d:"M1 1L5 5L9 1",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"})))))))}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-numeric-input-label-color, #333333)}.input-wrapper{display:flex;position:relative}.numeric-input{flex:1;padding:8px 36px 8px 12px;border:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:6px;font-size:14px;color:var(--kritzel-numeric-input-text-color, #333333);background-color:var(--kritzel-numeric-input-input-background, #ffffff);outline:none;transition:border-color 150ms ease;box-sizing:border-box}.numeric-input::-webkit-outer-spin-button,.numeric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-input[type='number']{-moz-appearance:textfield}.numeric-input::selection{background-color:var(--kritzel-numeric-input-selection-background, #007AFF);color:var(--kritzel-numeric-input-selection-color, #ffffff)}.numeric-input:hover{border-color:var(--kritzel-numeric-input-hover-border-color, #cccccc)}.numeric-input:focus{border-color:var(--kritzel-numeric-input-focus-border-color, #0066ff);border-width:2px;padding:7px 35px 7px 11px}.spinner-buttons{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;border-left:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:0 5px 5px 0;overflow:hidden}.spinner-button{flex:1;display:flex;align-items:center;justify-content:center;width:24px;padding:0;border:none;background-color:var(--kritzel-numeric-input-spinner-background, #f5f5f5);color:var(--kritzel-numeric-input-spinner-color, #666666);cursor:pointer;transition:background-color 150ms ease}.spinner-button:hover{background-color:var(--kritzel-numeric-input-spinner-hover-background, #ebebeb)}.spinner-button:active{background-color:var(--kritzel-numeric-input-spinner-active-background, #dddddd)}.spinner-up{border-bottom:1px solid var(--kritzel-numeric-input-border-color, #ebebeb)}.spinner-icon{width:10px;height:6px}"}},[513,"kritzel-numeric-input",{value:[1026],min:[2],max:[2],step:[2],label:[1],placeholder:[1],inputValue:[32]},void 0,{value:[{onValueChange:0}]}]);function a(){"undefined"!=typeof customElements&&["kritzel-numeric-input"].forEach((e=>{"kritzel-numeric-input"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as K,a as d}
1
+ import{p as e,H as t,c as i,h as n,d as r,t as o}from"./p-CGGiwvWZ.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange")}value;min=Number.MIN_SAFE_INTEGER;max=Number.MAX_SAFE_INTEGER;step=1;label="";placeholder="";valueChange;inputValue="";onValueChange(e){this.inputValue=this.shouldShowEmpty(e)?"":String(e)}componentWillLoad(){this.inputValue=this.shouldShowEmpty(this.value)?"":String(this.value)}shouldShowEmpty(e){return void 0===e||e===1/0||e===-1/0}normalizeValue(e){return isNaN(e)?this.value??0:Math.min(this.max,Math.max(this.min,e))}getDecimalPlaces(){const e=String(this.step),t=e.indexOf(".");return-1===t?0:e.length-t-1}roundToStep(e){const t=this.getDecimalPlaces(),i=Math.pow(10,t);return Math.round(e*i)/i}handleInput=e=>{this.inputValue=e.target.value};handleBlur=()=>{this.commitValue()};handleKeyDown=e=>{"Enter"===e.key&&this.commitValue()};handleInvalid=e=>{e.preventDefault()};commitValue(){if(""===this.inputValue.trim())return this.value=void 0,void this.valueChange.emit(void 0);const e=parseFloat(this.inputValue),t=this.normalizeValue(e);this.value=t,this.inputValue=String(t),this.valueChange.emit(t)}handleIncrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t+this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};handleDecrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t-this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};render(){return n(r,{key:"9f5b165e9c4db1cc6724020e12d18beb0a70ad11"},n("div",{key:"e5e3d790f9d9bd7bb2d25367bb7d7d86c731091f",class:"input-container"},this.label&&n("label",{key:"0ee62b45cbfe34405a888d0d61af472936b0a453",class:"input-label"},this.label),n("div",{key:"49bbdca156346c1e0dd7b08d6790ae5829fa6d1f",class:"input-wrapper"},n("input",{key:"986e05275c90bee119ff3c803d90ba16a0005f8d",type:"number",class:"numeric-input",title:"",min:this.min===Number.MIN_SAFE_INTEGER?void 0:this.min,max:this.max===Number.MAX_SAFE_INTEGER?void 0:this.max,step:this.step,value:this.inputValue,placeholder:this.placeholder,onInput:this.handleInput,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,onInvalid:this.handleInvalid}),n("div",{key:"4c468fdca0018390bdc57f1b2fd7fa2e68b09f98",class:"spinner-buttons"},n("button",{key:"7b433424c6817049b6229e249d715ebd43dfe350",type:"button",class:"spinner-button spinner-up",onClick:this.handleIncrement,tabIndex:-1,"aria-label":"Increase value"},n("svg",{key:"666b0c184d00d000a1fa97d4bdda3a9a6b0d299d",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"223f829a0b808e9fdde656294729121e2c8ae0d3",d:"M1 5L5 1L9 5",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}))),n("button",{key:"40f72b01e59b98c7bca4952c94eeb631fe3d17a1",type:"button",class:"spinner-button spinner-down",onClick:this.handleDecrement,tabIndex:-1,"aria-label":"Decrease value"},n("svg",{key:"5f304877010fc9fa1c7559270b5105659b2f4863",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"e31b6f1edb583eebbf608fc5360c53d49d4d2d5c",d:"M1 1L5 5L9 1",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"})))))))}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-numeric-input-label-color, #333333)}.input-wrapper{display:flex;position:relative}.numeric-input{flex:1;padding:8px 36px 8px 12px;border:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:6px;font-size:14px;color:var(--kritzel-numeric-input-text-color, #333333);background-color:var(--kritzel-numeric-input-input-background, #ffffff);outline:none;transition:border-color 150ms ease;box-sizing:border-box}.numeric-input::-webkit-outer-spin-button,.numeric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-input[type='number']{-moz-appearance:textfield}.numeric-input::selection{background-color:var(--kritzel-numeric-input-selection-background, #007AFF);color:var(--kritzel-numeric-input-selection-color, #ffffff)}.numeric-input:hover{border-color:var(--kritzel-numeric-input-hover-border-color, #cccccc)}.numeric-input:focus{border-color:var(--kritzel-numeric-input-focus-border-color, #0066ff);border-width:2px;padding:7px 35px 7px 11px}.spinner-buttons{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;border-left:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:0 5px 5px 0;overflow:hidden}.spinner-button{flex:1;display:flex;align-items:center;justify-content:center;width:24px;padding:0;border:none;background-color:var(--kritzel-numeric-input-spinner-background, #f5f5f5);color:var(--kritzel-numeric-input-spinner-color, #666666);cursor:pointer;transition:background-color 150ms ease}.spinner-button:hover{background-color:var(--kritzel-numeric-input-spinner-hover-background, #ebebeb)}.spinner-button:active{background-color:var(--kritzel-numeric-input-spinner-active-background, #dddddd)}.spinner-up{border-bottom:1px solid var(--kritzel-numeric-input-border-color, #ebebeb)}.spinner-icon{width:10px;height:6px}"}},[513,"kritzel-numeric-input",{value:[1026],min:[2],max:[2],step:[2],label:[1],placeholder:[1],inputValue:[32]},void 0,{value:[{onValueChange:0}]}]);function a(){"undefined"!=typeof customElements&&["kritzel-numeric-input"].forEach((e=>{"kritzel-numeric-input"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as K,a as d}