@ovh-ux/manager-pci-common 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +10320 -9851
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/style.css +1 -1
  7. package/dist/types/api/data/availability.d.ts +4 -7
  8. package/dist/types/api/data/feature-availability.d.ts +10 -0
  9. package/dist/types/api/data/regions.d.ts +7 -3
  10. package/dist/types/api/hook/index.d.ts +1 -0
  11. package/dist/types/api/hook/useFeaturedDeploymentModes.d.ts +132 -0
  12. package/dist/types/api/hook/usePCIFeatureAvailability.d.ts +1 -0
  13. package/dist/types/components/card/Card.d.ts +7 -0
  14. package/dist/types/components/deployment-mode-card/DeploymentModeCard.d.ts +9 -0
  15. package/dist/types/components/deployment-mode-card/index.d.ts +1 -0
  16. package/dist/types/components/deployment-tiles-input/DeploymentTilesInput.d.ts +6 -0
  17. package/dist/types/components/deployment-tiles-input/FeaturedDeploymentTilesInput.d.ts +3 -0
  18. package/dist/types/components/deployment-tiles-input/index.d.ts +3 -0
  19. package/dist/types/components/deployment-tiles-input/website-link.d.ts +23 -0
  20. package/dist/types/components/input-adapter/index.d.ts +2 -0
  21. package/dist/types/components/input-adapter/radio-adapter/RadioAdapter.d.ts +16 -0
  22. package/dist/types/components/input-adapter/radio-adapter/RadioField.d.ts +6 -0
  23. package/dist/types/components/region-selector/RegionChipByType.d.ts +6 -0
  24. package/dist/types/components/region-selector/RegionTile.d.ts +0 -3
  25. package/dist/types/components/tiles-input/TilesInput.d.ts +18 -0
  26. package/dist/types/components/tiles-input/index.d.ts +1 -0
  27. package/dist/types/contexts/PCICommonContext/PCICommonContext.d.ts +7 -0
  28. package/dist/types/dto/deployment.d.ts +8 -0
  29. package/dist/types/dto/index.d.ts +1 -0
  30. package/dist/types/hooks/index.d.ts +1 -0
  31. package/dist/types/hooks/useApplicationName/useApplicationName.d.ts +1 -0
  32. package/dist/types/hooks/usePCICommonContextFactory/usePCICommonContextFactory.d.ts +3 -0
  33. package/dist/types/index.d.ts +4 -0
  34. package/dist/types/translations/deployment-mode/Messages_de_DE.json.d.ts +16 -0
  35. package/dist/types/translations/deployment-mode/Messages_en_GB.json.d.ts +16 -0
  36. package/dist/types/translations/deployment-mode/Messages_es_ES.json.d.ts +16 -0
  37. package/dist/types/translations/deployment-mode/Messages_fr_CA.json.d.ts +16 -0
  38. package/dist/types/translations/deployment-mode/Messages_fr_FR.json.d.ts +16 -0
  39. package/dist/types/translations/deployment-mode/Messages_it_IT.json.d.ts +16 -0
  40. package/dist/types/translations/deployment-mode/Messages_pl_PL.json.d.ts +16 -0
  41. package/dist/types/translations/deployment-mode/Messages_pt_PT.json.d.ts +16 -0
  42. package/dist/types/translations/deployment-mode/index.d.ts +1 -0
  43. package/package.json +1 -1
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.relative{position:relative}.float-left{float:left}.m-0{margin:0}.m-3{margin:.25rem}.-mx-\[2px\]{margin-left:-2px;margin-right:-2px}.mx-5{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-3{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:.5rem;margin-bottom:.5rem}.my-5{margin-top:.75rem;margin-bottom:.75rem}.my-\[8px\]{margin-top:8px;margin-bottom:8px}.-mt-6{margin-top:-1rem}.mb-2{margin-bottom:.125rem}.mb-4{margin-bottom:.5rem}.mb-5{margin-bottom:.75rem}.mb-6{margin-bottom:1rem}.mb-8{margin-bottom:1.5rem}.mb-\[16px\]{margin-bottom:16px}.mb-\[24px\]{margin-bottom:24px}.mb-\[8px\]{margin-bottom:8px}.ml-0{margin-left:0}.ml-1{margin-left:.0625rem}.ml-2{margin-left:.125rem}.ml-3{margin-left:.25rem}.ml-4{margin-left:.5rem}.ml-8{margin-left:1.5rem}.ml-\[10px\]{margin-left:10px}.ml-auto{margin-left:auto}.mr-1{margin-right:.0625rem}.mr-2{margin-right:.125rem}.mr-3{margin-right:.25rem}.mr-4{margin-right:.5rem}.mr-5{margin-right:.75rem}.mr-auto{margin-right:auto}.mt-2{margin-top:.125rem}.mt-3{margin-top:.25rem}.mt-4{margin-top:.5rem}.mt-5{margin-top:.75rem}.mt-6{margin-top:1rem}.mt-8{margin-top:1.5rem}.mt-\[24px\]{margin-top:24px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.h-10{height:2.5rem}.h-11{height:3rem}.h-4{height:.5rem}.h-\[3\.25rem\]{height:3.25rem}.h-\[500px\]{height:500px}.h-full{height:100%}.h-px{height:1px}.max-h-28{max-height:7rem}.max-h-\[150px\]{max-height:150px}.min-h-0{min-height:0}.min-h-\[16px\]{min-height:16px}.w-10{width:2.5rem}.w-2\/3{width:66.666667%}.w-4{width:.5rem}.w-\[2\.5rem\]{width:2.5rem}.w-\[20rem\]{width:20rem}.w-\[25\%\]{width:25%}.w-\[30\%\]{width:30%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\[10rem\]{min-width:10rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[5rem\]{min-width:5rem}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.basis-\[40px\]{flex-basis:40px}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.columns-3{columns:3}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-2{gap:.125rem}.gap-4{gap:.5rem}.gap-6{gap:1rem}.gap-y-\[8px\]{row-gap:8px}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-visible{overflow-x:visible}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:50%}.rounded-lg{border-radius:var(--ods-size-border-radius-02)}.rounded-sm{border-radius:var(--ods-size-border-radius-01)}.rounded-t-lg{border-top-left-radius:var(--ods-size-border-radius-02);border-top-right-radius:var(--ods-size-border-radius-02)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\[1px\]{border-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-t-0{border-top-width:0px}.border-t-\[1px\]{border-top-width:1px}.border-solid{border-style:solid}.border-\[\#BEF1FF\],.border-\[\#bef1ff\]{--tw-border-opacity: 1;border-color:rgb(190 241 255 / var(--tw-border-opacity))}.border-\[--ods-color-blue-100\]{border-color:var(--ods-color-blue-100)}.border-\[--ods-color-blue-200\]{border-color:var(--ods-color-blue-200)}.border-\[--ods-color-blue-600\]{border-color:var(--ods-color-blue-600)}.border-\[--ods-color-neutral-500\]{border-color:var(--ods-color-neutral-500)}.border-\[--ods-color-primary-100\]{border-color:var(--ods-color-primary-100)}.border-\[--ods-color-primary-500\]{border-color:var(--ods-color-primary-500)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-b-\[\#bef1ff\]{--tw-border-opacity: 1;border-bottom-color:rgb(190 241 255 / var(--tw-border-opacity))}.border-b-\[--ods-color-primary-100\]{border-bottom-color:var(--ods-color-primary-100)}.border-t-\[--ods-color-neutral-100\]{border-top-color:var(--ods-color-neutral-100)}.\!bg-\[--ods-color-blue-100\]{background-color:var(--ods-color-blue-100)!important}.bg-\[\#85d9fd\]{--tw-bg-opacity: 1;background-color:rgb(133 217 253 / var(--tw-bg-opacity))}.bg-\[\#F5FEFF\]{--tw-bg-opacity: 1;background-color:rgb(245 254 255 / var(--tw-bg-opacity))}.bg-\[--ods-color-blue-100\]{background-color:var(--ods-color-blue-100)}.bg-\[--ods-color-primary-050\]{background-color:var(--ods-color-primary-050)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-0{padding:0}.p-4{padding:.5rem}.p-5{padding:.75rem}.p-6{padding:1rem}.p-\[12px\]{padding:12px}.p-\[1rem\]{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.0625rem;padding-right:.0625rem}.px-2{padding-left:.125rem;padding-right:.125rem}.px-4{padding-left:.5rem;padding-right:.5rem}.px-5{padding-left:.75rem;padding-right:.75rem}.px-\[1px\]{padding-left:1px;padding-right:1px}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-2{padding-top:.125rem;padding-bottom:.125rem}.py-3{padding-top:.25rem;padding-bottom:.25rem}.py-4{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[16px\]{padding-top:16px;padding-bottom:16px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pl-4{padding-left:.5rem}.pt-5{padding-top:.75rem}.pt-8{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[36px\]{font-size:36px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-\[16px\]{line-height:16px}.leading-\[18px\]{line-height:18px}.leading-\[20px\]{line-height:20px}.leading-\[22px\]{line-height:22px}.leading-\[28px\]{line-height:28px}.leading-\[32px\]{line-height:32px}.leading-\[43px\]{line-height:43px}.leading-\[45px\]{line-height:45px}.text-\[--ods-color-heading\]{color:var(--ods-color-heading)}.text-\[--ods-color-neutral-500\]{color:var(--ods-color-neutral-500)}.text-\[--ods-color-primary-500\]{color:var(--ods-color-primary-500)}.text-\[--ods-color-text\]{color:var(--ods-color-text)}.text-\[var\(--ods-color-error-200\)\]{color:var(--ods-color-error-200)}.text-\[var\(--ods-color-primary-300\)\]{color:var(--ods-color-primary-300)}.text-\[var\(--ods-color-warning-050\)\]{color:var(--ods-color-warning-050)}.text-\[var\(--ods-color-warning-100\)\]{color:var(--ods-color-warning-100)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.no-underline{text-decoration-line:none}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.border-ods-primary-200{border-color:var(--ods-color-primary-200)}.chip-3AZ{background-color:var(--ods-color-primary-700)}.chip-3AZ osds-text{color:var(--ods-color-primary-000)}.chip-3AZ osds-icon{background-color:var(--ods-color-primary-000)}.chip-1AZ{background-color:var(--ods-color-primary-400)}.chip-1AZ osds-text{color:var(--ods-color-primary-000)}.chip-1AZ osds-icon{background-color:var(--ods-color-primary-000)}.chip-LZ{background-color:var(--ods-color-primary-100)}.chip-LZ osds-text{color:var(--ods-color-primary-700)}.chip-LZ osds-icon{background-color:var(--ods-color-primary-700)}.hover\:border-\[--ods-color-blue-600\]:hover{border-color:var(--ods-color-blue-600)}.hover\:bg-\[--ods-color-blue-100\]:hover{background-color:var(--ods-color-blue-100)}.focus\:text-red-500:focus{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}@media (min-width: 0){.xs\:justify-start{justify-content:flex-start}.xs\:pt-10{padding-top:2.5rem}.xs\:pt-2\.5{padding-top:.625rem}}@media (min-width: 36em){.sm\:ml-4{margin-left:.5rem}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:pt-20{padding-top:5rem}.sm\:pt-8{padding-top:1.5rem}}@media (min-width: 48em){.md\:float-right{float:right}.md\:ml-4{margin-left:.5rem}.md\:mt-0{margin-top:0}.md\:mt-2{margin-top:.125rem}.md\:h-\[600px\]{height:600px}.md\:w-1\/6{width:16.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-\[32\%\]{width:32%}.md\:w-\[68\%\]{width:68%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-end{justify-content:flex-end}.md\:gap-6{gap:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-9{padding-top:2rem;padding-bottom:2rem}}@media (min-width: 75em){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes _cursor-blink_18io1_1{0%{opacity:1}50%{opacity:0}to{opacity:1}}._blinkingCursor_18io1_12{display:inline-block;width:.5rem;height:1rem;background-color:#fff;animation:_cursor-blink_18io1_1 1s step-end infinite}
1
+ .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.relative{position:relative}.float-left{float:left}.m-0{margin:0}.m-3{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:.5rem;margin-bottom:.5rem}.my-5{margin-top:.75rem;margin-bottom:.75rem}.-mt-6{margin-top:-1rem}.mb-2{margin-bottom:.125rem}.mb-3{margin-bottom:.25rem}.mb-4{margin-bottom:.5rem}.mb-5{margin-bottom:.75rem}.mb-6{margin-bottom:1rem}.mb-8{margin-bottom:1.5rem}.ml-0{margin-left:0}.ml-1{margin-left:.0625rem}.ml-2{margin-left:.125rem}.ml-3{margin-left:.25rem}.ml-4{margin-left:.5rem}.ml-8{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.0625rem}.mr-2{margin-right:.125rem}.mr-3{margin-right:.25rem}.mr-4{margin-right:.5rem}.mt-2{margin-top:.125rem}.mt-3{margin-top:.25rem}.mt-4{margin-top:.5rem}.mt-5{margin-top:.75rem}.mt-6{margin-top:1rem}.mt-8{margin-top:1.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.h-10{height:2.5rem}.h-11{height:3rem}.h-4{height:.5rem}.h-\[3\.25rem\]{height:3.25rem}.h-\[500px\]{height:500px}.h-full{height:100%}.h-px{height:1px}.max-h-\[150px\]{max-height:150px}.min-h-0{min-height:0}.w-10{width:2.5rem}.w-2\/3{width:66.666667%}.w-4{width:.5rem}.w-\[2\.5rem\]{width:2.5rem}.w-\[20rem\]{width:20rem}.w-\[25\%\]{width:25%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-9{min-width:2rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[5rem\]{min-width:5rem}.max-w-4xl{max-width:56rem}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.basis-\[40px\]{flex-basis:40px}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.columns-3{columns:3}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-2{gap:.125rem}.gap-3{gap:.25rem}.gap-4{gap:.5rem}.gap-6{gap:1rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-visible{overflow-x:visible}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:var(--ods-size-border-radius-01)}.rounded-full{border-radius:50%}.rounded-lg{border-radius:var(--ods-size-border-radius-02)}.rounded-sm{border-radius:var(--ods-size-border-radius-01)}.rounded-t-lg{border-top-left-radius:var(--ods-size-border-radius-02);border-top-right-radius:var(--ods-size-border-radius-02)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\[\.125rem\]{border-width:.125rem}.border-\[1px\]{border-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-t-0{border-top-width:0px}.border-t-\[1px\]{border-top-width:1px}.border-solid{border-style:solid}.border-\[\#0050d7\]{--tw-border-opacity: 1;border-color:rgb(0 80 215 / var(--tw-border-opacity))}.border-\[\#BEF1FF\],.border-\[\#bef1ff\]{--tw-border-opacity: 1;border-color:rgb(190 241 255 / var(--tw-border-opacity))}.border-\[--ods-color-blue-100\]{border-color:var(--ods-color-blue-100)}.border-\[--ods-color-blue-600\]{border-color:var(--ods-color-blue-600)}.border-\[grey\]{--tw-border-opacity: 1;border-color:rgb(128 128 128 / var(--tw-border-opacity))}.border-\[var\(--ods-color-blue-200\)\]{border-color:var(--ods-color-blue-200)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-b-\[\#bef1ff\]{--tw-border-opacity: 1;border-bottom-color:rgb(190 241 255 / var(--tw-border-opacity))}.border-t-\[\#b3b3b3\]{--tw-border-opacity: 1;border-top-color:rgb(179 179 179 / var(--tw-border-opacity))}.\!bg-\[--ods-color-blue-100\]{background-color:var(--ods-color-blue-100)!important}.bg-\[\#85d9fd\]{--tw-bg-opacity: 1;background-color:rgb(133 217 253 / var(--tw-bg-opacity))}.bg-\[\#F5FEFF\]{--tw-bg-opacity: 1;background-color:rgb(245 254 255 / var(--tw-bg-opacity))}.bg-\[--ods-color-blue-100\]{background-color:var(--ods-color-blue-100)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-0{padding:0}.p-4{padding:.5rem}.p-5{padding:.75rem}.p-6{padding:1rem}.p-\[16px\]{padding:16px}.px-1{padding-left:.0625rem;padding-right:.0625rem}.px-2{padding-left:.125rem;padding-right:.125rem}.px-4{padding-left:.5rem;padding-right:.5rem}.px-5{padding-left:.75rem;padding-right:.75rem}.px-\[1px\]{padding-left:1px;padding-right:1px}.py-2{padding-top:.125rem;padding-bottom:.125rem}.py-3{padding-top:.25rem;padding-bottom:.25rem}.py-4{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:1.5rem;padding-bottom:1.5rem}.pl-4{padding-left:.5rem}.pt-5{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.25rem\]{font-size:1.25rem}.text-\[1\.625rem\]{font-size:1.625rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.leading-10{line-height:2.5rem}.leading-8{line-height:2rem}.text-\[\#00185e\]{--tw-text-opacity: 1;color:rgb(0 24 94 / var(--tw-text-opacity))}.text-\[grey\]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity))}.text-\[var\(--ods-color-error-200\)\]{color:var(--ods-color-error-200)}.text-\[var\(--ods-color-primary-300\)\]{color:var(--ods-color-primary-300)}.text-\[var\(--ods-color-warning-050\)\]{color:var(--ods-color-warning-050)}.text-\[var\(--ods-color-warning-100\)\]{color:var(--ods-color-warning-100)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.no-underline{text-decoration-line:none}.opacity-50{opacity:.5}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.border-ods-primary-200{border-color:var(--ods-color-primary-200)}.chip-3AZ{background-color:var(--ods-color-primary-700)}.chip-3AZ osds-text{color:var(--ods-color-primary-000)}.chip-3AZ osds-icon{background-color:var(--ods-color-primary-000)}.chip-1AZ{background-color:var(--ods-color-primary-400)}.chip-1AZ osds-text{color:var(--ods-color-primary-000)}.chip-1AZ osds-icon{background-color:var(--ods-color-primary-000)}.chip-LZ{background-color:var(--ods-color-primary-100)}.chip-LZ osds-text{color:var(--ods-color-primary-700)}.chip-LZ osds-icon{background-color:var(--ods-color-primary-700)}.hover\:border-\[--ods-color-blue-600\]:hover{border-color:var(--ods-color-blue-600)}.hover\:bg-\[--ods-color-blue-100\]:hover{background-color:var(--ods-color-blue-100)}.focus\:text-red-500:focus{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.peer:checked~.peer-checked\:border-\[--ods-color-blue-600\]{border-color:var(--ods-color-blue-600)}.peer:checked~.peer-checked\:bg-\[--ods-color-blue-100\]{background-color:var(--ods-color-blue-100)}.peer:focus-visible~.peer-focus-visible\:border-\[--ods-color-blue-600\]{border-color:var(--ods-color-blue-600)}.peer:enabled~.peer-enabled\:cursor-pointer{cursor:pointer}.peer:enabled~.peer-enabled\:hover\:border-\[--ods-color-blue-600\]:hover{border-color:var(--ods-color-blue-600)}.peer:enabled~.peer-enabled\:hover\:bg-\[--ods-color-blue-100\]:hover{background-color:var(--ods-color-blue-100)}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}@media (min-width: 0){.xs\:justify-start{justify-content:flex-start}.xs\:pt-10{padding-top:2.5rem}.xs\:pt-2\.5{padding-top:.625rem}}@media (min-width: 36em){.sm\:ml-4{margin-left:.5rem}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:pt-20{padding-top:5rem}.sm\:pt-8{padding-top:1.5rem}}@media (min-width: 48em){.md\:float-right{float:right}.md\:ml-4{margin-left:.5rem}.md\:mt-0{margin-top:0}.md\:mt-2{margin-top:.125rem}.md\:h-\[600px\]{height:600px}.md\:w-1\/6{width:16.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-\[32\%\]{width:32%}.md\:w-\[68\%\]{width:68%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-end{justify-content:flex-end}.md\:gap-6{gap:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-9{padding-top:2rem;padding-bottom:2rem}}@media (min-width: 75em){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.peer:checked~.peer-checked\:\[\&_\.deployment-mode-card-title\]\:font-bold .deployment-mode-card-title{font-weight:700}@keyframes _cursor-blink_18io1_1{0%{opacity:1}50%{opacity:0}to{opacity:1}}._blinkingCursor_18io1_12{display:inline-block;width:.5rem;height:1rem;background-color:#fff;animation:_cursor-blink_18io1_1 1s step-end infinite}
@@ -1,18 +1,16 @@
1
- type TRegion = {
2
- continentCode: 'ASIA' | 'EU' | 'NA' | 'US';
1
+ import { TRegionBase } from '../../api/data/regions';
2
+ export type TProductAvailabilityRegion = TRegionBase & {
3
3
  datacenter: string;
4
4
  enabled: boolean;
5
- name: string;
6
- type: 'localzone' | 'region';
7
5
  };
8
6
  export type TProductAvailability = {
9
7
  plans: {
10
8
  code: string;
11
- regions: TRegion[];
9
+ regions: TProductAvailabilityRegion[];
12
10
  }[];
13
11
  products: {
14
12
  name: string;
15
- regions: TRegion[];
13
+ regions: TProductAvailabilityRegion[];
16
14
  }[];
17
15
  };
18
16
  export type ProductAvailabilityFilter = {
@@ -24,4 +22,3 @@ export type ProductAvailabilityFilter = {
24
22
  export declare const getProductAvailability: (projectId: string, params: {
25
23
  ovhSubsidiary: string;
26
24
  } & ProductAvailabilityFilter) => Promise<TProductAvailability>;
27
- export {};
@@ -0,0 +1,10 @@
1
+ export type FeatureAvailabilityQueryParams = Partial<{
2
+ app: string;
3
+ }>;
4
+ export type FeatureAvailabilityResponse<T extends string = string> = {
5
+ [Key in T]?: boolean;
6
+ } & {
7
+ feature: string;
8
+ result: boolean;
9
+ };
10
+ export declare const getFeatureAvailability: <T extends string = string>(features: T[], params?: FeatureAvailabilityQueryParams) => Promise<import("axios").AxiosResponse<FeatureAvailabilityResponse<T>, any>>;
@@ -1,8 +1,12 @@
1
- export type TRegion = {
1
+ export type TRegionType = 'region' | 'localzone' | 'region-3-az' | string;
2
+ export type TRegionBase = {
2
3
  name: string;
3
- type: 'region' | 'localzone' | 'region-3-az' | string;
4
+ type: TRegionType;
5
+ availabilityZones: string[];
6
+ continentCode: 'ASIA' | 'EU' | 'NA' | 'US' | string;
7
+ };
8
+ export type TRegion = TRegionBase & {
4
9
  status: string;
5
- continentCode: string;
6
10
  services: {
7
11
  name: string;
8
12
  status: string;
@@ -5,6 +5,7 @@ export * from './useFlavors';
5
5
  export * from './useInstance';
6
6
  export * from './useLogs';
7
7
  export * from './useOperation';
8
+ export * from './usePCIFeatureAvailability';
8
9
  export * from './useProject';
9
10
  export * from './useRegions';
10
11
  export * from './useInstance';
@@ -0,0 +1,132 @@
1
+ import { TRegion } from '../../api/data';
2
+ import { TDeployment } from '../../dto';
3
+ export declare const DEPLOYMENT_MODES_TYPES: TRegion['type'][];
4
+ export declare const getDeploymentBetaKey: (name: string) => string;
5
+ export declare const getDeploymentComingSoonKey: (name: string) => string;
6
+ export declare const DEPLOYMENT_FEATURES: string[];
7
+ export declare const useFeaturedDeploymentModes: () => {
8
+ error: Error;
9
+ isError: true;
10
+ isPending: false;
11
+ isLoading: false;
12
+ isLoadingError: false;
13
+ isRefetchError: true;
14
+ isSuccess: false;
15
+ status: "error";
16
+ dataUpdatedAt: number;
17
+ errorUpdatedAt: number;
18
+ failureCount: number;
19
+ failureReason: Error;
20
+ errorUpdateCount: number;
21
+ isFetched: boolean;
22
+ isFetchedAfterMount: boolean;
23
+ isFetching: boolean;
24
+ isInitialLoading: boolean;
25
+ isPaused: boolean;
26
+ isPlaceholderData: boolean;
27
+ isRefetching: boolean;
28
+ isStale: boolean;
29
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Map<string, boolean>, Error>>;
30
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
31
+ deployments: TDeployment[];
32
+ } | {
33
+ error: null;
34
+ isError: false;
35
+ isPending: false;
36
+ isLoading: false;
37
+ isLoadingError: false;
38
+ isRefetchError: false;
39
+ isSuccess: true;
40
+ status: "success";
41
+ dataUpdatedAt: number;
42
+ errorUpdatedAt: number;
43
+ failureCount: number;
44
+ failureReason: Error;
45
+ errorUpdateCount: number;
46
+ isFetched: boolean;
47
+ isFetchedAfterMount: boolean;
48
+ isFetching: boolean;
49
+ isInitialLoading: boolean;
50
+ isPaused: boolean;
51
+ isPlaceholderData: boolean;
52
+ isRefetching: boolean;
53
+ isStale: boolean;
54
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Map<string, boolean>, Error>>;
55
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
56
+ deployments: TDeployment[];
57
+ } | {
58
+ error: Error;
59
+ isError: true;
60
+ isPending: false;
61
+ isLoading: false;
62
+ isLoadingError: true;
63
+ isRefetchError: false;
64
+ isSuccess: false;
65
+ status: "error";
66
+ dataUpdatedAt: number;
67
+ errorUpdatedAt: number;
68
+ failureCount: number;
69
+ failureReason: Error;
70
+ errorUpdateCount: number;
71
+ isFetched: boolean;
72
+ isFetchedAfterMount: boolean;
73
+ isFetching: boolean;
74
+ isInitialLoading: boolean;
75
+ isPaused: boolean;
76
+ isPlaceholderData: boolean;
77
+ isRefetching: boolean;
78
+ isStale: boolean;
79
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Map<string, boolean>, Error>>;
80
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
81
+ deployments: TDeployment[];
82
+ } | {
83
+ error: null;
84
+ isError: false;
85
+ isPending: true;
86
+ isLoading: true;
87
+ isLoadingError: false;
88
+ isRefetchError: false;
89
+ isSuccess: false;
90
+ status: "pending";
91
+ dataUpdatedAt: number;
92
+ errorUpdatedAt: number;
93
+ failureCount: number;
94
+ failureReason: Error;
95
+ errorUpdateCount: number;
96
+ isFetched: boolean;
97
+ isFetchedAfterMount: boolean;
98
+ isFetching: boolean;
99
+ isInitialLoading: boolean;
100
+ isPaused: boolean;
101
+ isPlaceholderData: boolean;
102
+ isRefetching: boolean;
103
+ isStale: boolean;
104
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Map<string, boolean>, Error>>;
105
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
106
+ deployments: TDeployment[];
107
+ } | {
108
+ error: null;
109
+ isError: false;
110
+ isPending: true;
111
+ isLoadingError: false;
112
+ isRefetchError: false;
113
+ isSuccess: false;
114
+ status: "pending";
115
+ dataUpdatedAt: number;
116
+ errorUpdatedAt: number;
117
+ failureCount: number;
118
+ failureReason: Error;
119
+ errorUpdateCount: number;
120
+ isFetched: boolean;
121
+ isFetchedAfterMount: boolean;
122
+ isFetching: boolean;
123
+ isLoading: boolean;
124
+ isInitialLoading: boolean;
125
+ isPaused: boolean;
126
+ isPlaceholderData: boolean;
127
+ isRefetching: boolean;
128
+ isStale: boolean;
129
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Map<string, boolean>, Error>>;
130
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
131
+ deployments: TDeployment[];
132
+ };
@@ -0,0 +1 @@
1
+ export declare const usePCIFeatureAvailability: <T extends string = string>(features: T[]) => import("@tanstack/react-query").UseQueryResult<Map<T, boolean>, Error>;
@@ -0,0 +1,7 @@
1
+ import { PropsWithChildren, ComponentProps } from 'react';
2
+ import { OsdsText } from '@ovhcloud/ods-components/react';
3
+ export declare const Card: ({ children, className, ...otherProps }: PropsWithChildren<ComponentProps<"div">>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const CardBody: ({ children, className, ...otherProps }: PropsWithChildren<ComponentProps<"div">>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const CardHeader: ({ children, ...otherProps }: PropsWithChildren<ComponentProps<"div">>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const CardTitle: ({ children, className, ...otherProps }: PropsWithChildren<ComponentProps<typeof OsdsText>>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const CardDescription: ({ children, ...otherProps }: PropsWithChildren<ComponentProps<typeof OsdsText>>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
+ export type DeploymentModeCardProps = Readonly<PropsWithChildren<{
3
+ labelId?: string;
4
+ ariaDetailsId?: string;
5
+ name: string;
6
+ price?: ReactNode;
7
+ className?: string;
8
+ }>>;
9
+ export declare const DeploymentModeCard: ({ name, price, labelId, ariaDetailsId, className, children, }: DeploymentModeCardProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './DeploymentModeCard';
@@ -0,0 +1,6 @@
1
+ import { TilesInputProps } from '../../components/tiles-input/TilesInput';
2
+ import { TDeployment } from '../../dto';
3
+ export type DeploymentTilesInputProps = {
4
+ deployments: TDeployment[];
5
+ } & Omit<TilesInputProps<TDeployment>, 'elements' | 'elementKey' | 'render' | 'inputProps' | 'label' | 'subtitle'>;
6
+ export declare const DeploymentTilesInput: ({ deployments, ...tilesInputProps }: DeploymentTilesInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { DeploymentTilesInputProps } from '../../components/deployment-tiles-input/DeploymentTilesInput';
2
+ export type FeaturedDeploymentTilesInputProps = Omit<DeploymentTilesInputProps, 'deployments'>;
3
+ export declare const FeaturedDeploymentTilesInput: ({ value, onChange, name, ...otherProps }: FeaturedDeploymentTilesInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export * from './DeploymentTilesInput';
2
+ export * from './FeaturedDeploymentTilesInput';
3
+ export * from './website-link';
@@ -0,0 +1,23 @@
1
+ export declare const DEPLOYMENT_MODES_URL: {
2
+ ASIA: string;
3
+ AU: string;
4
+ CA: string;
5
+ GB: string;
6
+ IE: string;
7
+ IN: string;
8
+ SG: string;
9
+ DE: string;
10
+ ES: string;
11
+ FR: string;
12
+ IT: string;
13
+ MA: string;
14
+ SN: string;
15
+ TN: string;
16
+ NL: string;
17
+ PL: string;
18
+ PT: string;
19
+ QC: string;
20
+ US: string;
21
+ WS: string;
22
+ DEFAULT: string;
23
+ };
@@ -0,0 +1,2 @@
1
+ export * from './radio-adapter/RadioAdapter';
2
+ export * from './radio-adapter/RadioField';
@@ -0,0 +1,16 @@
1
+ import { ComponentType, DetailedHTMLProps, InputHTMLAttributes } from 'react';
2
+ export type RadioAdapterFactoryProps = {
3
+ name: string;
4
+ checked?: boolean;
5
+ labelId: string;
6
+ ariaDetailsId: string;
7
+ onChange: (value: InputHTMLAttributes<HTMLInputElement>['value']) => void;
8
+ } & Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'onChange'>;
9
+ export type RadioAdapterFactory = ComponentType<RadioAdapterFactoryProps>;
10
+ export type RadioAdapterProps = {
11
+ name: string;
12
+ checked?: boolean;
13
+ render: RadioAdapterFactory;
14
+ onChange: (value: InputHTMLAttributes<HTMLInputElement>['value']) => void;
15
+ } & Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'onChange'>;
16
+ export declare const RadioAdapter: ({ name, checked, render: Renderer, onChange: onChangeProp, className, ...inputProps }: Readonly<RadioAdapterProps>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps, FC, PropsWithChildren, ReactNode } from 'react';
2
+ export type RadioFieldProps = PropsWithChildren<ComponentProps<'fieldset'> & {
3
+ label: ReactNode;
4
+ subtitle?: ReactNode;
5
+ }>;
6
+ export declare const RadioField: FC<RadioFieldProps>;
@@ -0,0 +1,6 @@
1
+ import { TRegionType } from '../../api/data';
2
+ export type RegionChipByTypeProps = Readonly<{
3
+ type: TRegionType;
4
+ showTooltip?: boolean;
5
+ }>;
6
+ export declare const RegionChipByType: ({ type, showTooltip, }: RegionChipByTypeProps) => import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,4 @@ export interface RegionTileProps {
4
4
  isSelected: boolean;
5
5
  isCompact?: boolean;
6
6
  }
7
- export declare const RegionChipByType: ({ region, }: Readonly<{
8
- region: TLocalisation;
9
- }>) => import("react/jsx-runtime").JSX.Element;
10
7
  export declare const RegionTile: ({ region, isSelected, isCompact, }: Readonly<RegionTileProps>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { ComponentType, DetailedHTMLProps, InputHTMLAttributes } from 'react';
2
+ import { RadioAdapterFactoryProps, RadioFieldProps } from '../../components/input-adapter';
3
+ type KeyValue = string | number;
4
+ export type TilesInputRenderProps<T> = RadioAdapterFactoryProps & {
5
+ element: T;
6
+ };
7
+ export type TilesInputProps<T> = Pick<RadioFieldProps, 'label' | 'subtitle'> & {
8
+ elements: T[];
9
+ value: T | null;
10
+ elementKey: (element: T) => KeyValue;
11
+ onChange?: (value: T) => void;
12
+ render: ComponentType<TilesInputRenderProps<T>>;
13
+ inputProps?: (element: T) => Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'onChange'>;
14
+ name: string;
15
+ locked?: boolean;
16
+ };
17
+ export declare const TilesInput: <T extends string | number | Record<string, unknown>>({ label, elements: elementsProps, elementKey, value: selectedValue, onChange, render: Renderer, inputProps, subtitle, locked, name, }: TilesInputProps<T>) => import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1 @@
1
+ export * from './TilesInput';
@@ -1,5 +1,6 @@
1
1
  export interface InternalMeta {
2
2
  has3AZ?: boolean;
3
+ applicationName?: string;
3
4
  }
4
5
  /**
5
6
  * This type is only used to add completion with LSP
@@ -11,3 +12,9 @@ export type PCICommonMetaType = InternalMeta | Record<string, unknown> | undefin
11
12
  * Use this to override previously set properties
12
13
  */
13
14
  export declare const PCICommonContext: import("react").Context<PCICommonMetaType>;
15
+ /**
16
+ * Check if meta context has property
17
+ * @param meta
18
+ * @param property
19
+ */
20
+ export declare function hasMetaProperty<K extends keyof InternalMeta>(meta: PCICommonMetaType, property: K): meta is Record<K, unknown>;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { TRegionType } from '../api/data';
3
+ export type TDeployment = {
4
+ name: TRegionType;
5
+ beta?: boolean;
6
+ comingSoon?: boolean;
7
+ price?: ReactNode;
8
+ };
@@ -0,0 +1 @@
1
+ export * from './deployment';
@@ -2,3 +2,4 @@ export { useBytes } from './bytes/useBytes';
2
2
  export { usePciUrl } from './url/usePciUrl';
3
3
  export { usePricing } from './usePricing';
4
4
  export { usePCICommonContextFactory } from './usePCICommonContextFactory/usePCICommonContextFactory';
5
+ export * from './useApplicationName/useApplicationName';
@@ -0,0 +1 @@
1
+ export declare const useApplicationName: () => string | null;
@@ -9,8 +9,11 @@ export declare function usePCICommonContextFactory(meta?: PCICommonMetaType): {
9
9
  [x: string]: unknown;
10
10
  } | {
11
11
  has3AZ?: boolean;
12
+ applicationName?: string;
12
13
  } | {
13
14
  has3AZ?: boolean;
15
+ applicationName?: string;
14
16
  } | {
15
17
  has3AZ?: boolean;
18
+ applicationName?: string;
16
19
  };
@@ -12,3 +12,7 @@ export { PCICommonContext } from './contexts/PCICommonContext/PCICommonContext';
12
12
  export * from './components/quantity-selector';
13
13
  export * from './components/Pricing';
14
14
  export * from './components/shape-input/ShapeInput.component';
15
+ export * from './components/deployment-mode-card';
16
+ export * from './components/deployment-tiles-input';
17
+ export * from './components/input-adapter';
18
+ export * from './dto';
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Bereitstellungsmodus auswählen",
3
+ "deployment_mode_description": "Wählen Sie die optimale Konfiguration für Ihre Use Cases aus, um Verfügbarkeit, Resilienz und eine angemessene Latenz für Ihre Daten zu gewährleisten. <Link>Mehr erfahren</Link>",
4
+ "deployment_mode_card_title_region": "1-AZ Region",
5
+ "deployment_mode_card_description_region": "Resiliente und kostengünstige Bereitstellung in 1 Availability Zone.",
6
+ "deployment_mode_card_title_region-3-az": "3-AZ Region",
7
+ "deployment_mode_card_description_region-3-az": "Bereitstellung mit hoher Resilienz/hoher Verfügbarkeit für Ihre kritischen Anwendungen in 3 Availability Zones.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Bereitstellung Ihrer Anwendungen möglichst nahe an Ihren Usern für niedrige Latenz und die Datenresidenz.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Kostenlos",
12
+ "deployment_mode_card_coming_soon": "Demnächst verfügbar"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Select a deployment mode",
3
+ "deployment_mode_description": "Pick the optimal configuration to ensure your data is always accessible, reliable, and has the right latency based on your use cases. <Link>Find out more</Link>",
4
+ "deployment_mode_card_title_region": "1-AZ Region",
5
+ "deployment_mode_card_description_region": "Resilient and low cost deployment in 1 availability zone.",
6
+ "deployment_mode_card_title_region-3-az": "3-AZ Region",
7
+ "deployment_mode_card_description_region-3-az": "High resilience/high availability deployment for your critical applications across 3 availability zones.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Deploy your applications as geographically close to your users as possible, for low latency and compliant data residency.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Free",
12
+ "deployment_mode_card_coming_soon": "Coming soon"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Seleccione un modo de implementación",
3
+ "deployment_mode_description": "Seleccione una configuración óptima para asegurar la disponibilidad, la resiliencia y la latencia más adecuadas para los datos según sus casos de uso. <Link>Más información</Link>",
4
+ "deployment_mode_card_title_region": "Región 1-AZ",
5
+ "deployment_mode_card_description_region": "Implementación resiliente y económica en 1 zona de disponibilidad.",
6
+ "deployment_mode_card_title_region-3-az": "Región 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Despliegue de alta resiliencia/alta disponibilidad para sus aplicaciones críticas en 3 zonas de disponibilidad.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Despliegue sus aplicaciones más cerca de sus usuarios para disfrutar de una menor latencia y de residencia de datos.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Gratis",
12
+ "deployment_mode_card_coming_soon": "Próximamente disponible"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Sélectionnez un mode de déploiement",
3
+ "deployment_mode_description": "Sélectionnez une configuration optimale pour assurer la disponibilité, la résilience et la latence appropriées pour vos données selon vos cas d’usage. <Link>En savoir plus</Link>",
4
+ "deployment_mode_card_title_region": "Région 1-AZ",
5
+ "deployment_mode_card_description_region": "Déploiement résilient et économique sur 1 zone de disponibilité.",
6
+ "deployment_mode_card_title_region-3-az": "Région 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Déploiement haute résilience/haute disponibilité pour vos applications critiques sur 3 zones de disponibilité.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Déploiement de vos applications au plus près de vos utilisatrices et utilisateurs pour une faible latence et la résidence des données.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Gratuit",
12
+ "deployment_mode_card_coming_soon": "Bientôt disponible"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Sélectionnez un mode de déploiement",
3
+ "deployment_mode_description": "Sélectionnez une configuration optimale pour assurer la disponibilité, la résilience et la latence appropriées pour vos données selon vos cas d’usage. <Link>En savoir plus</Link>",
4
+ "deployment_mode_card_title_region": "Région 1-AZ",
5
+ "deployment_mode_card_description_region": "Déploiement résilient et économique sur 1 zone de disponibilité.",
6
+ "deployment_mode_card_title_region-3-az": "Région 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Déploiement haute résilience/haute disponibilité pour vos applications critiques sur 3 zones de disponibilité.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Déploiement de vos applications au plus près de vos utilisatrices et utilisateurs pour une faible latence et la résidence des données.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Gratuit",
12
+ "deployment_mode_card_coming_soon": "Bientôt disponible"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Seleziona una modalità di deploy",
3
+ "deployment_mode_description": "Seleziona una configurazione ottimale per assicurare la disponibilità, la resilienza e la latenza più appropriata per i tuoi dati in base alle modalità di utilizzo. <Link>Scopri di più</Link>",
4
+ "deployment_mode_card_title_region": "Region 1-AZ",
5
+ "deployment_mode_card_description_region": "Deploy resiliente ed economico su 1 zona di disponibilità.",
6
+ "deployment_mode_card_title_region-3-az": "Region 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Deploy ad alta resilienza/alta disponibilità per le tue applicazioni critiche su 3 zone di disponibilità.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Esecuzione delle applicazioni il più vicino possibile ai tuoi utenti per una latenza ridotta e la localizzazione dei dati.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Gratis",
12
+ "deployment_mode_card_coming_soon": "In arrivo"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Wybierz tryb wdrożenia",
3
+ "deployment_mode_description": "Wybierz optymalną konfigurację, aby zapewnić odpowiednią dostępność, odporność i opóźnienia w zależności od specyficznych potrzeb związanych z danymi i zastosowaniami. <Link>Dowiedz się więcej</Link>",
4
+ "deployment_mode_card_title_region": "Region 1-AZ",
5
+ "deployment_mode_card_description_region": "Wdrożenia zapewniające odporność infrastruktury i efektywność kosztową w 1 strefie dostępności.",
6
+ "deployment_mode_card_title_region-3-az": "Region 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Wdrożenia zapewniające odporność infrastruktury i dostępność krytycznych aplikacji w 3 strefach dostępności.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Wdrażanie aplikacji jak najbliżej użytkowników w celu minimalizacji opóźnień i zapewnienia lokalizacji danych spełniającej wymogi regulacyjne obowiązujące na określonym terytorium.",
10
+ "deployment_mode_card_beta": "Wersja beta",
11
+ "deployment_mode_card_beta_price": "Gratis",
12
+ "deployment_mode_card_coming_soon": "Dostępne wkrótce"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ "deployment_mode_title": "Selecione um modo de implementação",
3
+ "deployment_mode_description": "Escolha uma configuração ideal para assegurar a disponibilidade, a resiliência e a latência adequadas aos seus dados, consoante as sua utilização. <Link>Saber mais</Link>",
4
+ "deployment_mode_card_title_region": "Região 1-AZ",
5
+ "deployment_mode_card_description_region": "Implementação resiliente e económica em 1 zona de disponibilidade.",
6
+ "deployment_mode_card_title_region-3-az": "Região 3-AZ",
7
+ "deployment_mode_card_description_region-3-az": "Implementação de alta resiliência/alta disponibilidade para as suas aplicações críticas em 3 zonas de disponibilidade.",
8
+ "deployment_mode_card_title_localzone": "Local Zone",
9
+ "deployment_mode_card_description_localzone": "Implementação das suas aplicações mais próxima dos seus utilizadores para uma baixa latência e residência dos dados.",
10
+ "deployment_mode_card_beta": "Beta",
11
+ "deployment_mode_card_beta_price": "Grátis",
12
+ "deployment_mode_card_coming_soon": "Disponível em breve"
13
+ }
14
+ ;
15
+
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ovh-ux/manager-pci-common",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "private": false,
5
5
  "description": "Public Cloud Common components",
6
6
  "homepage": "https://github.com/ovh/manager/blob/master/packages/manager/modules/manager-pci-common/README.md",