create-weave-frontend-app 2.6.0 → 2.7.1
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.
- package/dist/{create-app-DzP0ryiu.js → create-app-nsSHnNL3.js} +22 -22
- package/dist/create-app-nsSHnNL3.js.map +1 -0
- package/dist/create-app.js +1 -1
- package/dist/index.js +83 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/template/+nextjs+azure-web-pubsub/.eslintrc.json +6 -0
- package/template/+nextjs+azure-web-pubsub/api/del-image.ts +1 -1
- package/template/+nextjs+azure-web-pubsub/api/get-images.ts +1 -1
- package/template/+nextjs+azure-web-pubsub/api/get-room.ts +11 -0
- package/template/+nextjs+azure-web-pubsub/api/post-export-to-image.ts +56 -0
- package/template/+nextjs+azure-web-pubsub/api/post-image.ts +2 -2
- package/template/+nextjs+azure-web-pubsub/api/post-remove-background.ts +1 -1
- package/template/+nextjs+azure-web-pubsub/app/error/page.tsx +2 -2
- package/template/+nextjs+azure-web-pubsub/app/globals.css +1 -1
- package/template/+nextjs+azure-web-pubsub/app/layout.tsx +10 -10
- package/template/+nextjs+azure-web-pubsub/app/page.tsx +1 -1
- package/template/+nextjs+azure-web-pubsub/app/providers.tsx +2 -2
- package/template/+nextjs+azure-web-pubsub/app/rooms/[roomId]/page.tsx +2 -2
- package/template/+nextjs+azure-web-pubsub/components/actions/align-elements-tool/align-elements-tool.ts +7 -7
- package/template/+nextjs+azure-web-pubsub/components/actions/color-token-tool/color-token-tool.ts +23 -24
- package/template/+nextjs+azure-web-pubsub/components/actions/color-token-tool/constants.ts +3 -3
- package/template/+nextjs+azure-web-pubsub/components/actions/color-token-tool/types.ts +2 -2
- package/template/+nextjs+azure-web-pubsub/components/error/error.tsx +18 -15
- package/template/+nextjs+azure-web-pubsub/components/error/errors.ts +13 -13
- package/template/+nextjs+azure-web-pubsub/components/home/home.tsx +12 -9
- package/template/+nextjs+azure-web-pubsub/components/home-components/home-showcase-animation.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/home-components/login-form.tsx +20 -19
- package/template/+nextjs+azure-web-pubsub/components/nodes/color-token/color-token.ts +17 -17
- package/template/+nextjs+azure-web-pubsub/components/room/room.layout.tsx +52 -93
- package/template/+nextjs+azure-web-pubsub/components/room/room.tsx +38 -38
- package/template/+nextjs+azure-web-pubsub/components/room-components/color-tokens-library/color-token.tsx +5 -5
- package/template/+nextjs+azure-web-pubsub/components/room-components/color-tokens-library/color-tokens-library.tsx +18 -34
- package/template/+nextjs+azure-web-pubsub/components/room-components/connected-users.tsx +22 -22
- package/template/+nextjs+azure-web-pubsub/components/room-components/connection-status.tsx +10 -10
- package/template/+nextjs+azure-web-pubsub/components/room-components/context-menu.tsx +19 -19
- package/template/+nextjs+azure-web-pubsub/components/room-components/elements-tree/elements-tree.tsx +191 -0
- package/template/+nextjs+azure-web-pubsub/components/room-components/frames-library/frames-library.image.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/room-components/frames-library/frames-library.presentation-image.tsx +3 -3
- package/template/+nextjs+azure-web-pubsub/components/room-components/frames-library/frames-library.tsx +30 -44
- package/template/+nextjs+azure-web-pubsub/components/room-components/frames-library/utils.ts +6 -6
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-arrange.tsx +15 -15
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-drawer.tsx +19 -19
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-edit.tsx +17 -17
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-selection.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-shortcut-element.tsx +2 -2
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-tools.tsx +19 -19
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-view.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/help-zoom.tsx +11 -11
- package/template/+nextjs+azure-web-pubsub/components/room-components/help/shortcut-element.tsx +3 -3
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-context-menu.tsx +157 -124
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-copy-paste.tsx +35 -20
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-export-to-image-server-side.ts +133 -0
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-get-azure-web-pubsub-provider.tsx +34 -8
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-get-os.ts +2 -2
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-handle-route-params.ts +4 -4
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-key-down.ts +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-keyboard-handler.tsx +124 -114
- package/template/+nextjs+azure-web-pubsub/components/room-components/hooks/use-mounted.tsx +1 -1
- package/template/+nextjs+azure-web-pubsub/components/room-components/images-library/images-library.tsx +120 -67
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/input-color.tsx +11 -11
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/input-font-family.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/input-number.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/input-select.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/input-text.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/room-components/inputs/number-input.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/room-components/no-ssr.tsx +3 -3
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/appearance-properties.tsx +20 -20
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/arrow-properties.tsx +20 -20
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/color-token-properties.tsx +18 -18
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/crop-properties.tsx +23 -23
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/ellipse-properties.tsx +21 -21
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/fill-properties.tsx +21 -21
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/frame-properties.tsx +22 -22
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/image-properties.tsx +8 -8
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/meta-properties.tsx +16 -16
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/position-properties.tsx +15 -15
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/regular-polygon-properties.tsx +18 -18
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/size-properties.tsx +47 -47
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/star-properties.tsx +22 -22
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/stroke-properties.tsx +41 -41
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/text-properties.tsx +64 -64
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/divider.tsx +11 -11
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/export-config.tsx +289 -0
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/node-properties.tsx +34 -54
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/overlay-animation-wrapper.tsx +3 -3
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/room-header.tsx +62 -189
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/room-users-overlay.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/tools-overlay.tsx +205 -144
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/variants.ts +8 -8
- package/template/+nextjs+azure-web-pubsub/components/room-components/overlay/zoom-toolbar.tsx +23 -23
- package/template/+nextjs+azure-web-pubsub/components/room-components/room-error.tsx +4 -4
- package/template/+nextjs+azure-web-pubsub/components/room-components/room-loader/room-loader.tsx +12 -12
- package/template/+nextjs+azure-web-pubsub/components/room-components/selection-information.tsx +8 -8
- package/template/+nextjs+azure-web-pubsub/components/room-components/sidebar-selector.tsx +32 -18
- package/template/+nextjs+azure-web-pubsub/components/room-components/toggle-icon-button.tsx +16 -16
- package/template/+nextjs+azure-web-pubsub/components/room-components/toolbar/toolbar-button.tsx +23 -23
- package/template/+nextjs+azure-web-pubsub/components/room-components/toolbar/toolbar-toggle-button.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/room-components/toolbar/toolbar.tsx +12 -12
- package/template/+nextjs+azure-web-pubsub/components/room-components/upload-file.tsx +30 -21
- package/template/+nextjs+azure-web-pubsub/components/room-components/user-form.tsx +14 -13
- package/template/+nextjs+azure-web-pubsub/components/ui/accordion.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/ui/avatar.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/ui/badge.tsx +50 -0
- package/template/+nextjs+azure-web-pubsub/components/ui/button.tsx +20 -20
- package/template/+nextjs+azure-web-pubsub/components/ui/card.tsx +15 -15
- package/template/+nextjs+azure-web-pubsub/components/ui/checkbox.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/color-picker-component.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/context/color-picker-context.tsx +3 -3
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/editor/color-picker-format-editor.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/index.ts +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/selector/color-picker-alpha.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/selector/color-picker-eyedropper.tsx +13 -13
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/selector/color-picker-format-selector.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/selector/color-picker-hue.tsx +11 -11
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/selector/color-picker-saturation.tsx +15 -15
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/text-inputs/color-picker-alpha-percentage.tsx +8 -8
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/text-inputs/color-picker-hexa.tsx +14 -14
- package/template/+nextjs+azure-web-pubsub/components/ui/color-picker/text-inputs/color-picker-rgba.tsx +12 -12
- package/template/+nextjs+azure-web-pubsub/components/ui/command.tsx +21 -21
- package/template/+nextjs+azure-web-pubsub/components/ui/dialog.tsx +17 -18
- package/template/+nextjs+azure-web-pubsub/components/ui/drawer.tsx +18 -18
- package/template/+nextjs+azure-web-pubsub/components/ui/dropdown-menu.tsx +26 -26
- package/template/+nextjs+azure-web-pubsub/components/ui/form.tsx +19 -19
- package/template/+nextjs+azure-web-pubsub/components/ui/input.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/ui/label.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/ui/popover.tsx +7 -7
- package/template/+nextjs+azure-web-pubsub/components/ui/reactbits/Backgrounds/Dither/Dither.tsx +17 -17
- package/template/+nextjs+azure-web-pubsub/components/ui/reactbits/Backgrounds/Threads/Threads.tsx +10 -10
- package/template/+nextjs+azure-web-pubsub/components/ui/reactbits/TextAnimations/RotatingText/RotatingText.tsx +41 -41
- package/template/+nextjs+azure-web-pubsub/components/ui/reactbits/TextAnimations/ScrollVelocity/ScrollVelocity.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/ui/scroll-area.tsx +12 -12
- package/template/+nextjs+azure-web-pubsub/components/ui/select.tsx +23 -23
- package/template/+nextjs+azure-web-pubsub/components/ui/sheet.tsx +24 -24
- package/template/+nextjs+azure-web-pubsub/components/ui/sonner.tsx +8 -8
- package/template/+nextjs+azure-web-pubsub/components/ui/tabs.tsx +9 -9
- package/template/+nextjs+azure-web-pubsub/components/ui/tooltip.tsx +6 -6
- package/template/+nextjs+azure-web-pubsub/components/ui/tree-view.tsx +46 -46
- package/template/+nextjs+azure-web-pubsub/components/utils/constants.ts +81 -48
- package/template/+nextjs+azure-web-pubsub/components/utils/images.ts +30 -0
- package/template/+nextjs+azure-web-pubsub/components/utils/logo.tsx +26 -26
- package/template/+nextjs+azure-web-pubsub/components/utils/users.ts +3 -3
- package/template/+nextjs+azure-web-pubsub/lib/constants.ts +7 -8
- package/template/+nextjs+azure-web-pubsub/lib/utils.ts +43 -10
- package/template/+nextjs+azure-web-pubsub/next.config.js +12 -12
- package/template/+nextjs+azure-web-pubsub/store/store.ts +76 -32
- package/template/+nextjs+azure-web-pubsub/weave.d.ts +1 -0
- package/template/+nextjs+websockets/.eslintrc.json +6 -0
- package/template/+nextjs+websockets/api/del-image.ts +1 -1
- package/template/+nextjs+websockets/api/get-images.ts +1 -1
- package/template/+nextjs+websockets/api/get-room.ts +11 -0
- package/template/+nextjs+websockets/api/post-export-to-image.ts +56 -0
- package/template/+nextjs+websockets/api/post-image.ts +2 -2
- package/template/+nextjs+websockets/api/post-remove-background.ts +1 -1
- package/template/+nextjs+websockets/app/error/page.tsx +2 -2
- package/template/+nextjs+websockets/app/globals.css +1 -1
- package/template/+nextjs+websockets/app/layout.tsx +10 -10
- package/template/+nextjs+websockets/app/page.tsx +1 -1
- package/template/+nextjs+websockets/app/providers.tsx +2 -2
- package/template/+nextjs+websockets/app/rooms/[roomId]/page.tsx +2 -2
- package/template/+nextjs+websockets/components/actions/align-elements-tool/align-elements-tool.ts +7 -7
- package/template/+nextjs+websockets/components/actions/color-token-tool/color-token-tool.ts +20 -20
- package/template/+nextjs+websockets/components/actions/color-token-tool/constants.ts +3 -3
- package/template/+nextjs+websockets/components/actions/color-token-tool/types.ts +2 -2
- package/template/+nextjs+websockets/components/error/error.tsx +12 -12
- package/template/+nextjs+websockets/components/error/errors.ts +13 -13
- package/template/+nextjs+websockets/components/home/home.tsx +6 -6
- package/template/+nextjs+websockets/components/home-components/home-showcase-animation.tsx +6 -6
- package/template/+nextjs+websockets/components/home-components/login-form.tsx +20 -19
- package/template/+nextjs+websockets/components/nodes/color-token/color-token.ts +17 -17
- package/template/+nextjs+websockets/components/room/room.layout.tsx +52 -93
- package/template/+nextjs+websockets/components/room/room.tsx +38 -38
- package/template/+nextjs+websockets/components/room-components/color-tokens-library/color-token.tsx +5 -5
- package/template/+nextjs+websockets/components/room-components/color-tokens-library/color-tokens-library.tsx +18 -34
- package/template/+nextjs+websockets/components/room-components/connected-users.tsx +22 -22
- package/template/+nextjs+websockets/components/room-components/connection-status.tsx +10 -10
- package/template/+nextjs+websockets/components/room-components/context-menu.tsx +19 -19
- package/template/+nextjs+websockets/components/room-components/elements-tree/elements-tree.tsx +51 -48
- package/template/+nextjs+websockets/components/room-components/frames-library/frames-library.image.tsx +9 -9
- package/template/+nextjs+websockets/components/room-components/frames-library/frames-library.presentation-image.tsx +3 -3
- package/template/+nextjs+websockets/components/room-components/frames-library/frames-library.tsx +30 -44
- package/template/+nextjs+websockets/components/room-components/frames-library/utils.ts +6 -6
- package/template/+nextjs+websockets/components/room-components/help/help-arrange.tsx +15 -15
- package/template/+nextjs+websockets/components/room-components/help/help-drawer.tsx +19 -19
- package/template/+nextjs+websockets/components/room-components/help/help-edit.tsx +17 -17
- package/template/+nextjs+websockets/components/room-components/help/help-selection.tsx +7 -7
- package/template/+nextjs+websockets/components/room-components/help/help-shortcut-element.tsx +2 -2
- package/template/+nextjs+websockets/components/room-components/help/help-tools.tsx +19 -19
- package/template/+nextjs+websockets/components/room-components/help/help-view.tsx +7 -7
- package/template/+nextjs+websockets/components/room-components/help/help-zoom.tsx +11 -11
- package/template/+nextjs+websockets/components/room-components/help/shortcut-element.tsx +3 -3
- package/template/+nextjs+websockets/components/room-components/hooks/use-context-menu.tsx +157 -124
- package/template/+nextjs+websockets/components/room-components/hooks/use-copy-paste.tsx +35 -20
- package/template/+nextjs+websockets/components/room-components/hooks/use-export-to-image-server-side.ts +133 -0
- package/template/+nextjs+websockets/components/room-components/hooks/use-get-os.ts +2 -2
- package/template/+nextjs+websockets/components/room-components/hooks/use-get-websockets-provider.ts +40 -13
- package/template/+nextjs+websockets/components/room-components/hooks/use-handle-route-params.ts +4 -4
- package/template/+nextjs+websockets/components/room-components/hooks/use-key-down.ts +7 -7
- package/template/+nextjs+websockets/components/room-components/hooks/use-keyboard-handler.tsx +124 -114
- package/template/+nextjs+websockets/components/room-components/hooks/use-mounted.tsx +1 -1
- package/template/+nextjs+websockets/components/room-components/images-library/images-library.tsx +120 -67
- package/template/+nextjs+websockets/components/room-components/inputs/input-color.tsx +11 -11
- package/template/+nextjs+websockets/components/room-components/inputs/input-font-family.tsx +7 -7
- package/template/+nextjs+websockets/components/room-components/inputs/input-number.tsx +6 -6
- package/template/+nextjs+websockets/components/room-components/inputs/input-select.tsx +7 -7
- package/template/+nextjs+websockets/components/room-components/inputs/input-text.tsx +6 -6
- package/template/+nextjs+websockets/components/room-components/inputs/number-input.tsx +9 -9
- package/template/+nextjs+websockets/components/room-components/no-ssr.tsx +3 -3
- package/template/+nextjs+websockets/components/room-components/node-properties/appearance-properties.tsx +20 -20
- package/template/+nextjs+websockets/components/room-components/node-properties/arrow-properties.tsx +20 -20
- package/template/+nextjs+websockets/components/room-components/node-properties/color-token-properties.tsx +18 -18
- package/template/+nextjs+websockets/components/room-components/node-properties/crop-properties.tsx +23 -23
- package/template/+nextjs+websockets/components/room-components/node-properties/ellipse-properties.tsx +21 -21
- package/template/+nextjs+websockets/components/room-components/node-properties/fill-properties.tsx +21 -21
- package/template/+nextjs+websockets/components/room-components/node-properties/frame-properties.tsx +22 -22
- package/template/+nextjs+websockets/components/room-components/node-properties/image-properties.tsx +8 -8
- package/template/+nextjs+websockets/components/room-components/node-properties/meta-properties.tsx +16 -16
- package/template/+nextjs+websockets/components/room-components/node-properties/position-properties.tsx +15 -15
- package/template/+nextjs+websockets/components/room-components/node-properties/regular-polygon-properties.tsx +18 -18
- package/template/+nextjs+websockets/components/room-components/node-properties/size-properties.tsx +47 -47
- package/template/+nextjs+websockets/components/room-components/node-properties/star-properties.tsx +22 -22
- package/template/+nextjs+websockets/components/room-components/node-properties/stroke-properties.tsx +41 -41
- package/template/+nextjs+websockets/components/room-components/node-properties/text-properties.tsx +64 -64
- package/template/+nextjs+websockets/components/room-components/overlay/divider.tsx +11 -11
- package/template/+nextjs+websockets/components/room-components/overlay/export-config.tsx +289 -0
- package/template/+nextjs+websockets/components/room-components/overlay/node-properties.tsx +126 -115
- package/template/+nextjs+websockets/components/room-components/overlay/overlay-animation-wrapper.tsx +3 -3
- package/template/+nextjs+websockets/components/room-components/overlay/room-header.tsx +61 -188
- package/template/+nextjs+websockets/components/room-components/overlay/room-users-overlay.tsx +6 -6
- package/template/+nextjs+websockets/components/room-components/overlay/tools-overlay.tsx +204 -143
- package/template/+nextjs+websockets/components/room-components/overlay/variants.ts +8 -8
- package/template/+nextjs+websockets/components/room-components/overlay/zoom-toolbar.tsx +23 -23
- package/template/+nextjs+websockets/components/room-components/room-error.tsx +4 -4
- package/template/+nextjs+websockets/components/room-components/room-loader/room-loader.tsx +12 -12
- package/template/+nextjs+websockets/components/room-components/selection-information.tsx +8 -8
- package/template/+nextjs+websockets/components/room-components/sidebar-selector.tsx +32 -18
- package/template/+nextjs+websockets/components/room-components/toggle-icon-button.tsx +16 -16
- package/template/+nextjs+websockets/components/room-components/toolbar/toolbar-button.tsx +23 -23
- package/template/+nextjs+websockets/components/room-components/toolbar/toolbar-toggle-button.tsx +7 -7
- package/template/+nextjs+websockets/components/room-components/toolbar/toolbar.tsx +12 -12
- package/template/+nextjs+websockets/components/room-components/upload-file.tsx +30 -21
- package/template/+nextjs+websockets/components/room-components/user-form.tsx +14 -13
- package/template/+nextjs+websockets/components/ui/accordion.tsx +9 -9
- package/template/+nextjs+websockets/components/ui/avatar.tsx +9 -9
- package/template/+nextjs+websockets/components/ui/badge.tsx +50 -0
- package/template/+nextjs+websockets/components/ui/button.tsx +20 -20
- package/template/+nextjs+websockets/components/ui/card.tsx +15 -15
- package/template/+nextjs+websockets/components/ui/checkbox.tsx +7 -7
- package/template/+nextjs+websockets/components/ui/color-picker/color-picker-component.tsx +7 -7
- package/template/+nextjs+websockets/components/ui/color-picker/context/color-picker-context.tsx +3 -3
- package/template/+nextjs+websockets/components/ui/color-picker/editor/color-picker-format-editor.tsx +6 -6
- package/template/+nextjs+websockets/components/ui/color-picker/index.ts +7 -7
- package/template/+nextjs+websockets/components/ui/color-picker/selector/color-picker-alpha.tsx +7 -7
- package/template/+nextjs+websockets/components/ui/color-picker/selector/color-picker-eyedropper.tsx +13 -13
- package/template/+nextjs+websockets/components/ui/color-picker/selector/color-picker-format-selector.tsx +7 -7
- package/template/+nextjs+websockets/components/ui/color-picker/selector/color-picker-hue.tsx +11 -11
- package/template/+nextjs+websockets/components/ui/color-picker/selector/color-picker-saturation.tsx +15 -15
- package/template/+nextjs+websockets/components/ui/color-picker/text-inputs/color-picker-alpha-percentage.tsx +8 -8
- package/template/+nextjs+websockets/components/ui/color-picker/text-inputs/color-picker-hexa.tsx +14 -14
- package/template/+nextjs+websockets/components/ui/color-picker/text-inputs/color-picker-rgba.tsx +12 -12
- package/template/+nextjs+websockets/components/ui/command.tsx +21 -21
- package/template/+nextjs+websockets/components/ui/dialog.tsx +17 -18
- package/template/+nextjs+websockets/components/ui/drawer.tsx +18 -18
- package/template/+nextjs+websockets/components/ui/dropdown-menu.tsx +26 -26
- package/template/+nextjs+websockets/components/ui/form.tsx +19 -19
- package/template/+nextjs+websockets/components/ui/input.tsx +9 -9
- package/template/+nextjs+websockets/components/ui/label.tsx +6 -6
- package/template/+nextjs+websockets/components/ui/popover.tsx +7 -7
- package/template/+nextjs+websockets/components/ui/reactbits/Backgrounds/Dither/Dither.tsx +17 -17
- package/template/+nextjs+websockets/components/ui/reactbits/Backgrounds/Threads/Threads.tsx +10 -10
- package/template/+nextjs+websockets/components/ui/reactbits/TextAnimations/RotatingText/RotatingText.tsx +41 -41
- package/template/+nextjs+websockets/components/ui/reactbits/TextAnimations/ScrollVelocity/ScrollVelocity.tsx +9 -9
- package/template/+nextjs+websockets/components/ui/scroll-area.tsx +12 -12
- package/template/+nextjs+websockets/components/ui/select.tsx +23 -23
- package/template/+nextjs+websockets/components/ui/sheet.tsx +24 -24
- package/template/+nextjs+websockets/components/ui/sonner.tsx +8 -8
- package/template/+nextjs+websockets/components/ui/tabs.tsx +9 -9
- package/template/+nextjs+websockets/components/ui/tooltip.tsx +6 -6
- package/template/+nextjs+websockets/components/ui/tree-view.tsx +46 -46
- package/template/+nextjs+websockets/components/utils/constants.ts +81 -48
- package/template/+nextjs+websockets/components/utils/images.ts +30 -0
- package/template/+nextjs+websockets/components/utils/logo.tsx +26 -26
- package/template/+nextjs+websockets/components/utils/users.ts +3 -3
- package/template/+nextjs+websockets/lib/constants.ts +7 -8
- package/template/+nextjs+websockets/lib/utils.ts +43 -10
- package/template/+nextjs+websockets/next.config.js +12 -12
- package/template/+nextjs+websockets/store/store.ts +75 -32
- package/template/+nextjs+websockets/weave.d.ts +1 -0
- package/template/package.json +4 -2
- package/dist/create-app-DzP0ryiu.js.map +0 -1
- package/template/+nextjs+azure-web-pubsub/components/room-components/node-properties/radius-properties.tsx +0 -179
- package/template/+nextjs+websockets/components/room-components/hooks/use-get-weave-js-props.tsx +0 -35
|
@@ -76,11 +76,11 @@ function tryGitInit(root) {
|
|
|
76
76
|
//#endregion
|
|
77
77
|
//#region src/versions.js
|
|
78
78
|
const versions = {
|
|
79
|
-
"@inditextech/weave-
|
|
80
|
-
"@inditextech/weave-sdk": "2.
|
|
81
|
-
"@inditextech/weave-store-
|
|
82
|
-
"@inditextech/weave-store-
|
|
83
|
-
"@inditextech/weave-
|
|
79
|
+
"@inditextech/weave-react": "2.7.1",
|
|
80
|
+
"@inditextech/weave-sdk": "2.7.1",
|
|
81
|
+
"@inditextech/weave-store-azure-web-pubsub": "2.7.1",
|
|
82
|
+
"@inditextech/weave-store-websockets": "2.7.1",
|
|
83
|
+
"@inditextech/weave-types": "2.7.1"
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
//#endregion
|
|
@@ -93,9 +93,8 @@ var license = "MIT";
|
|
|
93
93
|
var dependencies = {
|
|
94
94
|
"@hookform/resolvers": "^4.1.3",
|
|
95
95
|
"@inditextech/weave-react": "0.0.0",
|
|
96
|
-
"@inditextech/weave-sdk": "0.0.0",
|
|
97
|
-
"@inditextech/weave-store-websockets": "0.0.0",
|
|
98
96
|
"@inditextech/weave-store-azure-web-pubsub": "0.0.0",
|
|
97
|
+
"@inditextech/weave-store-websockets": "0.0.0",
|
|
99
98
|
"@next/env": "^15.2.1",
|
|
100
99
|
"@radix-ui/react-accordion": "^1.2.3",
|
|
101
100
|
"@radix-ui/react-avatar": "^1.1.3",
|
|
@@ -133,6 +132,7 @@ var dependencies = {
|
|
|
133
132
|
"react-dom": "18.2.0",
|
|
134
133
|
"react-hook-form": "^7.54.2",
|
|
135
134
|
"react-number-format": "^5.4.3",
|
|
135
|
+
"react-responsive-masonry": "^2.7.1",
|
|
136
136
|
"sharp": "^0.33.5",
|
|
137
137
|
"sonner": "^2.0.3",
|
|
138
138
|
"tailwind-merge": "^3.0.2",
|
|
@@ -152,6 +152,7 @@ var devDependencies = {
|
|
|
152
152
|
"@types/node": "^20",
|
|
153
153
|
"@types/react": "^18",
|
|
154
154
|
"@types/react-dom": "^18",
|
|
155
|
+
"@types/react-responsive-masonry": "^2.6.0",
|
|
155
156
|
"@vitejs/plugin-react": "^4.3.4",
|
|
156
157
|
"@vitest/coverage-v8": "^3.0.7",
|
|
157
158
|
"eslint": "^8",
|
|
@@ -159,6 +160,7 @@ var devDependencies = {
|
|
|
159
160
|
"eslint-config-prettier": "^10.0.2",
|
|
160
161
|
"jsdom": "^26.0.0",
|
|
161
162
|
"lucide-react": "^0.477.0",
|
|
163
|
+
"prettier": "^3.6.2",
|
|
162
164
|
"tailwindcss": "^4",
|
|
163
165
|
"typescript": "^5",
|
|
164
166
|
"vite-tsconfig-paths": "^5.1.4",
|
|
@@ -284,6 +286,7 @@ function createPackageJson(projectName, options) {
|
|
|
284
286
|
"react-dom",
|
|
285
287
|
"react-hook-form",
|
|
286
288
|
"react-number-format",
|
|
289
|
+
"react-responsive-masonry",
|
|
287
290
|
"sharp",
|
|
288
291
|
"sonner",
|
|
289
292
|
"tailwind-merge",
|
|
@@ -294,11 +297,7 @@ function createPackageJson(projectName, options) {
|
|
|
294
297
|
"zod",
|
|
295
298
|
"zustand"
|
|
296
299
|
]),
|
|
297
|
-
...pick(versions, [
|
|
298
|
-
"@inditextech/weave-react",
|
|
299
|
-
"@inditextech/weave-sdk",
|
|
300
|
-
"@inditextech/weave-store-azure-web-pubsub"
|
|
301
|
-
])
|
|
300
|
+
...pick(versions, ["@inditextech/weave-react", "@inditextech/weave-store-azure-web-pubsub"])
|
|
302
301
|
};
|
|
303
302
|
const devDependencies$2 = { ...pick(package_default.devDependencies, [
|
|
304
303
|
"@eslint/eslintrc",
|
|
@@ -309,23 +308,25 @@ function createPackageJson(projectName, options) {
|
|
|
309
308
|
"@types/node",
|
|
310
309
|
"@types/react",
|
|
311
310
|
"@types/react-dom",
|
|
311
|
+
"@types/react-responsive-masonry",
|
|
312
312
|
"@vitejs/plugin-react",
|
|
313
313
|
"eslint",
|
|
314
314
|
"eslint-config-next",
|
|
315
315
|
"eslint-config-prettier",
|
|
316
316
|
"jsdom",
|
|
317
317
|
"lucide-react",
|
|
318
|
+
"prettier",
|
|
318
319
|
"tailwindcss",
|
|
319
320
|
"typescript",
|
|
320
321
|
"vite-tsconfig-paths"
|
|
321
322
|
]) };
|
|
322
323
|
return {
|
|
324
|
+
...package_default,
|
|
323
325
|
name: projectName,
|
|
324
|
-
version: "0.0.0",
|
|
325
|
-
private: true,
|
|
326
326
|
scripts: {
|
|
327
327
|
build: "next build",
|
|
328
328
|
dev: "next dev --experimental-https",
|
|
329
|
+
format: "prettier --write ./api ./app ./assets ./components ./lib ./store next.config.js",
|
|
329
330
|
lint: "next lint",
|
|
330
331
|
start: "next start"
|
|
331
332
|
},
|
|
@@ -373,6 +374,7 @@ function createPackageJson(projectName, options) {
|
|
|
373
374
|
"react-dom",
|
|
374
375
|
"react-hook-form",
|
|
375
376
|
"react-number-format",
|
|
377
|
+
"react-responsive-masonry",
|
|
376
378
|
"sharp",
|
|
377
379
|
"sonner",
|
|
378
380
|
"tailwind-merge",
|
|
@@ -383,11 +385,7 @@ function createPackageJson(projectName, options) {
|
|
|
383
385
|
"zod",
|
|
384
386
|
"zustand"
|
|
385
387
|
]),
|
|
386
|
-
...pick(versions, [
|
|
387
|
-
"@inditextech/weave-react",
|
|
388
|
-
"@inditextech/weave-sdk",
|
|
389
|
-
"@inditextech/weave-store-websockets"
|
|
390
|
-
])
|
|
388
|
+
...pick(versions, ["@inditextech/weave-react", "@inditextech/weave-store-websockets"])
|
|
391
389
|
};
|
|
392
390
|
const devDependencies$1 = { ...pick(package_default.devDependencies, [
|
|
393
391
|
"@eslint/eslintrc",
|
|
@@ -398,23 +396,25 @@ function createPackageJson(projectName, options) {
|
|
|
398
396
|
"@types/node",
|
|
399
397
|
"@types/react",
|
|
400
398
|
"@types/react-dom",
|
|
399
|
+
"@types/react-responsive-masonry",
|
|
401
400
|
"@vitejs/plugin-react",
|
|
402
401
|
"eslint",
|
|
403
402
|
"eslint-config-next",
|
|
404
403
|
"eslint-config-prettier",
|
|
405
404
|
"jsdom",
|
|
406
405
|
"lucide-react",
|
|
406
|
+
"prettier",
|
|
407
407
|
"tailwindcss",
|
|
408
408
|
"typescript",
|
|
409
409
|
"vite-tsconfig-paths"
|
|
410
410
|
]) };
|
|
411
411
|
return {
|
|
412
|
+
...package_default,
|
|
412
413
|
name: projectName,
|
|
413
|
-
version: "0.0.0",
|
|
414
|
-
private: true,
|
|
415
414
|
scripts: {
|
|
416
415
|
build: "next build",
|
|
417
416
|
dev: "next dev --experimental-https",
|
|
417
|
+
format: "prettier --write ./api ./app ./assets ./components ./lib ./store next.config.js",
|
|
418
418
|
lint: "next lint",
|
|
419
419
|
start: "next start"
|
|
420
420
|
},
|
|
@@ -434,4 +434,4 @@ function pick(obj, keys) {
|
|
|
434
434
|
|
|
435
435
|
//#endregion
|
|
436
436
|
export { create, cwd, getPackageManager };
|
|
437
|
-
//# sourceMappingURL=create-app-
|
|
437
|
+
//# sourceMappingURL=create-app-nsSHnNL3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-app-nsSHnNL3.js","names":["cwd: string","root: string","manager: PackageManager","dest: string","options: Options","file: string","dest: string","projectName: string","from: string","to: string","rename: (s: string) => string","obj: T","keys: K[]","result: Partial<T>"],"sources":["../src/git.ts","../src/versions.js","../template/package.json","../src/auto-install.ts","../src/constants.ts","../src/create-app.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport { rmSync } from 'node:fs';\nimport { join } from 'node:path';\n\n/*\nInitialize a Git repo on the project.\n\nBased on https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/git.ts\n*/\n\nfunction isInGitRepository(cwd: string): boolean {\n try {\n execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore', cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nfunction isInMercurialRepository(cwd: string): boolean {\n try {\n execSync('hg --cwd . root', { stdio: 'ignore', cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nfunction isDefaultBranchSet(cwd: string): boolean {\n try {\n execSync('git config init.defaultBranch', { stdio: 'ignore', cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nexport function tryGitInit(root: string): boolean {\n let didInit = false;\n\n try {\n execSync('git --version', { stdio: 'ignore' });\n if (isInGitRepository(root) || isInMercurialRepository(root)) {\n return false;\n }\n\n execSync('git init', { stdio: 'ignore', cwd: root });\n didInit = true;\n\n if (!isDefaultBranchSet(root)) {\n execSync('git checkout -b main', { stdio: 'ignore', cwd: root });\n }\n\n execSync('git add -A', { stdio: 'ignore', cwd: root });\n execSync('git commit -m \"Initial commit from Create Fumadocs App\"', {\n stdio: 'ignore',\n cwd: root,\n });\n return true;\n } catch {\n if (didInit) {\n try {\n rmSync(join(root, '.git'), { recursive: true, force: true });\n } catch {\n // do nothing\n }\n }\n\n return false;\n }\n}\n","export const versions = {\"@inditextech/weave-react\":\"2.7.1\",\"@inditextech/weave-sdk\":\"2.7.1\",\"@inditextech/weave-store-azure-web-pubsub\":\"2.7.1\",\"@inditextech/weave-store-websockets\":\"2.7.1\",\"@inditextech/weave-types\":\"2.7.1\"}","{\n \"name\": \"example-versions\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"description\": \"Used to track dependency versions in create-*-app\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@hookform/resolvers\": \"^4.1.3\",\n \"@inditextech/weave-react\": \"0.0.0\",\n \"@inditextech/weave-store-azure-web-pubsub\": \"0.0.0\",\n \"@inditextech/weave-store-websockets\": \"0.0.0\",\n \"@next/env\": \"^15.2.1\",\n \"@radix-ui/react-accordion\": \"^1.2.3\",\n \"@radix-ui/react-avatar\": \"^1.1.3\",\n \"@radix-ui/react-checkbox\": \"^1.1.4\",\n \"@radix-ui/react-dialog\": \"^1.1.6\",\n \"@radix-ui/react-dropdown-menu\": \"^2.1.6\",\n \"@radix-ui/react-label\": \"^2.1.2\",\n \"@radix-ui/react-popover\": \"^1.1.6\",\n \"@radix-ui/react-scroll-area\": \"^1.2.3\",\n \"@radix-ui/react-select\": \"^2.1.6\",\n \"@radix-ui/react-slider\": \"^1.2.3\",\n \"@radix-ui/react-slot\": \"^1.1.2\",\n \"@radix-ui/react-tabs\": \"^1.1.3\",\n \"@radix-ui/react-tooltip\": \"^1.1.8\",\n \"@react-three/fiber\": \"^8.18.0\",\n \"@react-three/postprocessing\": \"^2.19.1\",\n \"@tanstack/react-query\": \"^5.67.1\",\n \"boring-avatars\": \"^1.11.2\",\n \"change-case\": \"^5.4.4\",\n \"class-variance-authority\": \"^0.7.1\",\n \"clsx\": \"^2.1.1\",\n \"cmdk\": \"^1.0.0\",\n \"color\": \"^5.0.0\",\n \"framer-motion\": \"^11.18.2\",\n \"lodash\": \"^4.17.21\",\n \"motion\": \"^12.4.7\",\n \"next\": \"14.2.32\",\n \"next-themes\": \"^0.4.6\",\n \"ogl\": \"^1.0.11\",\n \"onnxruntime-web\": \"^1.21.0-dev.20250206-d981b153d3\",\n \"pdf-lib\": \"^1.17.1\",\n \"platform-detect\": \"^3.0.1\",\n \"postprocessing\": \"^6.37.1\",\n \"react\": \"18.2.0\",\n \"react-dom\": \"18.2.0\",\n \"react-hook-form\": \"^7.54.2\",\n \"react-number-format\": \"^5.4.3\",\n \"react-responsive-masonry\": \"^2.7.1\",\n \"sharp\": \"^0.33.5\",\n \"sonner\": \"^2.0.3\",\n \"tailwind-merge\": \"^3.0.2\",\n \"tailwindcss-animate\": \"^1.0.7\",\n \"three\": \"^0.167.1\",\n \"uuid\": \"^11.1.0\",\n \"vaul\": \"^1.1.2\",\n \"zod\": \"^3.24.2\",\n \"zustand\": \"^5.0.3\"\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"^3\",\n \"@tailwindcss/postcss\": \"^4\",\n \"@testing-library/dom\": \"^10.4.0\",\n \"@testing-library/react\": \"^16.2.0\",\n \"@types/lodash\": \"^4.17.17\",\n \"@types/node\": \"^20\",\n \"@types/react\": \"^18\",\n \"@types/react-dom\": \"^18\",\n \"@types/react-responsive-masonry\": \"^2.6.0\",\n \"@vitejs/plugin-react\": \"^4.3.4\",\n \"@vitest/coverage-v8\": \"^3.0.7\",\n \"eslint\": \"^8\",\n \"eslint-config-next\": \"14.2.24\",\n \"eslint-config-prettier\": \"^10.0.2\",\n \"jsdom\": \"^26.0.0\",\n \"lucide-react\": \"^0.477.0\",\n \"prettier\": \"^3.6.2\",\n \"tailwindcss\": \"^4\",\n \"typescript\": \"^5\",\n \"vite-tsconfig-paths\": \"^5.1.4\",\n \"vitest\": \"^3.0.7\"\n }\n}\n","import { spawn } from 'cross-spawn';\n\nexport type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';\n\nexport function getPackageManager(): PackageManager {\n const userAgent = process.env.npm_config_user_agent ?? '';\n\n if (userAgent.startsWith('yarn')) {\n return 'yarn';\n }\n\n if (userAgent.startsWith('pnpm')) {\n return 'pnpm';\n }\n\n if (userAgent.startsWith('bun')) {\n return 'bun';\n }\n\n return 'npm';\n}\n\nexport function autoInstall(\n manager: PackageManager,\n dest: string\n): Promise<void> {\n return new Promise((res, reject) => {\n const installProcess = spawn(manager, ['install'], {\n stdio: 'ignore',\n env: {\n ...process.env,\n NODE_ENV: 'development',\n DISABLE_OPENCOLLECTIVE: '1',\n },\n cwd: dest,\n });\n\n installProcess.on('close', (code) => {\n if (code !== 0) {\n reject(new Error('Install failed'));\n } else {\n res();\n }\n });\n });\n}\n","import { fileURLToPath } from 'node:url';\n\nexport const sourceDir = fileURLToPath(new URL(`../`, import.meta.url).href);\nexport const cwd = process.cwd();\n","import path from 'node:path';\nimport fs from 'node:fs/promises';\nimport { tryGitInit } from '@/git';\nimport { versions as localVersions } from '@/versions';\nimport versionPkg from './../template/package.json';\nimport type { PackageManager } from './auto-install';\nimport { autoInstall } from './auto-install';\nimport { cwd, sourceDir } from './constants';\n\nexport type Template = '+nextjs+websockets' | '+nextjs+azure-web-pubsub';\n\nexport interface Options {\n outputDir: string;\n template: Template;\n packageManager: PackageManager;\n installDeps?: boolean;\n initializeGit?: boolean;\n log?: (message: string) => void;\n}\n\nexport async function create(options: Options): Promise<void> {\n const {\n installDeps = true,\n initializeGit = true,\n log = console.log,\n } = options;\n const projectName = path.basename(options.outputDir);\n const dest = path.resolve(cwd, options.outputDir);\n\n function defaultRename(file: string): string {\n file = file.replace('example.gitignore', '.gitignore');\n file = file.replace('example.env', '.env');\n\n return file;\n }\n\n await copy(\n path.join(sourceDir, `template/${options.template}`),\n dest,\n defaultRename\n );\n\n const packageJson = createPackageJson(projectName, options);\n await fs.writeFile(\n path.join(dest, 'package.json'),\n JSON.stringify(packageJson, null, 2)\n );\n\n const readMe = await getReadme(dest, projectName);\n await fs.writeFile(path.join(dest, 'README.md'), readMe);\n\n if (installDeps) {\n await autoInstall(options.packageManager, dest);\n log('Installed dependencies');\n }\n\n if (initializeGit && tryGitInit(dest)) {\n log('Initialized Git repository');\n }\n}\n\nasync function getReadme(dest: string, projectName: string): Promise<string> {\n const template = await fs\n .readFile(path.join(dest, 'README.md'))\n .then((res) => res.toString());\n\n return `# ${projectName}\\n\\n${template}`;\n}\n\nasync function copy(\n from: string,\n to: string,\n rename: (s: string) => string = (s) => s\n): Promise<void> {\n const stats = await fs.stat(from);\n\n if (stats.isDirectory()) {\n const files = await fs.readdir(from);\n\n await Promise.all(\n files.map((file) =>\n copy(path.join(from, file), rename(path.join(to, file)))\n )\n );\n } else {\n await fs.mkdir(path.dirname(to), { recursive: true });\n await fs.copyFile(from, to);\n }\n}\n\nfunction createPackageJson(projectName: string, options: Options): object {\n if (options.template === '+nextjs+azure-web-pubsub') {\n const dependencies = {\n ...pick(versionPkg.dependencies, [\n '@hookform/resolvers',\n '@next/env',\n '@radix-ui/react-accordion',\n '@radix-ui/react-avatar',\n '@radix-ui/react-checkbox',\n '@radix-ui/react-dialog',\n '@radix-ui/react-dropdown-menu',\n '@radix-ui/react-label',\n '@radix-ui/react-popover',\n '@radix-ui/react-scroll-area',\n '@radix-ui/react-select',\n '@radix-ui/react-slider',\n '@radix-ui/react-slot',\n '@radix-ui/react-tabs',\n '@radix-ui/react-tooltip',\n '@react-three/fiber',\n '@react-three/postprocessing',\n '@tanstack/react-query',\n 'boring-avatars',\n 'change-case',\n 'class-variance-authority',\n 'clsx',\n 'cmdk',\n 'color',\n 'framer-motion',\n 'lodash',\n 'motion',\n 'next',\n 'next-themes',\n 'ogl',\n 'onnxruntime-web',\n 'pdf-lib',\n 'platform-detect',\n 'postprocessing',\n 'react',\n 'react-dom',\n 'react-hook-form',\n 'react-number-format',\n 'react-responsive-masonry',\n 'sharp',\n 'sonner',\n 'tailwind-merge',\n 'tailwindcss-animate',\n 'three',\n 'uuid',\n 'vaul',\n 'zod',\n 'zustand',\n ]),\n ...pick(localVersions, [\n '@inditextech/weave-react',\n '@inditextech/weave-store-azure-web-pubsub',\n ]),\n };\n\n const devDependencies = {\n ...pick(versionPkg.devDependencies, [\n '@eslint/eslintrc',\n '@tailwindcss/postcss',\n '@testing-library/dom',\n '@testing-library/react',\n '@types/lodash',\n '@types/node',\n '@types/react',\n '@types/react-dom',\n '@types/react-responsive-masonry',\n '@vitejs/plugin-react',\n 'eslint',\n 'eslint-config-next',\n 'eslint-config-prettier',\n 'jsdom',\n 'lucide-react',\n 'prettier',\n 'tailwindcss',\n 'typescript',\n 'vite-tsconfig-paths',\n ]),\n };\n\n return {\n ...versionPkg,\n name: projectName,\n scripts: {\n build: 'next build',\n dev: 'next dev --experimental-https',\n format:\n 'prettier --write ./api ./app ./assets ./components ./lib ./store next.config.js',\n lint: 'next lint',\n start: 'next start',\n },\n dependencies: sortObjectKeys(dependencies),\n devDependencies: sortObjectKeys(devDependencies),\n };\n }\n\n const dependencies = {\n ...pick(versionPkg.dependencies, [\n '@hookform/resolvers',\n '@next/env',\n '@radix-ui/react-accordion',\n '@radix-ui/react-avatar',\n '@radix-ui/react-checkbox',\n '@radix-ui/react-dialog',\n '@radix-ui/react-dropdown-menu',\n '@radix-ui/react-label',\n '@radix-ui/react-popover',\n '@radix-ui/react-scroll-area',\n '@radix-ui/react-select',\n '@radix-ui/react-slider',\n '@radix-ui/react-slot',\n '@radix-ui/react-tabs',\n '@radix-ui/react-tooltip',\n '@react-three/fiber',\n '@react-three/postprocessing',\n '@tanstack/react-query',\n 'boring-avatars',\n 'change-case',\n 'class-variance-authority',\n 'clsx',\n 'cmdk',\n 'color',\n 'framer-motion',\n 'lodash',\n 'motion',\n 'next',\n 'next-themes',\n 'ogl',\n 'onnxruntime-web',\n 'pdf-lib',\n 'platform-detect',\n 'postprocessing',\n 'react',\n 'react-dom',\n 'react-hook-form',\n 'react-number-format',\n 'react-responsive-masonry',\n 'sharp',\n 'sonner',\n 'tailwind-merge',\n 'tailwindcss-animate',\n 'three',\n 'uuid',\n 'vaul',\n 'zod',\n 'zustand',\n ]),\n ...pick(localVersions, [\n '@inditextech/weave-react',\n '@inditextech/weave-store-websockets',\n ]),\n };\n\n const devDependencies = {\n ...pick(versionPkg.devDependencies, [\n '@eslint/eslintrc',\n '@tailwindcss/postcss',\n '@testing-library/dom',\n '@testing-library/react',\n '@types/lodash',\n '@types/node',\n '@types/react',\n '@types/react-dom',\n '@types/react-responsive-masonry',\n '@vitejs/plugin-react',\n 'eslint',\n 'eslint-config-next',\n 'eslint-config-prettier',\n 'jsdom',\n 'lucide-react',\n 'prettier',\n 'tailwindcss',\n 'typescript',\n 'vite-tsconfig-paths',\n ]),\n };\n\n return {\n ...versionPkg,\n name: projectName,\n scripts: {\n build: 'next build',\n dev: 'next dev --experimental-https',\n format:\n 'prettier --write ./api ./app ./assets ./components ./lib ./store next.config.js',\n lint: 'next lint',\n start: 'next start',\n },\n dependencies: sortObjectKeys(dependencies),\n devDependencies: sortObjectKeys(devDependencies),\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction sortObjectKeys<T extends Record<string, any>>(obj: T): T {\n const sortedEntries = Object.keys(obj)\n .sort()\n .map((key) => [key, obj[key]] as [keyof T, T[keyof T]]);\n\n return Object.fromEntries(sortedEntries) as T;\n}\n\nfunction pick<T extends object, K extends keyof T>(\n obj: T,\n keys: K[]\n): Pick<T, K> {\n const result: Partial<T> = {};\n\n for (const key of keys) {\n if (key in obj) {\n result[key] = obj[key];\n }\n }\n\n return result as Pick<T, K>;\n}\n"],"mappings":"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AG;CAC5B;AACF;AAED,SAAS,kBAAkBH,aAAqBH,SAA0B;AACxE,KAAI,QAAQ,aAAa,4BAA4B;EACnD,MAAM,iBAAe;GACnB,GAAG,KAAK,gBAAW,cAAc;IAC/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD,EAAC;GACF,GAAG,KAAK,UAAe,CACrB,4BACA,2CACD,EAAC;EACH;EAED,MAAM,oBAAkB,EACtB,GAAG,KAAK,gBAAW,iBAAiB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD,EAAC,CACH;AAED,SAAO;GACL,GAAG;GACH,MAAM;GACN,SAAS;IACP,OAAO;IACP,KAAK;IACL,QACE;IACF,MAAM;IACN,OAAO;GACR;GACD,cAAc,eAAe,eAAa;GAC1C,iBAAiB,eAAe,kBAAgB;EACjD;CACF;CAED,MAAM,iBAAe;EACnB,GAAG,KAAK,gBAAW,cAAc;GAC/B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD,EAAC;EACF,GAAG,KAAK,UAAe,CACrB,4BACA,qCACD,EAAC;CACH;CAED,MAAM,oBAAkB,EACtB,GAAG,KAAK,gBAAW,iBAAiB;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,EAAC,CACH;AAED,QAAO;EACL,GAAG;EACH,MAAM;EACN,SAAS;GACP,OAAO;GACP,KAAK;GACL,QACE;GACF,MAAM;GACN,OAAO;EACR;EACD,cAAc,eAAe,eAAa;EAC1C,iBAAiB,eAAe,kBAAgB;CACjD;AACF;AAGD,SAAS,eAA8CO,KAAW;CAChE,MAAM,gBAAgB,OAAO,KAAK,IAAI,CACnC,MAAM,CACN,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAK,EAA0B;AAEzD,QAAO,OAAO,YAAY,cAAc;AACzC;AAED,SAAS,KACPA,KACAC,MACY;CACZ,MAAMC,SAAqB,CAAE;AAE7B,MAAK,MAAM,OAAO,KAChB,KAAI,OAAO,IACT,QAAO,OAAO,IAAI;AAItB,QAAO;AACR"}
|
package/dist/create-app.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,14 +1,95 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { create, cwd, getPackageManager } from "./create-app-
|
|
2
|
+
import { create, cwd, getPackageManager } from "./create-app-nsSHnNL3.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import { cancel, confirm, group, intro, isCancel, outro, select, spinner, text } from "@clack/prompts";
|
|
6
6
|
import pc from "picocolors";
|
|
7
7
|
|
|
8
|
+
//#region package.json
|
|
9
|
+
var name = "create-weave-frontend-app";
|
|
10
|
+
var version = "2.7.1";
|
|
11
|
+
var description = "Create a new frontend artifact for a site with Weave.js";
|
|
12
|
+
var keywords = [
|
|
13
|
+
"NextJs",
|
|
14
|
+
"next",
|
|
15
|
+
"react",
|
|
16
|
+
"Weave.js"
|
|
17
|
+
];
|
|
18
|
+
var homepage = "https://inditextech.github.io/weavejs";
|
|
19
|
+
var repository = "github:InditexTech/weavejs";
|
|
20
|
+
var license = "Apache-2.0";
|
|
21
|
+
var author = "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>";
|
|
22
|
+
var type = "module";
|
|
23
|
+
var bin = "./dist/index.js";
|
|
24
|
+
var module = "./dist/create-app.js";
|
|
25
|
+
var types = "./dist/create-app.d.ts";
|
|
26
|
+
var files = ["template/*", "dist/*"];
|
|
27
|
+
var scripts = {
|
|
28
|
+
"bump:snapshot": "tsc --noEmit && tsdown --sourcemap",
|
|
29
|
+
"build": "tsc --noEmit && tsdown",
|
|
30
|
+
"clean": "rimraf dist",
|
|
31
|
+
"dev": "tsdown --watch",
|
|
32
|
+
"format": "prettier --write ./src ./template",
|
|
33
|
+
"link": "npm link",
|
|
34
|
+
"lint:fix": "npm run lint -- --fix",
|
|
35
|
+
"lint": "eslint ./src",
|
|
36
|
+
"pack": "npm pack",
|
|
37
|
+
"publish:snapshot": "npm publish",
|
|
38
|
+
"release:perform": "npm publish --access public",
|
|
39
|
+
"release:prepare": "npm run verify",
|
|
40
|
+
"test": "echo \"No tests defined\" && exit 0",
|
|
41
|
+
"types:check": "tsc --noEmit",
|
|
42
|
+
"unpublish": "npm unpublish --force",
|
|
43
|
+
"verify": "npm run lint && npm run test && npm run build",
|
|
44
|
+
"version:development": "npm version $(npm version minor)-SNAPSHOT",
|
|
45
|
+
"version:release": "npm version $RELEASE_VERSION -m \"[npm-scripts] prepare release $RELEASE_VERSION\" --tag-version-prefix \"\""
|
|
46
|
+
};
|
|
47
|
+
var dependencies = {
|
|
48
|
+
"@clack/prompts": "^0.10.1",
|
|
49
|
+
"cross-spawn": "^7.0.6",
|
|
50
|
+
"picocolors": "^1.1.1"
|
|
51
|
+
};
|
|
52
|
+
var devDependencies = {
|
|
53
|
+
"@types/cross-spawn": "^6.0.6",
|
|
54
|
+
"@types/node": "22.14.1",
|
|
55
|
+
"fast-glob": "^3.3.3"
|
|
56
|
+
};
|
|
57
|
+
var engines = { "node": "^18.12 || ^20.11 || ^22.11" };
|
|
58
|
+
var publishConfig = { "access": "public" };
|
|
59
|
+
var nx = { "implicitDependencies": [
|
|
60
|
+
"@inditextech/weave-react",
|
|
61
|
+
"@inditextech/weave-sdk",
|
|
62
|
+
"@inditextech/weave-store-azure-web-pubsub",
|
|
63
|
+
"@inditextech/weave-store-websockets",
|
|
64
|
+
"@inditextech/weave-types"
|
|
65
|
+
] };
|
|
66
|
+
var package_default = {
|
|
67
|
+
name,
|
|
68
|
+
version,
|
|
69
|
+
description,
|
|
70
|
+
keywords,
|
|
71
|
+
homepage,
|
|
72
|
+
repository,
|
|
73
|
+
license,
|
|
74
|
+
author,
|
|
75
|
+
type,
|
|
76
|
+
bin,
|
|
77
|
+
module,
|
|
78
|
+
types,
|
|
79
|
+
files,
|
|
80
|
+
scripts,
|
|
81
|
+
dependencies,
|
|
82
|
+
devDependencies,
|
|
83
|
+
engines,
|
|
84
|
+
publishConfig,
|
|
85
|
+
nx
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
8
89
|
//#region src/index.ts
|
|
9
90
|
const manager = getPackageManager();
|
|
10
91
|
async function main() {
|
|
11
|
-
intro(pc.bgCyan(pc.bold(
|
|
92
|
+
intro(pc.bgCyan(pc.bold(`Create Weave.js Frontend App [${package_default.version}]`)));
|
|
12
93
|
const options = await group({
|
|
13
94
|
name: () => text({
|
|
14
95
|
message: "Project name",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["e: unknown"],"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport {\n cancel,\n confirm,\n group,\n intro,\n isCancel,\n outro,\n select,\n spinner,\n text,\n} from '@clack/prompts';\nimport pc from 'picocolors';\nimport { getPackageManager } from './auto-install';\nimport { type Template, create } from './create-app';\nimport { cwd } from './constants';\n\nconst manager = getPackageManager();\n\nasync function main(): Promise<void> {\n intro(pc.bgCyan(pc.bold(
|
|
1
|
+
{"version":3,"file":"index.js","names":["e: unknown"],"sources":["../package.json","../src/index.ts"],"sourcesContent":["{\n \"name\": \"create-weave-frontend-app\",\n \"version\": \"2.7.1\",\n \"description\": \"Create a new frontend artifact for a site with Weave.js\",\n \"keywords\": [\n \"NextJs\",\n \"next\",\n \"react\",\n \"Weave.js\"\n ],\n \"homepage\": \"https://inditextech.github.io/weavejs\",\n \"repository\": \"github:InditexTech/weavejs\",\n \"license\": \"Apache-2.0\",\n \"author\": \"Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>\",\n \"type\": \"module\",\n \"bin\": \"./dist/index.js\",\n \"module\": \"./dist/create-app.js\",\n \"types\": \"./dist/create-app.d.ts\",\n \"files\": [\n \"template/*\",\n \"dist/*\"\n ],\n \"scripts\": {\n \"bump:snapshot\": \"tsc --noEmit && tsdown --sourcemap\",\n \"build\": \"tsc --noEmit && tsdown\",\n \"clean\": \"rimraf dist\",\n \"dev\": \"tsdown --watch\",\n \"format\": \"prettier --write ./src ./template\",\n \"link\": \"npm link\",\n \"lint:fix\": \"npm run lint -- --fix\",\n \"lint\": \"eslint ./src\",\n \"pack\": \"npm pack\",\n \"publish:snapshot\": \"npm publish\",\n \"release:perform\": \"npm publish --access public\",\n \"release:prepare\": \"npm run verify\",\n \"test\": \"echo \\\"No tests defined\\\" && exit 0\",\n \"types:check\": \"tsc --noEmit\",\n \"unpublish\": \"npm unpublish --force\",\n \"verify\": \"npm run lint && npm run test && npm run build\",\n \"version:development\": \"npm version $(npm version minor)-SNAPSHOT\",\n \"version:release\": \"npm version $RELEASE_VERSION -m \\\"[npm-scripts] prepare release $RELEASE_VERSION\\\" --tag-version-prefix \\\"\\\"\"\n },\n \"dependencies\": {\n \"@clack/prompts\": \"^0.10.1\",\n \"cross-spawn\": \"^7.0.6\",\n \"picocolors\": \"^1.1.1\"\n },\n \"devDependencies\": {\n \"@types/cross-spawn\": \"^6.0.6\",\n \"@types/node\": \"22.14.1\",\n \"fast-glob\": \"^3.3.3\"\n },\n \"engines\": {\n \"node\": \"^18.12 || ^20.11 || ^22.11\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"nx\": {\n \"implicitDependencies\": [\n \"@inditextech/weave-react\",\n \"@inditextech/weave-sdk\",\n \"@inditextech/weave-store-azure-web-pubsub\",\n \"@inditextech/weave-store-websockets\",\n \"@inditextech/weave-types\"\n ]\n }\n}\n","#!/usr/bin/env node\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport {\n cancel,\n confirm,\n group,\n intro,\n isCancel,\n outro,\n select,\n spinner,\n text,\n} from '@clack/prompts';\nimport pc from 'picocolors';\nimport { getPackageManager } from './auto-install';\nimport { type Template, create } from './create-app';\nimport { cwd } from './constants';\nimport packageJson from '../package.json' assert { type: 'json' };\n\nconst manager = getPackageManager();\n\nasync function main(): Promise<void> {\n intro(\n pc.bgCyan(pc.bold(`Create Weave.js Frontend App [${packageJson.version}]`))\n );\n\n const options = await group(\n {\n name: () =>\n text({\n message: 'Project name',\n placeholder: 'my-app',\n defaultValue: 'my-app',\n }),\n template: () =>\n select({\n message: 'Choose a template',\n initialValue: '+nextjs+websockets' as Template,\n options: [\n {\n value: '+nextjs+websockets',\n label: 'Next.js: Weave.js Websockets Store',\n hint: 'recommended',\n },\n {\n value: '+nextjs+azure-web-pubsub',\n label: 'Next.js: Weave.js Azure Web Pubsub Store',\n },\n ],\n }),\n installDeps: () =>\n confirm({\n message: `Do you want to install packages automatically? (detected as ${manager})`,\n }),\n },\n {\n onCancel: () => {\n cancel('Installation Stopped.');\n process.exit(0);\n },\n }\n );\n\n const projectName = options.name.toLowerCase().replace(/\\s/, '-');\n const dest = path.resolve(cwd, projectName);\n\n const destDir = await fs.readdir(dest).catch(() => null);\n if (destDir && destDir.length > 0) {\n const del = await confirm({\n message: `directory ${projectName} already exists, do you want to delete its files?`,\n });\n\n if (isCancel(del)) {\n cancel();\n return;\n }\n\n if (del) {\n const info = spinner();\n info.start(`Deleting files in ${projectName}`);\n\n await Promise.all(\n destDir.map((item) => {\n return fs.rm(path.join(dest, item), {\n recursive: true,\n force: true,\n });\n })\n );\n\n info.stop(`Deleted files in ${projectName}`);\n }\n }\n\n const info = spinner();\n info.start(`Generating Project`);\n\n await create({\n packageManager: manager,\n template: options.template,\n outputDir: dest,\n installDeps: options.installDeps,\n log: (message) => {\n info.message(message);\n },\n });\n\n info.stop('Project Generated');\n\n outro(pc.bgGreen(pc.bold('Done')));\n\n console.log(pc.bold('\\nOpen the project'));\n console.log(pc.cyan(`cd ${projectName}`));\n\n console.log(pc.bold('\\nRun Development Server'));\n console.log(pc.cyan('npm run dev | pnpm run dev | yarn dev'));\n\n process.exit(0);\n}\n\nmain().catch((e: unknown) => {\n console.error(e);\n throw e;\n});\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const delImage = async (roomId: string, imageId: string) => {
|
|
2
2
|
const endpoint = `${process.env.NEXT_PUBLIC_API_ENDPOINT}/rooms/${roomId}/images/${imageId}`;
|
|
3
3
|
const response = await fetch(endpoint, {
|
|
4
|
-
method:
|
|
4
|
+
method: "DELETE",
|
|
5
5
|
});
|
|
6
6
|
const data = await response.json();
|
|
7
7
|
return data;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const getRoom = async (roomId: string) => {
|
|
2
|
+
const endpoint = `${process.env.NEXT_PUBLIC_API_ENDPOINT}/rooms/${roomId}`;
|
|
3
|
+
const response = await fetch(endpoint);
|
|
4
|
+
|
|
5
|
+
if (!response.ok && response.status === 404) {
|
|
6
|
+
throw new Error(`Room doesn't exist`);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const data = await response.bytes();
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: 2025 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
|
|
2
|
+
//
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import { WeaveExportNodesOptions } from "@inditextech/weave-types";
|
|
6
|
+
|
|
7
|
+
export const postExportToImage = async (
|
|
8
|
+
roomData: string,
|
|
9
|
+
nodes: string[],
|
|
10
|
+
options: WeaveExportNodesOptions,
|
|
11
|
+
responseType: "base64" | "blob" | "zip" = "zip",
|
|
12
|
+
) => {
|
|
13
|
+
const endpoint = `${process.env.NEXT_PUBLIC_API_ENDPOINT}/export`;
|
|
14
|
+
|
|
15
|
+
const exportPayload = {
|
|
16
|
+
roomData,
|
|
17
|
+
nodes,
|
|
18
|
+
options: {
|
|
19
|
+
format: options.format,
|
|
20
|
+
pixelRatio: options.pixelRatio,
|
|
21
|
+
padding: options.padding,
|
|
22
|
+
backgroundColor: options.backgroundColor,
|
|
23
|
+
...(options.format === "image/jpeg" && { quality: options.quality }),
|
|
24
|
+
},
|
|
25
|
+
responseType,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const response = await fetch(endpoint, {
|
|
29
|
+
method: "POST",
|
|
30
|
+
headers: {
|
|
31
|
+
"Content-Type": "application/json",
|
|
32
|
+
},
|
|
33
|
+
body: JSON.stringify(exportPayload),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
if (!response.ok) {
|
|
37
|
+
throw new Error("Failed to export room to image");
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (responseType === "zip") {
|
|
41
|
+
const blob = await response.blob();
|
|
42
|
+
|
|
43
|
+
return blob;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (responseType === "blob") {
|
|
47
|
+
const blob = await response.blob();
|
|
48
|
+
|
|
49
|
+
return blob;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (responseType === "base64") {
|
|
53
|
+
const data = await response.json();
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export const postImage = async (roomId: string, file: File) => {
|
|
2
2
|
const formData = new FormData();
|
|
3
|
-
formData.append(
|
|
3
|
+
formData.append("file", file);
|
|
4
4
|
|
|
5
5
|
const endpoint = `${process.env.NEXT_PUBLIC_API_ENDPOINT}/rooms/${roomId}/images`;
|
|
6
6
|
const response = await fetch(endpoint, {
|
|
7
|
-
method:
|
|
7
|
+
method: "POST",
|
|
8
8
|
body: formData,
|
|
9
9
|
});
|
|
10
10
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const postRemoveBackground = async (roomId: string, imageId: string) => {
|
|
2
2
|
const endpoint = `${process.env.NEXT_PUBLIC_API_ENDPOINT}/rooms/${roomId}/images/${imageId}/remove-background`;
|
|
3
3
|
const response = await fetch(endpoint, {
|
|
4
|
-
method:
|
|
4
|
+
method: "POST",
|
|
5
5
|
});
|
|
6
6
|
|
|
7
7
|
const data = await response.json();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { Metadata, Viewport } from
|
|
2
|
-
import { Inter } from
|
|
3
|
-
import
|
|
4
|
-
import { AppProviders } from
|
|
1
|
+
import type { Metadata, Viewport } from "next";
|
|
2
|
+
import { Inter } from "next/font/google";
|
|
3
|
+
import "./globals.css";
|
|
4
|
+
import { AppProviders } from "./providers";
|
|
5
5
|
|
|
6
6
|
const inter = Inter({
|
|
7
|
-
weight:
|
|
7
|
+
weight: "400",
|
|
8
8
|
preload: true,
|
|
9
|
-
variable:
|
|
10
|
-
subsets: [
|
|
9
|
+
variable: "--inter",
|
|
10
|
+
subsets: ["latin"],
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
export const viewport: Viewport = {
|
|
14
|
-
width:
|
|
14
|
+
width: "device-width",
|
|
15
15
|
initialScale: 1,
|
|
16
16
|
maximumScale: 1,
|
|
17
17
|
userScalable: false,
|
|
@@ -20,8 +20,8 @@ export const viewport: Viewport = {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export const metadata: Metadata = {
|
|
23
|
-
title:
|
|
24
|
-
description:
|
|
23
|
+
title: "WeaveJS Playground",
|
|
24
|
+
description: "This is a playground for WeaveJS",
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export default function RootLayout({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Room } from
|
|
2
|
-
import { NoSsr } from
|
|
1
|
+
import { Room } from "@/components/room/room";
|
|
2
|
+
import { NoSsr } from "@/components/room-components/no-ssr.tsx";
|
|
3
3
|
|
|
4
4
|
export default function RoomPage() {
|
|
5
5
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { WeaveAction, WeaveNode } from
|
|
2
|
-
import { WeaveElementInstance, WeaveSelection } from
|
|
3
|
-
import Konva from
|
|
1
|
+
import { WeaveAction, WeaveNode } from "@inditextech/weave-sdk";
|
|
2
|
+
import { WeaveElementInstance, WeaveSelection } from "@inditextech/weave-types";
|
|
3
|
+
import Konva from "konva";
|
|
4
4
|
|
|
5
5
|
export class AlignElementsToolAction extends WeaveAction {
|
|
6
6
|
protected cancelAction!: () => void;
|
|
@@ -8,7 +8,7 @@ export class AlignElementsToolAction extends WeaveAction {
|
|
|
8
8
|
onInit = undefined;
|
|
9
9
|
|
|
10
10
|
getName(): string {
|
|
11
|
-
return
|
|
11
|
+
return "alignElementsTool";
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
private alignElements(nodes: WeaveSelection[], gap: number) {
|
|
@@ -45,7 +45,7 @@ export class AlignElementsToolAction extends WeaveAction {
|
|
|
45
45
|
|
|
46
46
|
if (prevInstance) {
|
|
47
47
|
const handler = this.instance.getNodeHandler<WeaveNode>(
|
|
48
|
-
instance.getAttrs().nodeType
|
|
48
|
+
instance.getAttrs().nodeType,
|
|
49
49
|
);
|
|
50
50
|
const node = handler.serialize(instance as WeaveElementInstance);
|
|
51
51
|
|
|
@@ -74,10 +74,10 @@ export class AlignElementsToolAction extends WeaveAction {
|
|
|
74
74
|
|
|
75
75
|
trigger(
|
|
76
76
|
cancelAction: () => void,
|
|
77
|
-
{ gap = 20, nodes }: { gap: number; nodes: WeaveSelection[] }
|
|
77
|
+
{ gap = 20, nodes }: { gap: number; nodes: WeaveSelection[] },
|
|
78
78
|
) {
|
|
79
79
|
if (!this.instance) {
|
|
80
|
-
throw new Error(
|
|
80
|
+
throw new Error("Instance not defined");
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
const stage = this.instance.getStage();
|