@materi.ai/frame 1.0.0-rc.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.
Potentially problematic release.
This version of @materi.ai/frame might be problematic. Click here for more details.
- package/CHANGELOG.md +330 -0
- package/LICENSE +21 -0
- package/README.md +1124 -0
- package/dist/api/client.d.ts +66 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +112 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/endpoints/index.d.ts +186 -0
- package/dist/api/endpoints/index.d.ts.map +1 -0
- package/dist/api/endpoints/index.js +141 -0
- package/dist/api/endpoints/index.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +7 -0
- package/dist/api/index.js.map +1 -0
- package/dist/core/auth/index.d.ts +71 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/auth/index.js +189 -0
- package/dist/core/auth/index.js.map +1 -0
- package/dist/core/commands/index.d.ts +115 -0
- package/dist/core/commands/index.d.ts.map +1 -0
- package/dist/core/commands/index.js +321 -0
- package/dist/core/commands/index.js.map +1 -0
- package/dist/core/editors/index.d.ts +8 -0
- package/dist/core/editors/index.d.ts.map +1 -0
- package/dist/core/editors/index.js +8 -0
- package/dist/core/editors/index.js.map +1 -0
- package/dist/core/editors/presentation.d.ts +150 -0
- package/dist/core/editors/presentation.d.ts.map +1 -0
- package/dist/core/editors/presentation.js +255 -0
- package/dist/core/editors/presentation.js.map +1 -0
- package/dist/core/editors/rich-text.d.ts +93 -0
- package/dist/core/editors/rich-text.d.ts.map +1 -0
- package/dist/core/editors/rich-text.js +222 -0
- package/dist/core/editors/rich-text.js.map +1 -0
- package/dist/core/editors/spreadsheet.d.ts +108 -0
- package/dist/core/editors/spreadsheet.d.ts.map +1 -0
- package/dist/core/editors/spreadsheet.js +251 -0
- package/dist/core/editors/spreadsheet.js.map +1 -0
- package/dist/core/formula/index.d.ts +144 -0
- package/dist/core/formula/index.d.ts.map +1 -0
- package/dist/core/formula/index.js +269 -0
- package/dist/core/formula/index.js.map +1 -0
- package/dist/core/generated/index.d.ts +35 -0
- package/dist/core/generated/index.d.ts.map +1 -0
- package/dist/core/generated/index.js +41 -0
- package/dist/core/generated/index.js.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/domains/aria/v1.d.ts +75 -0
- package/dist/core/generated/manuscript/domains/aria/domains/aria/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/domains/aria/v1.js +304 -0
- package/dist/core/generated/manuscript/domains/aria/domains/aria/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/aria/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/aria/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/aria/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/aria/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/domains/audit/v1.d.ts +56 -0
- package/dist/core/generated/manuscript/domains/audit/domains/audit/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/domains/audit/v1.js +207 -0
- package/dist/core/generated/manuscript/domains/audit/domains/audit/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/audit/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/audit/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/audit/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/audit/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/domains/collaboration/v1.d.ts +71 -0
- package/dist/core/generated/manuscript/domains/collaboration/domains/collaboration/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/domains/collaboration/v1.js +270 -0
- package/dist/core/generated/manuscript/domains/collaboration/domains/collaboration/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/collaboration/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/collaboration/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/collaboration/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/collaboration/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/document/domains/document/v1.d.ts +61 -0
- package/dist/core/generated/manuscript/domains/document/domains/document/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/document/domains/document/v1.js +213 -0
- package/dist/core/generated/manuscript/domains/document/domains/document/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/document/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/document/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/document/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/document/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/document/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/domains/envelope/v1.d.ts +202 -0
- package/dist/core/generated/manuscript/domains/envelope/domains/envelope/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/domains/envelope/v1.js +199 -0
- package/dist/core/generated/manuscript/domains/envelope/domains/envelope/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/envelope/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/envelope/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/envelope/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/envelope/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/domains/notification/v1.d.ts +60 -0
- package/dist/core/generated/manuscript/domains/notification/domains/notification/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/domains/notification/v1.js +224 -0
- package/dist/core/generated/manuscript/domains/notification/domains/notification/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/notification/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/notification/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/notification/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/notification/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/user/domains/user/v1.d.ts +196 -0
- package/dist/core/generated/manuscript/domains/user/domains/user/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/user/domains/user/v1.js +471 -0
- package/dist/core/generated/manuscript/domains/user/domains/user/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/user/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/user/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/user/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/user/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/user/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/domains/workspace/v1.d.ts +68 -0
- package/dist/core/generated/manuscript/domains/workspace/domains/workspace/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/domains/workspace/v1.js +241 -0
- package/dist/core/generated/manuscript/domains/workspace/domains/workspace/v1.js.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/struct.d.ts +131 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/struct.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/struct.js +308 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/struct.js.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/manuscript/domains/workspace/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/domains/workspace/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/domains/workspace/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/domains/workspace/shared/v1.js.map +1 -0
- package/dist/core/generated/manuscript/shared/google/protobuf/descriptor.d.ts +1340 -0
- package/dist/core/generated/manuscript/shared/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/core/generated/manuscript/shared/google/protobuf/descriptor.js +2965 -0
- package/dist/core/generated/manuscript/shared/google/protobuf/descriptor.js.map +1 -0
- package/dist/core/generated/manuscript/shared/shared/v1.d.ts +132 -0
- package/dist/core/generated/manuscript/shared/shared/v1.d.ts.map +1 -0
- package/dist/core/generated/manuscript/shared/shared/v1.js +431 -0
- package/dist/core/generated/manuscript/shared/shared/v1.js.map +1 -0
- package/dist/core/generated/shared/base_event.d.ts +82 -0
- package/dist/core/generated/shared/base_event.d.ts.map +1 -0
- package/dist/core/generated/shared/base_event.js +261 -0
- package/dist/core/generated/shared/base_event.js.map +1 -0
- package/dist/core/generated/shared/collaboration_events.d.ts +226 -0
- package/dist/core/generated/shared/collaboration_events.d.ts.map +1 -0
- package/dist/core/generated/shared/collaboration_events.js +990 -0
- package/dist/core/generated/shared/collaboration_events.js.map +1 -0
- package/dist/core/generated/shared/document_events.d.ts +189 -0
- package/dist/core/generated/shared/document_events.d.ts.map +1 -0
- package/dist/core/generated/shared/document_events.js +808 -0
- package/dist/core/generated/shared/document_events.js.map +1 -0
- package/dist/core/generated/shared/google/protobuf/timestamp.d.ts +133 -0
- package/dist/core/generated/shared/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/core/generated/shared/google/protobuf/timestamp.js +41 -0
- package/dist/core/generated/shared/google/protobuf/timestamp.js.map +1 -0
- package/dist/core/generated/shared/user_events.d.ts +137 -0
- package/dist/core/generated/shared/user_events.d.ts.map +1 -0
- package/dist/core/generated/shared/user_events.js +55 -0
- package/dist/core/generated/shared/user_events.js.map +1 -0
- package/dist/core/generated/shared/workspace_events.d.ts +144 -0
- package/dist/core/generated/shared/workspace_events.d.ts.map +1 -0
- package/dist/core/generated/shared/workspace_events.js +61 -0
- package/dist/core/generated/shared/workspace_events.js.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +45 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/ot/index.d.ts +106 -0
- package/dist/core/ot/index.d.ts.map +1 -0
- package/dist/core/ot/index.js +293 -0
- package/dist/core/ot/index.js.map +1 -0
- package/dist/core/presence/index.d.ts +195 -0
- package/dist/core/presence/index.d.ts.map +1 -0
- package/dist/core/presence/index.js +364 -0
- package/dist/core/presence/index.js.map +1 -0
- package/dist/core/search/index.d.ts +103 -0
- package/dist/core/search/index.d.ts.map +1 -0
- package/dist/core/search/index.js +268 -0
- package/dist/core/search/index.js.map +1 -0
- package/dist/core/types/index.d.ts +389 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +113 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/undo/commands.d.ts +109 -0
- package/dist/core/undo/commands.d.ts.map +1 -0
- package/dist/core/undo/commands.js +219 -0
- package/dist/core/undo/commands.js.map +1 -0
- package/dist/core/undo/index.d.ts +6 -0
- package/dist/core/undo/index.d.ts.map +1 -0
- package/dist/core/undo/index.js +6 -0
- package/dist/core/undo/index.js.map +1 -0
- package/dist/core/undo/manager.d.ts +94 -0
- package/dist/core/undo/manager.d.ts.map +1 -0
- package/dist/core/undo/manager.js +215 -0
- package/dist/core/undo/manager.js.map +1 -0
- package/dist/core/websocket/index.d.ts +105 -0
- package/dist/core/websocket/index.d.ts.map +1 -0
- package/dist/core/websocket/index.js +268 -0
- package/dist/core/websocket/index.js.map +1 -0
- package/dist/hooks/api/index.d.ts +18 -0
- package/dist/hooks/api/index.d.ts.map +1 -0
- package/dist/hooks/api/index.js +11 -0
- package/dist/hooks/api/index.js.map +1 -0
- package/dist/hooks/api/types.d.ts +70 -0
- package/dist/hooks/api/types.d.ts.map +1 -0
- package/dist/hooks/api/types.js +6 -0
- package/dist/hooks/api/types.js.map +1 -0
- package/dist/hooks/api/useDocument.d.ts +16 -0
- package/dist/hooks/api/useDocument.d.ts.map +1 -0
- package/dist/hooks/api/useDocument.js +81 -0
- package/dist/hooks/api/useDocument.js.map +1 -0
- package/dist/hooks/api/useFetch.d.ts +20 -0
- package/dist/hooks/api/useFetch.d.ts.map +1 -0
- package/dist/hooks/api/useFetch.js +69 -0
- package/dist/hooks/api/useFetch.js.map +1 -0
- package/dist/hooks/api/useForm.d.ts +30 -0
- package/dist/hooks/api/useForm.d.ts.map +1 -0
- package/dist/hooks/api/useForm.js +86 -0
- package/dist/hooks/api/useForm.js.map +1 -0
- package/dist/hooks/api/usePagination.d.ts +19 -0
- package/dist/hooks/api/usePagination.d.ts.map +1 -0
- package/dist/hooks/api/usePagination.js +60 -0
- package/dist/hooks/api/usePagination.js.map +1 -0
- package/dist/hooks/api/useSearch.d.ts +23 -0
- package/dist/hooks/api/useSearch.d.ts.map +1 -0
- package/dist/hooks/api/useSearch.js +44 -0
- package/dist/hooks/api/useSearch.js.map +1 -0
- package/dist/hooks/api/useUser.d.ts +15 -0
- package/dist/hooks/api/useUser.d.ts.map +1 -0
- package/dist/hooks/api/useUser.js +64 -0
- package/dist/hooks/api/useUser.js.map +1 -0
- package/dist/hooks/aria/index.d.ts +14 -0
- package/dist/hooks/aria/index.d.ts.map +1 -0
- package/dist/hooks/aria/index.js +9 -0
- package/dist/hooks/aria/index.js.map +1 -0
- package/dist/hooks/aria/types.d.ts +41 -0
- package/dist/hooks/aria/types.d.ts.map +1 -0
- package/dist/hooks/aria/types.js +6 -0
- package/dist/hooks/aria/types.js.map +1 -0
- package/dist/hooks/aria/useAI.d.ts +17 -0
- package/dist/hooks/aria/useAI.d.ts.map +1 -0
- package/dist/hooks/aria/useAI.js +40 -0
- package/dist/hooks/aria/useAI.js.map +1 -0
- package/dist/hooks/aria/useAIAnalysis.d.ts +13 -0
- package/dist/hooks/aria/useAIAnalysis.d.ts.map +1 -0
- package/dist/hooks/aria/useAIAnalysis.js +43 -0
- package/dist/hooks/aria/useAIAnalysis.js.map +1 -0
- package/dist/hooks/aria/useAIGrading.d.ts +13 -0
- package/dist/hooks/aria/useAIGrading.d.ts.map +1 -0
- package/dist/hooks/aria/useAIGrading.js +43 -0
- package/dist/hooks/aria/useAIGrading.js.map +1 -0
- package/dist/hooks/aria/useAISuggestions.d.ts +13 -0
- package/dist/hooks/aria/useAISuggestions.d.ts.map +1 -0
- package/dist/hooks/aria/useAISuggestions.js +39 -0
- package/dist/hooks/aria/useAISuggestions.js.map +1 -0
- package/dist/hooks/constants.d.ts +29 -0
- package/dist/hooks/constants.d.ts.map +1 -0
- package/dist/hooks/constants.js +29 -0
- package/dist/hooks/constants.js.map +1 -0
- package/dist/hooks/context/index.d.ts +32 -0
- package/dist/hooks/context/index.d.ts.map +1 -0
- package/dist/hooks/context/index.js +87 -0
- package/dist/hooks/context/index.js.map +1 -0
- package/dist/hooks/errors.d.ts +27 -0
- package/dist/hooks/errors.d.ts.map +1 -0
- package/dist/hooks/errors.js +45 -0
- package/dist/hooks/errors.js.map +1 -0
- package/dist/hooks/folio/index.d.ts +16 -0
- package/dist/hooks/folio/index.d.ts.map +1 -0
- package/dist/hooks/folio/index.js +10 -0
- package/dist/hooks/folio/index.js.map +1 -0
- package/dist/hooks/folio/types.d.ts +67 -0
- package/dist/hooks/folio/types.d.ts.map +1 -0
- package/dist/hooks/folio/types.js +6 -0
- package/dist/hooks/folio/types.js.map +1 -0
- package/dist/hooks/folio/useAnomalyDetection.d.ts +14 -0
- package/dist/hooks/folio/useAnomalyDetection.d.ts.map +1 -0
- package/dist/hooks/folio/useAnomalyDetection.js +40 -0
- package/dist/hooks/folio/useAnomalyDetection.js.map +1 -0
- package/dist/hooks/folio/useErrorTracking.d.ts +13 -0
- package/dist/hooks/folio/useErrorTracking.d.ts.map +1 -0
- package/dist/hooks/folio/useErrorTracking.js +36 -0
- package/dist/hooks/folio/useErrorTracking.js.map +1 -0
- package/dist/hooks/folio/useHealthCheck.d.ts +13 -0
- package/dist/hooks/folio/useHealthCheck.d.ts.map +1 -0
- package/dist/hooks/folio/useHealthCheck.js +50 -0
- package/dist/hooks/folio/useHealthCheck.js.map +1 -0
- package/dist/hooks/folio/useMetrics.d.ts +14 -0
- package/dist/hooks/folio/useMetrics.d.ts.map +1 -0
- package/dist/hooks/folio/useMetrics.js +54 -0
- package/dist/hooks/folio/useMetrics.js.map +1 -0
- package/dist/hooks/folio/usePerformance.d.ts +16 -0
- package/dist/hooks/folio/usePerformance.d.ts.map +1 -0
- package/dist/hooks/folio/usePerformance.js +64 -0
- package/dist/hooks/folio/usePerformance.js.map +1 -0
- package/dist/hooks/index.d.ts +32 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +50 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/relay/index.d.ts +16 -0
- package/dist/hooks/relay/index.d.ts.map +1 -0
- package/dist/hooks/relay/index.js +10 -0
- package/dist/hooks/relay/index.js.map +1 -0
- package/dist/hooks/relay/types.d.ts +77 -0
- package/dist/hooks/relay/types.d.ts.map +1 -0
- package/dist/hooks/relay/types.js +6 -0
- package/dist/hooks/relay/types.js.map +1 -0
- package/dist/hooks/relay/useCollaboration.d.ts +16 -0
- package/dist/hooks/relay/useCollaboration.d.ts.map +1 -0
- package/dist/hooks/relay/useCollaboration.js +41 -0
- package/dist/hooks/relay/useCollaboration.js.map +1 -0
- package/dist/hooks/relay/useOT.d.ts +8 -0
- package/dist/hooks/relay/useOT.d.ts.map +1 -0
- package/dist/hooks/relay/useOT.js +67 -0
- package/dist/hooks/relay/useOT.js.map +1 -0
- package/dist/hooks/relay/useOTSync.d.ts +8 -0
- package/dist/hooks/relay/useOTSync.d.ts.map +1 -0
- package/dist/hooks/relay/useOTSync.js +57 -0
- package/dist/hooks/relay/useOTSync.js.map +1 -0
- package/dist/hooks/relay/usePresence.d.ts +8 -0
- package/dist/hooks/relay/usePresence.d.ts.map +1 -0
- package/dist/hooks/relay/usePresence.js +36 -0
- package/dist/hooks/relay/usePresence.js.map +1 -0
- package/dist/hooks/relay/useWebSocket.d.ts +14 -0
- package/dist/hooks/relay/useWebSocket.d.ts.map +1 -0
- package/dist/hooks/relay/useWebSocket.js +89 -0
- package/dist/hooks/relay/useWebSocket.js.map +1 -0
- package/dist/hooks/services/ApiClient.d.ts +69 -0
- package/dist/hooks/services/ApiClient.d.ts.map +1 -0
- package/dist/hooks/services/ApiClient.js +182 -0
- package/dist/hooks/services/ApiClient.js.map +1 -0
- package/dist/hooks/services/AriaClient.d.ts +51 -0
- package/dist/hooks/services/AriaClient.d.ts.map +1 -0
- package/dist/hooks/services/AriaClient.js +172 -0
- package/dist/hooks/services/AriaClient.js.map +1 -0
- package/dist/hooks/services/FolioClient.d.ts +73 -0
- package/dist/hooks/services/FolioClient.d.ts.map +1 -0
- package/dist/hooks/services/FolioClient.js +241 -0
- package/dist/hooks/services/FolioClient.js.map +1 -0
- package/dist/hooks/services/RelayClient.d.ts +50 -0
- package/dist/hooks/services/RelayClient.d.ts.map +1 -0
- package/dist/hooks/services/RelayClient.js +241 -0
- package/dist/hooks/services/RelayClient.js.map +1 -0
- package/dist/hooks/services/ShieldClient.d.ts +76 -0
- package/dist/hooks/services/ShieldClient.d.ts.map +1 -0
- package/dist/hooks/services/ShieldClient.js +267 -0
- package/dist/hooks/services/ShieldClient.js.map +1 -0
- package/dist/hooks/services/index.d.ts +10 -0
- package/dist/hooks/services/index.d.ts.map +1 -0
- package/dist/hooks/services/index.js +10 -0
- package/dist/hooks/services/index.js.map +1 -0
- package/dist/hooks/shield/index.d.ts +16 -0
- package/dist/hooks/shield/index.d.ts.map +1 -0
- package/dist/hooks/shield/index.js +10 -0
- package/dist/hooks/shield/index.js.map +1 -0
- package/dist/hooks/shield/types.d.ts +66 -0
- package/dist/hooks/shield/types.d.ts.map +1 -0
- package/dist/hooks/shield/types.js +6 -0
- package/dist/hooks/shield/types.js.map +1 -0
- package/dist/hooks/shield/useAdmin.d.ts +16 -0
- package/dist/hooks/shield/useAdmin.d.ts.map +1 -0
- package/dist/hooks/shield/useAdmin.js +35 -0
- package/dist/hooks/shield/useAdmin.js.map +1 -0
- package/dist/hooks/shield/useAuth.d.ts +16 -0
- package/dist/hooks/shield/useAuth.d.ts.map +1 -0
- package/dist/hooks/shield/useAuth.js +64 -0
- package/dist/hooks/shield/useAuth.js.map +1 -0
- package/dist/hooks/shield/useOrganization.d.ts +15 -0
- package/dist/hooks/shield/useOrganization.d.ts.map +1 -0
- package/dist/hooks/shield/useOrganization.js +64 -0
- package/dist/hooks/shield/useOrganization.js.map +1 -0
- package/dist/hooks/shield/usePermissions.d.ts +14 -0
- package/dist/hooks/shield/usePermissions.d.ts.map +1 -0
- package/dist/hooks/shield/usePermissions.js +43 -0
- package/dist/hooks/shield/usePermissions.js.map +1 -0
- package/dist/hooks/shield/useWorkspace.d.ts +15 -0
- package/dist/hooks/shield/useWorkspace.d.ts.map +1 -0
- package/dist/hooks/shield/useWorkspace.js +64 -0
- package/dist/hooks/shield/useWorkspace.js.map +1 -0
- package/dist/hooks/types.d.ts +33 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +7 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks/utils/index.d.ts +20 -0
- package/dist/hooks/utils/index.d.ts.map +1 -0
- package/dist/hooks/utils/index.js +12 -0
- package/dist/hooks/utils/index.js.map +1 -0
- package/dist/hooks/utils/types.d.ts +45 -0
- package/dist/hooks/utils/types.d.ts.map +1 -0
- package/dist/hooks/utils/types.js +6 -0
- package/dist/hooks/utils/types.js.map +1 -0
- package/dist/hooks/utils/useAsync.d.ts +13 -0
- package/dist/hooks/utils/useAsync.d.ts.map +1 -0
- package/dist/hooks/utils/useAsync.js +36 -0
- package/dist/hooks/utils/useAsync.js.map +1 -0
- package/dist/hooks/utils/useCommandPalette.d.ts +8 -0
- package/dist/hooks/utils/useCommandPalette.d.ts.map +1 -0
- package/dist/hooks/utils/useCommandPalette.js +40 -0
- package/dist/hooks/utils/useCommandPalette.js.map +1 -0
- package/dist/hooks/utils/useDebounce.d.ts +8 -0
- package/dist/hooks/utils/useDebounce.d.ts.map +1 -0
- package/dist/hooks/utils/useDebounce.js +25 -0
- package/dist/hooks/utils/useDebounce.js.map +1 -0
- package/dist/hooks/utils/useLocalStorage.d.ts +12 -0
- package/dist/hooks/utils/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/utils/useLocalStorage.js +51 -0
- package/dist/hooks/utils/useLocalStorage.js.map +1 -0
- package/dist/hooks/utils/useOnClickOutside.d.ts +8 -0
- package/dist/hooks/utils/useOnClickOutside.d.ts.map +1 -0
- package/dist/hooks/utils/useOnClickOutside.js +17 -0
- package/dist/hooks/utils/useOnClickOutside.js.map +1 -0
- package/dist/hooks/utils/useThrottle.d.ts +8 -0
- package/dist/hooks/utils/useThrottle.d.ts.map +1 -0
- package/dist/hooks/utils/useThrottle.js +35 -0
- package/dist/hooks/utils/useThrottle.js.map +1 -0
- package/dist/hooks/utils/useUndoRedo.d.ts +20 -0
- package/dist/hooks/utils/useUndoRedo.d.ts.map +1 -0
- package/dist/hooks/utils/useUndoRedo.js +58 -0
- package/dist/hooks/utils/useUndoRedo.js.map +1 -0
- package/dist/hooks/utils/useWindowResize.d.ts +8 -0
- package/dist/hooks/utils/useWindowResize.d.ts.map +1 -0
- package/dist/hooks/utils/useWindowResize.js +16 -0
- package/dist/hooks/utils/useWindowResize.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/ui/index.d.ts +11 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +14 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/primitives/accordion/Accordion.d.ts +40 -0
- package/dist/ui/primitives/accordion/Accordion.d.ts.map +1 -0
- package/dist/ui/primitives/accordion/Accordion.js +47 -0
- package/dist/ui/primitives/accordion/Accordion.js.map +1 -0
- package/dist/ui/primitives/accordion/index.d.ts +3 -0
- package/dist/ui/primitives/accordion/index.d.ts.map +1 -0
- package/dist/ui/primitives/accordion/index.js +2 -0
- package/dist/ui/primitives/accordion/index.js.map +1 -0
- package/dist/ui/primitives/alert/Alert.d.ts +37 -0
- package/dist/ui/primitives/alert/Alert.d.ts.map +1 -0
- package/dist/ui/primitives/alert/Alert.js +52 -0
- package/dist/ui/primitives/alert/Alert.js.map +1 -0
- package/dist/ui/primitives/alert/index.d.ts +3 -0
- package/dist/ui/primitives/alert/index.d.ts.map +1 -0
- package/dist/ui/primitives/alert/index.js +2 -0
- package/dist/ui/primitives/alert/index.js.map +1 -0
- package/dist/ui/primitives/badge/Badge.d.ts +29 -0
- package/dist/ui/primitives/badge/Badge.d.ts.map +1 -0
- package/dist/ui/primitives/badge/Badge.js +36 -0
- package/dist/ui/primitives/badge/Badge.js.map +1 -0
- package/dist/ui/primitives/badge/index.d.ts +3 -0
- package/dist/ui/primitives/badge/index.d.ts.map +1 -0
- package/dist/ui/primitives/badge/index.js +2 -0
- package/dist/ui/primitives/badge/index.js.map +1 -0
- package/dist/ui/primitives/button/Button.d.ts +31 -0
- package/dist/ui/primitives/button/Button.d.ts.map +1 -0
- package/dist/ui/primitives/button/Button.js +26 -0
- package/dist/ui/primitives/button/Button.js.map +1 -0
- package/dist/ui/primitives/button/index.d.ts +3 -0
- package/dist/ui/primitives/button/index.d.ts.map +1 -0
- package/dist/ui/primitives/button/index.js +2 -0
- package/dist/ui/primitives/button/index.js.map +1 -0
- package/dist/ui/primitives/card/Card.d.ts +34 -0
- package/dist/ui/primitives/card/Card.d.ts.map +1 -0
- package/dist/ui/primitives/card/Card.js +28 -0
- package/dist/ui/primitives/card/Card.js.map +1 -0
- package/dist/ui/primitives/card/index.d.ts +3 -0
- package/dist/ui/primitives/card/index.d.ts.map +1 -0
- package/dist/ui/primitives/card/index.js +2 -0
- package/dist/ui/primitives/card/index.js.map +1 -0
- package/dist/ui/primitives/checkbox/Checkbox.d.ts +26 -0
- package/dist/ui/primitives/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/ui/primitives/checkbox/Checkbox.js +31 -0
- package/dist/ui/primitives/checkbox/Checkbox.js.map +1 -0
- package/dist/ui/primitives/checkbox/index.d.ts +3 -0
- package/dist/ui/primitives/checkbox/index.d.ts.map +1 -0
- package/dist/ui/primitives/checkbox/index.js +2 -0
- package/dist/ui/primitives/checkbox/index.js.map +1 -0
- package/dist/ui/primitives/dialog/Dialog.d.ts +57 -0
- package/dist/ui/primitives/dialog/Dialog.d.ts.map +1 -0
- package/dist/ui/primitives/dialog/Dialog.js +60 -0
- package/dist/ui/primitives/dialog/Dialog.js.map +1 -0
- package/dist/ui/primitives/dialog/index.d.ts +3 -0
- package/dist/ui/primitives/dialog/index.d.ts.map +1 -0
- package/dist/ui/primitives/dialog/index.js +2 -0
- package/dist/ui/primitives/dialog/index.js.map +1 -0
- package/dist/ui/primitives/dropdown/Dropdown.d.ts +43 -0
- package/dist/ui/primitives/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/ui/primitives/dropdown/Dropdown.js +60 -0
- package/dist/ui/primitives/dropdown/Dropdown.js.map +1 -0
- package/dist/ui/primitives/dropdown/index.d.ts +3 -0
- package/dist/ui/primitives/dropdown/index.d.ts.map +1 -0
- package/dist/ui/primitives/dropdown/index.js +2 -0
- package/dist/ui/primitives/dropdown/index.js.map +1 -0
- package/dist/ui/primitives/index.d.ts +46 -0
- package/dist/ui/primitives/index.d.ts.map +1 -0
- package/dist/ui/primitives/index.js +34 -0
- package/dist/ui/primitives/index.js.map +1 -0
- package/dist/ui/primitives/input/Input.d.ts +47 -0
- package/dist/ui/primitives/input/Input.d.ts.map +1 -0
- package/dist/ui/primitives/input/Input.js +36 -0
- package/dist/ui/primitives/input/Input.js.map +1 -0
- package/dist/ui/primitives/input/index.d.ts +3 -0
- package/dist/ui/primitives/input/index.d.ts.map +1 -0
- package/dist/ui/primitives/input/index.js +2 -0
- package/dist/ui/primitives/input/index.js.map +1 -0
- package/dist/ui/primitives/label/Label.d.ts +22 -0
- package/dist/ui/primitives/label/Label.d.ts.map +1 -0
- package/dist/ui/primitives/label/Label.js +23 -0
- package/dist/ui/primitives/label/Label.js.map +1 -0
- package/dist/ui/primitives/label/index.d.ts +3 -0
- package/dist/ui/primitives/label/index.d.ts.map +1 -0
- package/dist/ui/primitives/label/index.js +2 -0
- package/dist/ui/primitives/label/index.js.map +1 -0
- package/dist/ui/primitives/popover/Popover.d.ts +39 -0
- package/dist/ui/primitives/popover/Popover.d.ts.map +1 -0
- package/dist/ui/primitives/popover/Popover.js +53 -0
- package/dist/ui/primitives/popover/Popover.js.map +1 -0
- package/dist/ui/primitives/popover/index.d.ts +3 -0
- package/dist/ui/primitives/popover/index.d.ts.map +1 -0
- package/dist/ui/primitives/popover/index.js +2 -0
- package/dist/ui/primitives/popover/index.js.map +1 -0
- package/dist/ui/primitives/radio/Radio.d.ts +22 -0
- package/dist/ui/primitives/radio/Radio.d.ts.map +1 -0
- package/dist/ui/primitives/radio/Radio.js +24 -0
- package/dist/ui/primitives/radio/Radio.js.map +1 -0
- package/dist/ui/primitives/radio/index.d.ts +3 -0
- package/dist/ui/primitives/radio/index.d.ts.map +1 -0
- package/dist/ui/primitives/radio/index.js +2 -0
- package/dist/ui/primitives/radio/index.js.map +1 -0
- package/dist/ui/primitives/select/Select.d.ts +41 -0
- package/dist/ui/primitives/select/Select.d.ts.map +1 -0
- package/dist/ui/primitives/select/Select.js +31 -0
- package/dist/ui/primitives/select/Select.js.map +1 -0
- package/dist/ui/primitives/select/index.d.ts +3 -0
- package/dist/ui/primitives/select/index.d.ts.map +1 -0
- package/dist/ui/primitives/select/index.js +2 -0
- package/dist/ui/primitives/select/index.js.map +1 -0
- package/dist/ui/primitives/spinner/Spinner.d.ts +26 -0
- package/dist/ui/primitives/spinner/Spinner.d.ts.map +1 -0
- package/dist/ui/primitives/spinner/Spinner.js +30 -0
- package/dist/ui/primitives/spinner/Spinner.js.map +1 -0
- package/dist/ui/primitives/spinner/index.d.ts +3 -0
- package/dist/ui/primitives/spinner/index.d.ts.map +1 -0
- package/dist/ui/primitives/spinner/index.js +2 -0
- package/dist/ui/primitives/spinner/index.js.map +1 -0
- package/dist/ui/primitives/switch/Switch.d.ts +22 -0
- package/dist/ui/primitives/switch/Switch.d.ts.map +1 -0
- package/dist/ui/primitives/switch/Switch.js +27 -0
- package/dist/ui/primitives/switch/Switch.js.map +1 -0
- package/dist/ui/primitives/switch/index.d.ts +3 -0
- package/dist/ui/primitives/switch/index.d.ts.map +1 -0
- package/dist/ui/primitives/switch/index.js +2 -0
- package/dist/ui/primitives/switch/index.js.map +1 -0
- package/dist/ui/primitives/tabs/Tabs.d.ts +37 -0
- package/dist/ui/primitives/tabs/Tabs.d.ts.map +1 -0
- package/dist/ui/primitives/tabs/Tabs.js +36 -0
- package/dist/ui/primitives/tabs/Tabs.js.map +1 -0
- package/dist/ui/primitives/tabs/index.d.ts +3 -0
- package/dist/ui/primitives/tabs/index.d.ts.map +1 -0
- package/dist/ui/primitives/tabs/index.js +2 -0
- package/dist/ui/primitives/tabs/index.js.map +1 -0
- package/dist/ui/primitives/textarea/TextArea.d.ts +40 -0
- package/dist/ui/primitives/textarea/TextArea.d.ts.map +1 -0
- package/dist/ui/primitives/textarea/TextArea.js +32 -0
- package/dist/ui/primitives/textarea/TextArea.js.map +1 -0
- package/dist/ui/primitives/textarea/index.d.ts +3 -0
- package/dist/ui/primitives/textarea/index.d.ts.map +1 -0
- package/dist/ui/primitives/textarea/index.js +2 -0
- package/dist/ui/primitives/textarea/index.js.map +1 -0
- package/dist/ui/primitives/toast/Toast.d.ts +48 -0
- package/dist/ui/primitives/toast/Toast.d.ts.map +1 -0
- package/dist/ui/primitives/toast/Toast.js +87 -0
- package/dist/ui/primitives/toast/Toast.js.map +1 -0
- package/dist/ui/primitives/toast/index.d.ts +3 -0
- package/dist/ui/primitives/toast/index.d.ts.map +1 -0
- package/dist/ui/primitives/toast/index.js +2 -0
- package/dist/ui/primitives/toast/index.js.map +1 -0
- package/dist/ui/styles/index.css +193 -0
- package/dist/ui/tokens/design-tokens.d.ts +509 -0
- package/dist/ui/tokens/design-tokens.d.ts.map +1 -0
- package/dist/ui/tokens/design-tokens.js +300 -0
- package/dist/ui/tokens/design-tokens.js.map +1 -0
- package/dist/ui/tokens/index.d.ts +9 -0
- package/dist/ui/tokens/index.d.ts.map +1 -0
- package/dist/ui/tokens/index.js +12 -0
- package/dist/ui/tokens/index.js.map +1 -0
- package/package.json +212 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @materi.ai/hooks
|
|
3
|
+
* Service-oriented React hooks for Materi platform
|
|
4
|
+
*
|
|
5
|
+
* This package is organized by backend services:
|
|
6
|
+
* - shield/ : Authentication, authorization, workspaces
|
|
7
|
+
* - api/ : Data operations, CRUD, documents
|
|
8
|
+
* - relay/ : Real-time collaboration, WebSocket, OT
|
|
9
|
+
* - aria/ : AI features, analysis, suggestions, grading
|
|
10
|
+
* - folio/ : Observability, monitoring, metrics, health
|
|
11
|
+
* - utils/ : Cross-cutting utilities, storage, helpers
|
|
12
|
+
*/
|
|
13
|
+
// ═══════════════════════════════════════════════════════════════
|
|
14
|
+
// SHIELD SERVICE HOOKS (Authentication & Admin)
|
|
15
|
+
// ═══════════════════════════════════════════════════════════════
|
|
16
|
+
export { useAdmin, useAuth, useOrganization, usePermissions, useWorkspace } from './shield';
|
|
17
|
+
// ═══════════════════════════════════════════════════════════════
|
|
18
|
+
// API SERVICE HOOKS (Data Operations)
|
|
19
|
+
// ═══════════════════════════════════════════════════════════════
|
|
20
|
+
export { useDocument, useFetch, useForm, useLazyFetch, usePagination, useSearch, useUser } from './api';
|
|
21
|
+
// ═══════════════════════════════════════════════════════════════
|
|
22
|
+
// RELAY SERVICE HOOKS (Realtime Collaboration)
|
|
23
|
+
// ═══════════════════════════════════════════════════════════════
|
|
24
|
+
export { useCollaboration, useOT, useOTSync, usePresence, useWebSocket } from './relay';
|
|
25
|
+
// ═══════════════════════════════════════════════════════════════
|
|
26
|
+
// ARIA SERVICE HOOKS (AI Features)
|
|
27
|
+
// ═══════════════════════════════════════════════════════════════
|
|
28
|
+
export { useAI, useAIAnalysis, useAIGrading, useAISuggestions } from './aria';
|
|
29
|
+
// ═══════════════════════════════════════════════════════════════
|
|
30
|
+
// FOLIO SERVICE HOOKS (Observability)
|
|
31
|
+
// ═══════════════════════════════════════════════════════════════
|
|
32
|
+
export { useAnomalyDetection, useErrorTracking, useHealthCheck, useMemoComputation, useMetrics, usePerformance } from './folio';
|
|
33
|
+
// ═══════════════════════════════════════════════════════════════
|
|
34
|
+
// UTILITY HOOKS (Cross-cutting Concerns)
|
|
35
|
+
// ═══════════════════════════════════════════════════════════════
|
|
36
|
+
export { useAsync, useDebounce, useLocalStorage, useOnClickOutside, useThrottle, useUndoRedo, useWindowResize } from './utils';
|
|
37
|
+
// ═══════════════════════════════════════════════════════════════
|
|
38
|
+
// SERVICE CLIENTS (Optional: Direct Access)
|
|
39
|
+
// ═══════════════════════════════════════════════════════════════
|
|
40
|
+
export { ApiClient, AriaClient, FolioClient, RelayClient, ShieldClient } from './services';
|
|
41
|
+
// ═══════════════════════════════════════════════════════════════
|
|
42
|
+
// CONTEXT PROVIDERS & UTILITIES
|
|
43
|
+
// ═══════════════════════════════════════════════════════════════
|
|
44
|
+
export { ServiceContext, ServiceProvider, useApiClient, useAriaClient, useFolioClient, useRelayClient, useServiceContext, useShieldClient } from './context';
|
|
45
|
+
// ═══════════════════════════════════════════════════════════════
|
|
46
|
+
// SHARED TYPES & UTILITIES
|
|
47
|
+
// ═══════════════════════════════════════════════════════════════
|
|
48
|
+
export { CACHE_TTL, DEFAULT_TIMEOUTS, HTTP_METHODS, SERVICES } from './constants';
|
|
49
|
+
export { AuthenticationError, AuthorizationError, HookError, NetworkError, ServiceUnavailableError, ValidationError } from './errors';
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kEAAkE;AAClE,gDAAgD;AAChD,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM5F,kEAAkE;AAClE,sCAAsC;AACtC,kEAAkE;AAClE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQxG,kEAAkE;AAClE,+CAA+C;AAC/C,kEAAkE;AAClE,OAAO,EACH,gBAAgB,EAAE,KAAK,EACvB,SAAS,EACT,WAAW,EAAE,YAAY,EAC5B,MAAM,SAAS,CAAC;AAUjB,kEAAkE;AAClE,mCAAmC;AACnC,kEAAkE;AAClE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAK9E,kEAAkE;AAClE,sCAAsC;AACtC,kEAAkE;AAClE,OAAO,EACH,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EACzE,UAAU,EAAE,cAAc,EAC7B,MAAM,SAAS,CAAC;AAMjB,kEAAkE;AAClE,yCAAyC;AACzC,kEAAkE;AAClE,OAAO,EACH,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EACvG,MAAM,SAAS,CAAC;AAMjB,kEAAkE;AAClE,4CAA4C;AAC5C,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM3F,kEAAkE;AAClE,gCAAgC;AAChC,kEAAkE;AAClE,OAAO,EACH,cAAc,EACd,eAAe,EAAE,YAAY,EAAE,aAAa,EAC5C,cAAc,EAAE,cAAc,EAAE,iBAAiB,EACjD,eAAe,EAClB,MAAM,WAAW,CAAC;AAGnB,kEAAkE;AAClE,2BAA2B;AAC3B,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EACxF,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relay Service Hooks
|
|
3
|
+
* Real-time collaboration, WebSocket, OT, presence
|
|
4
|
+
*/
|
|
5
|
+
export type { UseWebSocketOptions, WebSocketMessage } from './types';
|
|
6
|
+
export { useWebSocket } from './useWebSocket';
|
|
7
|
+
export type { UseOTOptions, UseOTReturn } from './types';
|
|
8
|
+
export { useOT } from './useOT';
|
|
9
|
+
export type { UseOTSyncOptions, UseOTSyncReturn } from './types';
|
|
10
|
+
export { useOTSync } from './useOTSync';
|
|
11
|
+
export type { UsePresenceOptions, UsePresenceReturn } from './types';
|
|
12
|
+
export { usePresence } from './usePresence';
|
|
13
|
+
export type { UseCollaborationOptions } from './types';
|
|
14
|
+
export { useCollaboration } from './useCollaboration';
|
|
15
|
+
export type * from './types';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relay/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,mBAAmB,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relay Service Hooks
|
|
3
|
+
* Real-time collaboration, WebSocket, OT, presence
|
|
4
|
+
*/
|
|
5
|
+
export { useWebSocket } from './useWebSocket';
|
|
6
|
+
export { useOT } from './useOT';
|
|
7
|
+
export { useOTSync } from './useOTSync';
|
|
8
|
+
export { usePresence } from './usePresence';
|
|
9
|
+
export { useCollaboration } from './useCollaboration';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/relay/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relay Service Types
|
|
3
|
+
* Real-time collaboration, WebSocket, OT, presence
|
|
4
|
+
*/
|
|
5
|
+
export interface WebSocketMessage {
|
|
6
|
+
type: string;
|
|
7
|
+
data: unknown;
|
|
8
|
+
timestamp?: number;
|
|
9
|
+
clientId?: string;
|
|
10
|
+
userId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface UseWebSocketOptions {
|
|
13
|
+
autoConnect?: boolean;
|
|
14
|
+
reconnectInterval?: number;
|
|
15
|
+
maxReconnectAttempts?: number;
|
|
16
|
+
onMessage?: (message: WebSocketMessage) => void;
|
|
17
|
+
onConnected?: () => void;
|
|
18
|
+
onDisconnected?: () => void;
|
|
19
|
+
onError?: (error: Error) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface UseOTOptions {
|
|
22
|
+
initialContent?: string;
|
|
23
|
+
userId?: string;
|
|
24
|
+
clientId?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface UseOTReturn {
|
|
27
|
+
content: string;
|
|
28
|
+
version: number;
|
|
29
|
+
applyChange: (changes: unknown) => boolean;
|
|
30
|
+
insertText: (index: number, text: string) => boolean;
|
|
31
|
+
deleteText: (index: number, length: number) => boolean;
|
|
32
|
+
undo: () => boolean;
|
|
33
|
+
redo: () => boolean;
|
|
34
|
+
reset: (content: string) => void;
|
|
35
|
+
}
|
|
36
|
+
export interface UseOTSyncOptions extends UseOTOptions {
|
|
37
|
+
wsUrl?: string;
|
|
38
|
+
syncInterval?: number;
|
|
39
|
+
maxRetries?: number;
|
|
40
|
+
onSyncComplete?: () => void;
|
|
41
|
+
onSyncError?: (error: Error) => void;
|
|
42
|
+
}
|
|
43
|
+
export interface UseOTSyncReturn extends UseOTReturn {
|
|
44
|
+
isSyncing: boolean;
|
|
45
|
+
isConnected: boolean;
|
|
46
|
+
syncError: Error | null;
|
|
47
|
+
syncNow: () => Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export interface UserPresence {
|
|
50
|
+
userId: string;
|
|
51
|
+
clientId: string;
|
|
52
|
+
cursor?: {
|
|
53
|
+
line: number;
|
|
54
|
+
column: number;
|
|
55
|
+
};
|
|
56
|
+
selection?: {
|
|
57
|
+
start: number;
|
|
58
|
+
end: number;
|
|
59
|
+
};
|
|
60
|
+
color?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface UsePresenceOptions {
|
|
63
|
+
documentId?: string;
|
|
64
|
+
onError?: (error: Error) => void;
|
|
65
|
+
}
|
|
66
|
+
export interface UsePresenceReturn {
|
|
67
|
+
collaborators: UserPresence[];
|
|
68
|
+
localPresence: UserPresence | null;
|
|
69
|
+
updatePresence: (presence: Partial<UserPresence>) => Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
export interface UseCollaborationOptions {
|
|
72
|
+
documentId: string;
|
|
73
|
+
userId: string;
|
|
74
|
+
wsUrl?: string;
|
|
75
|
+
onError?: (error: Error) => void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/relay/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/relay/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useCollaboration Hook
|
|
3
|
+
* Combined collaboration hook (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import type { UseCollaborationOptions } from './types';
|
|
6
|
+
export declare const useCollaboration: ({ documentId, userId, wsUrl, onError, }: UseCollaborationOptions) => {
|
|
7
|
+
isActive: boolean;
|
|
8
|
+
error: Error;
|
|
9
|
+
documentId: string;
|
|
10
|
+
userId: string;
|
|
11
|
+
wsUrl: string;
|
|
12
|
+
startCollaboration: () => Promise<void>;
|
|
13
|
+
stopCollaboration: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
export type { UseCollaborationOptions } from './types';
|
|
16
|
+
//# sourceMappingURL=useCollaboration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../src/relay/useCollaboration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,yCAK9B,uBAAuB;;;;;;;;CAuCzB,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useCollaboration Hook
|
|
3
|
+
* Combined collaboration hook (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useState } from 'react';
|
|
6
|
+
export const useCollaboration = ({ documentId, userId, wsUrl, onError, }) => {
|
|
7
|
+
const [isActive, setIsActive] = useState(false);
|
|
8
|
+
const [error, setError] = useState(null);
|
|
9
|
+
const handleError = useCallback((err) => {
|
|
10
|
+
setError(err);
|
|
11
|
+
onError?.(err);
|
|
12
|
+
}, [onError]);
|
|
13
|
+
const startCollaboration = useCallback(async () => {
|
|
14
|
+
try {
|
|
15
|
+
setIsActive(true);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
const error = err instanceof Error ? err : new Error('Failed to start collaboration');
|
|
19
|
+
handleError(error);
|
|
20
|
+
}
|
|
21
|
+
}, [handleError]);
|
|
22
|
+
const stopCollaboration = useCallback(async () => {
|
|
23
|
+
try {
|
|
24
|
+
setIsActive(false);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
const error = err instanceof Error ? err : new Error('Failed to stop collaboration');
|
|
28
|
+
handleError(error);
|
|
29
|
+
}
|
|
30
|
+
}, [handleError]);
|
|
31
|
+
return {
|
|
32
|
+
isActive,
|
|
33
|
+
error,
|
|
34
|
+
documentId,
|
|
35
|
+
userId,
|
|
36
|
+
wsUrl,
|
|
37
|
+
startCollaboration,
|
|
38
|
+
stopCollaboration,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useCollaboration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollaboration.js","sourceRoot":"","sources":["../../src/relay/useCollaboration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,GACiB,EAAE,EAAE;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,GAAU,EAAE,EAAE;QACb,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACtF,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC;YACH,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACrF,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO;QACL,QAAQ;QACR,KAAK;QACL,UAAU;QACV,MAAM;QACN,KAAK;QACL,kBAAkB;QAClB,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOT Hook
|
|
3
|
+
* Operational Transform engine (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import type { UseOTOptions, UseOTReturn } from './types';
|
|
6
|
+
export declare const useOT: (options?: UseOTOptions) => UseOTReturn;
|
|
7
|
+
export type { UseOTOptions, UseOTReturn } from './types';
|
|
8
|
+
//# sourceMappingURL=useOT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOT.d.ts","sourceRoot":"","sources":["../../src/relay/useOT.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,WA+DlD,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOT Hook
|
|
3
|
+
* Operational Transform engine (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useRef, useState } from 'react';
|
|
6
|
+
export const useOT = (options = {}) => {
|
|
7
|
+
const [content, setContent] = useState(options.initialContent || '');
|
|
8
|
+
const [version, setVersion] = useState(0);
|
|
9
|
+
const undoStackRef = useRef([]);
|
|
10
|
+
const redoStackRef = useRef([]);
|
|
11
|
+
const applyChange = useCallback((_changes) => {
|
|
12
|
+
return true;
|
|
13
|
+
}, []);
|
|
14
|
+
const insertText = useCallback((index, text) => {
|
|
15
|
+
if (!text)
|
|
16
|
+
return false;
|
|
17
|
+
setContent((prev) => prev.slice(0, index) + text + prev.slice(index));
|
|
18
|
+
setVersion((v) => v + 1);
|
|
19
|
+
return true;
|
|
20
|
+
}, []);
|
|
21
|
+
const deleteText = useCallback((index, length) => {
|
|
22
|
+
if (length <= 0)
|
|
23
|
+
return false;
|
|
24
|
+
setContent((prev) => prev.slice(0, index) + prev.slice(index + length));
|
|
25
|
+
setVersion((v) => v + 1);
|
|
26
|
+
return true;
|
|
27
|
+
}, []);
|
|
28
|
+
const undo = useCallback(() => {
|
|
29
|
+
if (undoStackRef.current.length === 0)
|
|
30
|
+
return false;
|
|
31
|
+
const state = undoStackRef.current.pop();
|
|
32
|
+
if (state) {
|
|
33
|
+
redoStackRef.current.push(content);
|
|
34
|
+
setContent(state);
|
|
35
|
+
setVersion((v) => v + 1);
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}, [content]);
|
|
39
|
+
const redo = useCallback(() => {
|
|
40
|
+
if (redoStackRef.current.length === 0)
|
|
41
|
+
return false;
|
|
42
|
+
const state = redoStackRef.current.pop();
|
|
43
|
+
if (state) {
|
|
44
|
+
undoStackRef.current.push(content);
|
|
45
|
+
setContent(state);
|
|
46
|
+
setVersion((v) => v + 1);
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
}, [content]);
|
|
50
|
+
const reset = useCallback((newContent) => {
|
|
51
|
+
setContent(newContent);
|
|
52
|
+
setVersion(0);
|
|
53
|
+
undoStackRef.current = [];
|
|
54
|
+
redoStackRef.current = [];
|
|
55
|
+
}, []);
|
|
56
|
+
return {
|
|
57
|
+
content,
|
|
58
|
+
version,
|
|
59
|
+
applyChange,
|
|
60
|
+
insertText,
|
|
61
|
+
deleteText,
|
|
62
|
+
undo,
|
|
63
|
+
redo,
|
|
64
|
+
reset,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=useOT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOT.js","sourceRoot":"","sources":["../../src/relay/useOT.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOTSync Hook
|
|
3
|
+
* OT engine with WebSocket synchronization (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import type { UseOTSyncOptions, UseOTSyncReturn } from './types';
|
|
6
|
+
export declare const useOTSync: (options?: UseOTSyncOptions) => UseOTSyncReturn;
|
|
7
|
+
export type { UseOTSyncOptions, UseOTSyncReturn } from './types';
|
|
8
|
+
//# sourceMappingURL=useOTSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOTSync.d.ts","sourceRoot":"","sources":["../../src/relay/useOTSync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIjE,eAAO,MAAM,SAAS,GAAI,UAAS,gBAAqB,KAAG,eAoD1D,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOTSync Hook
|
|
3
|
+
* OT engine with WebSocket synchronization (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
|
+
import { useOT } from './useOT';
|
|
7
|
+
import { useWebSocket } from './useWebSocket';
|
|
8
|
+
export const useOTSync = (options = {}) => {
|
|
9
|
+
const otHook = useOT(options);
|
|
10
|
+
const [isSyncing, setIsSyncing] = useState(false);
|
|
11
|
+
const [syncError, setSyncError] = useState(null);
|
|
12
|
+
const pendingChangesRef = useRef([]);
|
|
13
|
+
// WebSocket connection
|
|
14
|
+
const ws = useWebSocket(options.wsUrl || '', {
|
|
15
|
+
autoConnect: Boolean(options.wsUrl),
|
|
16
|
+
maxReconnectAttempts: options.maxRetries || 3,
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Trigger sync now
|
|
20
|
+
*/
|
|
21
|
+
const syncNow = useCallback(async () => {
|
|
22
|
+
if (isSyncing || !ws.isConnected)
|
|
23
|
+
return;
|
|
24
|
+
setIsSyncing(true);
|
|
25
|
+
try {
|
|
26
|
+
// Sync logic would go here
|
|
27
|
+
options.onSyncComplete?.();
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const error = err instanceof Error ? err : new Error('Sync failed');
|
|
31
|
+
setSyncError(error);
|
|
32
|
+
options.onSyncError?.(error);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
setIsSyncing(false);
|
|
36
|
+
}
|
|
37
|
+
}, [isSyncing, ws.isConnected, options]);
|
|
38
|
+
/**
|
|
39
|
+
* Periodic sync
|
|
40
|
+
*/
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!options.syncInterval)
|
|
43
|
+
return;
|
|
44
|
+
const interval = setInterval(() => {
|
|
45
|
+
void syncNow();
|
|
46
|
+
}, options.syncInterval);
|
|
47
|
+
return () => clearInterval(interval);
|
|
48
|
+
}, [options.syncInterval, syncNow]);
|
|
49
|
+
return {
|
|
50
|
+
...otHook,
|
|
51
|
+
isSyncing,
|
|
52
|
+
isConnected: ws.isConnected,
|
|
53
|
+
syncError,
|
|
54
|
+
syncNow,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=useOTSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOTSync.js","sourceRoot":"","sources":["../../src/relay/useOTSync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAA4B,EAAE,EAAmB,EAAE;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAE/D,MAAM,iBAAiB,GAAG,MAAM,CAAY,EAAE,CAAC,CAAC;IAEhD,uBAAuB;IACvB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;QAC3C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,oBAAoB,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;KAC9C,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC,WAAW;YAAE,OAAO;QAEzC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,2BAA2B;YAC3B,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACpE,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO;QAElC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,OAAO;QACL,GAAG,MAAM;QACT,SAAS;QACT,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePresence Hook
|
|
3
|
+
* User presence tracking (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import type { UsePresenceOptions, UsePresenceReturn } from './types';
|
|
6
|
+
export declare const usePresence: ({ documentId, onError, }?: UsePresenceOptions) => UsePresenceReturn;
|
|
7
|
+
export type { UsePresenceOptions, UsePresenceReturn } from './types';
|
|
8
|
+
//# sourceMappingURL=usePresence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePresence.d.ts","sourceRoot":"","sources":["../../src/relay/usePresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAgB,MAAM,SAAS,CAAC;AAEnF,eAAO,MAAM,WAAW,GAAI,2BAGzB,kBAAuB,KAAG,iBAqC5B,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePresence Hook
|
|
3
|
+
* User presence tracking (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useState } from 'react';
|
|
6
|
+
export const usePresence = ({ documentId, onError, } = {}) => {
|
|
7
|
+
const [collaborators, setCollaborators] = useState([]);
|
|
8
|
+
const [localPresence, setLocalPresence] = useState(null);
|
|
9
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
10
|
+
const [error, setError] = useState(null);
|
|
11
|
+
const handleError = useCallback((err) => {
|
|
12
|
+
setError(err);
|
|
13
|
+
onError?.(err);
|
|
14
|
+
}, [onError]);
|
|
15
|
+
const updatePresence = useCallback(async (presence) => {
|
|
16
|
+
setIsLoading(true);
|
|
17
|
+
setError(null);
|
|
18
|
+
try {
|
|
19
|
+
const updated = { ...localPresence, ...presence };
|
|
20
|
+
setLocalPresence(updated);
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
const error = err instanceof Error ? err : new Error('Failed to update presence');
|
|
24
|
+
handleError(error);
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
setIsLoading(false);
|
|
28
|
+
}
|
|
29
|
+
}, [localPresence, handleError]);
|
|
30
|
+
return {
|
|
31
|
+
collaborators,
|
|
32
|
+
localPresence,
|
|
33
|
+
updatePresence,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=usePresence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePresence.js","sourceRoot":"","sources":["../../src/relay/usePresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,OAAO,MACe,EAAE,EAAqB,EAAE;IAC/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,GAAU,EAAE,EAAE;QACb,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EAAE,QAA+B,EAAE,EAAE;QACxC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,QAAQ,EAAkB,CAAC;YAClE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAClF,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,WAAW,CAAC,CAC7B,CAAC;IAEF,OAAO;QACL,aAAa;QACb,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useWebSocket Hook
|
|
3
|
+
* WebSocket connection management (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import type { UseWebSocketOptions, WebSocketMessage } from './types';
|
|
6
|
+
export declare const useWebSocket: (url: string, options?: UseWebSocketOptions) => {
|
|
7
|
+
isConnected: boolean;
|
|
8
|
+
lastMessage: WebSocketMessage;
|
|
9
|
+
connect: () => void;
|
|
10
|
+
disconnect: () => void;
|
|
11
|
+
send: (message: WebSocketMessage) => void;
|
|
12
|
+
};
|
|
13
|
+
export type { UseWebSocketOptions, WebSocketMessage } from './types';
|
|
14
|
+
//# sourceMappingURL=useWebSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebSocket.d.ts","sourceRoot":"","sources":["../../src/relay/useWebSocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAErE,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,UAAS,mBAAwB;;;;;oBAgFtC,gBAAgB;CAuBpD,CAAC;AAEF,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useWebSocket Hook
|
|
3
|
+
* WebSocket connection management (Relay service)
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
|
+
export const useWebSocket = (url, options = {}) => {
|
|
7
|
+
const { autoConnect = true, reconnectInterval = 3000, maxReconnectAttempts = 5, onMessage, onConnected, onDisconnected, onError, } = options;
|
|
8
|
+
const wsRef = useRef(null);
|
|
9
|
+
const reconnectCountRef = useRef(0);
|
|
10
|
+
const reconnectTimeoutRef = useRef(null);
|
|
11
|
+
const [isConnected, setIsConnected] = useState(false);
|
|
12
|
+
const [lastMessage, setLastMessage] = useState(null);
|
|
13
|
+
const connect = useCallback(() => {
|
|
14
|
+
if (wsRef.current?.readyState === WebSocket.OPEN) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (!url)
|
|
18
|
+
return;
|
|
19
|
+
try {
|
|
20
|
+
const ws = new WebSocket(url);
|
|
21
|
+
ws.onopen = () => {
|
|
22
|
+
setIsConnected(true);
|
|
23
|
+
reconnectCountRef.current = 0;
|
|
24
|
+
onConnected?.();
|
|
25
|
+
};
|
|
26
|
+
ws.onmessage = (event) => {
|
|
27
|
+
try {
|
|
28
|
+
const message = JSON.parse(event.data);
|
|
29
|
+
setLastMessage(message);
|
|
30
|
+
onMessage?.(message);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
console.error('Failed to parse WebSocket message:', err);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
ws.onerror = (_event) => {
|
|
37
|
+
const error = new Error('WebSocket error');
|
|
38
|
+
onError?.(error);
|
|
39
|
+
};
|
|
40
|
+
ws.onclose = () => {
|
|
41
|
+
setIsConnected(false);
|
|
42
|
+
onDisconnected?.();
|
|
43
|
+
// Attempt reconnect
|
|
44
|
+
if (reconnectCountRef.current < maxReconnectAttempts) {
|
|
45
|
+
reconnectCountRef.current++;
|
|
46
|
+
reconnectTimeoutRef.current = setTimeout(() => {
|
|
47
|
+
connect();
|
|
48
|
+
}, reconnectInterval);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
wsRef.current = ws;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
const error = err instanceof Error ? err : new Error('Failed to connect WebSocket');
|
|
55
|
+
onError?.(error);
|
|
56
|
+
}
|
|
57
|
+
}, [url, reconnectInterval, maxReconnectAttempts, onConnected, onDisconnected, onMessage, onError]);
|
|
58
|
+
const disconnect = useCallback(() => {
|
|
59
|
+
if (reconnectTimeoutRef.current) {
|
|
60
|
+
clearTimeout(reconnectTimeoutRef.current);
|
|
61
|
+
}
|
|
62
|
+
if (wsRef.current) {
|
|
63
|
+
wsRef.current.close();
|
|
64
|
+
wsRef.current = null;
|
|
65
|
+
}
|
|
66
|
+
setIsConnected(false);
|
|
67
|
+
}, []);
|
|
68
|
+
const send = useCallback((message) => {
|
|
69
|
+
if (wsRef.current?.readyState === WebSocket.OPEN) {
|
|
70
|
+
wsRef.current.send(JSON.stringify(message));
|
|
71
|
+
}
|
|
72
|
+
}, []);
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (autoConnect) {
|
|
75
|
+
connect();
|
|
76
|
+
}
|
|
77
|
+
return () => {
|
|
78
|
+
disconnect();
|
|
79
|
+
};
|
|
80
|
+
}, [autoConnect, connect, disconnect]);
|
|
81
|
+
return {
|
|
82
|
+
isConnected,
|
|
83
|
+
lastMessage,
|
|
84
|
+
connect,
|
|
85
|
+
disconnect,
|
|
86
|
+
send,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=useWebSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebSocket.js","sourceRoot":"","sources":["../../src/relay/useWebSocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAA+B,EAAE,EAAE,EAAE;IAC7E,MAAM,EACJ,WAAW,GAAG,IAAI,EAClB,iBAAiB,GAAG,IAAI,EACxB,oBAAoB,GAAG,CAAC,EACxB,SAAS,EACT,WAAW,EACX,cAAc,EACd,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,mBAAmB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE/E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACf,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9B,WAAW,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC;YAEF,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;oBAC3D,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxB,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC;YAEF,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBAChB,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,cAAc,EAAE,EAAE,CAAC;gBAEnB,oBAAoB;gBACpB,IAAI,iBAAiB,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;oBACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC;oBAC5B,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5C,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;YAEF,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpG,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,OAAyB,EAAE,EAAE;QACrD,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACjD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,GAAG,EAAE;YACV,UAAU,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,OAAO;QACL,WAAW;QACX,WAAW;QACX,OAAO;QACP,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC,CAAC"}
|