slice-machine-ui 1.20.1-dev-environments.2 → 1.20.1-dev-next-release.3
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/components/AppLayout/index.tsx +10 -34
- package/components/Navigation/index.tsx +15 -32
- package/components/ReviewModal/ReviewForm.tsx +2 -2
- package/components/ReviewModal/ReviewModal.tsx +7 -0
- package/out/404.html +1 -1
- package/out/_next/static/BIxidu02_xbgjO9EV7tg4/_buildManifest.js +1 -0
- package/out/_next/static/chunks/{18539003-371d86ea83e7293b.js → 18539003-5d8b6a04053638af.js} +2 -2
- package/out/_next/static/chunks/{482-39cef3a713901788.js → 482-30c0f114c7213fa3.js} +1 -1
- package/out/_next/static/chunks/{125-f0e2eb84ee39757a.js → 505-fa47e200ac3a012d.js} +1 -1
- package/out/_next/static/chunks/{550-e72c08c598051224.js → 550-abf97d3008006056.js} +1 -1
- package/out/_next/static/chunks/{80-821a0b5d4ad61185.js → 80-72d903b2a0bd5dc3.js} +1 -1
- package/out/_next/static/chunks/840-8cec2bbd104111f2.js +1 -0
- package/out/_next/static/chunks/904-cb627b6d7b8068f9.js +1 -0
- package/out/_next/static/chunks/958-8f814daf5896ff97.js +1 -0
- package/out/_next/static/chunks/pages/{_app-61dfd5e4a504dad6.js → _app-2d01c2c528624eaf.js} +44 -44
- package/out/_next/static/chunks/pages/{changelog-4b8369d91d82b28b.js → changelog-fa36b9995c26e1d7.js} +1 -1
- package/out/_next/static/chunks/pages/changes-494c71511b2e8989.js +1 -0
- package/out/_next/static/chunks/pages/index-d8e3a2c0d712904f.js +1 -0
- package/out/_next/static/chunks/pages/labs-ebce03a4e7a95a4e.js +1 -0
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/{simulator-79a62d775e64898c.js → simulator-7b17cb59d0db03b5.js} +1 -1
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/{[variation]-724893d27ffa426c.js → [variation]-763cc8c12e977b4a.js} +1 -1
- package/out/_next/static/chunks/pages/slices-22db04643850c1d8.js +1 -0
- package/out/_next/static/css/31841735992dea23.css +1 -0
- package/out/_next/static/css/58a89606d9ca9093.css +1 -0
- package/out/_next/static/css/5d18ccf403d4649a.css +1 -0
- package/out/_next/static/css/{51597cd1f01c4889.css → 78250665d395ea50.css} +1 -1
- package/out/_next/static/css/{16b41648cd1de03b.css → b0be58d878c0fac3.css} +1 -1
- package/out/_next/static/css/e48f99beffa085f5.css +1 -0
- package/out/changelog.html +1 -1
- package/out/changes.html +1 -1
- package/out/custom-types/[customTypeId].html +1 -1
- package/out/custom-types.html +1 -1
- package/out/index.html +1 -1
- package/out/labs.html +1 -1
- package/out/page-types/[pageTypeId].html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
- package/out/slices.html +1 -1
- package/package.json +7 -7
- package/pages/_app.tsx +39 -35
- package/pages/slices.tsx +0 -1
- package/src/components/Counter/Counter.css.ts +26 -0
- package/src/components/Counter/Counter.stories.tsx +17 -0
- package/src/components/Counter/Counter.tsx +16 -0
- package/src/components/Counter/index.ts +1 -0
- package/src/components/PageLayout/PageLayout.css.ts +3 -8
- package/src/components/PageLayout/PageLayout.stories.tsx +1 -10
- package/src/components/PageLayout/PageLayout.tsx +2 -7
- package/src/components/SideNav/SideNav.css.ts +10 -3
- package/src/components/SideNav/SideNav.stories.tsx +2 -29
- package/src/components/SideNav/SideNav.tsx +1 -5
- package/src/components/SideNav/index.ts +0 -1
- package/src/features/customTypes/__tests__/CustomTypeBuilderPage.test.tsx +3 -4
- package/src/features/inAppGuide/InAppGuideContext.tsx +47 -0
- package/src/features/inAppGuide/InAppGuideDialog.tsx +97 -0
- package/src/features/inAppGuide/inAppGuideContent.tsx +65 -0
- package/src/hooks/usePersistedState.ts +34 -0
- package/src/hooks/useRepositoryInformation.ts +24 -0
- package/src/icons/FlowerBackgroundIcon.tsx +17 -0
- package/src/icons/HelpIcon.tsx +19 -0
- package/test/pages/slices.test.tsx +8 -4
- package/test/src/modules/__fixtures__/serverState.ts +0 -2
- package/components/Navigation/Environment.tsx +0 -47
- package/components/Navigation/index.css.ts +0 -6
- package/out/_next/static/chunks/840-5b485c737b24324b.js +0 -1
- package/out/_next/static/chunks/904-6204ab2ad8798857.js +0 -1
- package/out/_next/static/chunks/958-c90d60818f1c468a.js +0 -1
- package/out/_next/static/chunks/pages/changes-db6e8c6be5ae076e.js +0 -1
- package/out/_next/static/chunks/pages/index-941b44c74dd339e4.js +0 -1
- package/out/_next/static/chunks/pages/labs-2922105ab714d32a.js +0 -1
- package/out/_next/static/chunks/pages/slices-93b7af2624c85b8e.js +0 -1
- package/out/_next/static/css/009bd7f5ac85fc6a.css +0 -1
- package/out/_next/static/css/3e88bd24e38f18d0.css +0 -1
- package/out/_next/static/css/6e4843007ff41825.css +0 -1
- package/out/_next/static/css/867d8d7ab4a75762.css +0 -1
- package/out/_next/static/eEMbH0pyO9pWG3REga3T2/_buildManifest.js +0 -1
- package/src/components/Divider/Divider.css.ts +0 -31
- package/src/components/Divider/Divider.stories.tsx +0 -27
- package/src/components/Divider/Divider.tsx +0 -25
- package/src/components/Divider/index.ts +0 -1
- package/src/components/SideNav/SideNavEnvironmentSelector.css.ts +0 -69
- package/src/components/SideNav/SideNavEnvironmentSelector.tsx +0 -163
- package/src/features/environments/actions/getActiveEnvironmentDomain.ts +0 -11
- package/src/features/environments/actions/getEnvironments.ts +0 -12
- package/src/features/environments/actions/setEnvironment.ts +0 -18
- package/src/features/environments/useActiveEnvironment.ts +0 -38
- package/src/features/environments/useEnvironments.ts +0 -7
- package/src/features/legacyState/actions/getLegacySliceMachineState.ts +0 -53
- package/src/features/legacyState/useLegacySliceMachineState.ts +0 -7
- /package/out/_next/static/{eEMbH0pyO9pWG3REga3T2 → BIxidu02_xbgjO9EV7tg4}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._1k08lzu3{height:calc(var(--_7j49md4b) - var(--_7j49mdh))}._1k08lzu5{height:calc(var(--_7j49md40) - var(--_7j49md3w));width:calc(var(--_7j49md40) - var(--_7j49md3w))}._1k08lzu7{box-shadow:inset 0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md1a);height:calc(var(--_7j49md4b) - var(--_7j49mdh));-ms-overflow-style:none;scrollbar-width:none}._1k08lzu7::-webkit-scrollbar{display:none}._1k08lzu3+._1k08lzu6>._1k08lzu7{padding-top:var(--_7j49mdh)}._1k08lzu8:last-child:before,:not(:is(:focus,:hover,[data-state=active]))+._1k08lzu8:before{content:"";background-color:var(--_7j49md1b);bottom:var(--_7j49md4s);height:var(--_7j49md47);left:calc(-1 * var(--_7j49md4o));position:absolute;width:var(--_7j49mdh)}._1k08lzu9{max-width:256px}._1k08lzu9[data-state=active]{color:var(--_7j49md1g)}._1k08lzu9:is(:focus,:hover,[data-state=active]):before{content:"";background-color:var(--_7j49md16);border-color:var(--_7j49md1a);border-top-left-radius:var(--_7j49md7);border-top-right-radius:var(--_7j49md7);border-style:var(--_7j49mdf) var(--_7j49mdf) var(--_7j49mdd);border-width:var(--_7j49mdh);box-sizing:border-box;height:calc(var(--_7j49md4h) + var(--_7j49mdh));left:calc(-1 * var(--_7j49mdh));position:absolute;top:calc(-1 * var(--_7j49mdh));width:calc(var(--_7j49md4h) + var(--_7j49mdh))}._1k08lzub{margin-right:calc(-1 * var(--_7j49md4s))}:is(:focus,:hover,[data-state=active])>._1k08lzub{visibility:visible}._1k08lzub:has(>[data-state=open]){visibility:visible}._1k08lzuc{box-shadow:inset 0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md1a),0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md17)}._1k08lzud[data-state=inactive]{display:none}:is(._1k08lzu2,._1k08lzud)>._2a96i71{border-radius:var(--_7j49md3);border-style:var(--_7j49mdd)}._2a96i72:last-child{border-bottom-color:var(--_7j49md3c)}._1k08lzud>._2a96i71>._2a96i73:not(:first-child){margin-top:var(--_7j49md4v)}._18bjhbz0{max-width:498px;min-height:400px;background-color:var(--_7j49md15)}._18bjhbz1{background-size:cover;background-color:transparent;border-radius:var(--_7j49md3);border-style:var(--_7j49mdd);height:100%;max-width:100%}._18bjhbz1 ._18bjhbz3{padding:64px}._18bjhbz4{font-size:18px;font-weight:600;line-height:32px}._18bjhbz5{font-weight:400;line-height:24px}._18bjhbz1 ._18bjhbz5{max-width:464px;align-self:center}._18bjhbz1 ._18bjhbz6{justify-content:center}.kedahr2{height:240px}.kedahr3{height:320px}.kedahr6:focus-visible{box-shadow:0 0 0 4px rgba(123,101,220,.1)}.kedahr6[data-disabled]{opacity:var(--_7j49md3r)}.kedahr6:not([data-disabled]){cursor:var(--_7j49md3f)}.kedahr7{order:0}.kedahr4>.kedahr7{padding:calc(var(--_7j49md4x) - var(--_7j49mdh))}.kedahr5>.kedahr7{background-color:var(--_7j49md17);margin-inline:calc(var(--_7j49md4v) - var(--_7j49mdh));margin-top:calc(var(--_7j49md4v) - var(--_7j49mdh));padding:var(--_7j49md4v)}.kedahr9:not([src]){visibility:hidden}.kedahra:before{content:"";background-color:var(--_7j49md1g);inset:var(--_7j49md4n);opacity:var(--_7j49md3p);position:absolute}.kedahr6:focus-visible .kedahra,.kedahr6:not([data-disabled]) .kedahr7:hover>.kedahra{visibility:visible}.kedahr6:not([data-disabled]) .kedahra:has(:focus-visible){visibility:visible}.kedahr4>.kedahrb{background-color:var(--_7j49md15)}.kedahr4>.kedahrb:not(:first-child){border-top-color:var(--_7j49md1a);border-top-style:inherit;border-top-width:inherit}.kedahrc{order:1}.kedahr4>.kedahrc{padding-left:calc(var(--_7j49md4u) - var(--_7j49mdh));padding-right:calc(var(--_7j49md4s) - var(--_7j49mdh))}.kedahr5>.kedahrc{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahrd{order:2}.kedahr4>.kedahrd{padding-inline:calc(var(--_7j49md4u) - var(--_7j49mdh))}.kedahr5>.kedahrd{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahre{margin-bottom:calc((1.5rem - 1rem) / 2)}.kedahrf{background-color:#ebe7fe;color:#5746af}._76k20u4:not(:last-child){margin-right:var(--_7j49md4v)}._76k20u4[data-state=active]{box-shadow:inset 0 -1px 0 0 currentColor,0 1px 0 0 currentColor;color:var(--_7j49md36)}._76k20u5{line-height:32px}._76k20u6{flex:1 1}._76k20u6[data-state=inactive]{display:none}._8uty130{line-height:32px}._3uvawd0{grid-area:content;overflow:hidden}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._1k08lzu3{height:calc(var(--_7j49md4b) - var(--_7j49mdh))}._1k08lzu5{height:calc(var(--_7j49md40) - var(--_7j49md3w));width:calc(var(--_7j49md40) - var(--_7j49md3w))}._1k08lzu7{box-shadow:inset 0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md1a);height:calc(var(--_7j49md4b) - var(--_7j49mdh));-ms-overflow-style:none;scrollbar-width:none}._1k08lzu7::-webkit-scrollbar{display:none}._1k08lzu3+._1k08lzu6>._1k08lzu7{padding-top:var(--_7j49mdh)}._1k08lzu8:last-child:before,:not(:is(:focus,:hover,[data-state=active]))+._1k08lzu8:before{content:"";background-color:var(--_7j49md1b);bottom:var(--_7j49md4s);height:var(--_7j49md47);left:calc(-1 * var(--_7j49md4o));position:absolute;width:var(--_7j49mdh)}._1k08lzu9{max-width:256px}._1k08lzu9[data-state=active]{color:var(--_7j49md1g)}._1k08lzu9:is(:focus,:hover,[data-state=active]):before{content:"";background-color:var(--_7j49md16);border-color:var(--_7j49md1a);border-top-left-radius:var(--_7j49md7);border-top-right-radius:var(--_7j49md7);border-style:var(--_7j49mdf) var(--_7j49mdf) var(--_7j49mdd);border-width:var(--_7j49mdh);box-sizing:border-box;height:calc(var(--_7j49md4h) + var(--_7j49mdh));left:calc(-1 * var(--_7j49mdh));position:absolute;top:calc(-1 * var(--_7j49mdh));width:calc(var(--_7j49md4h) + var(--_7j49mdh))}._1k08lzub{margin-right:calc(-1 * var(--_7j49md4s))}:is(:focus,:hover,[data-state=active])>._1k08lzub{visibility:visible}._1k08lzub:has(>[data-state=open]){visibility:visible}._1k08lzuc{box-shadow:inset 0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md1a),0 calc(-1 * var(--_7j49mdh)) 0 0 var(--_7j49md17)}._1k08lzud[data-state=inactive]{display:none}:is(._1k08lzu2,._1k08lzud)>._2a96i71{border-radius:var(--_7j49md3);border-style:var(--_7j49mdd)}._2a96i72:last-child{border-bottom-color:var(--_7j49md3c)}._1k08lzud>._2a96i71>._2a96i73:not(:first-child){margin-top:var(--_7j49md4v)}._1nkpwww0{border-radius:3px}.kedahr2{height:240px}.kedahr3{height:320px}.kedahr6:focus-visible{box-shadow:0 0 0 4px rgba(123,101,220,.1)}.kedahr6[data-disabled]{opacity:var(--_7j49md3r)}.kedahr6:not([data-disabled]){cursor:var(--_7j49md3f)}.kedahr7{order:0}.kedahr4>.kedahr7{padding:calc(var(--_7j49md4x) - var(--_7j49mdh))}.kedahr5>.kedahr7{background-color:var(--_7j49md17);margin-inline:calc(var(--_7j49md4v) - var(--_7j49mdh));margin-top:calc(var(--_7j49md4v) - var(--_7j49mdh));padding:var(--_7j49md4v)}.kedahr9:not([src]){visibility:hidden}.kedahra:before{content:"";background-color:var(--_7j49md1g);inset:var(--_7j49md4n);opacity:var(--_7j49md3p);position:absolute}.kedahr6:focus-visible .kedahra,.kedahr6:not([data-disabled]) .kedahr7:hover>.kedahra{visibility:visible}.kedahr6:not([data-disabled]) .kedahra:has(:focus-visible){visibility:visible}.kedahr4>.kedahrb{background-color:var(--_7j49md15)}.kedahr4>.kedahrb:not(:first-child){border-top-color:var(--_7j49md1a);border-top-style:inherit;border-top-width:inherit}.kedahrc{order:1}.kedahr4>.kedahrc{padding-left:calc(var(--_7j49md4u) - var(--_7j49mdh));padding-right:calc(var(--_7j49md4s) - var(--_7j49mdh))}.kedahr5>.kedahrc{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahrd{order:2}.kedahr4>.kedahrd{padding-inline:calc(var(--_7j49md4u) - var(--_7j49mdh))}.kedahr5>.kedahrd{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahre{margin-bottom:calc((1.5rem - 1rem) / 2)}.kedahrf{background-color:#ebe7fe;color:#5746af}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._1nkpwww0{border-radius:3px}.kedahr2{height:240px}.kedahr3{height:320px}.kedahr6:focus-visible{box-shadow:0 0 0 4px rgba(123,101,220,.1)}.kedahr6[data-disabled]{opacity:var(--_7j49md3r)}.kedahr6:not([data-disabled]){cursor:var(--_7j49md3f)}.kedahr7{order:0}.kedahr4>.kedahr7{padding:calc(var(--_7j49md4x) - var(--_7j49mdh))}.kedahr5>.kedahr7{background-color:var(--_7j49md17);margin-inline:calc(var(--_7j49md4v) - var(--_7j49mdh));margin-top:calc(var(--_7j49md4v) - var(--_7j49mdh));padding:var(--_7j49md4v)}.kedahr9:not([src]){visibility:hidden}.kedahra:before{content:"";background-color:var(--_7j49md1g);inset:var(--_7j49md4n);opacity:var(--_7j49md3p);position:absolute}.kedahr6:focus-visible .kedahra,.kedahr6:not([data-disabled]) .kedahr7:hover>.kedahra{visibility:visible}.kedahr6:not([data-disabled]) .kedahra:has(:focus-visible){visibility:visible}.kedahr4>.kedahrb{background-color:var(--_7j49md15)}.kedahr4>.kedahrb:not(:first-child){border-top-color:var(--_7j49md1a);border-top-style:inherit;border-top-width:inherit}.kedahrc{order:1}.kedahr4>.kedahrc{padding-left:calc(var(--_7j49md4u) - var(--_7j49mdh));padding-right:calc(var(--_7j49md4s) - var(--_7j49mdh))}.kedahr5>.kedahrc{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahrd{order:2}.kedahr4>.kedahrd{padding-inline:calc(var(--_7j49md4u) - var(--_7j49mdh))}.kedahr5>.kedahrd{padding-inline:calc(var(--_7j49md4v) - var(--_7j49mdh))}.kedahre{margin-bottom:calc((1.5rem - 1rem) / 2)}.kedahrf{background-color:#ebe7fe;color:#5746af}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,c,e,a,t,i,f,b,n,d){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[c,i,f,"static/chunks/pages/index-941b44c74dd339e4.js"],"/_error":["static/chunks/pages/_error-69b4f498bafdd188.js"],"/changelog":["static/chunks/870-0c7a8a9622de78b7.js","static/chunks/pages/changelog-4b8369d91d82b28b.js"],"/changes":[e,"static/chunks/8eec4907-b712959d9f984b68.js","static/chunks/918-38d08f1e885b222d.js",s,a,"static/css/51597cd1f01c4889.css","static/chunks/pages/changes-db6e8c6be5ae076e.js"],"/custom-types":[c,i,f,"static/chunks/pages/custom-types-2f5664d9492b13fb.js"],"/custom-types/[customTypeId]":[b,s,c,t,n,d,"static/chunks/pages/custom-types/[customTypeId]-3a37eb3373bb8823.js"],"/labs":["static/chunks/pages/labs-2922105ab714d32a.js"],"/page-types/[pageTypeId]":[b,s,c,t,n,d,"static/chunks/pages/page-types/[pageTypeId]-733f3890c0466a05.js"],"/slices":[e,s,a,"static/css/867d8d7ab4a75762.css","static/chunks/pages/slices-93b7af2624c85b8e.js"],"/slices/[lib]/[sliceName]/[variation]":[e,s,a,t,"static/css/6e4843007ff41825.css","static/chunks/pages/slices/[lib]/[sliceName]/[variation]-724893d27ffa426c.js"],"/slices/[lib]/[sliceName]/[variation]/simulator":[e,"static/chunks/72585f70-28b4d7d5384b3703.js","static/chunks/18539003-371d86ea83e7293b.js","static/chunks/125-f0e2eb84ee39757a.js","static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-79a62d775e64898c.js"],sortedPages:["/","/_app","/_error","/changelog","/changes","/custom-types","/custom-types/[customTypeId]","/labs","/page-types/[pageTypeId]","/slices","/slices/[lib]/[sliceName]/[variation]","/slices/[lib]/[sliceName]/[variation]/simulator"]}}("static/chunks/958-c90d60818f1c468a.js","static/chunks/550-e72c08c598051224.js","static/chunks/c8eae200-966ce352f7b5d2b9.js","static/chunks/80-821a0b5d4ad61185.js","static/chunks/482-39cef3a713901788.js","static/chunks/840-5b485c737b24324b.js","static/css/16b41648cd1de03b.css","static/chunks/474-2393e400314474be.js","static/chunks/904-6204ab2ad8798857.js","static/css/3e88bd24e38f18d0.css"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { colors, sprinkles } from "@prismicio/editor-ui";
|
|
2
|
-
import { style, styleVariants } from "@vanilla-extract/css";
|
|
3
|
-
|
|
4
|
-
const base = style([
|
|
5
|
-
sprinkles({
|
|
6
|
-
width: "100%",
|
|
7
|
-
borderStyle: "none",
|
|
8
|
-
margin: 0,
|
|
9
|
-
}),
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
export const variants = styleVariants({
|
|
13
|
-
dashed: [
|
|
14
|
-
base,
|
|
15
|
-
sprinkles({
|
|
16
|
-
borderColor: colors.currentColor,
|
|
17
|
-
borderTopStyle: "dashed",
|
|
18
|
-
borderWidth: 1,
|
|
19
|
-
}),
|
|
20
|
-
],
|
|
21
|
-
edgeFaded: [
|
|
22
|
-
base,
|
|
23
|
-
sprinkles({
|
|
24
|
-
height: 1,
|
|
25
|
-
}),
|
|
26
|
-
{
|
|
27
|
-
backgroundImage:
|
|
28
|
-
"linear-gradient(to right, color-mix(in srgb, currentColor 0%, transparent), currentColor, color-mix(in srgb, currentColor 0%, transparent))",
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import { colors } from "@prismicio/editor-ui";
|
|
3
|
-
|
|
4
|
-
import { Divider } from "./Divider";
|
|
5
|
-
import { variants } from "./Divider.css";
|
|
6
|
-
|
|
7
|
-
type Story = StoryObj<typeof meta>;
|
|
8
|
-
|
|
9
|
-
const meta = {
|
|
10
|
-
component: Divider,
|
|
11
|
-
argTypes: {
|
|
12
|
-
variant: {
|
|
13
|
-
control: { type: "select" },
|
|
14
|
-
options: Object.keys(variants),
|
|
15
|
-
},
|
|
16
|
-
color: {
|
|
17
|
-
control: { type: "select" },
|
|
18
|
-
options: Object.keys(colors),
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
} satisfies Meta<typeof Divider>;
|
|
22
|
-
|
|
23
|
-
export default meta;
|
|
24
|
-
|
|
25
|
-
export const Default = {
|
|
26
|
-
args: {},
|
|
27
|
-
} satisfies Story;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import { colors, sprinkles } from "@prismicio/editor-ui";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
|
|
5
|
-
import * as styles from "./Divider.css";
|
|
6
|
-
|
|
7
|
-
type DividerProps = {
|
|
8
|
-
color?: keyof typeof colors;
|
|
9
|
-
variant?: "dashed" | "edgeFaded";
|
|
10
|
-
className?: string;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export const Divider: FC<DividerProps> = (props) => {
|
|
14
|
-
const { variant = "dashed", color = "currentColor", className } = props;
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<hr
|
|
18
|
-
className={clsx(
|
|
19
|
-
styles.variants[variant],
|
|
20
|
-
sprinkles({ color: colors[color] }),
|
|
21
|
-
className,
|
|
22
|
-
)}
|
|
23
|
-
/>
|
|
24
|
-
);
|
|
25
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Divider } from "./Divider";
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { colors, sprinkles } from "@prismicio/editor-ui";
|
|
2
|
-
import { style, styleVariants } from "@vanilla-extract/css";
|
|
3
|
-
|
|
4
|
-
export const logo = style([
|
|
5
|
-
sprinkles({
|
|
6
|
-
height: 40,
|
|
7
|
-
width: 40,
|
|
8
|
-
}),
|
|
9
|
-
{
|
|
10
|
-
display: "block",
|
|
11
|
-
},
|
|
12
|
-
]);
|
|
13
|
-
|
|
14
|
-
const environmentDotBase = style([
|
|
15
|
-
sprinkles({
|
|
16
|
-
flexShrink: 0,
|
|
17
|
-
borderRadius: "50%",
|
|
18
|
-
}),
|
|
19
|
-
{
|
|
20
|
-
width: 10,
|
|
21
|
-
height: 10,
|
|
22
|
-
},
|
|
23
|
-
]);
|
|
24
|
-
|
|
25
|
-
export const environmentDot = styleVariants({
|
|
26
|
-
prod: [environmentDotBase, sprinkles({ backgroundColor: colors.purple10 })],
|
|
27
|
-
stage: [environmentDotBase, sprinkles({ backgroundColor: colors.indigo10 })],
|
|
28
|
-
dev: [environmentDotBase, sprinkles({ backgroundColor: colors.amber10 })],
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
export const menuItemEnvironmentDot = sprinkles({
|
|
32
|
-
marginRight: 2,
|
|
33
|
-
marginLeft: 2,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
export const activeEnvironmentDot = style([
|
|
37
|
-
sprinkles({
|
|
38
|
-
position: "absolute",
|
|
39
|
-
bottom: 0,
|
|
40
|
-
right: 0,
|
|
41
|
-
outlineWidth: 3,
|
|
42
|
-
outlineColor: colors.grey2,
|
|
43
|
-
outlineStyle: "solid",
|
|
44
|
-
}),
|
|
45
|
-
{
|
|
46
|
-
transform: "translate(50%, 50%)",
|
|
47
|
-
},
|
|
48
|
-
]);
|
|
49
|
-
|
|
50
|
-
export const activeEnvironmentName = style([
|
|
51
|
-
sprinkles({
|
|
52
|
-
overflow: "hidden",
|
|
53
|
-
textOverflow: "ellipsis",
|
|
54
|
-
whiteSpace: "nowrap",
|
|
55
|
-
}),
|
|
56
|
-
{
|
|
57
|
-
fontWeight: 500,
|
|
58
|
-
lineHeight: "1.25rem",
|
|
59
|
-
},
|
|
60
|
-
]);
|
|
61
|
-
|
|
62
|
-
export const actionRequiredLabel = style([
|
|
63
|
-
sprinkles({
|
|
64
|
-
color: colors.purple10,
|
|
65
|
-
}),
|
|
66
|
-
{
|
|
67
|
-
fontWeight: 500,
|
|
68
|
-
},
|
|
69
|
-
]);
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Box,
|
|
3
|
-
DropdownMenu,
|
|
4
|
-
DropdownMenuContent,
|
|
5
|
-
DropdownMenuItem,
|
|
6
|
-
DropdownMenuLabel,
|
|
7
|
-
DropdownMenuTrigger,
|
|
8
|
-
Icon,
|
|
9
|
-
IconButton,
|
|
10
|
-
Text,
|
|
11
|
-
} from "@prismicio/editor-ui";
|
|
12
|
-
import { Environment } from "@slicemachine/manager/client";
|
|
13
|
-
import type { FC } from "react";
|
|
14
|
-
import clsx from "clsx";
|
|
15
|
-
|
|
16
|
-
import LogoIcon from "@src/icons/LogoIcon";
|
|
17
|
-
|
|
18
|
-
import * as styles from "./SideNavEnvironmentSelector.css";
|
|
19
|
-
|
|
20
|
-
type SideNavEnvironmentSelectorProps = {
|
|
21
|
-
variant?: "default" | "unauthorized";
|
|
22
|
-
environments?: Environment[];
|
|
23
|
-
activeEnvironment?: Environment;
|
|
24
|
-
onSelect?: (environment: Environment) => void | Promise<void>;
|
|
25
|
-
onLogInClick?: () => void;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const SideNavEnvironmentSelector: FC<SideNavEnvironmentSelectorProps> = (
|
|
29
|
-
props,
|
|
30
|
-
) => {
|
|
31
|
-
const {
|
|
32
|
-
variant = "default",
|
|
33
|
-
environments = [],
|
|
34
|
-
activeEnvironment,
|
|
35
|
-
onSelect,
|
|
36
|
-
onLogInClick,
|
|
37
|
-
} = props;
|
|
38
|
-
|
|
39
|
-
const isProductionEnvironmentActive = activeEnvironment?.kind === "prod";
|
|
40
|
-
|
|
41
|
-
return (
|
|
42
|
-
<Box alignItems="center" gap={16}>
|
|
43
|
-
<Box position="relative">
|
|
44
|
-
<LogoIcon className={styles.logo} />
|
|
45
|
-
{activeEnvironment !== undefined && (
|
|
46
|
-
<EnvironmentDot
|
|
47
|
-
kind={activeEnvironment.kind}
|
|
48
|
-
className={styles.activeEnvironmentDot}
|
|
49
|
-
/>
|
|
50
|
-
)}
|
|
51
|
-
</Box>
|
|
52
|
-
<Box flexGrow={1} flexDirection="column" overflow="hidden">
|
|
53
|
-
<Text component="span" variant="small" color="grey11">
|
|
54
|
-
Environment
|
|
55
|
-
</Text>
|
|
56
|
-
{variant === "unauthorized" ? (
|
|
57
|
-
<Text component="span" className={styles.actionRequiredLabel}>
|
|
58
|
-
Login required
|
|
59
|
-
</Text>
|
|
60
|
-
) : activeEnvironment === undefined ? (
|
|
61
|
-
<Text component="span" className={styles.actionRequiredLabel}>
|
|
62
|
-
Select environment
|
|
63
|
-
</Text>
|
|
64
|
-
) : (
|
|
65
|
-
<Text component="span" className={styles.activeEnvironmentName}>
|
|
66
|
-
{isProductionEnvironmentActive
|
|
67
|
-
? "Production"
|
|
68
|
-
: activeEnvironment?.name}
|
|
69
|
-
</Text>
|
|
70
|
-
)}
|
|
71
|
-
</Box>
|
|
72
|
-
<Box flexShrink={0}>
|
|
73
|
-
{variant === "unauthorized" ? (
|
|
74
|
-
<IconButton icon="arrowForward" onClick={onLogInClick} />
|
|
75
|
-
) : !activeEnvironment || environments.length > 1 ? (
|
|
76
|
-
<EnvironmentDropdownMenu
|
|
77
|
-
environments={environments}
|
|
78
|
-
activeEnvironment={activeEnvironment}
|
|
79
|
-
onSelect={onSelect}
|
|
80
|
-
/>
|
|
81
|
-
) : null}
|
|
82
|
-
</Box>
|
|
83
|
-
</Box>
|
|
84
|
-
);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
type EnvironmentDropdownMenuProps = Pick<
|
|
88
|
-
SideNavEnvironmentSelectorProps,
|
|
89
|
-
"environments" | "activeEnvironment" | "onSelect"
|
|
90
|
-
>;
|
|
91
|
-
|
|
92
|
-
const EnvironmentDropdownMenu: FC<EnvironmentDropdownMenuProps> = (props) => {
|
|
93
|
-
const { environments = [], activeEnvironment, onSelect } = props;
|
|
94
|
-
|
|
95
|
-
return (
|
|
96
|
-
<DropdownMenu modal>
|
|
97
|
-
<DropdownMenuTrigger disabled={environments.length < 2}>
|
|
98
|
-
<IconButton icon="unfoldMore" />
|
|
99
|
-
</DropdownMenuTrigger>
|
|
100
|
-
<DropdownMenuContent align="end" minWidth={256}>
|
|
101
|
-
<DropdownMenuLabel>Regular Environments</DropdownMenuLabel>
|
|
102
|
-
{environments.map((environment) =>
|
|
103
|
-
environment.kind !== "dev" ? (
|
|
104
|
-
<EnvironmentDropdownMenuItem
|
|
105
|
-
key={environment.domain}
|
|
106
|
-
environment={environment}
|
|
107
|
-
onSelect={onSelect}
|
|
108
|
-
isActive={environment.domain === activeEnvironment?.domain}
|
|
109
|
-
/>
|
|
110
|
-
) : (
|
|
111
|
-
<>
|
|
112
|
-
<DropdownMenuLabel>Personal Environment</DropdownMenuLabel>
|
|
113
|
-
<EnvironmentDropdownMenuItem
|
|
114
|
-
key={environment.domain}
|
|
115
|
-
environment={environment}
|
|
116
|
-
onSelect={onSelect}
|
|
117
|
-
isActive={environment.domain === activeEnvironment?.domain}
|
|
118
|
-
/>
|
|
119
|
-
</>
|
|
120
|
-
),
|
|
121
|
-
)}
|
|
122
|
-
</DropdownMenuContent>
|
|
123
|
-
</DropdownMenu>
|
|
124
|
-
);
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
type EnvironmentDropdownMenuItemProps = {
|
|
128
|
-
environment: Environment;
|
|
129
|
-
isActive?: boolean;
|
|
130
|
-
} & Pick<SideNavEnvironmentSelectorProps, "onSelect">;
|
|
131
|
-
|
|
132
|
-
const EnvironmentDropdownMenuItem: FC<EnvironmentDropdownMenuItemProps> = (
|
|
133
|
-
props,
|
|
134
|
-
) => {
|
|
135
|
-
const { environment, onSelect, isActive } = props;
|
|
136
|
-
const isProductionEnvironment = environment.kind === "prod";
|
|
137
|
-
|
|
138
|
-
return (
|
|
139
|
-
<DropdownMenuItem
|
|
140
|
-
startIcon={
|
|
141
|
-
<EnvironmentDot
|
|
142
|
-
kind={environment.kind}
|
|
143
|
-
className={styles.menuItemEnvironmentDot}
|
|
144
|
-
/>
|
|
145
|
-
}
|
|
146
|
-
endIcon={Boolean(isActive) ? <Icon name="check" /> : undefined}
|
|
147
|
-
onSelect={() => void onSelect?.(environment)}
|
|
148
|
-
>
|
|
149
|
-
{isProductionEnvironment ? "Production" : environment.name}
|
|
150
|
-
</DropdownMenuItem>
|
|
151
|
-
);
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
type EnvironmentDotProps = {
|
|
155
|
-
kind: Environment["kind"];
|
|
156
|
-
className?: string;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
const EnvironmentDot: FC<EnvironmentDotProps> = (props) => {
|
|
160
|
-
const { kind, className } = props;
|
|
161
|
-
|
|
162
|
-
return <div className={clsx(styles.environmentDot[kind], className)} />;
|
|
163
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { managerClient } from "@src/managerClient";
|
|
2
|
-
|
|
3
|
-
export async function getActiveEnvironmentDomain() {
|
|
4
|
-
try {
|
|
5
|
-
const { environment } = await managerClient.project.readEnvironment();
|
|
6
|
-
|
|
7
|
-
return { activeEnvironmentDomain: environment };
|
|
8
|
-
} catch (error) {
|
|
9
|
-
return { error };
|
|
10
|
-
}
|
|
11
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { managerClient } from "@src/managerClient";
|
|
2
|
-
|
|
3
|
-
export async function getEnvironments() {
|
|
4
|
-
try {
|
|
5
|
-
const environments =
|
|
6
|
-
await managerClient.prismicRepository.fetchEnvironments();
|
|
7
|
-
|
|
8
|
-
return { environments };
|
|
9
|
-
} catch (error) {
|
|
10
|
-
return { error };
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { revalidateData } from "@prismicio/editor-support/Suspense";
|
|
2
|
-
import { Environment } from "@slicemachine/manager/client";
|
|
3
|
-
|
|
4
|
-
import { getLegacySliceMachineState } from "@src/features/legacyState/actions/getLegacySliceMachineState";
|
|
5
|
-
import { managerClient } from "@src/managerClient";
|
|
6
|
-
|
|
7
|
-
import { getActiveEnvironmentDomain } from "./getActiveEnvironmentDomain";
|
|
8
|
-
|
|
9
|
-
export async function setEnvironment(
|
|
10
|
-
environment: Pick<Environment, "domain">,
|
|
11
|
-
): Promise<void> {
|
|
12
|
-
await managerClient.project.updateEnvironment({
|
|
13
|
-
environment: environment.domain,
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
revalidateData(getActiveEnvironmentDomain, []);
|
|
17
|
-
revalidateData(getLegacySliceMachineState, []);
|
|
18
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { useRequest } from "@prismicio/editor-support/Suspense";
|
|
2
|
-
|
|
3
|
-
import { getActiveEnvironmentDomain } from "./actions/getActiveEnvironmentDomain";
|
|
4
|
-
import { useEnvironments } from "./useEnvironments";
|
|
5
|
-
|
|
6
|
-
export function useActiveEnvironment() {
|
|
7
|
-
const { environments, error: useEnvironmentsError } = useEnvironments();
|
|
8
|
-
const { activeEnvironmentDomain, error: getActiveEnvironmentError } =
|
|
9
|
-
useRequest(getActiveEnvironmentDomain, []);
|
|
10
|
-
|
|
11
|
-
if (useEnvironmentsError !== undefined) {
|
|
12
|
-
return { error: useEnvironmentsError };
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (getActiveEnvironmentError !== undefined) {
|
|
16
|
-
return { error: getActiveEnvironmentError };
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const activeEnvironment = environments?.find((environment) => {
|
|
20
|
-
if (activeEnvironmentDomain === undefined) {
|
|
21
|
-
return environment.kind === "prod";
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return environment.domain === activeEnvironmentDomain;
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
if (!activeEnvironment) {
|
|
28
|
-
return {
|
|
29
|
-
error: new Error(
|
|
30
|
-
`The active environment (${
|
|
31
|
-
activeEnvironmentDomain ?? "Production"
|
|
32
|
-
}) does not match one of the repository's environments.`,
|
|
33
|
-
),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return { activeEnvironment };
|
|
38
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import ServerState from "@models/server/ServerState";
|
|
2
|
-
import { Slices } from "@lib/models/common/Slice";
|
|
3
|
-
import { CustomTypes } from "@lib/models/common/CustomType";
|
|
4
|
-
import { managerClient } from "@src/managerClient";
|
|
5
|
-
|
|
6
|
-
export async function getLegacySliceMachineState() {
|
|
7
|
-
const rawState = await managerClient.getState();
|
|
8
|
-
|
|
9
|
-
// `rawState` from the client contains non-SM-specific models. We need to
|
|
10
|
-
// transform the data to something SM recognizes.
|
|
11
|
-
const state: ServerState = {
|
|
12
|
-
...rawState,
|
|
13
|
-
libraries: rawState.libraries.map((library) => {
|
|
14
|
-
return {
|
|
15
|
-
...library,
|
|
16
|
-
components: library.components.map((component) => {
|
|
17
|
-
return {
|
|
18
|
-
...component,
|
|
19
|
-
model: Slices.toSM(component.model),
|
|
20
|
-
|
|
21
|
-
// Replace screnshot Blobs with URLs.
|
|
22
|
-
screenshots: Object.fromEntries(
|
|
23
|
-
Object.entries(component.screenshots).map(
|
|
24
|
-
([variationID, screenshot]) => {
|
|
25
|
-
return [
|
|
26
|
-
variationID,
|
|
27
|
-
{
|
|
28
|
-
...screenshot,
|
|
29
|
-
url: URL.createObjectURL(screenshot.data),
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
},
|
|
33
|
-
),
|
|
34
|
-
),
|
|
35
|
-
};
|
|
36
|
-
}),
|
|
37
|
-
};
|
|
38
|
-
}),
|
|
39
|
-
customTypes: rawState.customTypes.map((customTypeModel) => {
|
|
40
|
-
return CustomTypes.toSM(customTypeModel);
|
|
41
|
-
}),
|
|
42
|
-
remoteCustomTypes: rawState.remoteCustomTypes.map(
|
|
43
|
-
(remoteCustomTypeModel) => {
|
|
44
|
-
return CustomTypes.toSM(remoteCustomTypeModel);
|
|
45
|
-
},
|
|
46
|
-
),
|
|
47
|
-
remoteSlices: rawState.remoteSlices.map((remoteSliceModel) => {
|
|
48
|
-
return Slices.toSM(remoteSliceModel);
|
|
49
|
-
}),
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
return state;
|
|
53
|
-
}
|
|
File without changes
|