kritzel-stencil 0.1.37 → 0.1.39

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 (181) hide show
  1. package/dist/cjs/{alignment.enum-DoQtCqTK.js → alignment.enum-Bk86Xzvb.js} +72 -12
  2. package/dist/cjs/{index-DIJLnoqQ.js → index-Dc7LOVhs.js} +24 -15
  3. package/dist/cjs/index.cjs.js +2 -1
  4. package/dist/cjs/{kritzel-back-to-content_32.cjs.entry.js → kritzel-back-to-content_34.cjs.entry.js} +627 -195
  5. package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/stencil.cjs.js +3 -3
  8. package/dist/collection/classes/core/viewport.class.js +39 -0
  9. package/dist/collection/classes/core/workspace.class.js +12 -2
  10. package/dist/collection/classes/registries/icon-registry.class.js +1 -0
  11. package/dist/collection/collection-manifest.json +4 -1
  12. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  13. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +120 -1
  14. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +411 -3
  15. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  16. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  17. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +10 -0
  18. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.js +15 -2
  19. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +15 -8
  20. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +26 -1
  21. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  22. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
  23. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  24. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -0
  25. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +198 -0
  26. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +2 -2
  27. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  28. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  29. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  30. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +7 -0
  31. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  32. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  33. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +58 -0
  34. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +135 -0
  35. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  36. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +2 -2
  37. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  38. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  39. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  40. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  41. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  42. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -1
  43. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +5 -5
  44. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +56 -47
  45. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +93 -7
  46. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +7 -2
  47. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  48. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  49. package/dist/collection/constants/version.js +1 -1
  50. package/dist/collection/themes/dark-theme.js +29 -5
  51. package/dist/collection/themes/light-theme.js +29 -5
  52. package/dist/components/index.d.ts +4 -0
  53. package/dist/components/index.js +1 -1
  54. package/dist/components/kritzel-back-to-content.js +1 -1
  55. package/dist/components/kritzel-brush-style.js +1 -1
  56. package/dist/components/kritzel-color-palette.js +1 -1
  57. package/dist/components/kritzel-color.js +1 -1
  58. package/dist/components/kritzel-context-menu.js +1 -1
  59. package/dist/components/kritzel-controls.js +1 -1
  60. package/dist/components/kritzel-cursor-trail.js +1 -1
  61. package/dist/components/kritzel-dialog.js +1 -1
  62. package/dist/components/kritzel-dropdown.js +1 -1
  63. package/dist/components/kritzel-editor.js +1 -1
  64. package/dist/components/kritzel-engine.js +1 -1
  65. package/dist/components/kritzel-export.js +1 -1
  66. package/dist/components/kritzel-font-family.js +1 -1
  67. package/dist/components/kritzel-font-size.js +1 -1
  68. package/dist/components/kritzel-font.js +1 -1
  69. package/dist/components/kritzel-icon.js +1 -1
  70. package/dist/components/kritzel-input.d.ts +11 -0
  71. package/dist/components/kritzel-input.js +1 -0
  72. package/dist/components/kritzel-line-endings.js +1 -1
  73. package/dist/components/kritzel-master-detail.js +1 -1
  74. package/dist/components/kritzel-menu-item.js +1 -1
  75. package/dist/components/kritzel-menu.js +1 -1
  76. package/dist/components/kritzel-more-menu.js +1 -1
  77. package/dist/components/kritzel-numeric-input.js +1 -1
  78. package/dist/components/kritzel-opacity-slider.js +1 -1
  79. package/dist/components/kritzel-pill-tabs.d.ts +11 -0
  80. package/dist/components/kritzel-pill-tabs.js +1 -0
  81. package/dist/components/kritzel-portal.js +1 -1
  82. package/dist/components/kritzel-settings.js +1 -1
  83. package/dist/components/kritzel-shape-fill.js +1 -1
  84. package/dist/components/kritzel-slide-toggle.js +1 -1
  85. package/dist/components/kritzel-split-button.js +1 -1
  86. package/dist/components/kritzel-stroke-size.js +1 -1
  87. package/dist/components/kritzel-tool-config.js +1 -1
  88. package/dist/components/kritzel-tooltip.js +1 -1
  89. package/dist/components/kritzel-utility-panel.js +1 -1
  90. package/dist/components/kritzel-workspace-manager.js +1 -1
  91. package/dist/components/{p-CNHUUPnK.js → p-35nrk8s0.js} +1 -1
  92. package/dist/components/{p-BXwFWQLJ.js → p-B922HwKl.js} +1 -1
  93. package/dist/components/{p-BrrdGelz.js → p-BI94nvjc.js} +1 -1
  94. package/dist/components/{p-gGtZ0q_-.js → p-BPXAG9ll.js} +1 -1
  95. package/dist/components/{p-B9qFjQDr.js → p-BWS8O7Wu.js} +1 -1
  96. package/dist/components/{p-DDxL68Ec.js → p-BY18fwCy.js} +1 -1
  97. package/dist/components/{p-58d4ngWX.js → p-BmkX5yQP.js} +1 -1
  98. package/dist/components/p-BnUpFUE0.js +9 -0
  99. package/dist/components/p-BtXIkbFb.js +1 -0
  100. package/dist/components/p-BuW--ssq.js +1 -0
  101. package/dist/components/{p-Dff4qdBv.js → p-CFhp1W9F.js} +1 -1
  102. package/dist/components/{p-BSEpekaB.js → p-CGycUPBQ.js} +1 -1
  103. package/dist/components/p-CRx4LwU0.js +1 -0
  104. package/dist/components/p-C_12_nSz.js +1 -0
  105. package/dist/components/{p-DFoA9OXl.js → p-CcYz9zmK.js} +1 -1
  106. package/dist/components/{p-DvIssnZ5.js → p-ClFX_Emc.js} +1 -1
  107. package/dist/components/p-CnVzLD5e.js +1 -0
  108. package/dist/components/p-Crme5r__.js +1 -0
  109. package/dist/components/{p-DDAJIrh1.js → p-Cz6bZ7Yw.js} +1 -1
  110. package/dist/components/{p-4iczdSHn.js → p-D0re1vIA.js} +1 -1
  111. package/dist/components/{p-BA87TlzO.js → p-DYUa5Z2V.js} +1 -1
  112. package/dist/components/{p-l0hEYK9z.js → p-DovLdMPZ.js} +1 -1
  113. package/dist/components/p-Dt-J69xt.js +1 -0
  114. package/dist/components/{p-Da0AQS0r.js → p-DwruFI4P.js} +1 -1
  115. package/dist/components/{p-DrpF7ci4.js → p-Dx3BuZ8P.js} +1 -1
  116. package/dist/components/{p-CwieoFh-.js → p-JdNoaqqb.js} +1 -1
  117. package/dist/components/p-KcUtwuOF.js +1 -0
  118. package/dist/components/{p-pU5LF6DA.js → p-PsEooMXF.js} +1 -1
  119. package/dist/components/{p-BrYUi7lu.js → p-VAkeZOZL.js} +1 -1
  120. package/dist/components/{p-vfOsyJYN.js → p-X-thuGEx.js} +1 -1
  121. package/dist/components/{p-DL0mVyzo.js → p-Z5g8fZP3.js} +1 -1
  122. package/dist/components/{p-BOwGipF7.js → p-ZNNJRHh8.js} +1 -1
  123. package/dist/components/{p-jfAOgh7g.js → p-ZtP7HCXO.js} +1 -1
  124. package/dist/components/{p-CGsAPJS-.js → p-nJ-DYuNk.js} +1 -1
  125. package/dist/components/p-pebXO4LU.js +1 -0
  126. package/dist/components/p-yOKWtnZe.js +1 -0
  127. package/dist/esm/{alignment.enum-BUGQHzFf.js → alignment.enum-CHLwomda.js} +72 -13
  128. package/dist/esm/{index-CS1qgEOS.js → index-MV-81ybv.js} +24 -15
  129. package/dist/esm/index.js +1 -1
  130. package/dist/esm/{kritzel-back-to-content_32.entry.js → kritzel-back-to-content_34.entry.js} +626 -196
  131. package/dist/esm/kritzel-brush-style.entry.js +1 -1
  132. package/dist/esm/loader.js +3 -3
  133. package/dist/esm/stencil.js +4 -4
  134. package/dist/stencil/index.esm.js +1 -1
  135. package/dist/stencil/p-00175871.entry.js +9 -0
  136. package/dist/stencil/{p-a7fb4dc6.entry.js → p-016ad76a.entry.js} +1 -1
  137. package/dist/stencil/p-CHLwomda.js +1 -0
  138. package/dist/stencil/p-MV-81ybv.js +2 -0
  139. package/dist/stencil/stencil.esm.js +1 -1
  140. package/dist/types/classes/core/viewport.class.d.ts +7 -0
  141. package/dist/types/classes/core/workspace.class.d.ts +7 -1
  142. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +5 -0
  143. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +45 -0
  144. package/dist/types/components/shared/kritzel-dialog/kritzel-dialog.d.ts +2 -0
  145. package/dist/types/components/shared/kritzel-dropdown/kritzel-dropdown.d.ts +2 -0
  146. package/dist/types/components/shared/kritzel-input/kritzel-input.d.ts +22 -0
  147. package/dist/types/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.d.ts +26 -0
  148. package/dist/types/components/ui/kritzel-export/kritzel-export.d.ts +20 -2
  149. package/dist/types/components.d.ts +247 -5
  150. package/dist/types/constants/version.d.ts +1 -1
  151. package/dist/types/interfaces/theme.interface.d.ts +37 -3
  152. package/package.json +1 -1
  153. package/dist/components/p-Bd6YNjat.js +0 -1
  154. package/dist/components/p-C8gWlzvf.js +0 -1
  155. package/dist/components/p-CKj0hBSx.js +0 -9
  156. package/dist/components/p-Cn1Fa1dI.js +0 -1
  157. package/dist/components/p-CpUBe8tH.js +0 -1
  158. package/dist/components/p-Cr9xFUWx.js +0 -1
  159. package/dist/components/p-CwrXe_ca.js +0 -1
  160. package/dist/components/p-D0RL1-Ei.js +0 -1
  161. package/dist/components/p-DSWCnSDK.js +0 -1
  162. package/dist/stencil/alignment.enum-BKRvCFVE.js.map +0 -1
  163. package/dist/stencil/anchor.manager-aON2CrvU.js.map +0 -1
  164. package/dist/stencil/color.helper-D9l6OvfD.js.map +0 -1
  165. package/dist/stencil/default-line-tool.config-Ch2EnDK6.js.map +0 -1
  166. package/dist/stencil/devices.helper-jGOpkGDl.js.map +0 -1
  167. package/dist/stencil/engine.constants-DsjjAmnl.js.map +0 -1
  168. package/dist/stencil/event-button.enum-D8W6LE-c.js.map +0 -1
  169. package/dist/stencil/html.helper-BML28BJR.js.map +0 -1
  170. package/dist/stencil/icon-registry.class-Ci0B2l7M.js.map +0 -1
  171. package/dist/stencil/index-COOOCteS.js.map +0 -1
  172. package/dist/stencil/index.esm.js.map +0 -1
  173. package/dist/stencil/kritzel-context-menu-BPBylbUX.js.map +0 -1
  174. package/dist/stencil/object.helper-B0kd2rUI.js.map +0 -1
  175. package/dist/stencil/p-77de8d2a.entry.js +0 -9
  176. package/dist/stencil/p-BUGQHzFf.js +0 -1
  177. package/dist/stencil/p-CS1qgEOS.js +0 -2
  178. package/dist/stencil/selection-tool.class-5NyHe9i_.js.map +0 -1
  179. package/dist/stencil/stencil.esm.js.map +0 -1
  180. package/dist/stencil/tool-config.helper-BEDvA7Oa.js.map +0 -1
  181. package/dist/stencil/workspace.class-Cn1Fa1dI.js.map +0 -1
@@ -14342,12 +14342,33 @@ const lightTheme = {
14342
14342
  dividerColor: '#e0e0e0',
14343
14343
  focusColor: '#333333',
14344
14344
  focusRingColor: '#333333',
14345
- hoverBackground: 'hsl(0, 0%, 0%, 4.3%)',
14346
14345
  iconColor: 'currentColor',
14347
14346
  scrollbarThumbColor: '#ebebeb',
14348
14347
  textPrimary: '#000000',
14349
14348
  textSecondary: '#333333',
14350
14349
  },
14350
+ pillTabs: {
14351
+ background: '#f0f0f0',
14352
+ tabBackground: 'transparent',
14353
+ tabBackgroundHover: 'rgba(0, 0, 0, 0.05)',
14354
+ tabBackgroundSelected: '#ffffff',
14355
+ tabShadowSelected: '0 1px 3px rgba(0, 0, 0, 0.1)',
14356
+ tabTextColor: '#666666',
14357
+ tabTextColorSelected: '#000000',
14358
+ },
14359
+ textInput: {
14360
+ background: '#ffffff',
14361
+ borderColor: '#dbdbdb',
14362
+ focusBorderColor: '#333333',
14363
+ hoverBorderColor: '#cccccc',
14364
+ labelColor: '#333333',
14365
+ placeholderColor: '#999999',
14366
+ selectionBackground: '#007AFF',
14367
+ selectionColor: '#ffffff',
14368
+ suffixBackground: '#f5f5f5',
14369
+ suffixColor: '#666666',
14370
+ textColor: '#333333',
14371
+ },
14351
14372
  selection: {
14352
14373
  borderColor: '#007AFF',
14353
14374
  handleColor: '#ffffff',
@@ -14406,6 +14427,9 @@ const lightTheme = {
14406
14427
  },
14407
14428
  dropdown: {
14408
14429
  accentColor: '#007bff',
14430
+ background: '#ffffff',
14431
+ borderColor: '#dbdbdb',
14432
+ hoverBorderColor: '#cccccc',
14409
14433
  hoverBackgroundColor: '#f0f0f0',
14410
14434
  selectedBackgroundColor: '#007bff1a',
14411
14435
  textColor: '#333333',
@@ -14473,11 +14497,13 @@ const lightTheme = {
14473
14497
  innerBorderRadius: '12px',
14474
14498
  },
14475
14499
  numericInput: {
14476
- borderColor: '#ebebeb',
14477
14500
  focusBorderColor: '#333333',
14478
- hoverBorderColor: '#ccc',
14501
+ borderColor: '#dbdbdb',
14502
+ hoverBorderColor: '#cccccc',
14479
14503
  inputBackground: '#ffffff',
14480
14504
  labelColor: '#666666',
14505
+ selectionBackground: '#007AFF',
14506
+ selectionColor: '#ffffff',
14481
14507
  spinnerActiveBackground: 'hsl(0, 0%, 0%, 8.6%)',
14482
14508
  spinnerBackground: 'transparent',
14483
14509
  spinnerColor: '#333333',
@@ -14495,9 +14521,7 @@ const lightTheme = {
14495
14521
  contentTextColor: '#333333',
14496
14522
  descriptionColor: '#666666',
14497
14523
  labelColor: '#333333',
14498
- shortcutsCategoryColor: '#666666',
14499
14524
  shortcutItemBg: '#f8f8f8',
14500
- shortcutLabelColor: '#333333',
14501
14525
  shortcutKeyBg: '#ffffff',
14502
14526
  shortcutKeyBorder: '#e0e0e0',
14503
14527
  shortcutKeyColor: '#555555',
@@ -14549,12 +14573,33 @@ const darkTheme = {
14549
14573
  dividerColor: '#3a3a3a',
14550
14574
  focusColor: '#ffffff',
14551
14575
  focusRingColor: '#ffffff',
14552
- hoverBackground: 'hsl(0, 0%, 100%, 8%)',
14553
14576
  iconColor: 'currentColor',
14554
14577
  scrollbarThumbColor: '#555555',
14555
14578
  textPrimary: '#ffffff',
14556
14579
  textSecondary: '#e0e0e0',
14557
14580
  },
14581
+ pillTabs: {
14582
+ background: '#3a3a3a',
14583
+ tabBackground: 'transparent',
14584
+ tabBackgroundHover: 'rgba(255, 255, 255, 0.08)',
14585
+ tabBackgroundSelected: '#2a2a2a',
14586
+ tabShadowSelected: '0 1px 3px rgba(0, 0, 0, 0.3)',
14587
+ tabTextColor: '#999999',
14588
+ tabTextColorSelected: '#ffffff',
14589
+ },
14590
+ textInput: {
14591
+ background: '#1a1a1a',
14592
+ borderColor: '#4a4a4a',
14593
+ focusBorderColor: '#ffffff',
14594
+ hoverBorderColor: '#5a5a5a',
14595
+ labelColor: '#e0e0e0',
14596
+ placeholderColor: '#777777',
14597
+ selectionBackground: '#0A84FF',
14598
+ selectionColor: '#ffffff',
14599
+ suffixBackground: '#3a3a3a',
14600
+ suffixColor: '#aaaaaa',
14601
+ textColor: '#e0e0e0',
14602
+ },
14558
14603
  selection: {
14559
14604
  borderColor: '#0A84FF',
14560
14605
  handleColor: '#1a1a1a',
@@ -14612,6 +14657,9 @@ const darkTheme = {
14612
14657
  },
14613
14658
  dropdown: {
14614
14659
  accentColor: '#0A84FF',
14660
+ borderColor: '#4a4a4a',
14661
+ hoverBorderColor: '#5a5a5a',
14662
+ background: '#1a1a1a',
14615
14663
  hoverBackgroundColor: '#3a3a3a',
14616
14664
  selectedBackgroundColor: 'rgba(10, 132, 255, 0.2)',
14617
14665
  textColor: '#e0e0e0',
@@ -14679,11 +14727,13 @@ const darkTheme = {
14679
14727
  innerBorderRadius: '12px',
14680
14728
  },
14681
14729
  numericInput: {
14682
- borderColor: '#3a3a3a',
14730
+ borderColor: '#4a4a4a',
14683
14731
  focusBorderColor: '#ffffff',
14684
- hoverBorderColor: '#4a4a4a',
14732
+ hoverBorderColor: '#5a5a5a',
14685
14733
  inputBackground: '#1a1a1a',
14686
14734
  labelColor: '#999999',
14735
+ selectionBackground: '#0A84FF',
14736
+ selectionColor: '#ffffff',
14687
14737
  spinnerActiveBackground: 'hsl(0, 0%, 100%, 12%)',
14688
14738
  spinnerBackground: 'transparent',
14689
14739
  spinnerColor: '#e0e0e0',
@@ -14701,9 +14751,7 @@ const darkTheme = {
14701
14751
  contentTextColor: '#e0e0e0',
14702
14752
  descriptionColor: '#999999',
14703
14753
  labelColor: '#e0e0e0',
14704
- shortcutsCategoryColor: '#999999',
14705
14754
  shortcutItemBg: '#3a3a3a',
14706
- shortcutLabelColor: '#e0e0e0',
14707
14755
  shortcutKeyBg: '#2a2a2a',
14708
14756
  shortcutKeyBorder: '#4a4a4a',
14709
14757
  shortcutKeyColor: '#e0e0e0',
@@ -19841,6 +19889,7 @@ KritzelIconRegistry.registerIcons({
19841
19889
  'send-to-back': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-to-line-icon lucide-arrow-down-to-line"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>',
19842
19890
  'select-all': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-mouse-pointer-icon lucide-square-mouse-pointer"><path d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"/><path d="M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"/></svg>',
19843
19891
  'download': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download-icon lucide-download"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></svg>',
19892
+ 'upload': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-upload-icon lucide-upload"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" x2="12" y1="3" y2="15"/></svg>',
19844
19893
  'undo': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-undo-icon lucide-undo"><path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/></svg>',
19845
19894
  'redo': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-redo-icon lucide-redo"><path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"/></svg>',
19846
19895
  'plus': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus-icon lucide-plus"><path d="M5 12h14"/><path d="M12 5v14"/></svg>',
@@ -22235,6 +22284,8 @@ class IndexedDBSyncProvider {
22235
22284
  }
22236
22285
  }
22237
22286
 
22287
+ /** Current version of the workspace export format */
22288
+ const WORKSPACE_EXPORT_VERSION = '1.0.0';
22238
22289
  /**
22239
22290
  * Represents a workspace in the Kritzel canvas.
22240
22291
  * A workspace is an isolated canvas area with its own set of objects and viewport state.
@@ -22288,17 +22339,25 @@ class KritzelWorkspace {
22288
22339
  /**
22289
22340
  * Serializes the workspace to a plain object for storage or transmission.
22290
22341
  * Converts dates to ISO strings and includes the class identifier.
22342
+ * @param options - Optional settings for serialization
22343
+ * @param options.includeObjects - If true, includes all canvas objects in the serialized output
22291
22344
  * @returns A plain object representation of the workspace
22292
22345
  */
22293
- serialize() {
22294
- return {
22346
+ serialize(options) {
22347
+ const serialized = {
22295
22348
  __class__: this.__class__,
22349
+ version: WORKSPACE_EXPORT_VERSION,
22296
22350
  id: this.id,
22297
22351
  name: this.name,
22298
22352
  createdAt: this.createdAt.toISOString(),
22299
22353
  updatedAt: this.updatedAt.toISOString(),
22300
22354
  viewport: this.viewport,
22301
22355
  };
22356
+ if (options?.includeObjects && this._core) {
22357
+ const allObjects = this._core.store.allNonSelectionObjects;
22358
+ serialized.objects = allObjects.map(obj => obj.serialize());
22359
+ }
22360
+ return serialized;
22302
22361
  }
22303
22362
  /**
22304
22363
  * Deserializes a plain object into this workspace instance.
@@ -24033,5 +24092,6 @@ exports.KritzelThemeManager = KritzelThemeManager;
24033
24092
  exports.KritzelToolRegistry = KritzelToolRegistry;
24034
24093
  exports.KritzelWorkspace = KritzelWorkspace;
24035
24094
  exports.ObjectHelper = ObjectHelper;
24095
+ exports.WORKSPACE_EXPORT_VERSION = WORKSPACE_EXPORT_VERSION;
24036
24096
  exports.darkTheme = darkTheme;
24037
24097
  exports.lightTheme = lightTheme;
@@ -22,13 +22,26 @@ const NAMESPACE = 'stencil';
22
22
  const BUILD = /* stencil */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, state: true, updatable: true};
23
23
 
24
24
  /*
25
- Stencil Client Platform v4.43.1 | MIT Licensed | https://stenciljs.com
25
+ Stencil Client Platform v4.43.2 | MIT Licensed | https://stenciljs.com
26
26
  */
27
27
 
28
28
 
29
29
  // src/utils/constants.ts
30
30
  var SVG_NS = "http://www.w3.org/2000/svg";
31
31
  var HTML_NS = "http://www.w3.org/1999/xhtml";
32
+
33
+ // src/utils/get-prop-descriptor.ts
34
+ function getPropertyDescriptor(obj, memberName, getOnly) {
35
+ const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
36
+ while (obj && obj !== stopAt) {
37
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
38
+ if (desc && (!getOnly || desc.get)) return desc;
39
+ obj = Object.getPrototypeOf(obj);
40
+ }
41
+ return void 0;
42
+ }
43
+
44
+ // src/utils/es2022-rewire-class-members.ts
32
45
  var reWireGetterSetter = (instance, hostRef) => {
33
46
  var _a;
34
47
  const cmpMeta = hostRef.$cmpMeta$;
@@ -36,7 +49,7 @@ var reWireGetterSetter = (instance, hostRef) => {
36
49
  members.map(([memberName, [memberFlags]]) => {
37
50
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
38
51
  const ogValue = instance[memberName];
39
- const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
52
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
40
53
  if (ogDescriptor) {
41
54
  Object.defineProperty(instance, memberName, {
42
55
  get() {
@@ -49,18 +62,14 @@ var reWireGetterSetter = (instance, hostRef) => {
49
62
  enumerable: true
50
63
  });
51
64
  }
52
- instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
65
+ if (hostRef.$instanceValues$.has(memberName)) {
66
+ instance[memberName] = hostRef.$instanceValues$.get(memberName);
67
+ } else if (ogValue !== void 0) {
68
+ instance[memberName] = ogValue;
69
+ }
53
70
  }
54
71
  });
55
72
  };
56
- function getPropertyDescriptor(obj, memberName) {
57
- while (obj) {
58
- const desc = Object.getOwnPropertyDescriptor(obj, memberName);
59
- if (desc == null ? void 0 : desc.get) return desc;
60
- obj = Object.getPrototypeOf(obj);
61
- }
62
- return void 0;
63
- }
64
73
 
65
74
  // src/client/client-host-ref.ts
66
75
  var getHostRef = (ref) => {
@@ -123,10 +132,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
123
132
  }
124
133
  switch(bundleId) {
125
134
 
126
- case 'kritzel-back-to-content_32.cjs':
135
+ case 'kritzel-back-to-content_34.cjs':
127
136
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
128
137
  /* webpackMode: "lazy" */
129
- './kritzel-back-to-content_32.cjs.entry.js')); }).then(processMod, consoleError);
138
+ './kritzel-back-to-content_34.cjs.entry.js')); }).then(processMod, consoleError);
130
139
  case 'kritzel-brush-style.cjs':
131
140
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
132
141
  /* webpackMode: "lazy" */
@@ -1228,7 +1237,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1228
1237
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1229
1238
  members.map(([memberName, [memberFlags]]) => {
1230
1239
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1231
- const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1240
+ const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
1232
1241
  if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1233
1242
  if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1234
1243
  if (flags & 1 /* isElementConstructor */ || !origGetter) {
@@ -1481,7 +1490,7 @@ var connectedCallback = (elm) => {
1481
1490
  }
1482
1491
  if (cmpMeta.$members$) {
1483
1492
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1484
- if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
1493
+ if (memberFlags & 31 /* Prop */ && Object.prototype.hasOwnProperty.call(elm, memberName)) {
1485
1494
  const value = elm[memberName];
1486
1495
  delete elm[memberName];
1487
1496
  elm[memberName] = value;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var alignment_enum = require('./alignment.enum-DoQtCqTK.js');
3
+ var alignment_enum = require('./alignment.enum-Bk86Xzvb.js');
4
4
  var Y = require('yjs');
5
5
  var yWebsocket = require('y-websocket');
6
6
  require('y-indexeddb');
@@ -3598,6 +3598,7 @@ Object.defineProperty(exports, "ShapeType", {
3598
3598
  enumerable: true,
3599
3599
  get: function () { return alignment_enum.ShapeType; }
3600
3600
  });
3601
+ exports.WORKSPACE_EXPORT_VERSION = alignment_enum.WORKSPACE_EXPORT_VERSION;
3601
3602
  exports.darkTheme = alignment_enum.darkTheme;
3602
3603
  exports.lightTheme = alignment_enum.lightTheme;
3603
3604
  exports.BroadcastSyncProvider = BroadcastSyncProvider;