@ws-ui/localization-editor 1.11.7-rc1

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 (47) hide show
  1. package/dist/LocalizationEditor.d.ts +3 -0
  2. package/dist/Portal.d.ts +4 -0
  3. package/dist/Standalone/Modals.d.ts +2 -0
  4. package/dist/Standalone/index.d.ts +15 -0
  5. package/dist/Standalone/style.css +1 -0
  6. package/dist/adapter/index.d.ts +5 -0
  7. package/dist/adapter/provider.d.ts +8 -0
  8. package/dist/adapter/reducer/adapter.d.ts +57 -0
  9. package/dist/adapter/reducer/use-modals.d.ts +12 -0
  10. package/dist/adapter/redux/adapter.d.ts +3 -0
  11. package/dist/adapter/types.d.ts +23 -0
  12. package/dist/common.cjs.js +2 -0
  13. package/dist/common.cjs.js.map +1 -0
  14. package/dist/common.d.ts +1 -0
  15. package/dist/common.es.js +5 -0
  16. package/dist/common.es.js.map +1 -0
  17. package/dist/components/Export-Import/DelimiterSelector.d.ts +8 -0
  18. package/dist/components/Export-Import/Export/index.d.ts +15 -0
  19. package/dist/components/Export-Import/Import/index.d.ts +21 -0
  20. package/dist/components/Export-Import/SelectFileType.d.ts +7 -0
  21. package/dist/components/Export-Import/Utils.d.ts +20 -0
  22. package/dist/components/Export-Import/types.d.ts +7 -0
  23. package/dist/components/I18nEditor/NoKeysScreen.d.ts +3 -0
  24. package/dist/components/I18nEditor/index.d.ts +3 -0
  25. package/dist/components/KeysEditor/KeyRow.d.ts +8 -0
  26. package/dist/components/KeysEditor/NewKeyRow.d.ts +13 -0
  27. package/dist/components/KeysEditor/index.d.ts +3 -0
  28. package/dist/components/NoSupportedScreen.d.ts +7 -0
  29. package/dist/components/SupportedEditor/Actions.d.ts +16 -0
  30. package/dist/components/SupportedEditor/Language.d.ts +13 -0
  31. package/dist/components/SupportedEditor/NewLanguage.d.ts +11 -0
  32. package/dist/components/SupportedEditor/index.d.ts +3 -0
  33. package/dist/index.cjs.js +156 -0
  34. package/dist/index.cjs.js.map +1 -0
  35. package/dist/index.d.ts +9 -0
  36. package/dist/index.es.js +30684 -0
  37. package/dist/index.es.js.map +1 -0
  38. package/dist/localization-editor.css +1 -0
  39. package/dist/main.d.ts +0 -0
  40. package/dist/providers/I18nProvider.d.ts +37 -0
  41. package/dist/providers/LocalizationEditorProvider.d.ts +27 -0
  42. package/dist/providers/LocalizationProvider.d.ts +6 -0
  43. package/dist/providers/index.d.ts +3 -0
  44. package/dist/types/i18n.d.ts +22 -0
  45. package/dist/utils/language.d.ts +2 -0
  46. package/dist/utils.d.ts +6 -0
  47. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--ws-primary-50: #f2ddff;--ws-primary-100: #edd0ff;--ws-primary-300: #d0acef;--ws-primary-400: #c190ea;--ws-primary-600: #935ebf;--ws-primary-800: #563374;--ws-primary-900: #381e4f;--ws-primary-950: #29133c;--ws-positive-50: #ecf9f2;--ws-positive-100: #d9f2e6;--ws-positive-300: #8ed9b3;--ws-positive-400: #68cd99;--ws-positive-700: #28734d;--ws-positive-800: #28734d;--ws-positive-900: #0d261a;--ws-positive-950: #07130d;--ws-warning-50: #fff7e6;--ws-warning-100: #ffefcc;--ws-warning-300: #fed066;--ws-warning-400: #fdc133;--ws-warning-700: #986a00;--ws-warning-800: #654700;--ws-warning-900: #332300;--ws-warning-950: #191200;--ws-negative-50: #feeeee;--ws-negative-100: #fcdcdc;--ws-negative-300: #f69797;--ws-negative-400: #f37575;--ws-negative-700: #9a3232;--ws-negative-800: #6e2222;--ws-negative-900: #431212;--ws-negative-950: #2e0a0a;--ws-grey-300: #535353;--ws-grey-400: #484848;--ws-grey-600: #3f3f3f;--ws-palette-primary-200: #e0c7f5;--ws-palette-primary-500: #b174e5;--ws-palette-primary-700: #75499a;--ws-button-bg: var(--vscode-button-background, var(--theia-button-background, var(--ws-palette-primary-500)));--ws-button-fg: var(--vscode-button-foreground, var(--theia-button-foreground, var(--ws-palette-white)));--ws-primary-default: var(--ws-button-bg);--ws-button-text: var(--ws-button-fg);--ws-primary-hover: var(--vscode-button-hoverBackground, var(--theia-button-hoverBackground, var(--ws-palette-primary-700)));--ws-primary-light: var(--vscode-editorInfo-foreground, var(--theia-button-hoverBackground, var(--ws-palette-primary-200)));--ws-primary-dark: var(--vscode-editor-lineHighlightBackground, var(--theia-button-hoverBackground, var(--ws-palette-primary-700)));--ws-primary-200: var(--ws-primary-light);--ws-primary-500: var(--ws-primary-default);--ws-primary-700: var(--ws-primary-hover);--ws-palette-positive-200: #b3e6cc;--ws-palette-positive-500: #42c080;--ws-palette-positive-600: #359a66;--ws-positive-dark: var(--vscode-gitDecoration-addedResourceForeground, var(--ws-palette-positive-600));--ws-positive-hover: var(--ws-positive-dark);--ws-positive-bg: var(--ws-palette-positive-100);--ws-positive-light: var(--ws-palette-positive-200);--ws-positive-border: var(--ws-positive-500);--ws-positive-text: var(--ws-positive-500);--ws-positive-500: var(--vscode-testing-iconPassed, var(--ws-palette-positive-500));--ws-positive-200: var(--ws-positive-light);--ws-positive-600: var(--ws-positive-dark);--ws-palette-warning-200: #fee099;--ws-palette-warning-500: #fdb100;--ws-palette-warning-600: #ca8e00;--ws-warning-hover: var(--ws-warning-600);--ws-warning-text: var(--ws-warning-500);--ws-warning-border: var(--ws-warning-500);--ws-warning-500: var(--vscode-list-warningForeground, var(--ws-palette-warning-500));--ws-warning-bg: var(--vscode-inputValidation-warningBackground, var(--ws-palette-warning-500));--ws-warning-light: var(--vscode-inputValidation-warningBackground, var(--ws-palette-warning-200));--ws-warning-dark: var(--vscode-inputValidation-warningBackground, var(--ws-palette-warning-600));--ws-warning-200: var(--ws-warning-light);--ws-warning-600: var(--ws-warning-dark);--ws-palette-negative-200: #f9baba;--ws-palette-negative-500: #f05252;--ws-palette-negative-600: #c54242;--ws-negative-hover: var(--ws-negative-600);--ws-negative-text: var(--ws-negative-500);--ws-negative-500: var(--vscode-errorForeground, var(--ws-palette-negative-500));--ws-negative-light: var(--vscode-inputValidation-errorBackground, var(--ws-palette-negative-200));--ws-negative-dark: var(--vscode-inputValidation-errorBackground, var(--ws-palette-negative-600));--ws-negative-200: var(--ws-negative-light);--ws-negative-600: var(--ws-negative-dark);--ws-palette-white: #ffffff;--ws-palette-grey-50: #f1f5f9;--ws-palette-grey-100: #cccccc;--ws-palette-grey-200: #888888;--ws-palette-grey-300: #535353;--ws-palette-grey-400: #484848;--ws-palette-grey-500: #444444;--ws-palette-grey-600: #3F3F3F;--ws-palette-grey-700: #393939;--ws-palette-grey-800: #383838;--ws-palette-grey-900: #262626;--ws-palette-grey-950: #151515;--ws-bg-default: var(--vscode-editor-background, var(--theia-editor-background, var(--ws-palette-white)));--ws-bg-foreground: var(--vscode-editor-foreground, var(--theia-panel-foreground, var(--ws-palette-grey-50)));--ws-grey-50: var(--ws-bg-foreground);--ws-grey-100: var(--vscode-panel-background, var(--theia-panel-background, var(--ws-palette-grey-100)));--ws-grey-200: var(--vscode-editor-background, var(--theia-editor-background, var(--ws-palette-grey-200)));--ws-grey-950: var(--vscode-panel-border, var(--theia-border-color, var(--ws-palette-grey-950)));--ws-grey-500: var(--vscode-descriptionForeground, var(--ws-palette-grey-500));--ws-grey-800: var(--vscode-descriptionForeground, var(--ws-palette-grey-800));--ws-card-bg: var(--vscode-editorGroupHeader-tabsBackground, var(--theia-editor-group-header-background, var(--ws-palette-grey-900)));--ws-card-border: var(--vscode-editorGroupHeader-tabsBorder, var(--theia-editor-group-header-background, var(--ws-palette-grey-50)));--ws-palette-input-bg: var(--ws-palette-grey-300);--ws-palette-input-border: var(--ws-palette-grey-300);--ws-palette-input-text: var(--ws-palette-grey-50);--ws-palette-input-placeholder: var(--ws-palette-grey-200);--ws-palette-input-focus-border: var(--ws-palette-grey-50);--ws-input-bg: var(--vscode-input-background, var(--vscode-editorWidget-background, var(--theia-input-background, var(--ws-palette-input-bg))));--ws-input-border: var(--vscode-input-border, var(--vscode-panel-border, var(--theia-input-border, var(--ws-palette-input-border))));--ws-input-text: var(--vscode-input-foreground, var(--vscode-editor-foreground, var(--theia-input-foreground, var(--ws-palette-input-text))));--ws-input-placeholder: var(--vscode-input-placeholderForeground, var(--vscode-editor-foreground, var(--theia-input-placeholderForeground, var(--ws-palette-input-placeholder))));--ws-input-focus-border: var(--vscode-focusBorder, var(--vscode-button-background, var(--theia-focusBorder, var(--ws-palette-primary-500))));--ws-select-bg: var(--vscode-dropdown-background, var(--vscode-editorWidget-background, var(--theia-dropdown-background, var(--ws-input-bg))));--ws-select-border: var(--vscode-dropdown-border, var(--vscode-panel-border, var(--theia-dropdown-border, var(--ws-input-border))));--ws-select-text: var(--vscode-dropdown-foreground, var(--vscode-editor-foreground, var(--theia-dropdown-foreground, var(--ws-input-text))));--ws-select-list-bg: var(--vscode-editorWidget-background, var(--theia-editorWidget-background, var(--ws-palette-grey-900)));--ws-input-option-hover-bg: var(--vscode-list-hoverBackground, var(--vscode-button-hoverBackground, var(--theia-list-hoverBackground, var(--ws-palette-primary-700))));--ws-input-option-active-bg: var(--vscode-list-activeSelectionBackground, var(--theia-list-activeSelectionBackground, var(--ws-palette-primary-500)));--ws-input-option-active-text: var(--vscode-list-activeSelectionForeground, var(--theia-list-activeSelectionForeground, var(--ws-palette-white)));--ws-input-error-border: var(--vscode-inputValidation-errorBorder, var(--theia-inputValidation-errorBorder, var(--ws-palette-negative-500)));--ws-input-error-bg: var(--vscode-inputValidation-errorBackground, var(--theia-inputValidation-errorBackground, var(--ws-palette-negative-200)));--ws-input-warning-border: var(--vscode-inputValidation-warningBorder, var(--theia-inputValidation-warningBorder, var(--ws-palette-warning-500)));--ws-input-warning-bg: var(--vscode-inputValidation-warningBackground, var(--theia-inputValidation-warningBackground, var(--ws-palette-warning-200)));--ws-input-info-bg: var(--vscode-panel-background, var(--theia-inputValidation-infoBackground, var(--ws-palette-primary-200)));--ws-input-message-bg: var(--vscode-editor-lineHighlightBackground, var(--theia-inputValidation-infoBackground, var(--ws-palette-primary-200)));--ws-input-message-text: var(--vscode-editorInfo-foreground, var(--vscode-editor-foreground, var(--theia-inputValidation-infoForeground, var(--ws-palette-primary-500))));--ws-inactive-text: var(--vscode-disabledForeground, var(--vscode-editor-foreground, var(--theia-disabled-foreground, var(--ws-palette-grey-200))));--ws-disable-bg: var(--vscode-button-disabledBackground, var(--theia-button-disabledBackground, var(--ws-palette-grey-300)));--ws-disable-input: var(--vscode-button-disabledBackground, var(--theia-button-disabledBackground, var(--ws-palette-grey-200)));--ws-text-muted: var(--vscode-descriptionForeground, var(--vscode-editor-foreground, var(--theia-descriptionForeground, var(--ws-palette-grey-100))));--ws-panel-0: var(--vscode-editor-background, var(--theia-editor-background, var(--ws-palette-grey-900)));--ws-panel-1: var(--vscode-sideBar-background, var(--theia-sideBar-background, var(--ws-palette-grey-700)));--ws-panel-2: var(--vscode-panel-background, var(--theia-panel-background, var(--ws-palette-grey-900)));--ws-panel-3: var(--vscode-editorGroupHeader-tabsBackground, var(--theia-editor-group-header-background, var(--ws-palette-grey-900)));--ws-panel-4: var(--vscode-editorWidget-background, var(--theia-editorWidget-background, var(--ws-palette-grey-300)));--ws-panel-5: var(--vscode-editorWidget-background, var(--theia-editorWidget-background, var(--ws-palette-grey-950)));--ws-panel-border-subtle: var(--vscode-panel-border, var(--theia-border-color, var(--ws-palette-grey-100)));--ws-panel-border-strong: var(--vscode-contrastBorder, var(--theia-contrastBorder, var(--ws-palette-grey-300)));--ws-tab-bg-default: var(--vscode-editorGroupHeader-tabsBackground, var(--ws-palette-grey-900));--ws-tab-border: var(--vscode-tab-border, var(--ws-palette-grey-950));--ws-tab-active-bg: var(--vscode-tab-activeBackground, var(--ws-palette-grey-800));--ws-tab-active-fg: var(--vscode-tab-activeForeground, var(--ws-bg-foreground));--ws-tab-inactive-bg: var(--vscode-tab-inactiveBackground, var(--ws-palette-grey-900));--ws-tab-inactive-fg: var(--vscode-tab-inactiveForeground, var(--ws-palette-grey-200));--ws-tab-hover-bg: var(--vscode-tab-hoverBackground, var(--ws-palette-grey-700));--ws-panel-header-bg: var(--vscode-sideBarSectionHeader-background, var(--ws-palette-grey-800));--ws-panel-header-fg: var(--vscode-sideBarSectionHeader-foreground, var(--ws-bg-foreground));--ws-panel-bg: var(--vscode-panel-background, var(--ws-bg-default));--ws-panel-border: var(--vscode-panel-border, var(--ws-palette-grey-950));--ws-panel-title-active-border: var(--vscode-panelTitle-activeBorder, var(--ws-palette-primary-500));--ws-panel-title-active-fg: var(--vscode-panelTitle-activeForeground, var(--ws-bg-foreground));--ws-panel-title-inactive-fg: var(--vscode-panelTitle-inactiveForeground, var(--ws-palette-grey-100))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.\!collapse{visibility:collapse!important}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.right-1{right:.25rem}.top-1{top:.25rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-\[1000\]{z-index:1000}.z-\[1999\]{z-index:1999}.float-right{float:right}.mx-1{margin-left:.25rem;margin-right:.25rem}.-mt-6{margin-top:-1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-48{margin-top:12rem}.mt-px{margin-top:1px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.min-h-4{min-height:1rem}.min-h-\[100px\]{min-height:100px}.min-h-\[10rem\]{min-height:10rem}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--width\]{width:var(--width)}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.max-w-\[240px\]{max-width:240px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>: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)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:4px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.rounded-t{border-top-left-radius:4px;border-top-right-radius:4px}.border,.border-\[1px\]{border-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t,.border-t-\[1px\]{border-top-width:1px}.border-dashed{border-style:dashed}.border-grey-50{border-color:var(--ws-grey-50)}.border-primary-dark{border-color:var(--ws-primary-dark)}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-fd-gray-default{--tw-bg-opacity: 1;background-color:rgb(49 49 49 / var(--tw-bg-opacity, 1))}.bg-grey-300{background-color:var(--ws-grey-300)}.bg-grey-600{background-color:var(--ws-grey-600)}.bg-grey-900{background-color:var(--ws-grey-900)}.bg-primary-dark{background-color:var(--ws-primary-dark)}.bg-primary-hover{background-color:var(--ws-primary-hover)}.bg-primary-light{background-color:var(--ws-primary-light)}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.bg-purple-800{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-75{--tw-bg-opacity: .75}.bg-opacity-80{--tw-bg-opacity: .8}.stroke-current{stroke:currentColor}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[5px\]{padding-left:5px;padding-right:5px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.pb-8{padding-bottom:2rem}.pb-\[30\%\]{padding-bottom:30%}.pl-2{padding-left:.5rem}.pr-1{padding-right:.25rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-poppins{font-family:Twemoji Country Flags,Poppins,sans-serif}.text-\[12px\]{font-size:12px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-s{font-size:.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.65rem}.text-xxs{font-size:.55rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-6{line-height:1.5rem}.text-fd-gray-mild{--tw-text-opacity: 1;color:rgb(179 179 179 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-grey-100{color:var(--ws-grey-100)}.text-grey-200{color:var(--ws-grey-200)}.text-grey-50{color:var(--ws-grey-50)}.text-inactive-text{color:var(--ws-inactive-text)}.text-muted{color:var(--ws-text-muted)}.text-primary{color:var(--ws-primary-default)}.text-primary-dark{color:var(--ws-primary-dark)}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-900{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.odd\:bg-grey-700:nth-child(odd){background-color:var(--ws-grey-700)}.odd\:bg-white\/5:nth-child(odd){background-color:#ffffff0d}.even\:bg-grey-600:nth-child(2n){background-color:var(--ws-grey-600)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border:hover{border-width:1px}.hover\:border-white:hover{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.hover\:bg-primary-hover:hover{background-color:var(--ws-primary-hover)}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity, 1))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:font-bold:hover{font-weight:700}.hover\:text-primary-dark:hover{color:var(--ws-primary-dark)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.rtl\:text-right:where([dir=rtl],[dir=rtl] *){text-align:right}
package/dist/main.d.ts ADDED
File without changes
@@ -0,0 +1,37 @@
1
+ import { TI18nFile, TLanguage } from '../types/i18n';
2
+ import { FC, MutableRefObject } from 'react';
3
+ export type { TI18nFile } from '../types/i18n';
4
+ export type TKeyValue = {
5
+ key: string;
6
+ value: string;
7
+ };
8
+ export type I18nContextType = {
9
+ i18n: TI18nFile;
10
+ createKey: (key: string, langs: {
11
+ lang: string;
12
+ value: string;
13
+ }[], __t: string) => void;
14
+ removeKey: (key: string) => void;
15
+ updateKey: (key: string, lang: string, value: string, recompute?: boolean) => void;
16
+ updateKeyDefault: (key: string, __t: string) => void;
17
+ getI18nAsKeyValues: (lang: string) => TKeyValue[];
18
+ setUserLangSettings: (content: TI18nFile['userLang']) => void;
19
+ editLanguageKeys: (last: TLanguage, after: TLanguage) => void;
20
+ deleteLanguageKeys: (lang: TLanguage) => void;
21
+ shouldRecompute?: MutableRefObject<boolean | undefined>;
22
+ };
23
+ interface II18nProvider {
24
+ isI18nEnabled: boolean;
25
+ onI18nChange?: (i18n: TI18nFile) => void;
26
+ }
27
+ export declare const I18N_CONSTANT: {
28
+ tr_key: string;
29
+ };
30
+ export declare const I18N_ACTIONS: {
31
+ buildPathFullObject: (resourcePath: string) => string;
32
+ getKeyValueFromCustom: (custom: any, resourcePath: string) => any;
33
+ getDefaultValueFromCustom: (custom: any, resourcePath: string) => any;
34
+ getFullObject: (custom: any, resourcePath: string) => any;
35
+ };
36
+ export declare const I18nProvider: FC<II18nProvider>;
37
+ export declare function useI18n(): I18nContextType;
@@ -0,0 +1,27 @@
1
+ import { FC } from 'react';
2
+ import { TI18nFile, TLanguage, TLanguageDetails } from '../types/i18n';
3
+ type TLanguageKey = {
4
+ key: string;
5
+ value: string;
6
+ isDefault: boolean;
7
+ };
8
+ interface ILocalizationEditorContext {
9
+ allSupportedLanguages: TLanguageDetails[];
10
+ selectedLanguage: TLanguage | undefined;
11
+ userLanguages: TI18nFile['userLang'];
12
+ languageKeys: TLanguageKey[];
13
+ addFirstLanguage: boolean;
14
+ isPrimary: boolean;
15
+ removeKey: (key: string) => void;
16
+ addNewKey: (key: string, toAdd: {
17
+ lang: string;
18
+ value: string;
19
+ }[], defaultValue: string) => void;
20
+ setAddFirstLanguage: (value: boolean) => void;
21
+ setUserLangSettings: (value: TI18nFile['userLang']) => void;
22
+ setSelectedLanguage: (language: TLanguage) => void;
23
+ setLanguageKeyValue: (key: string, value: string) => void;
24
+ }
25
+ export declare const LocalizationEditorProvider: FC;
26
+ export declare const useLocalizationEditor: () => ILocalizationEditorContext;
27
+ export {};
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ export type { LocalizationContextType } from '../types/i18n';
3
+ export declare const LocalizationProvider: FC;
4
+ export declare function useLocalization(): {
5
+ selected: string;
6
+ };
@@ -0,0 +1,3 @@
1
+ export * from './I18nProvider';
2
+ export * from './LocalizationProvider';
3
+ export * from './LocalizationEditorProvider';
@@ -0,0 +1,22 @@
1
+ export type TLanguage = {
2
+ isocode: string;
3
+ };
4
+ export type TLanguageDetails = TLanguage & {
5
+ locale: string;
6
+ native: string;
7
+ };
8
+ export type TI18nFile = {
9
+ keys: {
10
+ [key: string]: any;
11
+ };
12
+ userLang: {
13
+ primary: string;
14
+ supported: TLanguage[];
15
+ };
16
+ };
17
+ export type LocalizationContextType = {
18
+ primary: string;
19
+ selected: string;
20
+ supported: TLanguageDetails[];
21
+ userLangagues: TLanguage[];
22
+ };
@@ -0,0 +1,2 @@
1
+ import { TLanguageDetails } from '../types/i18n';
2
+ export declare const getLanguageDetails: (isocode: string, allLanguages: TLanguageDetails[]) => TLanguageDetails | undefined;
@@ -0,0 +1,6 @@
1
+ import { TI18nFile } from './types/i18n';
2
+ declare const shouldShowNoSupportedScreen: (supported: TI18nFile["userLang"]["supported"]) => boolean;
3
+ declare const hasNoKeys: (keys: TI18nFile["keys"]) => boolean;
4
+ declare const shouldSelectAll: (selectdLanguages: string[]) => boolean;
5
+ declare const isSelectMode: (selectdLanguages: string[]) => boolean;
6
+ export { hasNoKeys, isSelectMode, shouldSelectAll, shouldShowNoSupportedScreen, };
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@ws-ui/localization-editor",
3
+ "version": "1.11.7-rc1",
4
+ "type": "module",
5
+ "main": "./dist/index.cjs.js",
6
+ "module": "./dist/index.es.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "dev": "vite",
13
+ "build": "tsc && vite build && npm run build:styles:standalone",
14
+ "build:styles:standalone": "npx tailwindcss -i src/Standalone/style.css -o dist/Standalone/style.css --postcss ./postcss.config.scoped.js --minify",
15
+ "prepack": "npm run build",
16
+ "publish": "yarn npm publish --access public"
17
+ },
18
+ "dependencies": {
19
+ "@emotion/react": "^11.4.0",
20
+ "@emotion/styled": "^11.14.0",
21
+ "@headlessui/react": "^1.7.19",
22
+ "@ws-ui/icons": "1.11.6",
23
+ "@ws-ui/shared": "1.11.3-rc5",
24
+ "@ws-ui/store": "1.11.3-rc1",
25
+ "classnames": "^2.3.1",
26
+ "jsonschema": "^1.4.1",
27
+ "lodash": "^4.17.21",
28
+ "papaparse": "^5.3.2",
29
+ "react": "^17.0.2",
30
+ "react-dom": "^17.0.2",
31
+ "react-dropzone": "^14.2.3",
32
+ "short-uuid": "^5.2.0",
33
+ "simplebar-react": "^2.3.3"
34
+ },
35
+ "devDependencies": {
36
+ "@jest/globals": "^29.7.0",
37
+ "@tailwindcss/typography": "^0.5.10",
38
+ "@testing-library/jest-dom": "^6.4.2",
39
+ "@testing-library/react": "^12.1.5",
40
+ "@types/classnames": "^2.3.0",
41
+ "@types/jest": "^29.5.14",
42
+ "@types/lodash": "^4.14.199",
43
+ "@types/node": "^20.14.9",
44
+ "@types/react": "^17.0.24",
45
+ "@types/react-dom": "^17.0.5",
46
+ "@vitejs/plugin-react": "^4.3.4",
47
+ "autoprefixer": "^10.4.2",
48
+ "jest": "^29.7.0",
49
+ "postcss": "^8.4.31",
50
+ "postcss-prefix-selector": "^2.1.1",
51
+ "tailwindcss": "^3.3.3",
52
+ "ts-jest": "^29.2.6",
53
+ "typescript": "^5.8.3",
54
+ "vite": "^6.2.1",
55
+ "vite-plugin-dts": "^4.5.3"
56
+ }
57
+ }