kosmio 0.1.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.
- package/README.md +37 -0
- package/dist/KosmioThemeProvider-DzH5uTqT.js +145 -0
- package/dist/LanguageContext-DlN7MgUs.js +161 -0
- package/dist/MobileRouteTransition-C16D4K5c.js +124 -0
- package/dist/NativeBackButtonHandler-CcLHewdm.js +105 -0
- package/dist/OfflineSyncContext-CRwPM5kh.js +34 -0
- package/dist/ViewportContext-z-ZwlTIZ.js +214 -0
- package/dist/app.js +123 -0
- package/dist/classNames-CcykAxZN.js +6 -0
- package/dist/context.js +16 -0
- package/dist/core.js +55 -0
- package/dist/formRegistry-Lvs6aL14.js +3468 -0
- package/dist/i18n.js +9 -0
- package/dist/index.js +185 -0
- package/dist/localizedRouter-BjT5yIzl.js +721 -0
- package/dist/offlineWriteQueue-C31IjyB_.js +275 -0
- package/dist/permissions.js +181 -0
- package/dist/platform.js +11 -0
- package/dist/queryClient-ZtNrT-lA.js +27 -0
- package/dist/shortcuts-n31uRPcv.js +147 -0
- package/dist/styles.css +1 -0
- package/dist/styles.js +1 -0
- package/dist/systemBars-C3QiEL7z.js +136 -0
- package/dist/theme.js +8 -0
- package/dist/ui.js +88 -0
- package/package.json +84 -0
- package/types/app.d.ts +98 -0
- package/types/context.d.ts +110 -0
- package/types/core.d.ts +210 -0
- package/types/global.d.ts +1 -0
- package/types/i18n.d.ts +79 -0
- package/types/index.d.ts +8 -0
- package/types/permissions.d.ts +61 -0
- package/types/platform.d.ts +71 -0
- package/types/theme.d.ts +67 -0
- package/types/ui.d.ts +875 -0
package/dist/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{box-sizing:border-box;padding:0;margin:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body,#root{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;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}img{border-style:none;max-width:100%}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--kosmio-color-bg: #ffffff;--kosmio-color-surface: #f8fafc;--kosmio-color-surface-muted: #eef2f7;--kosmio-color-surface-strong: #e2e8f0;--kosmio-color-text: #111827;--kosmio-color-text-muted: #6b7280;--kosmio-color-primary: #2563eb;--kosmio-color-primary-text: #ffffff;--kosmio-tag-color: var(--kosmio-color-primary);--kosmio-color-danger: #dc2626;--kosmio-color-danger-text: #ffffff;--kosmio-color-success: #16a34a;--kosmio-color-border: rgba(17, 24, 39, .14);--kosmio-color-focus: rgba(37, 99, 235, .28);--kosmio-space-1: 4px;--kosmio-space-2: 8px;--kosmio-space-3: 12px;--kosmio-space-4: 16px;--kosmio-space-5: 20px;--kosmio-radius-sm: 6px;--kosmio-radius-md: 8px;--kosmio-radius-full: 999px;--kosmio-shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--kosmio-shadow-focus: 0 0 0 4px var(--kosmio-color-focus);--kosmio-layer-base: 0;--kosmio-layer-popover: 1000;--kosmio-layer-modal: 1100;--kosmio-duration-fast: .12s;--kosmio-duration-normal: .18s;--kosmio-ease-standard: ease;--kosmio-ease-enter: cubic-bezier(0, 0, .2, 1);--kosmio-font-family: var(--font-main, system-ui, sans-serif);--kosmio-font-size-xs: 12px;--kosmio-font-size-sm: 13px;--kosmio-font-size-md: 14px;--kosmio-font-size-lg: 18px;--kosmio-font-size-xl: 24px;--kosmio-font-size-xxl: 28px;--kosmio-font-weight-regular: 400;--kosmio-font-weight-semibold: 600;--kosmio-font-weight-bold: 700}.kosmio-text{color:inherit;font-family:var(--kosmio-font-family)}.kosmio-text-align-start{text-align:start}.kosmio-text-align-center{text-align:center}.kosmio-text-align-end{text-align:end}.kosmio-text-align-left{text-align:left}.kosmio-text-align-right{text-align:right}.kosmio-text-align-justify{text-align:justify}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-inline{white-space:nowrap}.text-elipsis{overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}.text-xxl{font-size:28px;font-weight:700}.text-xl{font-size:24px;font-weight:700}.text-lg{font-size:20px;font-weight:700}.text-md{font-size:14px;font-weight:600}.text-sm{font-size:13px;font-weight:600}.text-xs{font-size:12px;font-weight:600}.text-xxs{font-size:10px;font-weight:600}@media(max-width:768px){.text-xxl{font-size:22px;font-weight:700}.text-xl{font-size:18px;font-weight:700}.text-lg{font-size:14px;font-weight:700}.text-md{font-size:13px}.text-sm{font-size:12px}.text-xs{font-size:10px}.text-xxs{font-size:8px}}.t-color-1{color:var(--text-color-1, var(--kosmio-color-text))}.t-color-2{color:var(--text-color-2, var(--kosmio-color-text))}.t-color-3{color:var(--text-color-3, var(--kosmio-color-muted))}.t-color-d1{color:var(--text-color-dynamic-1, var(--kosmio-color-text))}.t-color-d2{color:var(--text-color-dynamic-2, var(--kosmio-color-muted))}.t-color-d3{color:var(--text-color-dynamic-3, var(--kosmio-color-muted))}.text-font-default,.text-font-main{font-family:var(--kosmio-font-family)}.text-font-mono{font-family:var(--kosmio-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace)}.text-weight-regular{font-weight:var(--kosmio-font-weight-regular)}.text-weight-medium{font-weight:var(--kosmio-font-weight-medium, 500)}.text-weight-semibold{font-weight:var(--kosmio-font-weight-semibold)}.text-weight-bold{font-weight:var(--kosmio-font-weight-bold)}.text-leading-none{line-height:var(--kosmio-line-height-none, 1)}.text-leading-tight{line-height:var(--kosmio-line-height-tight, 1.15)}.text-leading-normal{line-height:var(--kosmio-line-height-normal, 1.35)}.text-leading-relaxed{line-height:var(--kosmio-line-height-relaxed, 1.55)}.kosmio-text-colored{color:var(--kosmio-text-color)}.kosmio-text-inline{white-space:nowrap}.kosmio-text-ellipsis{overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}.kosmio-tag,.tag{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:var(--kosmio-space-1, 3px) var(--kosmio-space-2, 8px);border:1px solid var(--kosmio-tag-color, var(--tag-color, var(--kosmio-color-primary)));border-radius:var(--kosmio-radius-full, var(--radius-semicircle));background:color-mix(in srgb,var(--kosmio-tag-color, var(--tag-color, var(--kosmio-color-primary))) 12%,transparent);color:color-mix(in srgb,var(--kosmio-tag-color, var(--tag-color, var(--kosmio-color-primary))) 70%,var(--kosmio-color-text));white-space:nowrap}.tag.color-tag{border:1px solid var(--tag-color);background-color:color-mix(in srgb,var(--tag-color) 10%,var(--bg-dark, var(--kosmio-color-bg)));color:color-mix(in srgb,var(--tag-color) 60%,black 40%)}.dark .tag.color-tag{border:1px solid var(--tag-color);background-color:color-mix(in srgb,var(--tag-color) 18%,var(--highlight2, var(--kosmio-color-surface-muted)));color:color-mix(in srgb,var(--tag-color) 40%,white 60%)}.tag.elipsis{display:inline-block;max-width:8vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--kosmio-icon-size-xs: 8px;--kosmio-icon-size-sm: 12px;--kosmio-icon-size-md: 16px;--kosmio-icon-size-xmd: 20px;--kosmio-icon-size-lg: 24px;--kosmio-icon-size-xl: 32px;--kosmio-icon-size-xxl: 40px;--kosmio-icon-size-xxxl: 120px;--icon-size-xs: var(--kosmio-icon-size-xs);--icon-size-sm: var(--kosmio-icon-size-sm);--icon-size-md: var(--kosmio-icon-size-md);--icon-size-xmd: var(--kosmio-icon-size-xmd);--icon-size-lg: var(--kosmio-icon-size-lg);--icon-size-xl: var(--kosmio-icon-size-xl);--icon-size-xxl: var(--kosmio-icon-size-xxl);--icon-size-xxxl: var(--kosmio-icon-size-xxxl);--icon-accent-color: var(--kosmio-color-primary)}@media(max-width:768px){:root{--kosmio-icon-size-xxl: 35px;--kosmio-icon-size-xxxl: 150px}}.kosmio-icon,.icon{z-index:var(--kosmio-layer-raised, var(--layer-local-raised));width:var(--kosmio-icon-size-md);height:var(--kosmio-icon-size-md);color:var(--kosmio-color-text)}.kosmio-icon-mask,.icon-mask{display:inline-block;flex:0 0 auto;background-color:currentColor;mask:var(--kosmio-icon-url, var(--icon-url)) center / contain no-repeat;-webkit-mask:var(--kosmio-icon-url, var(--icon-url)) center / contain no-repeat}.kosmio-icon.reversed-theme,.icon.reversed-theme{color:#ffffffd9;filter:invert(1)}.light .kosmio-icon.dynamic-theme,.light .icon.dynamic-theme,.dark .kosmio-icon.reversed-dynamic-theme,.dark .icon.reversed-dynamic-theme{color:#000c}.dark .kosmio-icon.dynamic-theme,.dark .icon.dynamic-theme,.light .kosmio-icon.reversed-dynamic-theme,.light .icon.reversed-dynamic-theme{color:#ffffffd9}.kosmio-icon.accent-theme,.icon.accent-theme{color:var(--icon-accent-color)}.kosmio-icon.invalid,.icon.invalid{filter:invert(.5)}.kosmio-icon.kosmio-icon-mask,.icon.icon-mask{filter:none}.kosmio-icon-size-xs,.icon.icon-size-xs{width:var(--kosmio-icon-size-xs);height:var(--kosmio-icon-size-xs)}.kosmio-icon-size-sm,.icon.icon-size-sm{width:var(--kosmio-icon-size-sm);height:var(--kosmio-icon-size-sm)}.kosmio-icon-size-md,.icon.icon-size-md{width:var(--kosmio-icon-size-md);height:var(--kosmio-icon-size-md)}.kosmio-icon-size-xmd,.icon.icon-size-xmd{width:var(--kosmio-icon-size-xmd);height:var(--kosmio-icon-size-xmd)}.kosmio-icon-size-lg,.icon.icon-size-lg{width:var(--kosmio-icon-size-lg);height:var(--kosmio-icon-size-lg)}.kosmio-icon-size-xl,.icon.icon-size-xl{width:var(--kosmio-icon-size-xl);height:var(--kosmio-icon-size-xl)}.kosmio-icon-size-xxl,.icon.icon-size-xxl{width:var(--kosmio-icon-size-xxl);height:var(--kosmio-icon-size-xxl)}.kosmio-icon-size-xxxl,.icon.icon-size-xxxl{width:var(--kosmio-icon-size-xxxl);height:var(--kosmio-icon-size-xxxl)}.kosmio-icon-chevron,.icon-chevron{flex:0 0 auto;border-right:var(--kosmio-border-width-medium, var(--border-width-medium, 2px)) solid currentColor;border-bottom:var(--kosmio-border-width-medium, var(--border-width-medium, 2px)) solid currentColor;opacity:.72;transform:rotate(45deg) translateY(var(--kosmio-icon-chevron-closed-shift, var(--icon-chevron-closed-shift, -2px)));transition:transform var(--kosmio-duration-fast) var(--kosmio-ease-standard),opacity var(--kosmio-duration-fast) var(--kosmio-ease-standard)}.kosmio-icon-chevron.is-open,.icon-chevron.is-open{opacity:1;transform:rotate(-135deg) translateY(var(--kosmio-icon-chevron-open-shift, var(--icon-chevron-open-shift, -1px)))}.kosmio-icon-chevron.colored,.icon-chevron.colored{color:var(--kosmio-color-primary, var(--highlight0))}.kosmio-button,.custom-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;position:relative;z-index:var(--layer-local-base, var(--kosmio-layer-base));display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:var(--kosmio-space-3) var(--kosmio-space-4);overflow:hidden;border:var(--border-card, 1px solid var(--kosmio-color-border));background:var(--bg-light, transparent);color:var(--text-color-dynamic-2, var(--kosmio-color-text));cursor:pointer;font:inherit;font-family:var(--kosmio-font-family);font-size:14px;font-weight:700;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--kosmio-duration-fast) var(--kosmio-ease-standard),border-color var(--kosmio-duration-fast) var(--kosmio-ease-standard),box-shadow var(--kosmio-duration-fast) var(--kosmio-ease-standard)}.custom-button{padding:12px 15px}.custom-button p{line-height:0}.kosmio-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--bg-light, transparent)}.custom-button:hover:before{background:#7d7d7d38}.kosmio-button:before,.custom-button:before{position:absolute;z-index:var(--layer-local-raised, var(--kosmio-layer-raised));inset:0;border-radius:var(--radius-sm, var(--kosmio-radius-sm));background:#0000;content:"";pointer-events:none;transition:background-color .3s ease}.kosmio-button:focus-visible{outline:none;box-shadow:var(--kosmio-shadow-focus)}.kosmio-button:disabled,.kosmio-button[aria-disabled=true]{cursor:default;opacity:.58}.kosmio-button-primary,.custom-button.primary{background:var(--highlight1, var(--kosmio-color-primary));color:var(--text-color-1, var(--kosmio-color-primary-text))}.kosmio-button-primary:hover:not(:disabled):not([aria-disabled=true]),.custom-button.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--highlight1, var(--kosmio-color-primary))}.kosmio-button.searchbar-filter,.custom-button.searchbar-filter,.kosmio-button.searchbar-add,.custom-button.searchbar-add{width:100px;min-height:44px}.kosmio-button-danger,.custom-button.danger{background:#ca3a5c;color:var(--text-color-1, var(--kosmio-color-danger-text))}.kosmio-button-danger:hover:not(:disabled):not([aria-disabled=true]),.custom-button.danger:hover:not(:disabled):not([aria-disabled=true]){background:#ca3a5c}.kosmio-button-tooltip:after{position:absolute;z-index:var(--kosmio-layer-popover);top:calc(100% + var(--kosmio-space-2));left:50%;width:max-content;max-width:240px;padding:var(--kosmio-space-2) var(--kosmio-space-3);border-radius:var(--kosmio-radius-full);background:var(--kosmio-color-text);color:var(--kosmio-color-bg);content:attr(data-tooltip);font-size:var(--kosmio-font-size-xs);opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity var(--kosmio-duration-fast) var(--kosmio-ease-standard)}.kosmio-button-tooltip:hover:after{opacity:1}.desktop .tooltip-left,.desktop .tooltip-right{position:relative;z-index:var(--layer-local-overlay, var(--kosmio-layer-popover));overflow:visible}.desktop .tooltip-left:after,.desktop .tooltip-right:after{position:absolute;z-index:var(--layer-local-tooltip, var(--kosmio-layer-popover));display:inline-block;width:fit-content;padding:12px 10px;border-radius:var(--radius-semicircle, var(--kosmio-radius-full));background-color:var(--bg, var(--kosmio-color-surface));color:var(--text-color-dynamic-2, var(--kosmio-color-muted));content:attr(data-tooltip);font-size:12px;font-weight:600;opacity:0;pointer-events:none;white-space:nowrap}.desktop .tooltip-right:after{top:calc(100% - 25px);left:calc(100% + 5px)}.desktop .tooltip-left:after{top:calc(100% + 5px);right:60%}.desktop .tooltip-left:hover:after,.desktop .tooltip-right:hover:after{opacity:1}.kosmio-action-button{gap:var(--kosmio-space-2)}.kosmio-action-button-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em}.kosmio-action-button-icon>svg{width:100%;height:100%}.kosmio-floating-action-button{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--kosmio-color-primary);border-radius:var(--kosmio-radius-full);background:var(--kosmio-color-primary);box-shadow:var(--kosmio-shadow-sm);color:var(--kosmio-color-primary-text);cursor:pointer;transition:transform var(--kosmio-duration-fast) var(--kosmio-ease-standard),box-shadow var(--kosmio-duration-fast) var(--kosmio-ease-standard),opacity var(--kosmio-duration-fast) var(--kosmio-ease-standard)}.kosmio-floating-action-button:hover:not(:disabled){transform:translateY(-1px)}.kosmio-floating-action-button:focus-visible{outline:none;box-shadow:var(--kosmio-shadow-focus)}.kosmio-floating-action-button:disabled{cursor:default;opacity:.58}.kosmio-floating-action-button.is-compact{width:44px;height:44px}.kosmio-floating-action-button-icon,.kosmio-floating-action-button-icon>svg{width:1.5em;height:1.5em}.kosmio-selection-button,.selection-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;width:100%;min-height:56px;gap:10px;padding:10px 12px;border:var(--border-card, 1px solid var(--kosmio-color-border));border-radius:var(--radius-sm, var(--kosmio-radius-sm));background:var(--highlight2, var(--kosmio-color-surface-muted));cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.kosmio-selection-button:before,.selection-button:before{display:none}.kosmio-selection-button:hover:not(:disabled),.selection-button:hover:not(:disabled){background:color-mix(in srgb,var(--highlight2, var(--kosmio-color-surface-muted)) 86%,var(--highlight0, var(--kosmio-color-primary)));transform:translateY(-1px)}.kosmio-selection-button:focus-visible,.selection-button:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring, var(--kosmio-shadow-focus))}.kosmio-selection-button:disabled,.kosmio-selection-button.is-not-selectable,.selection-button:disabled,.selection-button.is-not-selectable{cursor:default}.kosmio-selection-button.is-selected,.selection-button.is-selected{border-color:var(--highlight1, var(--kosmio-color-primary));background:var(--highlight4, var(--kosmio-color-surface))}.kosmio-clickable{all:unset;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;box-sizing:border-box;display:inline-block;color:inherit;cursor:pointer;font:inherit;text-align:inherit;-webkit-user-select:none;user-select:none}.kosmio-clickable:focus-visible{outline:none;box-shadow:var(--kosmio-shadow-focus)}.kosmio-clickable:disabled{cursor:default;opacity:.58}.form-field-container{display:flex;flex-direction:column;width:100%;gap:5px;box-sizing:border-box;text-align:left}.form-field{padding:16px;border:var(--border-input);background:var(--auth-input-bg);color:var(--auth-shell-text-strong);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;outline:none;border-radius:var(--radius-md);text-align:left;width:100%;box-sizing:border-box;font-size:13px;line-height:1;-webkit-box-shadow:var(--shadow-input-border);box-shadow:var(--shadow-input-border)}body.dark .form-field,body.dark .generatorInput-container{color-scheme:dark}body.light .form-field,body.light .generatorInput-container{color-scheme:light}input.form-field:-webkit-autofill,input.form-field:-webkit-autofill:hover,textarea.form-field:-webkit-autofill,textarea.form-field:-webkit-autofill:hover,select.form-field:-webkit-autofill,select.form-field:-webkit-autofill:hover{-webkit-text-fill-color:var(--auth-shell-text-strong)!important;border:var(--border-input)!important;-webkit-box-shadow:var(--shadow-input-border)!important;box-shadow:var(--shadow-input-border)!important;transition:none!important}input.form-field:-webkit-autofill:focus,textarea.form-field:-webkit-autofill:focus,select.form-field:-webkit-autofill:focus{-webkit-text-fill-color:var(--auth-shell-text-strong)!important;border:var(--border-input-focus)!important;-webkit-box-shadow:var(--shadow-input-focus)!important;box-shadow:var(--shadow-input-focus)!important;transition:none!important}.form-field:focus,.generatorInput-container:focus-within{outline:none;border-color:var(--auth-input-focus);background:var(--auth-input-bg-focus);-webkit-box-shadow:var(--shadow-input-focus);box-shadow:var(--shadow-input-focus)}.form-field-container.invalid .form-field{border-color:var(--border-color-invalid);-webkit-box-shadow:var(--shadow-input-border);box-shadow:var(--shadow-input-border)}select::-webkit-scrollbar{width:8px}input.form-field::placeholder{color:#888}.light .form-field::placeholder,.light select.form-field:invalid{color:#aaa;font-weight:400}.form-field::placeholder,select.form-field:invalid{color:var(--auth-input-placeholder)}.searchbar{position:relative;display:flex;align-items:center;width:100%}.searchbar-select{width:10%;min-width:140px}.searchbar-container{width:70%}.searchbar-input.form-field{width:100%;height:44px;padding-right:56px;border:var(--border-none);border-radius:var(--radius-semicircle);background-color:var(--highlight5);text-align:start}.searchbar .searchbar-button{position:absolute;top:50%;right:14px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin:0;border:var(--border-none);background:transparent;color:var(--auth-input-placeholder);cursor:pointer;transform:translateY(-50%)}.searchbar .searchbar-button .icon{width:18px;height:18px}.searchbar .searchbar-button:focus-visible{outline:none}.select-field{position:relative;width:100%}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--auth-shell-text-strong);cursor:pointer;font-size:13px;font-weight:400;line-height:0}.select-trigger-label{display:inline-flex;flex:1;align-items:center;min-width:0;min-height:13px;overflow:hidden;color:inherit;font:inherit;line-height:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.select-trigger.placeholder .select-trigger-label{color:var(--auth-input-placeholder)}.select-dropdown{position:fixed;z-index:var(--layer-popover)}.select-dropdown.is-top{transform:translateY(-100%)}.select-dropdown-panel{display:flex;flex-direction:column;gap:2px;max-height:240px;padding:0;overflow:hidden;border:var(--border-input);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--auth-input-bg-focus) 92%,transparent),color-mix(in srgb,var(--auth-input-bg) 96%,transparent));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.select-dropdown-list{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto}.select-option,.sheet-option{display:flex;align-items:center;justify-content:start;width:100%;padding:16px 26px;border:var(--border-none);border-right:var(--border-none);border-left:var(--border-none);border-radius:var(--radius-none);background:transparent;cursor:pointer;line-height:1;text-align:left}.select-option:hover,.sheet-option:hover{border-color:var(--border-color-input);background:color-mix(in srgb,var(--auth-input-bg-focus) 76%,transparent)}.select-option.is-selected,.sheet-option.is-selected{border-color:color-mix(in srgb,var(--auth-input-focus) 58%,transparent);background:color-mix(in srgb,var(--auth-input-focus-ring) 100%,transparent)}.select-dropdown-panel .select-option:first-child,.select-dropdown-list .select-option:first-child{border-top:var(--border-none)}.select-searchbar-wrap+.select-dropdown-list .select-option:first-child,.select-searchbar-wrap+.select-dropdown-list .select-option:first-child:hover{border-top:var(--border-input)}.select-searchbar-wrap+.select-dropdown-list .select-option:first-child.is-selected{background:color-mix(in srgb,var(--auth-input-focus-ring) 100%,transparent)}.select-dropdown-panel .select-option:last-child,.select-dropdown-list .select-option:last-child{border-bottom:var(--border-none)}.select-option-label,.select-sheet-label{display:inline-flex;flex:1;align-items:center;min-width:0;min-height:13px;line-height:1}.select-sheet-header{display:flex;align-items:center;justify-content:center;padding:16px 18px;border-bottom:var(--border-input)}.select-searchbar-wrap{padding:8px 8px 4px}.select-sheet-searchbar-wrap{padding:14px 14px 8px}.select-searchbar{position:relative}.select-search-icon{position:absolute;top:50%;right:14px;width:14px;height:14px;opacity:.72;pointer-events:none;transform:translateY(-50%)}.select-empty-state{padding:18px 26px 22px}.select-sheet-list{display:flex;flex-direction:column;gap:0;padding:0;overflow-y:auto}.sheet-option{gap:10px;padding:18px 26px;border-right:var(--border-none);border-left:var(--border-none)}@media(max-width:768px){.select-dropdown{display:none}.select-sheet .kosmio-sheet-drag-zone{position:absolute;top:0;right:0;left:0;z-index:var(--layer-local-overlay);height:var(--sheet-grab-height);min-height:0;padding:0;background:transparent}.select-sheet .kosmio-sheet-drag-handle{display:none}.select-sheet .kosmio-sheet-scroll{top:0;height:100%}}.customCheckbox input{width:auto}.customCheckbox label{align-items:center;display:flex}.enum-option{min-width:140px;padding:20px 30px;border:var(--border-card);background-color:var(--bg);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.enum-option:hover{border-color:var(--highlight3);transform:translateY(-1px)}.enum-option:focus-visible{outline:var(--border-width-medium) solid var(--highlight1);outline-offset:2px}.enum-option .enum-option-label{color:var(--text-color-dynamic-2);transition:color .2s ease}.enum-option img{transition:transform .2s ease,filter .2s ease}.enum-option.is-selected{border-color:var(--highlight1);background-color:var(--highlight2);box-shadow:var(--shadow-focus-ring-strong)}.enum-option.is-selected .enum-option-label{color:var(--text-color-dynamic-1)}.enum-option.is-selected img{transform:scale(1.05);filter:saturate(1.15)}.enum-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%;gap:10px}.enum-selector-grid .enum-option{width:100%}.enum-options-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%;gap:10px}.enum-option.theme-option--light{border-color:var(--border-color-theme-option-light);background-color:#f7f9fc}.enum-option.theme-option--light .text{color:#2a3342}.enum-option.theme-option--light .enum-option-label{border-color:var(--highlight1)}.enum-option.theme-option--dark{border-color:var(--border-color-theme-option-dark);background-color:#2a3342}.enum-option.theme-option--dark .enum-option-label{color:#dbe3ef}.enum-option.theme-option.is-selected{border-color:var(--highlight1)}.generatorInput-container{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:52px;padding:6px 10px;box-sizing:border-box;cursor:text}.generatorInput-input{flex:1 1 120px;min-width:120px;width:auto;margin:0;padding:6px 2px;box-sizing:border-box;border:var(--border-none);border-radius:var(--radius-none);background:transparent;line-height:1.2;text-align:left;cursor:text}.generatorInput-chip{margin:0}.generatorInput-disabled{opacity:.7;cursor:not-allowed}.generatorInput-disabled .generatorInput-input{cursor:not-allowed}.kosmio-card{display:flex;flex-direction:column;gap:var(--kosmio-space-3, 12px);padding:var(--kosmio-space-5, 20px);border:var(--border-card, 1px solid var(--kosmio-color-border));border-radius:var(--radius-sm, var(--kosmio-radius-md));background:var(--bg, var(--kosmio-color-surface));color:var(--text-color-dynamic-2, var(--kosmio-color-text));font-family:var(--kosmio-font-family)}.kosmio-container{padding:var(--kosmio-container-padding, var(--kosmio-space-5, 20px));border:var(--kosmio-container-border, var(--border-card, 1px solid var(--kosmio-color-border)));border-radius:var(--kosmio-container-radius, var(--radius-sm, var(--kosmio-radius-md)));background:var(--kosmio-container-background, var(--bg, var(--kosmio-color-surface)));color:var(--kosmio-container-color, var(--text-color-dynamic-2, var(--kosmio-color-text)))}.kosmio-grid{display:grid;box-sizing:border-box;width:100%;gap:var(--kosmio-space-4)}.collapsible-box{display:flex;flex-direction:column;gap:0;padding:0}.collapsible-box-trigger{display:flex;align-items:center;width:100%;background:transparent;cursor:pointer}.collapsible-box-chevron,.collapsible-card-chevron{width:8px;height:8px;flex:0 0 auto;border-right:var(--border-width-medium, 2px) solid currentColor;border-bottom:var(--border-width-medium, 2px) solid currentColor;opacity:.72;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease,opacity .16s ease}.collapsible-box.is-expanded .collapsible-box-chevron,.collapsible-card.is-expanded .collapsible-card-chevron{opacity:1;transform:rotate(-135deg) translateY(-1px)}.collapsible-box .card-title{padding:0}.collapsible-box.is-collapsed>.collapsible-box-content,.collapsible-card.is-collapsed>.collapsible-card-content,.card-content-hidden{display:none}.collapsible-card{display:flex;flex-direction:column;gap:0;padding:0;border:var(--border, 1px solid var(--kosmio-color-border));border-radius:var(--radius-md, var(--kosmio-radius-md));background-color:var(--bg, var(--kosmio-color-surface))}.collapsible-card-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:10px 20px;border:var(--border-none, 0);background:transparent;color:var(--text-color-3, var(--kosmio-color-muted));cursor:pointer;font:inherit;text-align:left}.collapsible-card-trigger:focus-visible{outline:var(--border-width-medium, 2px) solid var(--highlight1, var(--kosmio-color-primary));outline-offset:2px}.collapsible-card .card-title{padding:10px 20px}.collapsible-card .card-divider{border-bottom:var(--border-card, 1px solid var(--kosmio-color-border))}.collapsible-card .card-content{padding:20px}.mobile-route-stack{display:grid;flex:1 1 auto;min-height:0;width:100%}.mobile-route-layer{grid-area:1 / 1;min-width:0;min-height:0;width:100%;will-change:transform,opacity}.mobile-route-layer--current{z-index:2}.mobile-route-layer--enter-forward{animation:mobile-route-enter-forward var(--kosmio-mobile-route-duration, var(--dur-veryFast, var(--kosmio-duration-fast))) var(--ease-enter, var(--kosmio-ease-enter, ease)) both}.mobile-route-layer--enter-back{animation:mobile-route-enter-back var(--kosmio-mobile-route-duration, var(--dur-fast, var(--kosmio-duration-normal))) var(--ease-enter, var(--kosmio-ease-enter, ease)) both}@keyframes mobile-route-enter-forward{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes mobile-route-enter-back{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.mobile-route-layer{animation:none!important;transition:none!important}}.kosmio-loader{width:24px;height:24px;border:3px solid var(--kosmio-color-surface-strong);border-top-color:var(--kosmio-color-primary);border-radius:var(--kosmio-radius-full);animation:kosmio-spin var(--kosmio-duration-normal) linear infinite}@keyframes kosmio-spin{to{transform:rotate(360deg)}}.table{width:100%;overflow:hidden;border-radius:var(--radius-sm);border-collapse:collapse;border-spacing:0}.table thead{background-color:var(--highlight1);color:var(--text-color-1)}.table th{padding:12px}.table th .text{display:inline-flex}.sort-icon{display:inline-flex;align-items:center;justify-content:center;width:.8em;height:.8em}.sort-icon-asc:before{content:"▲";font-size:.7em}.sort-icon-desc:before{content:"▼";font-size:.7em}.table td{padding:12px}.table-empty-cell-icon{display:inline-block;width:10px;height:1px;background-color:currentColor;opacity:.4}.table tbody .text{font-weight:400}.table .row-even{background-color:#f8f9fa}.dark .table .row-even,.table .row-odd{background-color:var(--highlight2)}.dark .table .row-odd{background-color:#24252a}.table tbody tr:hover,.dark .table tbody tr:hover{background-color:var(--highlight3)}.table tbody tr.row-selected,.dark .table tbody tr.row-selected{background-color:var(--highlight4)}.table tbody tr.row-archived .text{color:var(--text-color-dynamic-3)}.table tbody tr.row-archived .icon.dynamic-theme{filter:invert(.5)}@media(--bp-mobile-max){.table-fill-available,.table-fill-available .table-shell{flex:1 1 auto;min-height:0}.table-fill-available{max-height:var(--mobile-table-max-height)}.table-fill-available .table-crud{display:grid;grid-template-rows:auto minmax(0,1fr);flex:1 1 auto;min-height:0}.table-fill-available .table-shell{height:100%;max-height:100%;min-height:0;overflow:hidden}.table-fill-available .table-scroll{height:100%;max-height:100%;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}.table-scroll .table{overflow:visible}.table th{position:sticky;top:0;z-index:var(--layer-local-overlay);background-color:var(--highlight1)}div .table{font-size:9px}div .table td{padding:12px 6px}}.id-tag{align-items:center;display:flex;justify-content:center;padding:10px 7px;line-height:0;background-color:var(--highlight3);border-radius:var(--radius-full)}@media(--bp-mobile-max){.id-tag{padding:9px 7px}}.floating-row-menu-card{display:flex;flex-direction:column;min-width:200px;padding:10px 0;background:var(--highlight2);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.floating-row-menu-card .menu-item{align-items:center;display:flex;height:100%;width:100%;gap:10px;padding:5px 20px;background:transparent;border:var(--border-none);border-radius:var(--radius-none);cursor:pointer}.floating-row-menu-card .menu-item:hover{background:var(--highlight3)}.floating-row-menu-card .shortcut{align-items:center;display:flex;justify-content:end;height:100%}.shortcut p{padding:5px 8px;background-color:var(--bg);border-radius:var(--radius-shortcut);font-size:11px;font-weight:500;text-wrap-mode:nowrap}.kosmio-backdrop{position:absolute;inset:0;z-index:0;padding:0;border:0;border-radius:0;background:color-mix(in srgb,var(--kosmio-color-text) 42%,transparent);cursor:pointer;opacity:var(--kosmio-overlay-backdrop-opacity, 1)}.kosmio-backdrop-animated{animation:kosmio-overlay-backdrop-fade-in var(--kosmio-duration-normal) ease-out}.kosmio-overlay.is-closing .kosmio-backdrop-animated{animation:kosmio-overlay-backdrop-fade-out var(--kosmio-duration-normal) ease-out forwards}@keyframes kosmio-overlay-backdrop-fade-in{0%{opacity:0}to{opacity:var(--kosmio-overlay-backdrop-opacity, 1)}}@keyframes kosmio-overlay-backdrop-fade-out{0%{opacity:var(--kosmio-overlay-backdrop-opacity, 1)}to{opacity:0}}.kosmio-overlay{position:fixed;z-index:var(--kosmio-layer-modal);inset:0}.kosmio-overlay-centered{display:flex;align-items:center;justify-content:center;padding:var(--kosmio-space-4)}.kosmio-overlay-content{position:relative;z-index:1;width:100%;height:100%;pointer-events:none}.kosmio-overlay-content>*{pointer-events:auto}.kosmio-overlay-content-centered{display:flex;align-items:center;justify-content:center}.kosmio-sheet{--kosmio-sheet-backdrop-drag-fade: .55;--kosmio-sheet-backdrop-min-opacity: .18;--kosmio-sheet-close-distance: 140;--kosmio-sheet-close-offset: 48;--kosmio-sheet-close-velocity: .55;--kosmio-sheet-drag-settle-duration: var(--kosmio-duration-normal);position:absolute;right:0;display:flex;flex-direction:column;align-items:center;width:45%;max-width:45%;height:100%;padding:0;overflow:hidden;border-left:1px solid var(--kosmio-color-border);border-radius:var(--kosmio-radius-md) 0 0 var(--kosmio-radius-md);background:var(--kosmio-color-surface);box-shadow:var(--kosmio-shadow-sm);will-change:transform}.kosmio-sheet-scroll{position:absolute;top:0;left:0;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden auto}.kosmio-sheet.is-entering{animation:kosmio-slide-in-from-right var(--kosmio-duration-normal) var(--kosmio-ease-standard) both}.kosmio-overlay.is-closing .kosmio-sheet:not(.is-gesture-closing){animation:kosmio-slide-out-to-right var(--kosmio-duration-fast) var(--kosmio-ease-standard) forwards}.kosmio-sheet-feedback{position:absolute;inset:0;z-index:var(--kosmio-layer-modal);display:none;overflow:hidden;border-radius:inherit;opacity:0;pointer-events:none}.kosmio-overlay.is-closing .kosmio-sheet-feedback{display:block;opacity:1}.kosmio-sheet-feedback.is-success{background:transparent}.kosmio-sheet-feedback.is-failure{background-color:var(--kosmio-color-danger)}.kosmio-overlay.is-closing .kosmio-sheet-feedback.is-success:before{position:absolute;top:50%;left:50%;width:16px;height:16px;border-radius:var(--kosmio-radius-full);background:var(--kosmio-color-success);content:"";transform:translate(-50%,-50%) scale(0);animation:kosmio-sheet-success-expand 1.3s cubic-bezier(.2,.85,.2,1) forwards}@media(max-width:768px){.kosmio-sheet{--kosmio-sheet-grab-height: 26px;bottom:0;width:100%;max-width:100%;height:80%;border-top:1px solid var(--kosmio-color-border);border-left:0;border-radius:var(--kosmio-radius-md) var(--kosmio-radius-md) 0 0}.kosmio-sheet.is-entering{animation:kosmio-slide-up var(--kosmio-duration-normal) var(--kosmio-ease-standard) both}.kosmio-overlay.is-closing .kosmio-sheet:not(.is-gesture-closing){animation:kosmio-slide-down var(--kosmio-duration-fast) var(--kosmio-ease-standard) forwards}.kosmio-sheet-drag-zone{position:relative;z-index:1;display:flex;justify-content:center;box-sizing:border-box;min-height:var(--kosmio-sheet-grab-height);padding:10px 0 6px;touch-action:none}.kosmio-sheet-drag-handle{width:48px;height:5px;border-radius:var(--kosmio-radius-full);background:color-mix(in srgb,var(--kosmio-color-text-muted) 42%,transparent)}.kosmio-sheet-scroll{top:var(--kosmio-sheet-grab-height);box-sizing:border-box;height:calc(100% - var(--kosmio-sheet-grab-height));overscroll-behavior-y:contain}.kosmio-sheet.is-dragging .kosmio-sheet-scroll{-webkit-user-select:none;user-select:none}}@keyframes kosmio-slide-in-from-right{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes kosmio-slide-out-to-right{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}@keyframes kosmio-slide-up{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes kosmio-slide-down{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0)}}@keyframes kosmio-sheet-success-expand{to{transform:translate(-50%,-50%) scale(180)}}
|
package/dist/styles.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { useEffect as h } from "react";
|
|
2
|
+
import { useNavigate as m } from "react-router-dom";
|
|
3
|
+
const A = "/auth/callback", T = "auth", g = "/callback";
|
|
4
|
+
function S({
|
|
5
|
+
capacitor: t,
|
|
6
|
+
androidAppScheme: e = "app",
|
|
7
|
+
authCallbackPath: n = A,
|
|
8
|
+
nativeAuthHost: r = T,
|
|
9
|
+
nativeAuthPath: u = g
|
|
10
|
+
} = {}) {
|
|
11
|
+
function a() {
|
|
12
|
+
return !!t?.isNativePlatform?.();
|
|
13
|
+
}
|
|
14
|
+
function i() {
|
|
15
|
+
return t?.getPlatform?.() ?? "web";
|
|
16
|
+
}
|
|
17
|
+
function o() {
|
|
18
|
+
return n;
|
|
19
|
+
}
|
|
20
|
+
function s() {
|
|
21
|
+
return `${e}://${r}${u}`;
|
|
22
|
+
}
|
|
23
|
+
function c() {
|
|
24
|
+
return !a() && typeof window < "u" ? `${window.location.origin}${n}` : s();
|
|
25
|
+
}
|
|
26
|
+
function l() {
|
|
27
|
+
return !a();
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
isNativeApp: a,
|
|
31
|
+
getNativePlatform: i,
|
|
32
|
+
getAuthCallbackPath: o,
|
|
33
|
+
getNativeAuthCallbackUrl: s,
|
|
34
|
+
getAuthCallbackUrl: c,
|
|
35
|
+
isGoogleAuthAvailable: l
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function _(t) {
|
|
39
|
+
if (typeof t != "string" || !t.trim())
|
|
40
|
+
return null;
|
|
41
|
+
try {
|
|
42
|
+
const e = new URL(t), n = p(e);
|
|
43
|
+
return n ? `${n}${e.search}${e.hash}` : null;
|
|
44
|
+
} catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function p(t) {
|
|
49
|
+
if (t.protocol === "http:" || t.protocol === "https:")
|
|
50
|
+
return t.pathname || "/";
|
|
51
|
+
const e = t.host ? `/${t.host}` : "", n = t.pathname === "/" ? "" : t.pathname, r = `${e}${n}` || "/";
|
|
52
|
+
return r.startsWith("/") ? r : `/${r}`;
|
|
53
|
+
}
|
|
54
|
+
function U({
|
|
55
|
+
app: t,
|
|
56
|
+
isNative: e = !1,
|
|
57
|
+
mapUrlToRoute: n = _
|
|
58
|
+
}) {
|
|
59
|
+
const r = m();
|
|
60
|
+
return h(() => {
|
|
61
|
+
if (!e || typeof t?.addListener != "function")
|
|
62
|
+
return;
|
|
63
|
+
let u = !1, a = null;
|
|
64
|
+
const i = (o) => {
|
|
65
|
+
const s = n(o);
|
|
66
|
+
!s || u || r(s, { replace: !0 });
|
|
67
|
+
};
|
|
68
|
+
return typeof t.getLaunchUrl == "function" && t.getLaunchUrl().then((o) => {
|
|
69
|
+
o?.url && i(o.url);
|
|
70
|
+
}), t.addListener("appUrlOpen", ({ url: o }) => {
|
|
71
|
+
i(o);
|
|
72
|
+
}).then((o) => {
|
|
73
|
+
a = o;
|
|
74
|
+
}), () => {
|
|
75
|
+
u = !0, a?.remove?.();
|
|
76
|
+
};
|
|
77
|
+
}, [t, e, n, r]), null;
|
|
78
|
+
}
|
|
79
|
+
const E = "__kosmioSystemBarsPlugin", d = Object.freeze({
|
|
80
|
+
light: "#E3E6EE",
|
|
81
|
+
dark: "#120F0F"
|
|
82
|
+
}), y = Object.freeze({
|
|
83
|
+
light: "#D8DBE3",
|
|
84
|
+
dark: "#131317"
|
|
85
|
+
});
|
|
86
|
+
function v(t) {
|
|
87
|
+
return t === "light" ? "light" : "dark";
|
|
88
|
+
}
|
|
89
|
+
function b({
|
|
90
|
+
registerPlugin: t,
|
|
91
|
+
isNative: e = !1,
|
|
92
|
+
pluginName: n = "SystemBars",
|
|
93
|
+
pluginKey: r = E,
|
|
94
|
+
statusBarColors: u = d,
|
|
95
|
+
navigationBarColors: a = y
|
|
96
|
+
} = {}) {
|
|
97
|
+
function i() {
|
|
98
|
+
return !e || typeof t != "function" ? null : (globalThis[r] || (globalThis[r] = t(n)), globalThis[r]);
|
|
99
|
+
}
|
|
100
|
+
async function o(c) {
|
|
101
|
+
const l = i();
|
|
102
|
+
if (!l)
|
|
103
|
+
return;
|
|
104
|
+
const f = v(c);
|
|
105
|
+
try {
|
|
106
|
+
await l.setTheme({
|
|
107
|
+
navigationBarColor: a[f],
|
|
108
|
+
statusBarColor: u[f],
|
|
109
|
+
lightNavigationBar: f === "light",
|
|
110
|
+
lightStatusBar: f === "light"
|
|
111
|
+
});
|
|
112
|
+
} catch {
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function s() {
|
|
116
|
+
const c = i();
|
|
117
|
+
if (c)
|
|
118
|
+
try {
|
|
119
|
+
await c.markAppReady();
|
|
120
|
+
} catch {
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
getSystemBarsPlugin: i,
|
|
125
|
+
syncSystemBarsTheme: o,
|
|
126
|
+
markNativeAppReady: s
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
export {
|
|
130
|
+
U as A,
|
|
131
|
+
y as D,
|
|
132
|
+
d as a,
|
|
133
|
+
b,
|
|
134
|
+
S as c,
|
|
135
|
+
_ as m
|
|
136
|
+
};
|
package/dist/theme.js
ADDED
package/dist/ui.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { A as s, a as o, b as t, B as r, c as n, d as i, C as l, e as c, f as T, g as u, h as m, i as b, j as C, k as y, E as S, l as d, m as p, n as F, F as A, o as E, p as I, q as B, r as g, s as R, G as v, t as h, u as x, I as D, v as f, w as O, x as _, y as k, z as L, L as N, N as M, O as P, D as G, P as H, R as U, S as w, H as j, J as z, K, M as W, T as Y, Q as q, U as J, V as Q, W as V, X, Y as Z, Z as $, _ as aa, $ as ea, a0 as sa, a1 as oa, a2 as ta, a3 as ra, a4 as na, a5 as ia, a6 as la, a7 as ca, a8 as Ta, a9 as ua, aa as ma, ab as ba, ac as Ca, ad as ya, ae as Sa, af as da, ag as pa, ah as Fa, ai as Aa, aj as Ea, ak as Ia, al as Ba, am as ga, an as Ra, ao as va } from "./formRegistry-Lvs6aL14.js";
|
|
2
|
+
import { D as xa, M as Da, r as fa } from "./MobileRouteTransition-C16D4K5c.js";
|
|
3
|
+
import { N as _a } from "./NativeBackButtonHandler-CcLHewdm.js";
|
|
4
|
+
export {
|
|
5
|
+
s as ActionButton,
|
|
6
|
+
o as ActionsForm,
|
|
7
|
+
t as AppearChildren,
|
|
8
|
+
r as Backdrop,
|
|
9
|
+
n as BorderStyle,
|
|
10
|
+
i as Button,
|
|
11
|
+
l as Card,
|
|
12
|
+
c as Checkbox,
|
|
13
|
+
T as Clickable,
|
|
14
|
+
u as CollapsibleBox,
|
|
15
|
+
m as CollapsibleCard,
|
|
16
|
+
b as ColorTag,
|
|
17
|
+
C as Container,
|
|
18
|
+
y as ContainerStyle,
|
|
19
|
+
xa as DEFAULT_MOBILE_ROUTE_TRANSITION_STATE_KEY,
|
|
20
|
+
S as EmptyCell,
|
|
21
|
+
d as EntityTable,
|
|
22
|
+
p as EnumOption,
|
|
23
|
+
F as EnumSelector,
|
|
24
|
+
A as FloatingActionButton,
|
|
25
|
+
E as FloatingRowMenu,
|
|
26
|
+
I as FormCheckbox,
|
|
27
|
+
B as FormInput,
|
|
28
|
+
g as FormSelect,
|
|
29
|
+
R as FullSearchBar,
|
|
30
|
+
v as GLOBAL_TABLE_SEARCH_SCOPE,
|
|
31
|
+
h as GeneratorInput,
|
|
32
|
+
x as Grid,
|
|
33
|
+
D as Icon,
|
|
34
|
+
f as IconChevron,
|
|
35
|
+
O as IconRegistryIcon,
|
|
36
|
+
_ as IconRegistryProvider,
|
|
37
|
+
k as IconTextCell,
|
|
38
|
+
L as Input,
|
|
39
|
+
N as Loader,
|
|
40
|
+
Da as MobileRouteTransition,
|
|
41
|
+
_a as NativeBackButtonHandler,
|
|
42
|
+
M as NavItem,
|
|
43
|
+
P as Overlay,
|
|
44
|
+
G as OverlayDialog,
|
|
45
|
+
H as Page,
|
|
46
|
+
U as ResponsiveTable,
|
|
47
|
+
w as Searchbar,
|
|
48
|
+
j as Select,
|
|
49
|
+
z as SelectionButton,
|
|
50
|
+
K as Sheet,
|
|
51
|
+
W as SidebarNav,
|
|
52
|
+
Y as Table,
|
|
53
|
+
q as TableBody,
|
|
54
|
+
J as TableCRUD,
|
|
55
|
+
Q as TableHead,
|
|
56
|
+
V as TableRow,
|
|
57
|
+
X as TableSearchProvider,
|
|
58
|
+
Z as Tag,
|
|
59
|
+
$ as Text,
|
|
60
|
+
aa as TextCell,
|
|
61
|
+
ea as TypoStyle,
|
|
62
|
+
sa as WriteEntityForm,
|
|
63
|
+
oa as buildActionsForm,
|
|
64
|
+
ta as buildCreateFormDefaults,
|
|
65
|
+
ra as createActionsFormPayload,
|
|
66
|
+
na as createContainer,
|
|
67
|
+
ia as createContainers,
|
|
68
|
+
la as createFormRegistry,
|
|
69
|
+
ca as createIconComponent,
|
|
70
|
+
Ta as createTextStyle,
|
|
71
|
+
ua as createTypo,
|
|
72
|
+
ma as createTypos,
|
|
73
|
+
ba as defineActionForm,
|
|
74
|
+
Ca as defineForm,
|
|
75
|
+
ya as defineFormGroup,
|
|
76
|
+
Sa as normalizeEntityForm,
|
|
77
|
+
da as resolveActionsFormActions,
|
|
78
|
+
fa as resolveMobileRouteTransition,
|
|
79
|
+
pa as useDebounce,
|
|
80
|
+
Fa as useEntityTableActions,
|
|
81
|
+
Aa as useFormDraft,
|
|
82
|
+
Ea as useIconRegistry,
|
|
83
|
+
Ia as useOverlayDismiss,
|
|
84
|
+
Ba as useSheetDragDismiss,
|
|
85
|
+
ga as useTableSearch,
|
|
86
|
+
Ra as useTableSelection,
|
|
87
|
+
va as useTableSorting
|
|
88
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kosmio",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Reusable React components, design-system tokens, and pure UI utilities.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"private": false,
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./types/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./types/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./ui": {
|
|
16
|
+
"types": "./types/ui.d.ts",
|
|
17
|
+
"import": "./dist/ui.js"
|
|
18
|
+
},
|
|
19
|
+
"./core": {
|
|
20
|
+
"types": "./types/core.d.ts",
|
|
21
|
+
"import": "./dist/core.js"
|
|
22
|
+
},
|
|
23
|
+
"./context": {
|
|
24
|
+
"types": "./types/context.d.ts",
|
|
25
|
+
"import": "./dist/context.js"
|
|
26
|
+
},
|
|
27
|
+
"./i18n": {
|
|
28
|
+
"types": "./types/i18n.d.ts",
|
|
29
|
+
"import": "./dist/i18n.js"
|
|
30
|
+
},
|
|
31
|
+
"./app": {
|
|
32
|
+
"types": "./types/app.d.ts",
|
|
33
|
+
"import": "./dist/app.js"
|
|
34
|
+
},
|
|
35
|
+
"./permissions": {
|
|
36
|
+
"types": "./types/permissions.d.ts",
|
|
37
|
+
"import": "./dist/permissions.js"
|
|
38
|
+
},
|
|
39
|
+
"./platform": {
|
|
40
|
+
"types": "./types/platform.d.ts",
|
|
41
|
+
"import": "./dist/platform.js"
|
|
42
|
+
},
|
|
43
|
+
"./theme": {
|
|
44
|
+
"types": "./types/theme.d.ts",
|
|
45
|
+
"import": "./dist/theme.js"
|
|
46
|
+
},
|
|
47
|
+
"./styles.css": "./dist/styles.css"
|
|
48
|
+
},
|
|
49
|
+
"files": [
|
|
50
|
+
"dist",
|
|
51
|
+
"types",
|
|
52
|
+
"README.md"
|
|
53
|
+
],
|
|
54
|
+
"sideEffects": [
|
|
55
|
+
"*.css",
|
|
56
|
+
"**/*.css"
|
|
57
|
+
],
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "vite build",
|
|
60
|
+
"pack:dry": "npm pack --dry-run",
|
|
61
|
+
"typecheck": "tsc --noEmit -p tsconfig.types.json"
|
|
62
|
+
},
|
|
63
|
+
"peerDependencies": {
|
|
64
|
+
"@tanstack/react-query": ">=5",
|
|
65
|
+
"axios": ">=1",
|
|
66
|
+
"i18next": ">=23",
|
|
67
|
+
"react": ">=18",
|
|
68
|
+
"react-dom": ">=18",
|
|
69
|
+
"react-i18next": ">=13",
|
|
70
|
+
"react-router-dom": ">=6"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"@types/react": "^19.2.18",
|
|
74
|
+
"@types/react-dom": "^19.2.4",
|
|
75
|
+
"@vitejs/plugin-react": "^4.7.0",
|
|
76
|
+
"@tanstack/react-query": "^5.90.6",
|
|
77
|
+
"axios": "^1.12.2",
|
|
78
|
+
"i18next": "^25.5.3",
|
|
79
|
+
"react-router-dom": "^7.8.0",
|
|
80
|
+
"react-i18next": "^16.0.0",
|
|
81
|
+
"typescript": "^5.9.3",
|
|
82
|
+
"vite": "^7.1.0"
|
|
83
|
+
}
|
|
84
|
+
}
|
package/types/app.d.ts
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { ComponentType } from "react";
|
|
3
|
+
import type { AppUrlListenerProps, PlatformRuntime, SystemBarsController } from "./platform.js";
|
|
4
|
+
import type {
|
|
5
|
+
MobileRouteTransitionProps,
|
|
6
|
+
MobileRouteTransitionRule,
|
|
7
|
+
NativeBackButtonHandlerProps,
|
|
8
|
+
} from "./ui.js";
|
|
9
|
+
|
|
10
|
+
export interface KosmioCapacitorConfig {
|
|
11
|
+
runtime?: {
|
|
12
|
+
isNativePlatform?: () => boolean;
|
|
13
|
+
getPlatform?: () => string;
|
|
14
|
+
};
|
|
15
|
+
app?: AppUrlListenerProps["app"] & NativeBackButtonHandlerProps["app"];
|
|
16
|
+
registerPlugin?: (pluginName: string) => unknown;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface KosmioAppIdentityConfig {
|
|
20
|
+
id?: string;
|
|
21
|
+
androidScheme?: string;
|
|
22
|
+
androidAppScheme?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface KosmioAuthConfig {
|
|
26
|
+
callbackPath?: string;
|
|
27
|
+
nativeHost?: string;
|
|
28
|
+
nativePath?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface KosmioSystemBarsConfig {
|
|
32
|
+
pluginName?: string;
|
|
33
|
+
pluginKey?: string;
|
|
34
|
+
colors?: {
|
|
35
|
+
light?: {
|
|
36
|
+
statusBar?: string;
|
|
37
|
+
navigationBar?: string;
|
|
38
|
+
};
|
|
39
|
+
dark?: {
|
|
40
|
+
statusBar?: string;
|
|
41
|
+
navigationBar?: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
statusBarColors?: Record<"light" | "dark", string>;
|
|
45
|
+
navigationBarColors?: Record<"light" | "dark", string>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface KosmioMobileTransitionsConfig {
|
|
49
|
+
stateKey?: string;
|
|
50
|
+
mainRouteKeys?: Iterable<string>;
|
|
51
|
+
disabledRouteKeys?: string[];
|
|
52
|
+
rules?: MobileRouteTransitionRule[];
|
|
53
|
+
defaultTransition?: Partial<MobileRouteTransitionRule>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface KosmioOfflineQueueConfig {
|
|
57
|
+
storagePrefix?: string;
|
|
58
|
+
userId?: string;
|
|
59
|
+
tenantId?: string;
|
|
60
|
+
resolveUser?: () => string | Promise<string>;
|
|
61
|
+
resolveTenant?: () => string | Promise<string>;
|
|
62
|
+
resolveScopeKey?: () => string | Promise<string>;
|
|
63
|
+
invalidateQueries?: () => unknown;
|
|
64
|
+
appStateAdapter?: { addListener?: (event: string, listener: (state: unknown) => void) => unknown } | null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface KosmioAppConfig {
|
|
68
|
+
app?: KosmioAppIdentityConfig;
|
|
69
|
+
capacitor?: KosmioCapacitorConfig["runtime"] | KosmioCapacitorConfig;
|
|
70
|
+
router?: {
|
|
71
|
+
matchLocalizedRoute?: (pathname: string) => unknown;
|
|
72
|
+
};
|
|
73
|
+
matchRoute?: (pathname: string) => unknown;
|
|
74
|
+
mapAppUrlToRoute?: (url?: string | null) => string | null;
|
|
75
|
+
auth?: KosmioAuthConfig;
|
|
76
|
+
systemBars?: KosmioSystemBarsConfig;
|
|
77
|
+
mobileTransitions?: KosmioMobileTransitionsConfig;
|
|
78
|
+
offlineQueue?: KosmioOfflineQueueConfig;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface KosmioAppRuntime extends PlatformRuntime {
|
|
82
|
+
AppUrlListener: ComponentType<Partial<AppUrlListenerProps>>;
|
|
83
|
+
MobileRouteTransition: ComponentType<Partial<MobileRouteTransitionProps>>;
|
|
84
|
+
NativeBackButtonHandler: ComponentType<Partial<NativeBackButtonHandlerProps>>;
|
|
85
|
+
configure: () => QueryClient;
|
|
86
|
+
queryClient: QueryClient;
|
|
87
|
+
startOfflineSync: () => undefined;
|
|
88
|
+
systemBars: SystemBarsController;
|
|
89
|
+
getSystemBarsPlugin: SystemBarsController["getSystemBarsPlugin"];
|
|
90
|
+
markNativeAppReady: SystemBarsController["markNativeAppReady"];
|
|
91
|
+
syncSystemBarsTheme: SystemBarsController["syncSystemBarsTheme"];
|
|
92
|
+
mobileTransitions: {
|
|
93
|
+
rules: MobileRouteTransitionRule[];
|
|
94
|
+
stateKey: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function createKosmioApp(config?: KosmioAppConfig): KosmioAppRuntime;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
export interface FormStateValue {
|
|
4
|
+
form: string;
|
|
5
|
+
formAction: string;
|
|
6
|
+
formObject: unknown;
|
|
7
|
+
formSuccess: boolean;
|
|
8
|
+
formFailure: boolean;
|
|
9
|
+
setFormResult: (success?: boolean, failure?: boolean) => void;
|
|
10
|
+
closeForm: () => void;
|
|
11
|
+
openForm: (group: string, action?: string, payload?: unknown) => void;
|
|
12
|
+
setForm: (newForm: string, action?: string) => void;
|
|
13
|
+
setFormObject: (value: unknown) => void;
|
|
14
|
+
setAdvancedForm: (newForm: string, action?: string, newObject?: unknown) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function FormStateProvider(props: { children?: ReactNode }): import("react").JSX.Element;
|
|
18
|
+
export function useFormState(): FormStateValue;
|
|
19
|
+
|
|
20
|
+
export interface ViewportValue {
|
|
21
|
+
isShortScreen: boolean;
|
|
22
|
+
isMobile: boolean;
|
|
23
|
+
isMobileNative: boolean;
|
|
24
|
+
isNativeRuntime: boolean;
|
|
25
|
+
shortScreenBreakpoint: number;
|
|
26
|
+
mobileBreakpoint: number;
|
|
27
|
+
mobileNativeBreakpoint: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface ViewportProviderProps {
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
shortScreenBreakpoint?: number;
|
|
33
|
+
mobileBreakpoint?: number;
|
|
34
|
+
mobileNativeBreakpoint?: number;
|
|
35
|
+
detectNativeRuntime?: () => boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function ViewportProvider(props: ViewportProviderProps): import("react").JSX.Element;
|
|
39
|
+
export function useViewport(): ViewportValue;
|
|
40
|
+
|
|
41
|
+
export interface OfflineSyncValue {
|
|
42
|
+
isOnline: boolean;
|
|
43
|
+
isSyncing: boolean;
|
|
44
|
+
pendingSyncCount: number;
|
|
45
|
+
hasPendingSync: boolean;
|
|
46
|
+
scopeKey: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface OfflineSyncProviderProps {
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
scopeKey?: string;
|
|
52
|
+
getQueueState?: (scopeKey?: string) => Omit<OfflineSyncValue, "scopeKey">;
|
|
53
|
+
subscribeQueue?: (listener: () => void) => () => void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const DEFAULT_OFFLINE_SYNC_STATE: OfflineSyncValue;
|
|
57
|
+
export function OfflineSyncProvider(props: OfflineSyncProviderProps): import("react").JSX.Element;
|
|
58
|
+
export function useOfflineSync(): OfflineSyncValue;
|
|
59
|
+
|
|
60
|
+
export interface PopupConfirmState {
|
|
61
|
+
onConfirm?: () => void;
|
|
62
|
+
[key: string]: unknown;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface PopupValue {
|
|
66
|
+
confirmState: PopupConfirmState | null;
|
|
67
|
+
openConfirm: (config?: PopupConfirmState | null) => void;
|
|
68
|
+
closeConfirm: () => void;
|
|
69
|
+
confirmAndRun: () => void;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface PopupProviderProps {
|
|
73
|
+
children?: ReactNode;
|
|
74
|
+
beforeOpenConfirm?: (config?: PopupConfirmState | null) => void;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function PopupProvider(props: PopupProviderProps): import("react").JSX.Element;
|
|
78
|
+
export function usePopup(): PopupValue;
|
|
79
|
+
|
|
80
|
+
export interface FormLauncher {
|
|
81
|
+
type: string;
|
|
82
|
+
group: string;
|
|
83
|
+
action: string;
|
|
84
|
+
payload?: unknown;
|
|
85
|
+
iconName: string;
|
|
86
|
+
labelKey: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface CreateFormLauncherOptions {
|
|
90
|
+
group: string;
|
|
91
|
+
action?: string;
|
|
92
|
+
payload?: unknown;
|
|
93
|
+
iconName?: string;
|
|
94
|
+
labelKey?: string;
|
|
95
|
+
variant?: string;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function createFormLauncher(options: CreateFormLauncherOptions): FormLauncher | null;
|
|
99
|
+
|
|
100
|
+
export interface FloatingActionsValue {
|
|
101
|
+
formLauncher: FormLauncher | null;
|
|
102
|
+
setFormLauncher: (launcher?: FormLauncher | null) => void;
|
|
103
|
+
clearFormLauncher: () => void;
|
|
104
|
+
showOperationsShortcut: boolean;
|
|
105
|
+
setShowOperationsShortcut: (show: boolean) => void;
|
|
106
|
+
openFormLauncher: (launcherOverride?: FormLauncher | null) => void;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export function FloatingActionsProvider(props: { children?: ReactNode }): import("react").JSX.Element;
|
|
110
|
+
export function useFloatingActions(): FloatingActionsValue;
|