@btst/stack 2.0.0 → 2.1.0

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 (288) hide show
  1. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.cjs +2 -2
  2. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.mjs +2 -2
  3. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.cjs +32 -0
  4. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.mjs +32 -0
  5. package/dist/packages/ui/src/components/calendar.cjs +2 -2
  6. package/dist/packages/ui/src/components/calendar.mjs +2 -2
  7. package/dist/packages/ui/src/components/sonner.cjs +34 -0
  8. package/dist/packages/ui/src/components/sonner.mjs +32 -0
  9. package/dist/packages/ui/src/components/ui-builder/components/code-panel.cjs +3 -2
  10. package/dist/packages/ui/src/components/ui-builder/components/code-panel.mjs +3 -2
  11. package/dist/packages/ui/src/components/ui-builder/index.cjs +10 -4
  12. package/dist/packages/ui/src/components/ui-builder/index.mjs +10 -4
  13. package/dist/packages/ui/src/components/ui-builder/internal/components/element-selector.cjs +22 -23
  14. package/dist/packages/ui/src/components/ui-builder/internal/components/element-selector.mjs +22 -23
  15. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu-portal.cjs +261 -0
  16. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu-portal.mjs +255 -0
  17. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu.cjs +125 -0
  18. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-context-menu.mjs +119 -0
  19. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-menu.cjs +6 -17
  20. package/dist/packages/ui/src/components/ui-builder/internal/components/layer-menu.mjs +7 -18
  21. package/dist/packages/ui/src/components/ui-builder/internal/components/nav.cjs +23 -18
  22. package/dist/packages/ui/src/components/ui-builder/internal/components/nav.mjs +23 -18
  23. package/dist/packages/ui/src/components/ui-builder/internal/components/tree-row-node.cjs +8 -23
  24. package/dist/packages/ui/src/components/ui-builder/internal/components/tree-row-node.mjs +9 -24
  25. package/dist/packages/ui/src/components/ui-builder/internal/editor-panel.cjs +9 -41
  26. package/dist/packages/ui/src/components/ui-builder/internal/editor-panel.mjs +9 -41
  27. package/dist/packages/ui/src/components/ui-builder/internal/layers-panel.cjs +7 -16
  28. package/dist/packages/ui/src/components/ui-builder/internal/layers-panel.mjs +7 -16
  29. package/dist/packages/ui/src/components/ui-builder/internal/utils/render-utils.cjs +16 -11
  30. package/dist/packages/ui/src/components/ui-builder/internal/utils/render-utils.mjs +16 -11
  31. package/dist/packages/ui/src/components/ui-builder/internal/utils/templates.cjs +260 -20
  32. package/dist/packages/ui/src/components/ui-builder/internal/utils/templates.mjs +260 -20
  33. package/dist/packages/ui/src/components/ui-builder/internal/variables-panel.cjs +105 -17
  34. package/dist/packages/ui/src/components/ui-builder/internal/variables-panel.mjs +107 -19
  35. package/dist/packages/ui/src/components/ui-builder/layer-renderer.cjs +4 -2
  36. package/dist/packages/ui/src/components/ui-builder/layer-renderer.mjs +4 -2
  37. package/dist/packages/ui/src/hooks/use-keyboard-shortcuts.cjs +3 -1
  38. package/dist/packages/ui/src/hooks/use-keyboard-shortcuts.mjs +3 -1
  39. package/dist/packages/ui/src/lib/ui-builder/hooks/use-layer-actions.cjs +107 -0
  40. package/dist/packages/ui/src/lib/ui-builder/hooks/use-layer-actions.mjs +105 -0
  41. package/dist/packages/ui/src/lib/ui-builder/registry/form-field-overrides.cjs +9 -7
  42. package/dist/packages/ui/src/lib/ui-builder/registry/form-field-overrides.mjs +9 -7
  43. package/dist/packages/ui/src/lib/ui-builder/shortcuts/shortcut-registry.cjs +71 -0
  44. package/dist/packages/ui/src/lib/ui-builder/shortcuts/shortcut-registry.mjs +68 -0
  45. package/dist/packages/ui/src/lib/ui-builder/store/editor-store.cjs +48 -3
  46. package/dist/packages/ui/src/lib/ui-builder/store/editor-store.mjs +48 -3
  47. package/dist/packages/ui/src/lib/ui-builder/store/layer-store.cjs +4 -1
  48. package/dist/packages/ui/src/lib/ui-builder/store/layer-store.mjs +4 -1
  49. package/dist/packages/ui/src/lib/ui-builder/store/schema-utils.cjs +8 -0
  50. package/dist/packages/ui/src/lib/ui-builder/store/schema-utils.mjs +8 -1
  51. package/dist/packages/ui/src/lib/ui-builder/utils/paste-validation.cjs +25 -0
  52. package/dist/packages/ui/src/lib/ui-builder/utils/paste-validation.mjs +23 -0
  53. package/dist/packages/ui/src/lib/ui-builder/utils/variable-resolver.cjs +42 -3
  54. package/dist/packages/ui/src/lib/ui-builder/utils/variable-resolver.mjs +42 -3
  55. package/dist/plugins/blog/api/index.d.cts +1 -1
  56. package/dist/plugins/blog/api/index.d.mts +1 -1
  57. package/dist/plugins/blog/api/index.d.ts +1 -1
  58. package/dist/plugins/blog/client/hooks/index.d.cts +4 -4
  59. package/dist/plugins/blog/client/hooks/index.d.mts +4 -4
  60. package/dist/plugins/blog/client/hooks/index.d.ts +4 -4
  61. package/dist/plugins/blog/client/index.d.cts +1 -1
  62. package/dist/plugins/blog/client/index.d.mts +1 -1
  63. package/dist/plugins/blog/client/index.d.ts +1 -1
  64. package/dist/plugins/blog/query-keys.d.cts +4 -4
  65. package/dist/plugins/blog/query-keys.d.mts +4 -4
  66. package/dist/plugins/blog/query-keys.d.ts +4 -4
  67. package/dist/plugins/cms/api/index.d.cts +1 -1
  68. package/dist/plugins/cms/api/index.d.mts +1 -1
  69. package/dist/plugins/cms/api/index.d.ts +1 -1
  70. package/dist/plugins/ui-builder/client/components/index.d.cts +1 -1
  71. package/dist/plugins/ui-builder/client/components/index.d.mts +1 -1
  72. package/dist/plugins/ui-builder/client/components/index.d.ts +1 -1
  73. package/dist/plugins/ui-builder/client/hooks/index.d.cts +2 -2
  74. package/dist/plugins/ui-builder/client/hooks/index.d.mts +2 -2
  75. package/dist/plugins/ui-builder/client/hooks/index.d.ts +2 -2
  76. package/dist/plugins/ui-builder/client/index.d.cts +16 -6
  77. package/dist/plugins/ui-builder/client/index.d.mts +16 -6
  78. package/dist/plugins/ui-builder/client/index.d.ts +16 -6
  79. package/dist/plugins/ui-builder/index.d.cts +2 -2
  80. package/dist/plugins/ui-builder/index.d.mts +2 -2
  81. package/dist/plugins/ui-builder/index.d.ts +2 -2
  82. package/dist/shared/{stack.DYCFcnkL.d.mts → stack.6fUOjLs9.d.mts} +1 -1
  83. package/dist/shared/{stack.BdJFrdyt.d.cts → stack.B-YHz18S.d.cts} +2 -2
  84. package/dist/shared/{stack.kFbDspnF.d.ts → stack.C-Ptrz8s.d.ts} +1 -1
  85. package/dist/shared/{stack.BYysGdHl.d.cts → stack.C-WUPMT6.d.cts} +1 -1
  86. package/dist/shared/{stack.ChVuHi5e.d.mts → stack.D1DMlJp-.d.mts} +2 -2
  87. package/dist/shared/{stack.EhM4pmtN.d.ts → stack.GygI_T3X.d.ts} +2 -2
  88. package/package.json +1 -1
  89. package/src/plugins/ai-chat/client/components/chat-interface.tsx +64 -1
  90. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.cjs +0 -0
  91. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.mjs +0 -0
  92. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.cjs +0 -0
  93. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.mjs +0 -0
  94. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.cjs +0 -0
  95. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.mjs +0 -0
  96. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.cjs +0 -0
  97. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.mjs +0 -0
  98. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs +0 -0
  99. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.mjs +0 -0
  100. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.cjs +0 -0
  101. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.mjs +0 -0
  102. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.cjs +0 -0
  103. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.mjs +0 -0
  104. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.cjs +0 -0
  105. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.mjs +0 -0
  106. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.cjs +0 -0
  107. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.mjs +0 -0
  108. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.cjs +0 -0
  109. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.mjs +0 -0
  110. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.cjs +0 -0
  111. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.mjs +0 -0
  112. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.cjs +0 -0
  113. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.mjs +0 -0
  114. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.cjs +0 -0
  115. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.mjs +0 -0
  116. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.cjs +0 -0
  117. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.mjs +0 -0
  118. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.cjs +0 -0
  119. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.mjs +0 -0
  120. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.cjs +0 -0
  121. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.mjs +0 -0
  122. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.cjs +0 -0
  123. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.mjs +0 -0
  124. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.cjs +0 -0
  125. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.mjs +0 -0
  126. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.cjs +0 -0
  127. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.mjs +0 -0
  128. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.cjs +0 -0
  129. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.mjs +0 -0
  130. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.cjs +0 -0
  131. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.mjs +0 -0
  132. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.cjs +0 -0
  133. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.mjs +0 -0
  134. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.cjs +0 -0
  135. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.mjs +0 -0
  136. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.cjs +0 -0
  137. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.mjs +0 -0
  138. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.cjs +0 -0
  139. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.mjs +0 -0
  140. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.cjs +0 -0
  141. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.mjs +0 -0
  142. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.cjs +0 -0
  143. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.mjs +0 -0
  144. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.cjs +0 -0
  145. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.mjs +0 -0
  146. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.cjs +0 -0
  147. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.mjs +0 -0
  148. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.cjs +0 -0
  149. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.mjs +0 -0
  150. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.cjs +0 -0
  151. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.mjs +0 -0
  152. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.cjs +0 -0
  153. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.mjs +0 -0
  154. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.cjs +0 -0
  155. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.mjs +0 -0
  156. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.cjs +0 -0
  157. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.mjs +0 -0
  158. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.cjs +0 -0
  159. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.mjs +0 -0
  160. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.cjs +0 -0
  161. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.mjs +0 -0
  162. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.cjs +0 -0
  163. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.mjs +0 -0
  164. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.cjs +0 -0
  165. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.mjs +0 -0
  166. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.cjs +0 -0
  167. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.mjs +0 -0
  168. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.cjs +0 -0
  169. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.mjs +0 -0
  170. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.cjs +0 -0
  171. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.mjs +0 -0
  172. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.cjs +0 -0
  173. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.mjs +0 -0
  174. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.cjs +0 -0
  175. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.mjs +0 -0
  176. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.cjs +0 -0
  177. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.mjs +0 -0
  178. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.cjs +0 -0
  179. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.mjs +0 -0
  180. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.cjs +0 -0
  181. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.mjs +0 -0
  182. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.cjs +0 -0
  183. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.mjs +0 -0
  184. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.cjs +0 -0
  185. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.mjs +0 -0
  186. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.cjs +0 -0
  187. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.mjs +0 -0
  188. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.cjs +0 -0
  189. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.mjs +0 -0
  190. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.cjs +0 -0
  191. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.mjs +0 -0
  192. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.cjs +0 -0
  193. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.mjs +0 -0
  194. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.cjs +0 -0
  195. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.mjs +0 -0
  196. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.cjs +0 -0
  197. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.mjs +0 -0
  198. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.cjs +0 -0
  199. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.mjs +0 -0
  200. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.cjs +0 -0
  201. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.mjs +0 -0
  202. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.cjs +0 -0
  203. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.mjs +0 -0
  204. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.cjs +0 -0
  205. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.mjs +0 -0
  206. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.cjs +0 -0
  207. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.mjs +0 -0
  208. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.cjs +0 -0
  209. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.mjs +0 -0
  210. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.cjs +0 -0
  211. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.mjs +0 -0
  212. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.cjs +0 -0
  213. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.mjs +0 -0
  214. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.cjs +0 -0
  215. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.mjs +0 -0
  216. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.cjs +0 -0
  217. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.mjs +0 -0
  218. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.cjs +0 -0
  219. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.mjs +0 -0
  220. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.cjs +0 -0
  221. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.mjs +0 -0
  222. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.cjs +0 -0
  223. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.mjs +0 -0
  224. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.cjs +0 -0
  225. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.mjs +0 -0
  226. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.cjs +0 -0
  227. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.mjs +0 -0
  228. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.cjs +0 -0
  229. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.mjs +0 -0
  230. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.cjs +0 -0
  231. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.mjs +0 -0
  232. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.cjs +0 -0
  233. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.mjs +0 -0
  234. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.cjs +0 -0
  235. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.mjs +0 -0
  236. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.cjs +0 -0
  237. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.mjs +0 -0
  238. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.cjs +0 -0
  239. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.mjs +0 -0
  240. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.cjs +0 -0
  241. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.mjs +0 -0
  242. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.cjs +0 -0
  243. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.mjs +0 -0
  244. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.cjs +0 -0
  245. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.mjs +0 -0
  246. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.cjs +0 -0
  247. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.mjs +0 -0
  248. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.cjs +0 -0
  249. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.mjs +0 -0
  250. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/noonDateLib.cjs +0 -0
  251. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/noonDateLib.mjs +0 -0
  252. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.cjs +0 -0
  253. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.mjs +0 -0
  254. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.cjs +0 -0
  255. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.mjs +0 -0
  256. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.cjs +0 -0
  257. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.mjs +0 -0
  258. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.cjs +0 -0
  259. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.mjs +0 -0
  260. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.cjs +0 -0
  261. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.mjs +0 -0
  262. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.cjs +0 -0
  263. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.mjs +0 -0
  264. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.cjs +0 -0
  265. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.mjs +0 -0
  266. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.cjs +0 -0
  267. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.mjs +0 -0
  268. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.cjs +0 -0
  269. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.mjs +0 -0
  270. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.cjs +0 -0
  271. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.mjs +0 -0
  272. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs +0 -0
  273. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.mjs +0 -0
  274. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.cjs +0 -0
  275. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.mjs +0 -0
  276. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.cjs +0 -0
  277. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.mjs +0 -0
  278. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.cjs +0 -0
  279. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.mjs +0 -0
  280. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.cjs +0 -0
  281. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.mjs +0 -0
  282. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.cjs +0 -0
  283. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.mjs +0 -0
  284. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.cjs +0 -0
  285. package/dist/node_modules/.pnpm/{react-day-picker@9.13.0_react@19.2.0 → react-day-picker@9.13.2_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.mjs +0 -0
  286. package/dist/shared/{stack.CcI4sYJP.d.ts → stack.CbuN2zVV.d.cts} +3 -3
  287. package/dist/shared/{stack.CcI4sYJP.d.cts → stack.CbuN2zVV.d.mts} +3 -3
  288. package/dist/shared/{stack.CcI4sYJP.d.mts → stack.CbuN2zVV.d.ts} +3 -3
@@ -0,0 +1,119 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import React__default, { useCallback, useMemo } from 'react';
4
+ import { useGlobalLayerActions } from '../../../../lib/ui-builder/hooks/use-layer-actions.mjs';
5
+ import { useEditorStore } from '../../../../lib/ui-builder/store/editor-store.mjs';
6
+ import { useKeyboardShortcuts } from '../../../../hooks/use-keyboard-shortcuts.mjs';
7
+ import { SHORTCUTS } from '../../../../lib/ui-builder/shortcuts/shortcut-registry.mjs';
8
+
9
+ const LayerContextMenu = ({
10
+ layerId,
11
+ isSelected,
12
+ onSelect,
13
+ children,
14
+ className,
15
+ style
16
+ }) => {
17
+ const openContextMenu = useEditorStore((state) => state.openContextMenu);
18
+ const {
19
+ handleCopy,
20
+ handleCut,
21
+ handlePaste,
22
+ handleDelete,
23
+ handleDuplicate,
24
+ getCanPaste
25
+ } = useGlobalLayerActions(layerId);
26
+ const handleContextMenu = useCallback(
27
+ (e) => {
28
+ e.preventDefault();
29
+ e.stopPropagation();
30
+ if (!isSelected) {
31
+ onSelect(layerId);
32
+ }
33
+ openContextMenu(e.clientX, e.clientY, layerId);
34
+ },
35
+ [isSelected, layerId, onSelect, openContextMenu]
36
+ );
37
+ const isInputFocused = useCallback(() => {
38
+ const activeElement = document.activeElement;
39
+ if (!activeElement) return false;
40
+ const tagName = activeElement.tagName.toLowerCase();
41
+ const isContentEditable = activeElement.isContentEditable;
42
+ return tagName === "input" || tagName === "textarea" || isContentEditable;
43
+ }, []);
44
+ const keyCombinations = useMemo(() => {
45
+ if (!isSelected) return [];
46
+ return [
47
+ {
48
+ keys: SHORTCUTS.copy.keys,
49
+ key: SHORTCUTS.copy.key,
50
+ preventDefault: false,
51
+ handler: (e) => {
52
+ if (isInputFocused()) return;
53
+ e.preventDefault();
54
+ handleCopy();
55
+ }
56
+ },
57
+ {
58
+ keys: SHORTCUTS.cut.keys,
59
+ key: SHORTCUTS.cut.key,
60
+ preventDefault: false,
61
+ handler: (e) => {
62
+ if (isInputFocused()) return;
63
+ e.preventDefault();
64
+ handleCut();
65
+ }
66
+ },
67
+ {
68
+ keys: SHORTCUTS.paste.keys,
69
+ key: SHORTCUTS.paste.key,
70
+ preventDefault: false,
71
+ handler: (e) => {
72
+ if (isInputFocused()) return;
73
+ if (!getCanPaste()) return;
74
+ e.preventDefault();
75
+ handlePaste();
76
+ }
77
+ },
78
+ {
79
+ keys: SHORTCUTS.duplicate.keys,
80
+ key: SHORTCUTS.duplicate.key,
81
+ preventDefault: false,
82
+ handler: (e) => {
83
+ if (isInputFocused()) return;
84
+ e.preventDefault();
85
+ handleDuplicate();
86
+ }
87
+ },
88
+ {
89
+ keys: SHORTCUTS.delete.keys,
90
+ key: SHORTCUTS.delete.key,
91
+ preventDefault: false,
92
+ handler: (e) => {
93
+ if (isInputFocused()) return;
94
+ e.preventDefault();
95
+ handleDelete();
96
+ }
97
+ }
98
+ ];
99
+ }, [isSelected, handleCopy, handleCut, handlePaste, handleDuplicate, handleDelete, getCanPaste, isInputFocused]);
100
+ useKeyboardShortcuts(keyCombinations);
101
+ if (React__default.isValidElement(children)) {
102
+ return React__default.cloneElement(children, {
103
+ onContextMenu: handleContextMenu,
104
+ className: className ? `${children.props.className || ""} ${className}`.trim() : children.props.className,
105
+ style: style ? { ...children.props.style, ...style } : children.props.style
106
+ });
107
+ }
108
+ return /* @__PURE__ */ jsx(
109
+ "span",
110
+ {
111
+ onContextMenu: handleContextMenu,
112
+ className,
113
+ style,
114
+ children
115
+ }
116
+ );
117
+ };
118
+
119
+ export { LayerContextMenu };
@@ -9,24 +9,14 @@ const editorStore = require('../../../../lib/ui-builder/store/editor-store.cjs')
9
9
  const addComponentPopover = require('./add-component-popover.cjs');
10
10
  const utils = require('../../../../lib/utils.cjs');
11
11
  const schemaUtils = require('../../../../lib/ui-builder/store/schema-utils.cjs');
12
+ const useLayerActions = require('../../../../lib/ui-builder/hooks/use-layer-actions.cjs');
12
13
 
13
- const LayerMenu = ({
14
- layerId,
15
- handleDuplicateComponent,
16
- handleDeleteComponent
17
- }) => {
14
+ const LayerMenu = ({ layerId }) => {
18
15
  const selectedLayer = layerStore.useLayerStore((state) => state.findLayerById(layerId));
19
16
  const isLayerAPage = layerStore.useLayerStore((state) => state.isLayerAPage(layerId));
20
17
  const [popoverOpen, setPopoverOpen] = React.useState(false);
21
18
  const componentRegistry = editorStore.useEditorStore((state) => state.registry);
22
- const allowPagesCreation = editorStore.useEditorStore(
23
- (state) => state.allowPagesCreation
24
- );
25
- const allowPagesDeletion = editorStore.useEditorStore(
26
- (state) => state.allowPagesDeletion
27
- );
28
- const canDuplicate = !isLayerAPage || allowPagesCreation;
29
- const canDelete = !isLayerAPage || allowPagesDeletion;
19
+ const { canDuplicate, canDelete, handleDuplicate, handleDelete } = useLayerActions.useGlobalLayerActions(layerId);
30
20
  const buttonVariantsValues = React.useMemo(() => {
31
21
  return button.buttonVariants({ variant: "ghost", size: "sm" });
32
22
  }, []);
@@ -35,8 +25,7 @@ const LayerMenu = ({
35
25
  if (!selectedLayer) return false;
36
26
  const componentDef = componentRegistry[selectedLayer.type];
37
27
  if (!componentDef) return false;
38
- const canAddChildren = "shape" in componentDef.schema && schemaUtils.hasAnyChildrenField(componentDef.schema) && !schemaUtils.hasChildrenFieldOfTypeString(componentDef.schema);
39
- return canAddChildren;
28
+ return schemaUtils.canComponentAcceptChildren(componentDef.schema);
40
29
  }, [selectedLayer, componentRegistry]);
41
30
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(
42
31
  "div",
@@ -61,7 +50,7 @@ const LayerMenu = ({
61
50
  "div",
62
51
  {
63
52
  className: utils.cn(buttonVariantsValues, buttonClass),
64
- onClick: handleDuplicateComponent,
53
+ onClick: handleDuplicate,
65
54
  "data-testid": "duplicate-button",
66
55
  children: [
67
56
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "sr-only", children: [
@@ -76,7 +65,7 @@ const LayerMenu = ({
76
65
  "div",
77
66
  {
78
67
  className: utils.cn(buttonVariantsValues, buttonClass),
79
- onClick: handleDeleteComponent,
68
+ onClick: handleDelete,
80
69
  "data-testid": "delete-button",
81
70
  children: [
82
71
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "sr-only", children: [
@@ -6,25 +6,15 @@ import { useLayerStore } from '../../../../lib/ui-builder/store/layer-store.mjs'
6
6
  import { useEditorStore } from '../../../../lib/ui-builder/store/editor-store.mjs';
7
7
  import { AddComponentsPopover } from './add-component-popover.mjs';
8
8
  import { cn } from '../../../../lib/utils.mjs';
9
- import { hasAnyChildrenField, hasChildrenFieldOfTypeString } from '../../../../lib/ui-builder/store/schema-utils.mjs';
9
+ import { canComponentAcceptChildren } from '../../../../lib/ui-builder/store/schema-utils.mjs';
10
+ import { useGlobalLayerActions } from '../../../../lib/ui-builder/hooks/use-layer-actions.mjs';
10
11
 
11
- const LayerMenu = ({
12
- layerId,
13
- handleDuplicateComponent,
14
- handleDeleteComponent
15
- }) => {
12
+ const LayerMenu = ({ layerId }) => {
16
13
  const selectedLayer = useLayerStore((state) => state.findLayerById(layerId));
17
14
  const isLayerAPage = useLayerStore((state) => state.isLayerAPage(layerId));
18
15
  const [popoverOpen, setPopoverOpen] = useState(false);
19
16
  const componentRegistry = useEditorStore((state) => state.registry);
20
- const allowPagesCreation = useEditorStore(
21
- (state) => state.allowPagesCreation
22
- );
23
- const allowPagesDeletion = useEditorStore(
24
- (state) => state.allowPagesDeletion
25
- );
26
- const canDuplicate = !isLayerAPage || allowPagesCreation;
27
- const canDelete = !isLayerAPage || allowPagesDeletion;
17
+ const { canDuplicate, canDelete, handleDuplicate, handleDelete } = useGlobalLayerActions(layerId);
28
18
  const buttonVariantsValues = useMemo(() => {
29
19
  return buttonVariants({ variant: "ghost", size: "sm" });
30
20
  }, []);
@@ -33,8 +23,7 @@ const LayerMenu = ({
33
23
  if (!selectedLayer) return false;
34
24
  const componentDef = componentRegistry[selectedLayer.type];
35
25
  if (!componentDef) return false;
36
- const canAddChildren = "shape" in componentDef.schema && hasAnyChildrenField(componentDef.schema) && !hasChildrenFieldOfTypeString(componentDef.schema);
37
- return canAddChildren;
26
+ return canComponentAcceptChildren(componentDef.schema);
38
27
  }, [selectedLayer, componentRegistry]);
39
28
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
40
29
  "div",
@@ -59,7 +48,7 @@ const LayerMenu = ({
59
48
  "div",
60
49
  {
61
50
  className: cn(buttonVariantsValues, buttonClass),
62
- onClick: handleDuplicateComponent,
51
+ onClick: handleDuplicate,
63
52
  "data-testid": "duplicate-button",
64
53
  children: [
65
54
  /* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
@@ -74,7 +63,7 @@ const LayerMenu = ({
74
63
  "div",
75
64
  {
76
65
  className: cn(buttonVariantsValues, buttonClass),
77
- onClick: handleDeleteComponent,
66
+ onClick: handleDelete,
78
67
  "data-testid": "delete-button",
79
68
  children: [
80
69
  /* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
@@ -19,6 +19,7 @@ const editorStore = require('../../../../lib/ui-builder/store/editor-store.cjs')
19
19
  const tooltip = require('../../../tooltip.cjs');
20
20
  const useKeyboardShortcuts = require('../../../../hooks/use-keyboard-shortcuts.cjs');
21
21
  const index = require('../../../../../../../node_modules/.pnpm/zustand@4.5.5_@types_react@19.2.6_immer@11.1.3_react@19.2.0/node_modules/zustand/esm/index.cjs');
22
+ const shortcutRegistry = require('../../../../lib/ui-builder/shortcuts/shortcut-registry.cjs');
22
23
 
23
24
  const Z_INDEX = 1e3;
24
25
  function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
@@ -54,20 +55,21 @@ function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
54
55
  }, [redo, incrementRevision]);
55
56
  const keyCombinations = React.useMemo(
56
57
  () => [
57
- {
58
- keys: { metaKey: true, shiftKey: false },
59
- key: "z",
60
- handler: handleUndo
61
- },
62
- {
63
- keys: { metaKey: true, shiftKey: true },
64
- key: "z",
65
- handler: handleRedo
66
- },
58
+ // Use shortcut registry for undo/redo
59
+ shortcutRegistry.toKeyboardShortcut("undo", (e) => {
60
+ e.preventDefault();
61
+ handleUndo();
62
+ }),
63
+ shortcutRegistry.toKeyboardShortcut("redo", (e) => {
64
+ e.preventDefault();
65
+ handleRedo();
66
+ }),
67
+ // Debug shortcuts (not in registry)
67
68
  {
68
69
  keys: { metaKey: true, shiftKey: true },
69
70
  key: "9",
70
- handler: () => {
71
+ handler: (e) => {
72
+ e.preventDefault();
71
73
  const elements = document.querySelectorAll("*");
72
74
  elements.forEach((element) => {
73
75
  element.classList.add("animate-spin", "origin-center");
@@ -77,7 +79,8 @@ function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
77
79
  {
78
80
  keys: { metaKey: true, shiftKey: true },
79
81
  key: "0",
80
- handler: () => {
82
+ handler: (e) => {
83
+ e.preventDefault();
81
84
  const elements = document.querySelectorAll("*");
82
85
  elements.forEach((element) => {
83
86
  element.classList.remove("animate-spin", "origin-center");
@@ -239,7 +242,7 @@ const ActionButtons = ({
239
242
  ) }),
240
243
  /* @__PURE__ */ jsxRuntime.jsxs(tooltip.TooltipContent, { className: "flex items-center gap-2", children: [
241
244
  "Undo",
242
- /* @__PURE__ */ jsxRuntime.jsx(command.CommandShortcut, { className: "ml-0 text-sm leading-3", children: "\u2318Z" })
245
+ /* @__PURE__ */ jsxRuntime.jsx(command.CommandShortcut, { className: "ml-0 text-sm leading-3", children: shortcutRegistry.SHORTCUTS.undo.shortcutDisplay })
243
246
  ] })
244
247
  ] }),
245
248
  /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
@@ -259,7 +262,7 @@ const ActionButtons = ({
259
262
  ) }),
260
263
  /* @__PURE__ */ jsxRuntime.jsxs(tooltip.TooltipContent, { className: "flex items-center gap-2", children: [
261
264
  "Redo",
262
- /* @__PURE__ */ jsxRuntime.jsx(command.CommandShortcut, { className: "ml-0 text-sm leading-3", children: "\u2318+\u21E7+Z" })
265
+ /* @__PURE__ */ jsxRuntime.jsx(command.CommandShortcut, { className: "ml-0 text-sm leading-3", children: shortcutRegistry.SHORTCUTS.redo.shortcutDisplay })
263
266
  ] })
264
267
  ] }),
265
268
  /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
@@ -328,7 +331,7 @@ const ResponsiveDropdown = ({
328
331
  children: [
329
332
  /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Undo, { className: "w-4 h-4" }),
330
333
  "Undo",
331
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: "\u2318Z" })
334
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: shortcutRegistry.SHORTCUTS.undo.shortcutDisplay })
332
335
  ]
333
336
  }
334
337
  ),
@@ -341,7 +344,7 @@ const ResponsiveDropdown = ({
341
344
  children: [
342
345
  /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Redo, { className: "w-4 h-4" }),
343
346
  "Redo",
344
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: "\u2318+\u21E7+Z" })
347
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: shortcutRegistry.SHORTCUTS.redo.shortcutDisplay })
345
348
  ]
346
349
  }
347
350
  ),
@@ -375,7 +378,8 @@ const PreviewDialog = ({
375
378
  {
376
379
  keys: { metaKey: true, shiftKey: true },
377
380
  key: "p",
378
- handler: () => {
381
+ handler: (e) => {
382
+ e.preventDefault();
379
383
  onOpenChange(true);
380
384
  }
381
385
  }
@@ -412,7 +416,8 @@ const CodeDialog = ({ isOpen, onOpenChange }) => {
412
416
  {
413
417
  keys: { metaKey: true, shiftKey: true },
414
418
  key: "e",
415
- handler: () => {
419
+ handler: (e) => {
420
+ e.preventDefault();
416
421
  onOpenChange(true);
417
422
  }
418
423
  }
@@ -17,6 +17,7 @@ import { useEditorStore } from '../../../../lib/ui-builder/store/editor-store.mj
17
17
  import { Tooltip, TooltipTrigger, TooltipContent } from '../../../tooltip.mjs';
18
18
  import { useKeyboardShortcuts } from '../../../../hooks/use-keyboard-shortcuts.mjs';
19
19
  import { useStore } from '../../../../../../../node_modules/.pnpm/zustand@4.5.5_@types_react@19.2.6_immer@11.1.3_react@19.2.0/node_modules/zustand/esm/index.mjs';
20
+ import { toKeyboardShortcut, SHORTCUTS } from '../../../../lib/ui-builder/shortcuts/shortcut-registry.mjs';
20
21
 
21
22
  const Z_INDEX = 1e3;
22
23
  function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
@@ -52,20 +53,21 @@ function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
52
53
  }, [redo, incrementRevision]);
53
54
  const keyCombinations = useMemo(
54
55
  () => [
55
- {
56
- keys: { metaKey: true, shiftKey: false },
57
- key: "z",
58
- handler: handleUndo
59
- },
60
- {
61
- keys: { metaKey: true, shiftKey: true },
62
- key: "z",
63
- handler: handleRedo
64
- },
56
+ // Use shortcut registry for undo/redo
57
+ toKeyboardShortcut("undo", (e) => {
58
+ e.preventDefault();
59
+ handleUndo();
60
+ }),
61
+ toKeyboardShortcut("redo", (e) => {
62
+ e.preventDefault();
63
+ handleRedo();
64
+ }),
65
+ // Debug shortcuts (not in registry)
65
66
  {
66
67
  keys: { metaKey: true, shiftKey: true },
67
68
  key: "9",
68
- handler: () => {
69
+ handler: (e) => {
70
+ e.preventDefault();
69
71
  const elements = document.querySelectorAll("*");
70
72
  elements.forEach((element) => {
71
73
  element.classList.add("animate-spin", "origin-center");
@@ -75,7 +77,8 @@ function NavBar({ leftChildren, rightChildren, showExport = true } = {}) {
75
77
  {
76
78
  keys: { metaKey: true, shiftKey: true },
77
79
  key: "0",
78
- handler: () => {
80
+ handler: (e) => {
81
+ e.preventDefault();
79
82
  const elements = document.querySelectorAll("*");
80
83
  elements.forEach((element) => {
81
84
  element.classList.remove("animate-spin", "origin-center");
@@ -237,7 +240,7 @@ const ActionButtons = ({
237
240
  ) }),
238
241
  /* @__PURE__ */ jsxs(TooltipContent, { className: "flex items-center gap-2", children: [
239
242
  "Undo",
240
- /* @__PURE__ */ jsx(CommandShortcut, { className: "ml-0 text-sm leading-3", children: "\u2318Z" })
243
+ /* @__PURE__ */ jsx(CommandShortcut, { className: "ml-0 text-sm leading-3", children: SHORTCUTS.undo.shortcutDisplay })
241
244
  ] })
242
245
  ] }),
243
246
  /* @__PURE__ */ jsxs(Tooltip, { children: [
@@ -257,7 +260,7 @@ const ActionButtons = ({
257
260
  ) }),
258
261
  /* @__PURE__ */ jsxs(TooltipContent, { className: "flex items-center gap-2", children: [
259
262
  "Redo",
260
- /* @__PURE__ */ jsx(CommandShortcut, { className: "ml-0 text-sm leading-3", children: "\u2318+\u21E7+Z" })
263
+ /* @__PURE__ */ jsx(CommandShortcut, { className: "ml-0 text-sm leading-3", children: SHORTCUTS.redo.shortcutDisplay })
261
264
  ] })
262
265
  ] }),
263
266
  /* @__PURE__ */ jsxs(Tooltip, { children: [
@@ -326,7 +329,7 @@ const ResponsiveDropdown = ({
326
329
  children: [
327
330
  /* @__PURE__ */ jsx(Undo, { className: "w-4 h-4" }),
328
331
  "Undo",
329
- /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: "\u2318Z" })
332
+ /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: SHORTCUTS.undo.shortcutDisplay })
330
333
  ]
331
334
  }
332
335
  ),
@@ -339,7 +342,7 @@ const ResponsiveDropdown = ({
339
342
  children: [
340
343
  /* @__PURE__ */ jsx(Redo, { className: "w-4 h-4" }),
341
344
  "Redo",
342
- /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: "\u2318+\u21E7+Z" })
345
+ /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: SHORTCUTS.redo.shortcutDisplay })
343
346
  ]
344
347
  }
345
348
  ),
@@ -373,7 +376,8 @@ const PreviewDialog = ({
373
376
  {
374
377
  keys: { metaKey: true, shiftKey: true },
375
378
  key: "p",
376
- handler: () => {
379
+ handler: (e) => {
380
+ e.preventDefault();
377
381
  onOpenChange(true);
378
382
  }
379
383
  }
@@ -410,7 +414,8 @@ const CodeDialog = ({ isOpen, onOpenChange }) => {
410
414
  {
411
415
  keys: { metaKey: true, shiftKey: true },
412
416
  key: "e",
413
- handler: () => {
417
+ handler: (e) => {
418
+ e.preventDefault();
414
419
  onOpenChange(true);
415
420
  }
416
421
  }
@@ -12,6 +12,8 @@ const addComponentPopover = require('./add-component-popover.cjs');
12
12
  const nameEdit = require('./name-edit.cjs');
13
13
  const editorStore = require('../../../../lib/ui-builder/store/editor-store.cjs');
14
14
  const schemaUtils = require('../../../../lib/ui-builder/store/schema-utils.cjs');
15
+ const useLayerActions = require('../../../../lib/ui-builder/hooks/use-layer-actions.cjs');
16
+ const layerStore = require('../../../../lib/ui-builder/store/layer-store.cjs');
15
17
 
16
18
  const TreeRowNode = React.memo(({
17
19
  node,
@@ -22,32 +24,19 @@ const TreeRowNode = React.memo(({
22
24
  onToggle,
23
25
  nodeAttributes,
24
26
  selectedLayerId,
25
- selectLayer,
26
- removeLayer,
27
- duplicateLayer,
28
- updateLayer
27
+ selectLayer
29
28
  }) => {
30
29
  const componentRegistry = editorStore.useEditorStore((state) => state.registry);
30
+ const updateLayer = layerStore.useLayerStore((state) => state.updateLayer);
31
+ const { handleDelete, handleDuplicate, canDuplicate, canDelete } = useLayerActions.useGlobalLayerActions(node.id);
31
32
  const [isRenaming, setIsRenaming] = React.useState(false);
32
33
  const [popoverOrMenuOpen, setPopoverOrMenuOpen] = React.useState(false);
33
- const allowPagesCreation = editorStore.useEditorStore(
34
- (state) => state.allowPagesCreation
35
- );
36
- const allowPagesDeletion = editorStore.useEditorStore(
37
- (state) => state.allowPagesDeletion
38
- );
39
34
  const handleOpen = React.useCallback(() => {
40
35
  onToggle(id, !open);
41
36
  }, [id, open, onToggle]);
42
37
  const handleSelect = React.useCallback(() => {
43
38
  selectLayer(node.id);
44
39
  }, [node.id, selectLayer]);
45
- const handleRemove = React.useCallback(() => {
46
- removeLayer(node.id);
47
- }, [node.id, removeLayer]);
48
- const handleDuplicate = React.useCallback(() => {
49
- duplicateLayer(node.id);
50
- }, [node.id, duplicateLayer]);
51
40
  const handleRenameClick = React.useCallback(() => {
52
41
  setIsRenaming(true);
53
42
  }, []);
@@ -64,8 +53,7 @@ const TreeRowNode = React.memo(({
64
53
  const canRenderAddChild = React.useMemo(() => {
65
54
  const componentDef = componentRegistry[node.type];
66
55
  if (!componentDef) return false;
67
- const canAddChildren = "shape" in componentDef.schema && schemaUtils.hasAnyChildrenField(componentDef.schema) && !schemaUtils.hasChildrenFieldOfTypeString(componentDef.schema);
68
- return canAddChildren;
56
+ return schemaUtils.canComponentAcceptChildren(componentDef.schema);
69
57
  }, [node, componentRegistry]);
70
58
  const { key, ...rest } = nodeAttributes;
71
59
  if (!node) {
@@ -154,8 +142,8 @@ const TreeRowNode = React.memo(({
154
142
  ) }),
155
143
  /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenuContent, { align: "end", children: [
156
144
  /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { onClick: handleRenameClick, children: "Rename" }),
157
- allowPagesCreation && /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { onClick: handleDuplicate, children: "Duplicate" }),
158
- allowPagesDeletion && /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { onClick: handleRemove, children: "Remove" })
145
+ canDuplicate && /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { onClick: handleDuplicate, children: "Duplicate" }),
146
+ canDelete && /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { onClick: handleDelete, children: "Remove" })
159
147
  ] })
160
148
  ] })
161
149
  ] }, key);
@@ -170,9 +158,6 @@ const TreeRowNode = React.memo(({
170
158
  if (!index(prevProps.nodeAttributes, nextProps.nodeAttributes)) return false;
171
159
  if (prevProps.onToggle !== nextProps.onToggle) return false;
172
160
  if (prevProps.selectLayer !== nextProps.selectLayer) return false;
173
- if (prevProps.removeLayer !== nextProps.removeLayer) return false;
174
- if (prevProps.duplicateLayer !== nextProps.duplicateLayer) return false;
175
- if (prevProps.updateLayer !== nextProps.updateLayer) return false;
176
161
  return true;
177
162
  });
178
163
  TreeRowNode.displayName = "TreeRowNode";
@@ -9,7 +9,9 @@ import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuIte
9
9
  import { AddComponentsPopover } from './add-component-popover.mjs';
10
10
  import { NameEdit } from './name-edit.mjs';
11
11
  import { useEditorStore } from '../../../../lib/ui-builder/store/editor-store.mjs';
12
- import { hasAnyChildrenField, hasChildrenFieldOfTypeString } from '../../../../lib/ui-builder/store/schema-utils.mjs';
12
+ import { canComponentAcceptChildren } from '../../../../lib/ui-builder/store/schema-utils.mjs';
13
+ import { useGlobalLayerActions } from '../../../../lib/ui-builder/hooks/use-layer-actions.mjs';
14
+ import { useLayerStore } from '../../../../lib/ui-builder/store/layer-store.mjs';
13
15
 
14
16
  const TreeRowNode = memo(({
15
17
  node,
@@ -20,32 +22,19 @@ const TreeRowNode = memo(({
20
22
  onToggle,
21
23
  nodeAttributes,
22
24
  selectedLayerId,
23
- selectLayer,
24
- removeLayer,
25
- duplicateLayer,
26
- updateLayer
25
+ selectLayer
27
26
  }) => {
28
27
  const componentRegistry = useEditorStore((state) => state.registry);
28
+ const updateLayer = useLayerStore((state) => state.updateLayer);
29
+ const { handleDelete, handleDuplicate, canDuplicate, canDelete } = useGlobalLayerActions(node.id);
29
30
  const [isRenaming, setIsRenaming] = useState(false);
30
31
  const [popoverOrMenuOpen, setPopoverOrMenuOpen] = useState(false);
31
- const allowPagesCreation = useEditorStore(
32
- (state) => state.allowPagesCreation
33
- );
34
- const allowPagesDeletion = useEditorStore(
35
- (state) => state.allowPagesDeletion
36
- );
37
32
  const handleOpen = useCallback(() => {
38
33
  onToggle(id, !open);
39
34
  }, [id, open, onToggle]);
40
35
  const handleSelect = useCallback(() => {
41
36
  selectLayer(node.id);
42
37
  }, [node.id, selectLayer]);
43
- const handleRemove = useCallback(() => {
44
- removeLayer(node.id);
45
- }, [node.id, removeLayer]);
46
- const handleDuplicate = useCallback(() => {
47
- duplicateLayer(node.id);
48
- }, [node.id, duplicateLayer]);
49
38
  const handleRenameClick = useCallback(() => {
50
39
  setIsRenaming(true);
51
40
  }, []);
@@ -62,8 +51,7 @@ const TreeRowNode = memo(({
62
51
  const canRenderAddChild = useMemo(() => {
63
52
  const componentDef = componentRegistry[node.type];
64
53
  if (!componentDef) return false;
65
- const canAddChildren = "shape" in componentDef.schema && hasAnyChildrenField(componentDef.schema) && !hasChildrenFieldOfTypeString(componentDef.schema);
66
- return canAddChildren;
54
+ return canComponentAcceptChildren(componentDef.schema);
67
55
  }, [node, componentRegistry]);
68
56
  const { key, ...rest } = nodeAttributes;
69
57
  if (!node) {
@@ -152,8 +140,8 @@ const TreeRowNode = memo(({
152
140
  ) }),
153
141
  /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
154
142
  /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: handleRenameClick, children: "Rename" }),
155
- allowPagesCreation && /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: handleDuplicate, children: "Duplicate" }),
156
- allowPagesDeletion && /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: handleRemove, children: "Remove" })
143
+ canDuplicate && /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: handleDuplicate, children: "Duplicate" }),
144
+ canDelete && /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: handleDelete, children: "Remove" })
157
145
  ] })
158
146
  ] })
159
147
  ] }, key);
@@ -168,9 +156,6 @@ const TreeRowNode = memo(({
168
156
  if (!isDeepEqual(prevProps.nodeAttributes, nextProps.nodeAttributes)) return false;
169
157
  if (prevProps.onToggle !== nextProps.onToggle) return false;
170
158
  if (prevProps.selectLayer !== nextProps.selectLayer) return false;
171
- if (prevProps.removeLayer !== nextProps.removeLayer) return false;
172
- if (prevProps.duplicateLayer !== nextProps.duplicateLayer) return false;
173
- if (prevProps.updateLayer !== nextProps.updateLayer) return false;
174
159
  return true;
175
160
  });
176
161
  TreeRowNode.displayName = "TreeRowNode";