@tutti-os/workbench-surface 0.0.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/LICENSE +202 -0
- package/README.md +162 -0
- package/dist/chunk-HKGIYOGM.js +190 -0
- package/dist/chunk-HKGIYOGM.js.map +1 -0
- package/dist/i18n/index.d.ts +11 -0
- package/dist/i18n/index.js +23 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +717 -0
- package/dist/index.js +8654 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/workbench.css +2698 -0
- package/dist/styles/workbenchStyle.test.ts +307 -0
- package/dist/workbenchHostI18n-5xMPPBkf.d.ts +27 -0
- package/package.json +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
7
|
+
|
|
8
|
+
1. Definitions.
|
|
9
|
+
|
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
12
|
+
|
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
14
|
+
the copyright owner that is granting the License.
|
|
15
|
+
|
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
17
|
+
other entities that control, are controlled by, or are under common
|
|
18
|
+
control with that entity. For the purposes of this definition,
|
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
20
|
+
direction or management of such entity, whether by contract or
|
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
23
|
+
|
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
25
|
+
exercising permissions granted by this License.
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
28
|
+
including but not limited to software source code, documentation
|
|
29
|
+
source, and configuration files.
|
|
30
|
+
|
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
|
32
|
+
transformation or translation of a Source form, including but
|
|
33
|
+
not limited to compiled object code, generated documentation,
|
|
34
|
+
and conversions to other media types.
|
|
35
|
+
|
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
37
|
+
Object form, made available under the License, as indicated by a
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
40
|
+
|
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
62
|
+
|
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
65
|
+
subsequently incorporated within the Work.
|
|
66
|
+
|
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
|
73
|
+
|
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
89
|
+
|
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
92
|
+
modifications, and in Source or Object form, provided that You
|
|
93
|
+
meet the following conditions:
|
|
94
|
+
|
|
95
|
+
(a) You must give any other recipients of the Work or
|
|
96
|
+
Derivative Works a copy of this License; and
|
|
97
|
+
|
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
|
99
|
+
stating that You changed the files; and
|
|
100
|
+
|
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
|
103
|
+
attribution notices from the Source form of the Work,
|
|
104
|
+
excluding those notices that do not pertain to any part of
|
|
105
|
+
the Derivative Works; and
|
|
106
|
+
|
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
|
109
|
+
include a readable copy of the attribution notices contained
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
138
|
+
|
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
143
|
+
|
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
178
|
+
|
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
180
|
+
|
|
181
|
+
To apply the Apache License to your work, attach the following
|
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
183
|
+
replaced with your own identifying information. (Don't include
|
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
185
|
+
comment syntax for the file format. We also recommend that a
|
|
186
|
+
file or class name and description of purpose be included on the
|
|
187
|
+
same "printed page" as the copyright notice for easier
|
|
188
|
+
identification within third-party archives.
|
|
189
|
+
|
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
|
191
|
+
|
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
|
+
you may not use this file except in compliance with the License.
|
|
194
|
+
You may obtain a copy of the License at
|
|
195
|
+
|
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
197
|
+
|
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
201
|
+
See the License for the specific language governing permissions and
|
|
202
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# @tutti-os/workbench-surface
|
|
2
|
+
|
|
3
|
+
Shared React workbench surface primitives for rendering neutral workbench nodes.
|
|
4
|
+
|
|
5
|
+
Consumers can import the workbench surface stylesheet once from the application
|
|
6
|
+
shell. It pulls in the shared UI-system defaults first, then layers the
|
|
7
|
+
workbench structural styles on top:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import "@tutti-os/workbench-surface/styles.css";
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Hosts that already import `@tutti-os/ui-system/styles.css` elsewhere may keep
|
|
14
|
+
doing so, then import `@tutti-os/workbench-surface/styles.css` for the
|
|
15
|
+
structural layer.
|
|
16
|
+
|
|
17
|
+
The package owns workbench surface behavior, frame-level rendering contracts,
|
|
18
|
+
and shell snapshot persistence mechanics. Applications still own product state,
|
|
19
|
+
node bodies, business persistence, and persistence adapters, while window-chrome
|
|
20
|
+
i18n now flows through the shared app-level i18n runtime instead of injected
|
|
21
|
+
label objects.
|
|
22
|
+
|
|
23
|
+
## Host State And Lifecycle Boundaries
|
|
24
|
+
|
|
25
|
+
`WorkbenchHost` owns shell mechanics:
|
|
26
|
+
|
|
27
|
+
- projected node reconciliation
|
|
28
|
+
- launch request dispatch
|
|
29
|
+
- opening, restoring, and focusing windows
|
|
30
|
+
- dock rendering and default window actions
|
|
31
|
+
- snapshot persistence for shell state
|
|
32
|
+
|
|
33
|
+
The consuming host owns product behavior:
|
|
34
|
+
|
|
35
|
+
- business instance creation and reuse policy
|
|
36
|
+
- external node and workspace business state
|
|
37
|
+
- business-state commits and reducers
|
|
38
|
+
- close policy for host-owned instances
|
|
39
|
+
- external store subscriptions
|
|
40
|
+
|
|
41
|
+
When a node body or header needs host-owned business state, pass an
|
|
42
|
+
`externalStateSource`. The source is read into render context as
|
|
43
|
+
`externalNodeState` and `externalWorkspaceState`. If the source exposes
|
|
44
|
+
`subscribe(...)`, the host re-renders when that subscription notifies.
|
|
45
|
+
|
|
46
|
+
Host-owned business instances are represented with `projectedNodes`. A
|
|
47
|
+
projected node tells the workbench that a shell should currently exist for a
|
|
48
|
+
host-owned instance; the workbench reconciles that presence with snapshot
|
|
49
|
+
layout and live shell state.
|
|
50
|
+
|
|
51
|
+
Dock entries are configured at the host level through `dockEntries`, separate
|
|
52
|
+
from node definitions. Dock entry identity drives slot ordering, grouping,
|
|
53
|
+
anchor lookup, popup aggregation, badge state, and launch payload dispatch.
|
|
54
|
+
Entries may also provide host-owned popup metadata through
|
|
55
|
+
`resolvePopupItem(...)` and `capturePopupItemPreview(...)`, plus custom badge
|
|
56
|
+
content when the default count or status shapes are not enough.
|
|
57
|
+
|
|
58
|
+
Dock, shortcut, and command opens flow through `launchNode(...)` and the
|
|
59
|
+
optional `onLaunchRequest(...)` callback. The host may create a business
|
|
60
|
+
instance asynchronously, then return the shell identity, title, default frame,
|
|
61
|
+
required `framePolicy` (`"cascade"` to offset from the active node or
|
|
62
|
+
`"absolute"` to keep host coordinates), stable `dockEntryId`, and optional
|
|
63
|
+
one-shot activation payload. Activations and launch payloads are transient
|
|
64
|
+
render signals and are not persisted.
|
|
65
|
+
|
|
66
|
+
Runtime external business state is not written to the Workbench snapshot. Hosts
|
|
67
|
+
that need durable node-specific state should expose it through
|
|
68
|
+
`getSnapshotNodeState(...)`; Workbench stores that value as `snapshotNodeState`.
|
|
69
|
+
Node bodies that need live-only coordination can write `runtimeNodeState` through
|
|
70
|
+
`setNodeRuntimeState(...)`; refresh-safe state uses `setSnapshotNodeState(...)`.
|
|
71
|
+
The snapshot also stores shell state such as nodes, frames, stack order, and
|
|
72
|
+
host node metadata. Snapshots are sanitized before save so transient render data
|
|
73
|
+
such as activation payloads, runtime status, or live subscriptions do not become
|
|
74
|
+
layout truth.
|
|
75
|
+
|
|
76
|
+
Hosts that need to address shells from outside a render context can use
|
|
77
|
+
`createWorkbenchHostProjectedNodeId(...)` for projected presence and
|
|
78
|
+
`createWorkbenchHostLaunchedNodeId(...)` for launch-created shells. These
|
|
79
|
+
helpers only derive stable shell ids; layout restore and stack reconciliation
|
|
80
|
+
remain owned by `WorkbenchHost`.
|
|
81
|
+
|
|
82
|
+
## Contributions
|
|
83
|
+
|
|
84
|
+
Hosts may keep using the explicit `WorkbenchHost` props directly. For larger
|
|
85
|
+
hosts, `WorkbenchHost` also accepts optional `contributions` that can provide
|
|
86
|
+
node definitions, dock entries, external state, launch handlers, and node-close
|
|
87
|
+
handlers. Contributions may also provide `prepareHostClose(...)` when a module
|
|
88
|
+
needs to finish or cancel host-wide close before the consuming app closes its
|
|
89
|
+
workbench shell.
|
|
90
|
+
|
|
91
|
+
Contributions are additive. Explicit top-level props remain supported and keep
|
|
92
|
+
override authority for compatibility:
|
|
93
|
+
|
|
94
|
+
- explicit `nodes` override contribution nodes with the same `typeId`
|
|
95
|
+
- explicit `dockEntries` override contribution dock entries with the same `id`
|
|
96
|
+
- explicit `externalStateSource` fully replaces contribution external-state
|
|
97
|
+
sources
|
|
98
|
+
- explicit launch and node-close handlers run before contribution handlers
|
|
99
|
+
|
|
100
|
+
Top-level shell inputs such as `snapshotRepository`, `workspaceId`,
|
|
101
|
+
`missionControl`, layout constraints, wallpaper, and chrome renderers remain
|
|
102
|
+
owned by the consuming host rather than contributions. The consuming host also
|
|
103
|
+
decides when to invoke host-close preparation; `workbench-surface` only owns the
|
|
104
|
+
contribution contract and deterministic composition helper.
|
|
105
|
+
|
|
106
|
+
For hosts that already use contributions, new workbench modules should prefer
|
|
107
|
+
adding a contribution instead of adding more feature-specific node, dock,
|
|
108
|
+
external-state, or launch wiring to a centralized host assembly service.
|
|
109
|
+
|
|
110
|
+
## Layout Semantics
|
|
111
|
+
|
|
112
|
+
`packages/workbench/surface` owns frame geometry for floating, snapped, and
|
|
113
|
+
fullscreen nodes.
|
|
114
|
+
|
|
115
|
+
Layout rules:
|
|
116
|
+
|
|
117
|
+
- floating nodes respect the full configured safe area
|
|
118
|
+
- top-snapped nodes use the normal safe layout and preserve bottom safe area
|
|
119
|
+
- fullscreen nodes respect top, left, and right safe area, but ignore bottom
|
|
120
|
+
safe area so immersive content can reach the bottom edge of the workbench
|
|
121
|
+
surface
|
|
122
|
+
|
|
123
|
+
The package ships a baseline host layout default so new integrations do not
|
|
124
|
+
start with windows tucked under shared chrome. Today that default uses:
|
|
125
|
+
|
|
126
|
+
- `minWidth: 280`
|
|
127
|
+
- `minHeight: 160`
|
|
128
|
+
- `safeArea.top: 52`
|
|
129
|
+
- `safeArea.bottom: 88`
|
|
130
|
+
|
|
131
|
+
Hosts should override `layoutConstraints` when their shell chrome differs. They
|
|
132
|
+
should not duplicate fullscreen bottom-safe-area correction outside this
|
|
133
|
+
package.
|
|
134
|
+
|
|
135
|
+
## Host Reuse Pattern
|
|
136
|
+
|
|
137
|
+
When another host wants to reuse this package:
|
|
138
|
+
|
|
139
|
+
1. Keep workbench controller state, shared window mechanics, and default
|
|
140
|
+
workbench host plus chrome i18n resources in this package.
|
|
141
|
+
2. Keep host-owned node bodies, business state, reducers, commits, persistence,
|
|
142
|
+
routing, and product-specific workbench wording in the consuming host.
|
|
143
|
+
3. Create one host-level i18n runtime that merges:
|
|
144
|
+
- host-owned workbench i18n resources
|
|
145
|
+
- `workbenchHostI18nResources`
|
|
146
|
+
- `workbenchWindowChromeI18nResources`
|
|
147
|
+
- any other shared package i18n resources used by the same shell
|
|
148
|
+
4. Let the host surface and window chrome scope that runtime into the
|
|
149
|
+
workbench namespaces with `createWorkbenchHostI18nRuntime(...)` and
|
|
150
|
+
`createWorkbenchWindowChromeI18nRuntime(...)`.
|
|
151
|
+
5. Use `externalStateSource` for read-only render context injection and
|
|
152
|
+
`projectedNodes` for host-owned presence such as terminal sessions, agent
|
|
153
|
+
sessions, or browser records.
|
|
154
|
+
6. Provide explicit `dockEntries` for host chrome navigation instead of relying
|
|
155
|
+
on node type order or node-definition dock metadata.
|
|
156
|
+
7. Use `onLaunchRequest` for dock, shortcut, and command opens that require
|
|
157
|
+
host-owned instance creation before a shell appears.
|
|
158
|
+
8. Use `onNodeCloseRequest` when a close button needs host policy instead of a
|
|
159
|
+
direct shell removal.
|
|
160
|
+
|
|
161
|
+
This keeps generic workbench mechanics reusable while leaving product behavior
|
|
162
|
+
and host integration in the owning app or service.
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
// src/react/workbenchWindowI18n.ts
|
|
2
|
+
import {
|
|
3
|
+
createScopedLocaleObjectsI18nModuleManifest,
|
|
4
|
+
createI18nRuntime,
|
|
5
|
+
createScopedI18nRuntime
|
|
6
|
+
} from "@tutti-os/ui-i18n-runtime";
|
|
7
|
+
var workbenchWindowChromeI18nNamespace = "workbenchWindowChrome";
|
|
8
|
+
var nextopI18nModule = createScopedLocaleObjectsI18nModuleManifest({
|
|
9
|
+
localeObjectByLocale: {
|
|
10
|
+
en: "workbenchWindowChromeEn",
|
|
11
|
+
"zh-CN": "workbenchWindowChromeZhCN"
|
|
12
|
+
},
|
|
13
|
+
name: "workbench-window-chrome",
|
|
14
|
+
namespace: "workbenchWindowChrome",
|
|
15
|
+
sourceRoot: "packages/workbench/surface/src"
|
|
16
|
+
});
|
|
17
|
+
var workbenchWindowChromeEn = {
|
|
18
|
+
enterFullscreen: "Full Screen",
|
|
19
|
+
exitFullscreen: "Exit Full Screen"
|
|
20
|
+
};
|
|
21
|
+
var workbenchWindowChromeZhCN = {
|
|
22
|
+
enterFullscreen: "\u5168\u5C4F",
|
|
23
|
+
exitFullscreen: "\u53D6\u6D88\u5168\u5C4F"
|
|
24
|
+
};
|
|
25
|
+
var workbenchWindowChromeDefaults = {
|
|
26
|
+
en: workbenchWindowChromeEn,
|
|
27
|
+
"zh-CN": workbenchWindowChromeZhCN
|
|
28
|
+
};
|
|
29
|
+
var workbenchWindowChromeI18nResources = {
|
|
30
|
+
en: {
|
|
31
|
+
[workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults.en
|
|
32
|
+
},
|
|
33
|
+
"zh-CN": {
|
|
34
|
+
[workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults["zh-CN"]
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var defaultWorkbenchWindowChromeI18n = createI18nRuntime({
|
|
38
|
+
dictionaries: [workbenchWindowChromeI18nResources.en]
|
|
39
|
+
});
|
|
40
|
+
function createWorkbenchWindowChromeI18nRuntime(runtime) {
|
|
41
|
+
return createScopedI18nRuntime(
|
|
42
|
+
runtime ?? defaultWorkbenchWindowChromeI18n,
|
|
43
|
+
workbenchWindowChromeI18nNamespace
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/mission-control/workbenchMissionControlI18n.ts
|
|
48
|
+
import {
|
|
49
|
+
createScopedLocaleObjectsI18nModuleManifest as createScopedLocaleObjectsI18nModuleManifest2,
|
|
50
|
+
createI18nRuntime as createI18nRuntime2,
|
|
51
|
+
createScopedI18nRuntime as createScopedI18nRuntime2
|
|
52
|
+
} from "@tutti-os/ui-i18n-runtime";
|
|
53
|
+
var workbenchMissionControlI18nNamespace = "workbenchMissionControl";
|
|
54
|
+
var nextopI18nModule2 = createScopedLocaleObjectsI18nModuleManifest2({
|
|
55
|
+
localeObjectByLocale: {
|
|
56
|
+
en: "workbenchMissionControlEn",
|
|
57
|
+
"zh-CN": "workbenchMissionControlZhCN"
|
|
58
|
+
},
|
|
59
|
+
name: "workbench-mission-control",
|
|
60
|
+
namespace: "workbenchMissionControl",
|
|
61
|
+
sourceRoot: "packages/workbench/surface/src"
|
|
62
|
+
});
|
|
63
|
+
var workbenchMissionControlEn = {
|
|
64
|
+
layoutSelectionHint: "Select multiple windows to arrange",
|
|
65
|
+
presets: {
|
|
66
|
+
balanced: "Balanced layout",
|
|
67
|
+
column: "Vertical equal layout",
|
|
68
|
+
row: "Horizontal equal layout"
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var workbenchMissionControlZhCN = {
|
|
72
|
+
layoutSelectionHint: "\u8BF7\u9009\u62E9\u591A\u4E2A\u4F60\u8981\u6574\u7406\u5E03\u5C40\u7684\u7A97\u53E3",
|
|
73
|
+
presets: {
|
|
74
|
+
balanced: "\u667A\u80FD\u5747\u8861\u5E03\u5C40",
|
|
75
|
+
column: "\u5782\u76F4\u7B49\u5206\u5E03\u5C40",
|
|
76
|
+
row: "\u6C34\u5E73\u7B49\u5206\u5E03\u5C40"
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
var workbenchMissionControlDefaults = {
|
|
80
|
+
en: workbenchMissionControlEn,
|
|
81
|
+
"zh-CN": workbenchMissionControlZhCN
|
|
82
|
+
};
|
|
83
|
+
var workbenchMissionControlI18nResources = {
|
|
84
|
+
en: {
|
|
85
|
+
[workbenchMissionControlI18nNamespace]: workbenchMissionControlDefaults.en
|
|
86
|
+
},
|
|
87
|
+
"zh-CN": {
|
|
88
|
+
[workbenchMissionControlI18nNamespace]: workbenchMissionControlDefaults["zh-CN"]
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
var defaultWorkbenchMissionControlI18n = createI18nRuntime2({
|
|
92
|
+
dictionaries: [workbenchMissionControlI18nResources.en]
|
|
93
|
+
});
|
|
94
|
+
function createWorkbenchMissionControlI18nRuntime(runtime) {
|
|
95
|
+
return createScopedI18nRuntime2(
|
|
96
|
+
runtime ?? defaultWorkbenchMissionControlI18n,
|
|
97
|
+
workbenchMissionControlI18nNamespace
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// src/host/workbenchHostI18n.ts
|
|
102
|
+
import {
|
|
103
|
+
createScopedLocaleObjectsI18nModuleManifest as createScopedLocaleObjectsI18nModuleManifest3,
|
|
104
|
+
createI18nRuntime as createI18nRuntime3,
|
|
105
|
+
createScopedI18nRuntime as createScopedI18nRuntime3
|
|
106
|
+
} from "@tutti-os/ui-i18n-runtime";
|
|
107
|
+
var workbenchHostI18nNamespace = "workbenchHost";
|
|
108
|
+
var nextopI18nModule3 = createScopedLocaleObjectsI18nModuleManifest3({
|
|
109
|
+
localeObjectByLocale: {
|
|
110
|
+
en: "workbenchHostEn",
|
|
111
|
+
"zh-CN": "workbenchHostZhCN"
|
|
112
|
+
},
|
|
113
|
+
name: "workbench-host",
|
|
114
|
+
namespace: "workbenchHost",
|
|
115
|
+
sourceRoot: "packages/workbench/surface/src"
|
|
116
|
+
});
|
|
117
|
+
var workbenchHostEn = {
|
|
118
|
+
actions: {
|
|
119
|
+
close: "Close",
|
|
120
|
+
minimize: "Minimize"
|
|
121
|
+
},
|
|
122
|
+
closeWindow: "Close {{title}}",
|
|
123
|
+
dockLabel: "Workbench dock",
|
|
124
|
+
launch: "Open {{title}}",
|
|
125
|
+
minimizedWindows: "Minimized windows",
|
|
126
|
+
newWindow: "New window",
|
|
127
|
+
scrollDockDown: "Scroll dock down",
|
|
128
|
+
scrollDockLeft: "Scroll dock left",
|
|
129
|
+
scrollDockRight: "Scroll dock right",
|
|
130
|
+
scrollDockUp: "Scroll dock up",
|
|
131
|
+
windowStatus: {
|
|
132
|
+
active: "Active",
|
|
133
|
+
minimized: "Minimized",
|
|
134
|
+
open: "Open"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var workbenchHostZhCN = {
|
|
138
|
+
actions: {
|
|
139
|
+
close: "\u5173\u95ED",
|
|
140
|
+
minimize: "\u6700\u5C0F\u5316"
|
|
141
|
+
},
|
|
142
|
+
closeWindow: "\u5173\u95ED {{title}}",
|
|
143
|
+
dockLabel: "\u5DE5\u4F5C\u53F0\u7A0B\u5E8F\u575E",
|
|
144
|
+
launch: "\u6253\u5F00 {{title}}",
|
|
145
|
+
minimizedWindows: "\u5DF2\u6700\u5C0F\u5316\u7A97\u53E3",
|
|
146
|
+
newWindow: "\u65B0\u5EFA\u7A97\u53E3",
|
|
147
|
+
scrollDockDown: "\u5411\u4E0B\u6EDA\u52A8\u7A0B\u5E8F\u575E",
|
|
148
|
+
scrollDockLeft: "\u5411\u5DE6\u6EDA\u52A8\u7A0B\u5E8F\u575E",
|
|
149
|
+
scrollDockRight: "\u5411\u53F3\u6EDA\u52A8\u7A0B\u5E8F\u575E",
|
|
150
|
+
scrollDockUp: "\u5411\u4E0A\u6EDA\u52A8\u7A0B\u5E8F\u575E",
|
|
151
|
+
windowStatus: {
|
|
152
|
+
active: "\u5F53\u524D\u7A97\u53E3",
|
|
153
|
+
minimized: "\u5DF2\u6700\u5C0F\u5316",
|
|
154
|
+
open: "\u5DF2\u6253\u5F00"
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
var workbenchHostDefaults = {
|
|
158
|
+
en: workbenchHostEn,
|
|
159
|
+
"zh-CN": workbenchHostZhCN
|
|
160
|
+
};
|
|
161
|
+
var workbenchHostI18nResources = {
|
|
162
|
+
en: {
|
|
163
|
+
[workbenchHostI18nNamespace]: workbenchHostDefaults.en
|
|
164
|
+
},
|
|
165
|
+
"zh-CN": {
|
|
166
|
+
[workbenchHostI18nNamespace]: workbenchHostDefaults["zh-CN"]
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var defaultWorkbenchHostI18n = createI18nRuntime3({
|
|
170
|
+
dictionaries: [workbenchHostI18nResources.en]
|
|
171
|
+
});
|
|
172
|
+
function createWorkbenchHostI18nRuntime(runtime) {
|
|
173
|
+
return createScopedI18nRuntime3(
|
|
174
|
+
runtime ?? defaultWorkbenchHostI18n,
|
|
175
|
+
workbenchHostI18nNamespace
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export {
|
|
180
|
+
workbenchWindowChromeI18nNamespace,
|
|
181
|
+
workbenchWindowChromeI18nResources,
|
|
182
|
+
createWorkbenchWindowChromeI18nRuntime,
|
|
183
|
+
workbenchMissionControlI18nNamespace,
|
|
184
|
+
workbenchMissionControlI18nResources,
|
|
185
|
+
createWorkbenchMissionControlI18nRuntime,
|
|
186
|
+
workbenchHostI18nNamespace,
|
|
187
|
+
workbenchHostI18nResources,
|
|
188
|
+
createWorkbenchHostI18nRuntime
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=chunk-HKGIYOGM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/workbenchWindowI18n.ts","../src/mission-control/workbenchMissionControlI18n.ts","../src/host/workbenchHostI18n.ts"],"sourcesContent":["import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchWindowChromeI18nLocale = \"en\" | \"zh-CN\";\nexport const workbenchWindowChromeI18nNamespace = \"workbenchWindowChrome\";\nexport const nextopI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchWindowChromeEn\",\n \"zh-CN\": \"workbenchWindowChromeZhCN\"\n },\n name: \"workbench-window-chrome\",\n namespace: \"workbenchWindowChrome\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchWindowChromeEn = {\n enterFullscreen: \"Full Screen\",\n exitFullscreen: \"Exit Full Screen\"\n} as const satisfies I18nDictionary;\n\nconst workbenchWindowChromeZhCN = {\n enterFullscreen: \"全屏\",\n exitFullscreen: \"取消全屏\"\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchWindowChromeI18nKey = keyof typeof workbenchWindowChromeEn;\n\nexport type WorkbenchWindowChromeI18nRuntime =\n I18nRuntime<WorkbenchWindowChromeI18nKey>;\n\nconst workbenchWindowChromeDefaults: Record<\n WorkbenchWindowChromeI18nLocale,\n I18nDictionary\n> = {\n en: workbenchWindowChromeEn,\n \"zh-CN\": workbenchWindowChromeZhCN\n};\n\nexport const workbenchWindowChromeI18nResources: Record<\n WorkbenchWindowChromeI18nLocale,\n I18nDictionary\n> = {\n en: {\n [workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults.en\n },\n \"zh-CN\": {\n [workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults[\"zh-CN\"]\n }\n};\n\nconst defaultWorkbenchWindowChromeI18n = createI18nRuntime({\n dictionaries: [workbenchWindowChromeI18nResources.en]\n});\n\nexport function createWorkbenchWindowChromeI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchWindowChromeI18nRuntime {\n return createScopedI18nRuntime<WorkbenchWindowChromeI18nKey>(\n runtime ?? defaultWorkbenchWindowChromeI18n,\n workbenchWindowChromeI18nNamespace\n );\n}\n","import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchMissionControlI18nLocale = \"en\" | \"zh-CN\";\n\nexport const workbenchMissionControlI18nNamespace = \"workbenchMissionControl\";\n\nexport const nextopI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchMissionControlEn\",\n \"zh-CN\": \"workbenchMissionControlZhCN\"\n },\n name: \"workbench-mission-control\",\n namespace: \"workbenchMissionControl\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchMissionControlEn = {\n layoutSelectionHint: \"Select multiple windows to arrange\",\n presets: {\n balanced: \"Balanced layout\",\n column: \"Vertical equal layout\",\n row: \"Horizontal equal layout\"\n }\n} as const satisfies I18nDictionary;\n\nconst workbenchMissionControlZhCN = {\n layoutSelectionHint: \"请选择多个你要整理布局的窗口\",\n presets: {\n balanced: \"智能均衡布局\",\n column: \"垂直等分布局\",\n row: \"水平等分布局\"\n }\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchMissionControlI18nKey =\n | \"layoutSelectionHint\"\n | \"presets.balanced\"\n | \"presets.column\"\n | \"presets.row\";\n\nexport type WorkbenchMissionControlI18nRuntime =\n I18nRuntime<WorkbenchMissionControlI18nKey>;\n\nconst workbenchMissionControlDefaults: Record<\n WorkbenchMissionControlI18nLocale,\n I18nDictionary\n> = {\n en: workbenchMissionControlEn,\n \"zh-CN\": workbenchMissionControlZhCN\n};\n\nexport const workbenchMissionControlI18nResources: Record<\n WorkbenchMissionControlI18nLocale,\n I18nDictionary\n> = {\n en: {\n [workbenchMissionControlI18nNamespace]: workbenchMissionControlDefaults.en\n },\n \"zh-CN\": {\n [workbenchMissionControlI18nNamespace]:\n workbenchMissionControlDefaults[\"zh-CN\"]\n }\n};\n\nconst defaultWorkbenchMissionControlI18n = createI18nRuntime({\n dictionaries: [workbenchMissionControlI18nResources.en]\n});\n\nexport function createWorkbenchMissionControlI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchMissionControlI18nRuntime {\n return createScopedI18nRuntime<WorkbenchMissionControlI18nKey>(\n runtime ?? defaultWorkbenchMissionControlI18n,\n workbenchMissionControlI18nNamespace\n );\n}\n","import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchHostI18nLocale = \"en\" | \"zh-CN\";\nexport const workbenchHostI18nNamespace = \"workbenchHost\";\nexport const nextopI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchHostEn\",\n \"zh-CN\": \"workbenchHostZhCN\"\n },\n name: \"workbench-host\",\n namespace: \"workbenchHost\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchHostEn = {\n actions: {\n close: \"Close\",\n minimize: \"Minimize\"\n },\n closeWindow: \"Close {{title}}\",\n dockLabel: \"Workbench dock\",\n launch: \"Open {{title}}\",\n minimizedWindows: \"Minimized windows\",\n newWindow: \"New window\",\n scrollDockDown: \"Scroll dock down\",\n scrollDockLeft: \"Scroll dock left\",\n scrollDockRight: \"Scroll dock right\",\n scrollDockUp: \"Scroll dock up\",\n windowStatus: {\n active: \"Active\",\n minimized: \"Minimized\",\n open: \"Open\"\n }\n} as const satisfies I18nDictionary;\n\nconst workbenchHostZhCN = {\n actions: {\n close: \"关闭\",\n minimize: \"最小化\"\n },\n closeWindow: \"关闭 {{title}}\",\n dockLabel: \"工作台程序坞\",\n launch: \"打开 {{title}}\",\n minimizedWindows: \"已最小化窗口\",\n newWindow: \"新建窗口\",\n scrollDockDown: \"向下滚动程序坞\",\n scrollDockLeft: \"向左滚动程序坞\",\n scrollDockRight: \"向右滚动程序坞\",\n scrollDockUp: \"向上滚动程序坞\",\n windowStatus: {\n active: \"当前窗口\",\n minimized: \"已最小化\",\n open: \"已打开\"\n }\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchHostI18nKey =\n | \"actions.close\"\n | \"actions.minimize\"\n | \"closeWindow\"\n | \"dockLabel\"\n | \"launch\"\n | \"minimizedWindows\"\n | \"newWindow\"\n | \"scrollDockDown\"\n | \"scrollDockLeft\"\n | \"scrollDockRight\"\n | \"scrollDockUp\"\n | \"windowStatus.active\"\n | \"windowStatus.minimized\"\n | \"windowStatus.open\";\n\nexport type WorkbenchHostI18nRuntime = I18nRuntime<WorkbenchHostI18nKey>;\n\nconst workbenchHostDefaults: Record<WorkbenchHostI18nLocale, I18nDictionary> = {\n en: workbenchHostEn,\n \"zh-CN\": workbenchHostZhCN\n};\n\nexport const workbenchHostI18nResources = {\n en: {\n [workbenchHostI18nNamespace]: workbenchHostDefaults.en\n },\n \"zh-CN\": {\n [workbenchHostI18nNamespace]: workbenchHostDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<WorkbenchHostI18nLocale, I18nDictionary>;\n\nconst defaultWorkbenchHostI18n = createI18nRuntime({\n dictionaries: [workbenchHostI18nResources.en]\n});\n\nexport function createWorkbenchHostI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchHostI18nRuntime {\n return createScopedI18nRuntime<WorkbenchHostI18nKey>(\n runtime ?? defaultWorkbenchHostI18n,\n workbenchHostI18nNamespace\n );\n}\n"],"mappings":"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","names":["createScopedLocaleObjectsI18nModuleManifest","createI18nRuntime","createScopedI18nRuntime","nextopI18nModule","createScopedLocaleObjectsI18nModuleManifest","createI18nRuntime","createScopedI18nRuntime","nextopI18nModule"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { W as WorkbenchHostI18nKey, a as WorkbenchHostI18nRuntime, b as WorkbenchWindowChromeI18nKey, c as WorkbenchWindowChromeI18nRuntime, d as createWorkbenchHostI18nRuntime, e as createWorkbenchWindowChromeI18nRuntime, w as workbenchHostI18nNamespace, f as workbenchHostI18nResources, g as workbenchWindowChromeI18nNamespace, h as workbenchWindowChromeI18nResources } from '../workbenchHostI18n-5xMPPBkf.js';
|
|
2
|
+
import { I18nRuntime, I18nDictionary } from '@tutti-os/ui-i18n-runtime';
|
|
3
|
+
|
|
4
|
+
type WorkbenchMissionControlI18nLocale = "en" | "zh-CN";
|
|
5
|
+
declare const workbenchMissionControlI18nNamespace = "workbenchMissionControl";
|
|
6
|
+
type WorkbenchMissionControlI18nKey = "layoutSelectionHint" | "presets.balanced" | "presets.column" | "presets.row";
|
|
7
|
+
type WorkbenchMissionControlI18nRuntime = I18nRuntime<WorkbenchMissionControlI18nKey>;
|
|
8
|
+
declare const workbenchMissionControlI18nResources: Record<WorkbenchMissionControlI18nLocale, I18nDictionary>;
|
|
9
|
+
declare function createWorkbenchMissionControlI18nRuntime(runtime: I18nRuntime<string> | undefined): WorkbenchMissionControlI18nRuntime;
|
|
10
|
+
|
|
11
|
+
export { type WorkbenchMissionControlI18nKey, type WorkbenchMissionControlI18nRuntime, createWorkbenchMissionControlI18nRuntime, workbenchMissionControlI18nNamespace, workbenchMissionControlI18nResources };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createWorkbenchHostI18nRuntime,
|
|
3
|
+
createWorkbenchMissionControlI18nRuntime,
|
|
4
|
+
createWorkbenchWindowChromeI18nRuntime,
|
|
5
|
+
workbenchHostI18nNamespace,
|
|
6
|
+
workbenchHostI18nResources,
|
|
7
|
+
workbenchMissionControlI18nNamespace,
|
|
8
|
+
workbenchMissionControlI18nResources,
|
|
9
|
+
workbenchWindowChromeI18nNamespace,
|
|
10
|
+
workbenchWindowChromeI18nResources
|
|
11
|
+
} from "../chunk-HKGIYOGM.js";
|
|
12
|
+
export {
|
|
13
|
+
createWorkbenchHostI18nRuntime,
|
|
14
|
+
createWorkbenchMissionControlI18nRuntime,
|
|
15
|
+
createWorkbenchWindowChromeI18nRuntime,
|
|
16
|
+
workbenchHostI18nNamespace,
|
|
17
|
+
workbenchHostI18nResources,
|
|
18
|
+
workbenchMissionControlI18nNamespace,
|
|
19
|
+
workbenchMissionControlI18nResources,
|
|
20
|
+
workbenchWindowChromeI18nNamespace,
|
|
21
|
+
workbenchWindowChromeI18nResources
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|