@lumiastream/ui 0.2.8-alpha.11 → 0.2.8-alpha.13
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/dist/LSButton.js +1 -1
- package/dist/LSCheckbox.js +1 -1
- package/dist/LSColorPicker.js +1 -1
- package/dist/LSDatePicker.d.ts +15 -0
- package/dist/LSDatePicker.js +198 -0
- package/dist/LSFontPicker.js +1 -1
- package/dist/LSInput.js +1 -1
- package/dist/LSMultiSelect.js +1 -1
- package/dist/LSRadio.js +1 -1
- package/dist/LSSelect.js +1 -1
- package/dist/LSSliderInput.js +1 -1
- package/dist/LSTextField.js +1 -1
- package/dist/LSVariableInputField.js +1 -1
- package/dist/components.d.ts +1 -0
- package/dist/components.js +94 -56
- package/dist/index.d.ts +1 -0
- package/dist/index.js +580 -292
- package/dist/se-import.js +572 -285
- package/package.json +5 -1
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ function styleInject(css, { insertAt } = {}) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// src/lumia-ui.css
|
|
24
|
-
styleInject(".ls-color-picker,\n.ls-color-picker *,\n.mui-multi-select,\n.mui-multi-select *,\n.ls-multi-select-value,\n.ls-multi-select-value *,\n.ls-variable-picker,\n.ls-variable-picker *,\n.ls-variable-token,\n.ls-variable-token *,\n.ls-font-picker,\n.ls-font-picker *,\n.mui-ls-input,\n.mui-ls-input * {\n box-sizing: border-box;\n}\n.ls-color-picker button,\n.mui-multi-select button {\n font: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n}\n.ls-color-picker__preview {\n appearance: none;\n -webkit-appearance: none;\n background-color: transparent;\n background-image: none;\n cursor: pointer;\n text-transform: uppercase;\n user-select: none;\n}\n.mui-ls-button.Mui-disabled {\n color: var(--neutralLight2, var(--white2, #cac9d5));\n opacity: 0.45;\n background-color: var(--separator, #0a0821);\n cursor: not-allowed;\n}\n.mui-ls-button {\n border-radius: var(--radius, 1rem);\n padding: 0.375rem 1.5rem;\n text-transform: uppercase;\n}\n.mui-ls-button.MuiButton-sizeSmall {\n padding: 0.25rem 1rem;\n}\n.mui-ls-button.MuiButton-sizeLarge {\n padding: 0.625rem 2rem;\n}\n.mui-ls-button--extended {\n padding-inline: 3rem;\n}\n.mui-ls-button.MuiButton-containedPrimary,\n.mui-ls-button.Mui-disabled.MuiButton-containedPrimary {\n background: var(--primary, #ff4076);\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.MuiButton-containedSecondary {\n background-color: var(--secondary, #535395);\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.Mui-disabled.MuiButton-containedSecondary {\n background-color: var(--secondary, #535395);\n color: var(--neutralLight2, var(--white2, #cac9d5));\n opacity: 0.4;\n}\n.mui-ls-button.MuiButton-outlinedPrimary {\n color: var(--primary, #ff4076);\n border-color: var(--primary, #ff4076);\n}\n.mui-ls-button.MuiButton-outlinedPrimary:hover {\n border-color: var(--primary, #ff4076);\n background-color: color-mix(in srgb, var(--primary, #ff4076) 12%, transparent);\n}\n.mui-ls-button.MuiButton-outlinedSecondary {\n color: var(--neutralLight1, var(--white, #fff));\n border-color: var(--secondary, #535395);\n}\n.mui-ls-button.MuiButton-outlinedSecondary.Mui-disabled {\n color: var(--neutralLight2, var(--white2, #cac9d5));\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n opacity: 0.5;\n}\n.mui-ls-button.MuiButton-outlinedSecondary:hover {\n border-color: var(--secondary, #535395);\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button.MuiButton-containedError {\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.MuiButton-outlinedError {\n color: var(--error, #fd5454);\n border-color: var(--error, #fd5454);\n}\n.mui-ls-button.MuiButton-outlinedError:hover {\n border-color: var(--error, #fd5454);\n background-color: color-mix(in srgb, var(--error, #fd5454) 12%, transparent);\n}\n.mui-ls-button--neutral.mui-ls-button--contained {\n background-color: var(--neutralDark4, var(--cardborder, #393853));\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.mui-ls-button--neutral.mui-ls-button--contained:hover {\n background-color: color-mix(in srgb, var(--neutralDark4, var(--cardborder, #393853)) 82%, var(--neutralLight1, #fff));\n}\n.mui-ls-button--neutral.mui-ls-button--outlined {\n color: var(--neutralLight1, var(--white, #fff));\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n background-color: transparent;\n}\n.mui-ls-button--neutral.mui-ls-button--outlined:hover {\n border-color: var(--neutralLight3, var(--grey, #9392a1));\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button--neutral.mui-ls-button--text {\n color: var(--neutralLight1, var(--white, #fff));\n}\n.mui-ls-button--neutral.mui-ls-button--text:hover {\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button svg {\n max-height: 24px;\n max-width: 24px;\n}\n.mui-ls-input,\n.ls-font-picker,\n.ls-color-picker__input {\n width: 100%;\n}\n.mui-ls-input,\n.mui-ls-select-form-control,\n.mui-multi-select,\n.ls-font-picker,\n.mui-ls-slider-input-root {\n --ls-control-height: 55px;\n}\n.mui-ls-input .MuiOutlinedInput-root,\n.mui-ls-input .MuiInputBase-root,\n.mui-ls-input .MuiOutlinedInput-notchedOutline,\n.mui-ls-select.MuiOutlinedInput-root,\n.mui-ls-select .MuiOutlinedInput-notchedOutline,\n.mui-multi-select .mui-ls-select.MuiOutlinedInput-root,\n.mui-multi-select .mui-ls-select .MuiOutlinedInput-notchedOutline,\n.ls-font-picker .MuiOutlinedInput-root,\n.ls-font-picker .MuiInputBase-root,\n.ls-font-picker .MuiOutlinedInput-notchedOutline,\n.ls-color-picker__input .MuiOutlinedInput-root,\n.ls-color-picker__input .MuiInputBase-root,\n.ls-color-picker__input .MuiOutlinedInput-notchedOutline {\n border-radius: var(--radius) !important;\n}\n.mui-ls-input .MuiInputBase-root,\n.mui-ls-select.MuiInputBase-root,\n.mui-multi-select .mui-ls-select.MuiInputBase-root,\n.ls-font-picker .MuiInputBase-root {\n min-height: var(--ls-control-height);\n}\n.mui-ls-input.small .MuiInputBase-root {\n min-height: 25px;\n}\n.mui-ls-input.medium .MuiInputBase-root {\n min-height: 35px;\n}\n.mui-ls-input.noMinHeight .MuiInputBase-root {\n min-height: unset;\n}\n.mui-ls-select .MuiSelect-select,\n.mui-multi-select .MuiSelect-select {\n display: flex;\n min-height: calc(var(--ls-control-height) - 2px);\n align-items: center;\n box-sizing: border-box;\n border-radius: var(--radius);\n}\n.mui-multi-select .MuiSelect-select {\n min-width: 0;\n}\n.MuiSvgIcon-root svg {\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.mui-ls-input .MuiSvgIcon-root svg path {\n fill: currentcolor;\n stroke: currentcolor;\n}\n.mui-ls-input .Mui-focused .MuiOutlinedInput-notchedOutline,\n.mui-ls-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {\n border-color: var(--primary, #ff4076) !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-paper,\n.ls-variable-autocomplete-paper {\n border: 1px solid var(--neutralDark4, var(--cardborder, #393853)) !important;\n border-radius: var(--radius, 1rem) !important;\n background: var(--neutralDark2, var(--cardbackground, #211f45)) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n box-shadow: 0 16px 32px rgba(0, 0, 0, 0.32) !important;\n overflow: hidden !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-listbox,\n.ls-variable-autocomplete-listbox {\n padding: 0.25rem 0 !important;\n background: var(--neutralDark2, var(--cardbackground, #211f45)) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option {\n display: flex !important;\n min-height: 44px !important;\n align-items: center !important;\n padding: 0.625rem 1rem !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n font-size: 1rem !important;\n line-height: 1.35 !important;\n cursor: pointer !important;\n transition: background-color 120ms ease, color 120ms ease !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option > *,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option > * {\n min-width: 0;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option:hover,\n.ls-variable-autocomplete-popper .MuiAutocomplete-option.Mui-focused,\n.ls-variable-autocomplete-popper .MuiAutocomplete-option[data-focus=true],\n.ls-variable-autocomplete-popper .MuiAutocomplete-option[aria-selected=true],\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option:hover,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option.Mui-focused,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option[data-focus=true],\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option[aria-selected=true] {\n background: var( --cardHover, var(--transwhite, rgba(255, 255, 255, 0.05)) ) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-option {\n gap: 0.75rem;\n}\n.ls-variable-option__thumb {\n width: 40px;\n height: 40px;\n flex: 0 0 40px;\n border-radius: var(--radius, 1rem);\n object-fit: cover;\n}\n.ls-variable-option__thumb--placeholder {\n background: var(--neutralDark4, var(--cardborder, #393853));\n}\n.ls-variable-option__body {\n min-width: 0;\n}\n.ls-variable-option__label {\n color: var(--neutralLight1, var(--white, #fff));\n font-weight: 500;\n line-height: 1.25;\n}\n.ls-variable-option__helper {\n margin-top: 0.125rem;\n color: var(--neutralLight3, var(--grey, #9392a1));\n font-size: 0.875rem;\n line-height: 1.25;\n}\n.ls-variable-autocomplete-popup-indicator,\n.ls-variable-autocomplete-popup-indicator.MuiIconButton-root,\n.ls-variable-autocomplete-popup-indicator svg {\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-autocomplete-popup-indicator svg path {\n fill: currentcolor !important;\n stroke: currentcolor !important;\n}\n.ls-variable-input-adornment,\n.ls-variable-input-adornment.MuiInputAdornment-root {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n min-width: 24px;\n margin-left: 0.35rem;\n border-radius: var(--radius, 1rem);\n background: var(--primary, #ff4076) !important;\n color: var(--alwayswhite, var(--white, #fff)) !important;\n font-weight: 800;\n line-height: 1;\n letter-spacing: 0;\n cursor: pointer;\n user-select: none;\n}\n.ls-variable-input-adornment svg,\n.ls-variable-input-adornment path {\n color: currentcolor !important;\n fill: currentcolor !important;\n stroke: currentcolor !important;\n}\n.ls-variable-input-adornment:hover,\n.ls-variable-input-adornment.MuiInputAdornment-root:hover {\n filter: brightness(1.08);\n}\n.ls-variable-input-adornment:active,\n.ls-variable-input-adornment.MuiInputAdornment-root:active {\n filter: brightness(0.96);\n}\n.mui-ls-slider-input-root {\n width: 100%;\n}\n.mui-ls-slider-input-fieldset {\n position: relative;\n min-width: 0;\n width: 100%;\n min-height: var(--ls-control-height);\n margin: 0;\n border: 2px solid var(--neutralDark4, var(--cardborder, #393853));\n border-radius: var(--radius, 1rem);\n padding: 0 0.875rem 0.5rem 0.875rem;\n background: transparent;\n color: var(--neutralLight1, var(--white, #fff));\n}\n.mui-ls-slider-input-fieldset:hover {\n border-color: var(--primary, #ff4076);\n}\n.mui-ls-slider-input-legend {\n display: block;\n width: auto;\n max-width: calc(100% - 1rem);\n margin: 0;\n padding: 0 0.25rem;\n color: var(--neutralLight1, var(--white, #fff));\n font-size: 0.875rem;\n line-height: 1.1;\n white-space: nowrap;\n}\n.mui-ls-slider-input-row {\n display: flex;\n min-width: 0;\n min-height: calc(var(--ls-control-height) - 14px);\n align-items: center;\n gap: 1rem;\n}\n.mui-ls-slider-input-row--slider {\n flex-wrap: nowrap;\n}\n.mui-ls-slider-input-row--input {\n justify-content: stretch;\n}\n.mui-ls-slider-input-value.mui-ls-input {\n margin: 0;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiFormControl-root,\n.mui-ls-slider-input-value.mui-ls-input .MuiTextField-root {\n margin: 0;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiInputBase-root {\n min-height: 36px;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiOutlinedInput-notchedOutline {\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n}\n.mui-ls-slider-input-helper {\n display: block;\n margin-top: 0.25rem;\n color: var(--neutralLight3, var(--grey, #9392a1));\n font-size: 0.75rem;\n line-height: 1.25;\n}\n.ls-multi-select-value {\n display: flex;\n width: 100%;\n min-width: 0;\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n overflow: hidden;\n white-space: nowrap;\n}\n.ls-multi-select-value__label {\n min-width: 0;\n flex: 1 1 0%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ls-multi-select-value__count {\n flex-shrink: 0;\n white-space: nowrap;\n}\n.ls-color-picker__preview {\n position: relative;\n display: inline-block;\n width: 1.5rem;\n height: 1.5rem;\n flex-shrink: 0;\n padding: 0;\n border: 1px solid color-mix(in srgb, #fff 25%, transparent);\n border-radius: var(--radius, 1rem);\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);\n color: transparent;\n line-height: 0;\n}\n.ls-color-picker__preview:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.ls-color-picker__preview:focus {\n outline: none;\n}\n.ls-color-picker__preview:focus-visible {\n box-shadow:\n 0 0 0 2px var(--primary, #ff4076),\n 0 0 0 4px var(--neutralDark1, #1b1a28),\n 0 0 0 1px rgba(0, 0, 0, 0.25);\n}\n.ls-color-picker__gradient circle,\n.ls-color-picker__gradient polyline {\n stroke: #fff;\n}\n.ls-variable-picker {\n --variable-custom-color: var(--customVariables, #69ffd2);\n --variable-function-color: var( --functionVariables, var(--semanticPurple, #b489ff) );\n --variable-normal-color: var(--normalVariables, var(--semanticBlue, #65b8ff));\n display: flex;\n width: 92vw;\n max-width: 1100px;\n min-height: 50vh;\n max-height: 55vh;\n flex-direction: column;\n overflow: hidden;\n padding: 1rem;\n}\n.ls-variable-picker__field {\n margin: 0 0 0.75rem;\n border: 1px solid color-mix(in srgb, var(--primary, #ff4076) 42%, var(--neutralDark4, #393853));\n border-radius: var(--radius, 1rem);\n padding: 0.5rem;\n}\n.ls-variable-picker__legend {\n padding-inline: 0.375rem;\n color: var(--primary, #ff4076);\n font-size: 0.75rem;\n font-weight: 700;\n}\n.ls-variable-picker__intro {\n margin-bottom: 1rem;\n color: var(--neutralLight2, #cac9d5);\n}\n.ls-variable-picker__header,\n.ls-variable-picker__row {\n display: grid;\n grid-template-columns: minmax(300px, 1.5fr) 1fr 1fr;\n gap: 2rem;\n}\n.ls-variable-picker__header {\n margin-bottom: 0.25rem;\n padding-inline: 0.25rem;\n padding-right: 1.7rem;\n color: var(--neutralLight3, #9392a1);\n}\n.ls-variable-picker__list {\n height: 100%;\n overflow: auto;\n padding-right: 1rem;\n}\n.ls-variable-picker__row {\n cursor: pointer;\n align-items: start;\n border-bottom: 1px solid color-mix(in srgb, var(--neutralDark4, #393853) 70%, transparent);\n padding: 1rem 0.25rem;\n}\n.ls-variable-picker__row--no-border {\n border-bottom: 0;\n}\n.ls-variable-picker__token-cell {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: 0.375rem;\n}\n.ls-variable-picker__expand-toggle,\n.ls-variable-picker__expand-spacer {\n width: 24px;\n height: 24px;\n flex: 0 0 24px;\n}\n.ls-variable-picker__expand-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid color-mix(in srgb, var(--neutralDark4, #393853) 75%, transparent);\n border-radius: var(--radius, 1rem);\n padding: 0;\n background: var(--neutralDark3, var(--containerbackground, #1f1f3a));\n color: var(--neutralLight2, #cac9d5);\n transition:\n background-color 140ms ease,\n border-color 140ms ease,\n color 140ms ease,\n transform 140ms ease;\n}\n.ls-variable-picker__expand-toggle:hover {\n border-color: var(--primary, #ff4076);\n background: color-mix(in srgb, var(--primary, #ff4076) 16%, var(--neutralDark3, #1f1f3a));\n color: var(--neutralLight1, #fff);\n}\n.ls-variable-picker__expand-toggle svg {\n transform: rotate(-90deg);\n transition: transform 140ms ease;\n}\n.ls-variable-picker__expand-toggle--expanded svg {\n transform: rotate(0deg);\n}\n.ls-variable-picker__row:active {\n opacity: 0.8;\n}\n.ls-variable-picker__description {\n max-width: 600px;\n overflow-wrap: break-word;\n line-height: 1.25;\n word-break: break-all;\n}\n.ls-variable-picker__value {\n min-width: 0;\n}\n.ls-variable-picker__value-input {\n width: 100%;\n min-width: 0;\n cursor: text;\n overflow: hidden;\n border: 0;\n background: transparent;\n color: var(--neutralLight1, var(--white, #fff));\n caret-color: transparent;\n font: inherit;\n font-size: 1rem;\n line-height: 1.25;\n outline: 0;\n padding: 0;\n text-overflow: ellipsis;\n}\n.ls-variable-picker__value-input:focus {\n outline: 0;\n}\n.ls-variable-picker__value-input::selection {\n background: color-mix(in srgb, var(--primary, #ff4076) 45%, transparent);\n color: var(--alwayswhite, var(--white, #fff));\n}\n.ls-variable-token {\n display: flex;\n min-width: 0;\n align-items: center;\n}\n.ls-variable-token--custom {\n color: var(--customVariables, #69ffd2);\n}\n.ls-variable-token--function {\n color: var(--functionVariables, var(--semanticPurple, #b489ff));\n}\n.ls-variable-token--system {\n color: var(--normalVariables, var(--semanticBlue, #65b8ff));\n}\n.ls-variable-token__name {\n min-width: 0;\n word-break: break-all;\n}\n.ls-variable-token__badge {\n display: inline-flex;\n margin-left: 0.5rem;\n flex-shrink: 0;\n align-items: center;\n border: 1px solid currentcolor;\n border-radius: var(--radius, 1rem);\n padding-inline: 0.25rem;\n padding-block: 0;\n font-size: 10px;\n font-weight: 600;\n line-height: 1;\n text-transform: uppercase;\n}\n");
|
|
24
|
+
styleInject(".ls-color-picker,\n.ls-color-picker *,\n.mui-multi-select,\n.mui-multi-select *,\n.ls-multi-select-value,\n.ls-multi-select-value *,\n.ls-variable-picker,\n.ls-variable-picker *,\n.ls-variable-token,\n.ls-variable-token *,\n.ls-font-picker,\n.ls-font-picker *,\n.mui-ls-input,\n.mui-ls-input * {\n box-sizing: border-box;\n}\n.ls-color-picker button,\n.mui-multi-select button {\n font: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n}\n.ls-color-picker__preview {\n appearance: none;\n -webkit-appearance: none;\n background-color: transparent;\n background-image: none;\n cursor: pointer;\n text-transform: uppercase;\n user-select: none;\n}\n.mui-ls-button.Mui-disabled {\n color: var(--neutralLight2, var(--white2, #cac9d5));\n opacity: 0.45;\n background-color: var(--separator, #0a0821);\n cursor: not-allowed;\n}\n.mui-ls-button {\n border-radius: var(--radius, 1rem);\n padding: 0.375rem 1.5rem;\n text-transform: uppercase;\n}\n.mui-ls-button.MuiButton-sizeSmall {\n padding: 0.25rem 1rem;\n}\n.mui-ls-button.MuiButton-sizeLarge {\n padding: 0.625rem 2rem;\n}\n.mui-ls-button--extended {\n padding-inline: 3rem;\n}\n.mui-ls-button.MuiButton-containedPrimary,\n.mui-ls-button.Mui-disabled.MuiButton-containedPrimary {\n background: var(--primary, #ff4076);\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.MuiButton-containedSecondary {\n background-color: var(--secondary, #535395);\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.Mui-disabled.MuiButton-containedSecondary {\n background-color: var(--secondary, #535395);\n color: var(--neutralLight2, var(--white2, #cac9d5));\n opacity: 0.4;\n}\n.mui-ls-button.MuiButton-outlinedPrimary {\n color: var(--primary, #ff4076);\n border-color: var(--primary, #ff4076);\n}\n.mui-ls-button.MuiButton-outlinedPrimary:hover {\n border-color: var(--primary, #ff4076);\n background-color: color-mix(in srgb, var(--primary, #ff4076) 12%, transparent);\n}\n.mui-ls-button.MuiButton-outlinedSecondary {\n color: var(--neutralLight1, var(--white, #fff));\n border-color: var(--secondary, #535395);\n}\n.mui-ls-button.MuiButton-outlinedSecondary.Mui-disabled {\n color: var(--neutralLight2, var(--white2, #cac9d5));\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n opacity: 0.5;\n}\n.mui-ls-button.MuiButton-outlinedSecondary:hover {\n border-color: var(--secondary, #535395);\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button.MuiButton-containedError {\n color: var(--alwayswhite, #fff) !important;\n}\n.mui-ls-button.MuiButton-outlinedError {\n color: var(--error, #fd5454);\n border-color: var(--error, #fd5454);\n}\n.mui-ls-button.MuiButton-outlinedError:hover {\n border-color: var(--error, #fd5454);\n background-color: color-mix(in srgb, var(--error, #fd5454) 12%, transparent);\n}\n.mui-ls-button--neutral.mui-ls-button--contained {\n background-color: var(--neutralDark4, var(--cardborder, #393853));\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.mui-ls-button--neutral.mui-ls-button--contained:hover {\n background-color: color-mix(in srgb, var(--neutralDark4, var(--cardborder, #393853)) 82%, var(--neutralLight1, #fff));\n}\n.mui-ls-button--neutral.mui-ls-button--outlined {\n color: var(--neutralLight1, var(--white, #fff));\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n background-color: transparent;\n}\n.mui-ls-button--neutral.mui-ls-button--outlined:hover {\n border-color: var(--neutralLight3, var(--grey, #9392a1));\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button--neutral.mui-ls-button--text {\n color: var(--neutralLight1, var(--white, #fff));\n}\n.mui-ls-button--neutral.mui-ls-button--text:hover {\n background-color: var(--transwhite, rgba(255, 255, 255, 0.05));\n}\n.mui-ls-button svg {\n max-height: 24px;\n max-width: 24px;\n}\n.mui-ls-input,\n.ls-font-picker,\n.ls-color-picker__input {\n width: 100%;\n}\n.mui-ls-input,\n.mui-ls-select-form-control,\n.mui-multi-select,\n.ls-font-picker,\n.mui-ls-slider-input-root {\n --ls-control-height: 55px;\n}\n.mui-ls-input .MuiOutlinedInput-root,\n.mui-ls-input .MuiInputBase-root,\n.mui-ls-input .MuiOutlinedInput-notchedOutline,\n.mui-ls-select.MuiOutlinedInput-root,\n.mui-ls-select .MuiOutlinedInput-notchedOutline,\n.mui-multi-select .mui-ls-select.MuiOutlinedInput-root,\n.mui-multi-select .mui-ls-select .MuiOutlinedInput-notchedOutline,\n.ls-font-picker .MuiOutlinedInput-root,\n.ls-font-picker .MuiInputBase-root,\n.ls-font-picker .MuiOutlinedInput-notchedOutline,\n.ls-color-picker__input .MuiOutlinedInput-root,\n.ls-color-picker__input .MuiInputBase-root,\n.ls-color-picker__input .MuiOutlinedInput-notchedOutline {\n border-radius: var(--radius) !important;\n}\n.mui-ls-input .MuiInputBase-root,\n.mui-ls-select.MuiInputBase-root,\n.mui-multi-select .mui-ls-select.MuiInputBase-root,\n.ls-font-picker .MuiInputBase-root {\n min-height: var(--ls-control-height);\n}\n.mui-ls-input.small .MuiInputBase-root {\n min-height: 25px;\n}\n.mui-ls-input.medium .MuiInputBase-root {\n min-height: 35px;\n}\n.mui-ls-input.noMinHeight .MuiInputBase-root {\n min-height: unset;\n}\n.mui-ls-date-picker input[type=datetime-local]::-webkit-calendar-picker-indicator {\n cursor: pointer;\n opacity: 0.9;\n filter: invert(1);\n}\n.mui-ls-select .MuiSelect-select,\n.mui-multi-select .MuiSelect-select {\n display: flex;\n min-height: calc(var(--ls-control-height) - 2px);\n align-items: center;\n box-sizing: border-box;\n border-radius: var(--radius);\n}\n.mui-multi-select .MuiSelect-select {\n min-width: 0;\n}\n.MuiSvgIcon-root svg {\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.mui-ls-input .MuiSvgIcon-root svg path {\n fill: currentcolor;\n stroke: currentcolor;\n}\n.mui-ls-input .Mui-focused .MuiOutlinedInput-notchedOutline,\n.mui-ls-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {\n border-color: var(--primary, #ff4076) !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-paper,\n.ls-variable-autocomplete-paper {\n border: 1px solid var(--neutralDark4, var(--cardborder, #393853)) !important;\n border-radius: var(--radius, 1rem) !important;\n background: var(--neutralDark2, var(--cardbackground, #211f45)) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n box-shadow: 0 16px 32px rgba(0, 0, 0, 0.32) !important;\n overflow: hidden !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-listbox,\n.ls-variable-autocomplete-listbox {\n padding: 0.25rem 0 !important;\n background: var(--neutralDark2, var(--cardbackground, #211f45)) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option {\n display: flex !important;\n min-height: 44px !important;\n align-items: center !important;\n padding: 0.625rem 1rem !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n font-size: 1rem !important;\n line-height: 1.35 !important;\n cursor: pointer !important;\n transition: background-color 120ms ease, color 120ms ease !important;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option > *,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option > * {\n min-width: 0;\n}\n.ls-variable-autocomplete-popper .MuiAutocomplete-option:hover,\n.ls-variable-autocomplete-popper .MuiAutocomplete-option.Mui-focused,\n.ls-variable-autocomplete-popper .MuiAutocomplete-option[data-focus=true],\n.ls-variable-autocomplete-popper .MuiAutocomplete-option[aria-selected=true],\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option:hover,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option.Mui-focused,\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option[data-focus=true],\n.ls-variable-autocomplete-listbox .MuiAutocomplete-option[aria-selected=true] {\n background: var( --cardHover, var(--transwhite, rgba(255, 255, 255, 0.05)) ) !important;\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-option {\n gap: 0.75rem;\n}\n.ls-variable-option__thumb {\n width: 40px;\n height: 40px;\n flex: 0 0 40px;\n border-radius: var(--radius, 1rem);\n object-fit: cover;\n}\n.ls-variable-option__thumb--placeholder {\n background: var(--neutralDark4, var(--cardborder, #393853));\n}\n.ls-variable-option__body {\n min-width: 0;\n}\n.ls-variable-option__label {\n color: var(--neutralLight1, var(--white, #fff));\n font-weight: 500;\n line-height: 1.25;\n}\n.ls-variable-option__helper {\n margin-top: 0.125rem;\n color: var(--neutralLight3, var(--grey, #9392a1));\n font-size: 0.875rem;\n line-height: 1.25;\n}\n.ls-variable-autocomplete-popup-indicator,\n.ls-variable-autocomplete-popup-indicator.MuiIconButton-root,\n.ls-variable-autocomplete-popup-indicator svg {\n color: var(--neutralLight1, var(--white, #fff)) !important;\n}\n.ls-variable-autocomplete-popup-indicator svg path {\n fill: currentcolor !important;\n stroke: currentcolor !important;\n}\n.ls-variable-input-adornment,\n.ls-variable-input-adornment.MuiInputAdornment-root {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n min-width: 24px;\n margin-left: 0.35rem;\n border-radius: var(--radius, 1rem);\n background: var(--primary, #ff4076) !important;\n color: var(--alwayswhite, var(--white, #fff)) !important;\n font-weight: 800;\n line-height: 1;\n letter-spacing: 0;\n cursor: pointer;\n user-select: none;\n}\n.ls-variable-input-adornment svg,\n.ls-variable-input-adornment path {\n color: currentcolor !important;\n fill: currentcolor !important;\n stroke: currentcolor !important;\n}\n.ls-variable-input-adornment:hover,\n.ls-variable-input-adornment.MuiInputAdornment-root:hover {\n filter: brightness(1.08);\n}\n.ls-variable-input-adornment:active,\n.ls-variable-input-adornment.MuiInputAdornment-root:active {\n filter: brightness(0.96);\n}\n.mui-ls-slider-input-root {\n width: 100%;\n}\n.mui-ls-slider-input-fieldset {\n position: relative;\n min-width: 0;\n width: 100%;\n min-height: var(--ls-control-height);\n margin: 0;\n border: 2px solid var(--neutralDark4, var(--cardborder, #393853));\n border-radius: var(--radius, 1rem);\n padding: 0 0.875rem 0.5rem 0.875rem;\n background: transparent;\n color: var(--neutralLight1, var(--white, #fff));\n}\n.mui-ls-slider-input-fieldset:hover {\n border-color: var(--primary, #ff4076);\n}\n.mui-ls-slider-input-legend {\n display: block;\n width: auto;\n max-width: calc(100% - 1rem);\n margin: 0;\n padding: 0 0.25rem;\n color: var(--neutralLight1, var(--white, #fff));\n font-size: 0.875rem;\n line-height: 1.1;\n white-space: nowrap;\n}\n.mui-ls-slider-input-row {\n display: flex;\n min-width: 0;\n min-height: calc(var(--ls-control-height) - 14px);\n align-items: center;\n gap: 1rem;\n}\n.mui-ls-slider-input-row--slider {\n flex-wrap: nowrap;\n}\n.mui-ls-slider-input-row--input {\n justify-content: stretch;\n}\n.mui-ls-slider-input-value.mui-ls-input {\n margin: 0;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiFormControl-root,\n.mui-ls-slider-input-value.mui-ls-input .MuiTextField-root {\n margin: 0;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiInputBase-root {\n min-height: 36px;\n}\n.mui-ls-slider-input-value.mui-ls-input .MuiOutlinedInput-notchedOutline {\n border-color: var(--neutralDark4, var(--cardborder, #393853));\n}\n.mui-ls-slider-input-helper {\n display: block;\n margin-top: 0.25rem;\n color: var(--neutralLight3, var(--grey, #9392a1));\n font-size: 0.75rem;\n line-height: 1.25;\n}\n.ls-multi-select-value {\n display: flex;\n width: 100%;\n min-width: 0;\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n overflow: hidden;\n white-space: nowrap;\n}\n.ls-multi-select-value__label {\n min-width: 0;\n flex: 1 1 0%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ls-multi-select-value__count {\n flex-shrink: 0;\n white-space: nowrap;\n}\n.ls-color-picker__preview {\n position: relative;\n display: inline-block;\n width: 1.5rem;\n height: 1.5rem;\n flex-shrink: 0;\n padding: 0;\n border: 1px solid color-mix(in srgb, #fff 25%, transparent);\n border-radius: var(--radius, 1rem);\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);\n color: transparent;\n line-height: 0;\n}\n.ls-color-picker__preview:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.ls-color-picker__preview:focus {\n outline: none;\n}\n.ls-color-picker__preview:focus-visible {\n box-shadow:\n 0 0 0 2px var(--primary, #ff4076),\n 0 0 0 4px var(--neutralDark1, #1b1a28),\n 0 0 0 1px rgba(0, 0, 0, 0.25);\n}\n.ls-color-picker__gradient circle,\n.ls-color-picker__gradient polyline {\n stroke: #fff;\n}\n.ls-variable-picker {\n --variable-custom-color: var(--customVariables, #69ffd2);\n --variable-function-color: var( --functionVariables, var(--semanticPurple, #b489ff) );\n --variable-normal-color: var(--normalVariables, var(--semanticBlue, #65b8ff));\n display: flex;\n width: 92vw;\n max-width: 1100px;\n min-height: 50vh;\n max-height: 55vh;\n flex-direction: column;\n overflow: hidden;\n padding: 1rem;\n}\n.ls-variable-picker__field {\n margin: 0 0 0.75rem;\n border: 1px solid color-mix(in srgb, var(--primary, #ff4076) 42%, var(--neutralDark4, #393853));\n border-radius: var(--radius, 1rem);\n padding: 0.5rem;\n}\n.ls-variable-picker__legend {\n padding-inline: 0.375rem;\n color: var(--primary, #ff4076);\n font-size: 0.75rem;\n font-weight: 700;\n}\n.ls-variable-picker__intro {\n margin-bottom: 1rem;\n color: var(--neutralLight2, #cac9d5);\n}\n.ls-variable-picker__header,\n.ls-variable-picker__row {\n display: grid;\n grid-template-columns: minmax(300px, 1.5fr) 1fr 1fr;\n gap: 2rem;\n}\n.ls-variable-picker__header {\n margin-bottom: 0.25rem;\n padding-inline: 0.25rem;\n padding-right: 1.7rem;\n color: var(--neutralLight3, #9392a1);\n}\n.ls-variable-picker__list {\n height: 100%;\n overflow: auto;\n padding-right: 1rem;\n}\n.ls-variable-picker__row {\n cursor: pointer;\n align-items: start;\n border-bottom: 1px solid color-mix(in srgb, var(--neutralDark4, #393853) 70%, transparent);\n padding: 1rem 0.25rem;\n}\n.ls-variable-picker__row--no-border {\n border-bottom: 0;\n}\n.ls-variable-picker__token-cell {\n display: flex;\n min-width: 0;\n align-items: center;\n gap: 0.375rem;\n}\n.ls-variable-picker__expand-toggle,\n.ls-variable-picker__expand-spacer {\n width: 24px;\n height: 24px;\n flex: 0 0 24px;\n}\n.ls-variable-picker__expand-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid color-mix(in srgb, var(--neutralDark4, #393853) 75%, transparent);\n border-radius: var(--radius, 1rem);\n padding: 0;\n background: var(--neutralDark3, var(--containerbackground, #1f1f3a));\n color: var(--neutralLight2, #cac9d5);\n transition:\n background-color 140ms ease,\n border-color 140ms ease,\n color 140ms ease,\n transform 140ms ease;\n}\n.ls-variable-picker__expand-toggle:hover {\n border-color: var(--primary, #ff4076);\n background: color-mix(in srgb, var(--primary, #ff4076) 16%, var(--neutralDark3, #1f1f3a));\n color: var(--neutralLight1, #fff);\n}\n.ls-variable-picker__expand-toggle svg {\n transform: rotate(-90deg);\n transition: transform 140ms ease;\n}\n.ls-variable-picker__expand-toggle--expanded svg {\n transform: rotate(0deg);\n}\n.ls-variable-picker__row:active {\n opacity: 0.8;\n}\n.ls-variable-picker__description {\n max-width: 600px;\n overflow-wrap: break-word;\n line-height: 1.25;\n word-break: break-all;\n}\n.ls-variable-picker__value {\n min-width: 0;\n}\n.ls-variable-picker__value-input {\n width: 100%;\n min-width: 0;\n cursor: text;\n overflow: hidden;\n border: 0;\n background: transparent;\n color: var(--neutralLight1, var(--white, #fff));\n caret-color: transparent;\n font: inherit;\n font-size: 1rem;\n line-height: 1.25;\n outline: 0;\n padding: 0;\n text-overflow: ellipsis;\n}\n.ls-variable-picker__value-input:focus {\n outline: 0;\n}\n.ls-variable-picker__value-input::selection {\n background: color-mix(in srgb, var(--primary, #ff4076) 45%, transparent);\n color: var(--alwayswhite, var(--white, #fff));\n}\n.ls-variable-token {\n display: flex;\n min-width: 0;\n align-items: center;\n}\n.ls-variable-token--custom {\n color: var(--customVariables, #69ffd2);\n}\n.ls-variable-token--function {\n color: var(--functionVariables, var(--semanticPurple, #b489ff));\n}\n.ls-variable-token--system {\n color: var(--normalVariables, var(--semanticBlue, #65b8ff));\n}\n.ls-variable-token__name {\n min-width: 0;\n word-break: break-all;\n}\n.ls-variable-token__badge {\n display: inline-flex;\n margin-left: 0.5rem;\n flex-shrink: 0;\n align-items: center;\n border: 1px solid currentcolor;\n border-radius: var(--radius, 1rem);\n padding-inline: 0.25rem;\n padding-block: 0;\n font-size: 10px;\n font-weight: 600;\n line-height: 1;\n text-transform: uppercase;\n}\n");
|
|
25
25
|
|
|
26
26
|
// src/components/LSButton/LSButton.tsx
|
|
27
27
|
import Button from "@mui/material/Button";
|
|
@@ -742,6 +742,43 @@ var LSColorPicker = ({ value = DEFAULT_COLOR, onChange, onBlur, className, name,
|
|
|
742
742
|
);
|
|
743
743
|
};
|
|
744
744
|
|
|
745
|
+
// src/components/LSDatePicker/LSDatePicker.tsx
|
|
746
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
747
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
748
|
+
var toDateTimeLocalValue = (value) => {
|
|
749
|
+
if (!value) return "";
|
|
750
|
+
const date = new Date(value);
|
|
751
|
+
if (Number.isNaN(date.getTime())) return "";
|
|
752
|
+
const offsetMs = date.getTimezoneOffset() * 60 * 1e3;
|
|
753
|
+
return new Date(date.getTime() - offsetMs).toISOString().slice(0, 16);
|
|
754
|
+
};
|
|
755
|
+
var fromDateTimeLocalValue = (value) => {
|
|
756
|
+
if (!value) return "";
|
|
757
|
+
return new Date(value).toISOString();
|
|
758
|
+
};
|
|
759
|
+
var LSDatePicker = forwardRef3(
|
|
760
|
+
({ value, onChange, onChangeStart, onChangeEnd, className, ...rest }, ref) => {
|
|
761
|
+
const handleChange = (event) => {
|
|
762
|
+
const nextValue = fromDateTimeLocalValue(event.target.value);
|
|
763
|
+
onChangeStart?.(event, nextValue);
|
|
764
|
+
onChange?.(event, nextValue);
|
|
765
|
+
onChangeEnd?.(event, nextValue);
|
|
766
|
+
};
|
|
767
|
+
return /* @__PURE__ */ jsx7(
|
|
768
|
+
LSInput,
|
|
769
|
+
{
|
|
770
|
+
...rest,
|
|
771
|
+
ref,
|
|
772
|
+
className: ["mui-ls-date-picker", className].filter(Boolean).join(" "),
|
|
773
|
+
type: "datetime-local",
|
|
774
|
+
value: toDateTimeLocalValue(value),
|
|
775
|
+
onChange: handleChange
|
|
776
|
+
}
|
|
777
|
+
);
|
|
778
|
+
}
|
|
779
|
+
);
|
|
780
|
+
LSDatePicker.displayName = "LSDatePicker";
|
|
781
|
+
|
|
745
782
|
// src/components/LSFontPicker/LSFontPicker.tsx
|
|
746
783
|
import { KeyboardArrowDown } from "@mui/icons-material";
|
|
747
784
|
import Autocomplete from "@mui/material/Autocomplete";
|
|
@@ -754,7 +791,7 @@ import {
|
|
|
754
791
|
useRef as useRef2,
|
|
755
792
|
useState as useState3
|
|
756
793
|
} from "react";
|
|
757
|
-
import { jsx as
|
|
794
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
758
795
|
var LSFontPicker = memo(function LSFontPicker2({
|
|
759
796
|
value,
|
|
760
797
|
onChange,
|
|
@@ -798,7 +835,7 @@ var LSFontPicker = memo(function LSFontPicker2({
|
|
|
798
835
|
onLoadFontsRef.current?.([nextValue]);
|
|
799
836
|
});
|
|
800
837
|
};
|
|
801
|
-
return /* @__PURE__ */
|
|
838
|
+
return /* @__PURE__ */ jsx8("div", { className: "ls-font-picker", children: /* @__PURE__ */ jsx8(
|
|
802
839
|
AutocompleteComponent,
|
|
803
840
|
{
|
|
804
841
|
freeSolo: true,
|
|
@@ -808,7 +845,7 @@ var LSFontPicker = memo(function LSFontPicker2({
|
|
|
808
845
|
options: combinedFonts,
|
|
809
846
|
value: currentValue,
|
|
810
847
|
inputValue,
|
|
811
|
-
popupIcon: /* @__PURE__ */
|
|
848
|
+
popupIcon: /* @__PURE__ */ jsx8(KeyboardArrowDown, {}),
|
|
812
849
|
isOptionEqualToValue: (option, selectedValue) => option === selectedValue,
|
|
813
850
|
onChange: (_event, newValue) => {
|
|
814
851
|
handleValueChange(
|
|
@@ -852,7 +889,7 @@ var LSFontPicker = memo(function LSFontPicker2({
|
|
|
852
889
|
noOptionsText: "No fonts found",
|
|
853
890
|
renderOption: (props, option) => {
|
|
854
891
|
const { key, ...optionProps } = props;
|
|
855
|
-
return /* @__PURE__ */
|
|
892
|
+
return /* @__PURE__ */ jsx8(
|
|
856
893
|
"li",
|
|
857
894
|
{
|
|
858
895
|
...optionProps,
|
|
@@ -869,7 +906,7 @@ var LSFontPicker = memo(function LSFontPicker2({
|
|
|
869
906
|
key
|
|
870
907
|
);
|
|
871
908
|
},
|
|
872
|
-
renderInput: (params) => /* @__PURE__ */
|
|
909
|
+
renderInput: (params) => /* @__PURE__ */ jsx8(
|
|
873
910
|
TextFieldComponent,
|
|
874
911
|
{
|
|
875
912
|
...params,
|
|
@@ -896,7 +933,7 @@ var LSFontPicker = memo(function LSFontPicker2({
|
|
|
896
933
|
|
|
897
934
|
// src/components/LSMultiSelect/LSMultiSelect.tsx
|
|
898
935
|
import { MenuItem } from "@mui/material";
|
|
899
|
-
import { jsx as
|
|
936
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
900
937
|
var LSMultiSelect = ({
|
|
901
938
|
options,
|
|
902
939
|
placeholder = "Select...",
|
|
@@ -910,7 +947,7 @@ var LSMultiSelect = ({
|
|
|
910
947
|
} = event;
|
|
911
948
|
onChange(typeof value2 === "string" ? value2.split(",") : value2);
|
|
912
949
|
};
|
|
913
|
-
return /* @__PURE__ */
|
|
950
|
+
return /* @__PURE__ */ jsx9(
|
|
914
951
|
LSSelect,
|
|
915
952
|
{
|
|
916
953
|
multiple: true,
|
|
@@ -921,10 +958,10 @@ var LSMultiSelect = ({
|
|
|
921
958
|
onChange: handleChange,
|
|
922
959
|
displayEmpty: true,
|
|
923
960
|
renderValue: (selected) => /* @__PURE__ */ jsxs4("div", { className: "ls-multi-select-value", children: [
|
|
924
|
-
/* @__PURE__ */
|
|
961
|
+
/* @__PURE__ */ jsx9("div", { className: "ls-multi-select-value__label", children: selected.length > 0 ? selected.map(
|
|
925
962
|
(val) => options.find((opt) => opt.value === val)?.label ?? val
|
|
926
963
|
).join(", ") : placeholder }),
|
|
927
|
-
/* @__PURE__ */
|
|
964
|
+
/* @__PURE__ */ jsx9("div", { className: "ls-multi-select-value__count", children: `(${selected.length})` })
|
|
928
965
|
] }),
|
|
929
966
|
MenuProps: {
|
|
930
967
|
slotProps: {
|
|
@@ -981,7 +1018,7 @@ var LSMultiSelect = ({
|
|
|
981
1018
|
}
|
|
982
1019
|
},
|
|
983
1020
|
children: [
|
|
984
|
-
/* @__PURE__ */
|
|
1021
|
+
/* @__PURE__ */ jsx9(
|
|
985
1022
|
LSCheckbox,
|
|
986
1023
|
{
|
|
987
1024
|
checked: (value ?? []).includes(option.value),
|
|
@@ -989,7 +1026,7 @@ var LSMultiSelect = ({
|
|
|
989
1026
|
disableRipple: true
|
|
990
1027
|
}
|
|
991
1028
|
),
|
|
992
|
-
/* @__PURE__ */
|
|
1029
|
+
/* @__PURE__ */ jsx9("span", { children: option.label })
|
|
993
1030
|
]
|
|
994
1031
|
},
|
|
995
1032
|
option.value
|
|
@@ -1003,18 +1040,18 @@ import FormControlLabel2 from "@mui/material/FormControlLabel";
|
|
|
1003
1040
|
import Radio from "@mui/material/Radio";
|
|
1004
1041
|
import RadioGroup from "@mui/material/RadioGroup";
|
|
1005
1042
|
import classNames5 from "classnames";
|
|
1006
|
-
import { jsx as
|
|
1043
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
1007
1044
|
var LSRadio = ({ className = "", ...props }) => {
|
|
1008
|
-
return /* @__PURE__ */
|
|
1045
|
+
return /* @__PURE__ */ jsx10(Radio, { ...props, className: classNames5("ls-radio", className) });
|
|
1009
1046
|
};
|
|
1010
1047
|
var LSRadioGroup = ({ selections, className = "", optionClassName = "", row, ...props }) => {
|
|
1011
|
-
return /* @__PURE__ */
|
|
1048
|
+
return /* @__PURE__ */ jsx10(RadioGroup, { ...props, row, className: classNames5("ls-radio-group", className, { row }), children: selections.map((selection) => /* @__PURE__ */ jsx10(
|
|
1012
1049
|
FormControlLabel2,
|
|
1013
1050
|
{
|
|
1014
1051
|
className: classNames5("ls-radio-row", optionClassName),
|
|
1015
1052
|
value: selection.value,
|
|
1016
1053
|
disabled: selection.disabled,
|
|
1017
|
-
control: /* @__PURE__ */
|
|
1054
|
+
control: /* @__PURE__ */ jsx10(LSRadio, {}),
|
|
1018
1055
|
label: selection.label
|
|
1019
1056
|
},
|
|
1020
1057
|
selection.value
|
|
@@ -1024,12 +1061,12 @@ LSRadioGroup.displayName = "LSRadioGroup";
|
|
|
1024
1061
|
|
|
1025
1062
|
// src/components/LSTextField/LSTextField.tsx
|
|
1026
1063
|
import TextField3 from "@mui/material/TextField";
|
|
1027
|
-
import { forwardRef as
|
|
1028
|
-
import { jsx as
|
|
1029
|
-
var LSTextField =
|
|
1064
|
+
import { forwardRef as forwardRef4 } from "react";
|
|
1065
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1066
|
+
var LSTextField = forwardRef4(
|
|
1030
1067
|
(props, ref) => {
|
|
1031
1068
|
const { InputLabelProps, InputProps, slotProps, ...rest } = props;
|
|
1032
|
-
return /* @__PURE__ */
|
|
1069
|
+
return /* @__PURE__ */ jsx11(
|
|
1033
1070
|
TextField3,
|
|
1034
1071
|
{
|
|
1035
1072
|
...rest,
|
|
@@ -1070,7 +1107,7 @@ import Tooltip from "@mui/material/Tooltip";
|
|
|
1070
1107
|
import {
|
|
1071
1108
|
Fragment as Fragment2,
|
|
1072
1109
|
createContext,
|
|
1073
|
-
forwardRef as
|
|
1110
|
+
forwardRef as forwardRef5,
|
|
1074
1111
|
useCallback as useCallback2,
|
|
1075
1112
|
useContext,
|
|
1076
1113
|
useEffect as useEffect4,
|
|
@@ -1078,14 +1115,14 @@ import {
|
|
|
1078
1115
|
useRef as useRef3,
|
|
1079
1116
|
useState as useState4
|
|
1080
1117
|
} from "react";
|
|
1081
|
-
import { Fragment as Fragment3, jsx as
|
|
1118
|
+
import { Fragment as Fragment3, jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1082
1119
|
import { createElement } from "react";
|
|
1083
1120
|
var LSVariableInputContext = createContext({});
|
|
1084
1121
|
var LSVariableInputProvider = ({
|
|
1085
1122
|
children,
|
|
1086
1123
|
value
|
|
1087
1124
|
}) => {
|
|
1088
|
-
return /* @__PURE__ */
|
|
1125
|
+
return /* @__PURE__ */ jsx12(LSVariableInputContext.Provider, { value, children });
|
|
1089
1126
|
};
|
|
1090
1127
|
var DEFAULT_FUNCTION_VARIABLES = [
|
|
1091
1128
|
"sum_variables",
|
|
@@ -1304,7 +1341,7 @@ var getVariableColorClass = (variableType, isSuggested) => {
|
|
|
1304
1341
|
return "ls-variable-token--custom";
|
|
1305
1342
|
};
|
|
1306
1343
|
var CHILD_VARIABLE_COLOR_CLASS = "ls-variable-token--child";
|
|
1307
|
-
var LSVariableInputField =
|
|
1344
|
+
var LSVariableInputField = forwardRef5((props, ref) => {
|
|
1308
1345
|
const context = useContext(LSVariableInputContext);
|
|
1309
1346
|
const {
|
|
1310
1347
|
name,
|
|
@@ -1774,8 +1811,8 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1774
1811
|
{
|
|
1775
1812
|
className: `ls-variable-token ${getVariableColorClass(variableType, isSuggested)}`,
|
|
1776
1813
|
children: [
|
|
1777
|
-
/* @__PURE__ */
|
|
1778
|
-
variableType === "func" && /* @__PURE__ */
|
|
1814
|
+
/* @__PURE__ */ jsx12("span", { className: "ls-variable-token__name", children: `{{${variableName}}}` }),
|
|
1815
|
+
variableType === "func" && /* @__PURE__ */ jsx12(
|
|
1779
1816
|
"span",
|
|
1780
1817
|
{
|
|
1781
1818
|
className: "ls-variable-token__badge",
|
|
@@ -1786,7 +1823,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1786
1823
|
]
|
|
1787
1824
|
}
|
|
1788
1825
|
);
|
|
1789
|
-
const renderExpandToggle = (path, expanded) => /* @__PURE__ */
|
|
1826
|
+
const renderExpandToggle = (path, expanded) => /* @__PURE__ */ jsx12(
|
|
1790
1827
|
"button",
|
|
1791
1828
|
{
|
|
1792
1829
|
type: "button",
|
|
@@ -1797,15 +1834,15 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1797
1834
|
className: `ls-variable-picker__expand-toggle${expanded ? " ls-variable-picker__expand-toggle--expanded" : ""}`,
|
|
1798
1835
|
"aria-label": expanded ? "Collapse" : "Expand",
|
|
1799
1836
|
"aria-expanded": expanded,
|
|
1800
|
-
children: /* @__PURE__ */
|
|
1837
|
+
children: /* @__PURE__ */ jsx12(KeyboardArrowDown2, { style: { width: 16, height: 16 } })
|
|
1801
1838
|
}
|
|
1802
1839
|
);
|
|
1803
|
-
const renderExpandSpacer = () => /* @__PURE__ */
|
|
1840
|
+
const renderExpandSpacer = () => /* @__PURE__ */ jsx12("span", { className: "ls-variable-picker__expand-spacer", "aria-hidden": true });
|
|
1804
1841
|
const getVariableValuePreview = (variableValue) => {
|
|
1805
1842
|
const { displayValue, fullValue } = getVariableValueDisplay(variableValue);
|
|
1806
1843
|
return { displayValue, fullValue };
|
|
1807
1844
|
};
|
|
1808
|
-
const renderVariableValueInput = (displayValue, fullValue) => /* @__PURE__ */
|
|
1845
|
+
const renderVariableValueInput = (displayValue, fullValue) => /* @__PURE__ */ jsx12(
|
|
1809
1846
|
"input",
|
|
1810
1847
|
{
|
|
1811
1848
|
className: "ls-variable-picker__value-input",
|
|
@@ -1839,18 +1876,18 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1839
1876
|
style: { paddingLeft: `${node.depth * 1.25}rem` },
|
|
1840
1877
|
children: [
|
|
1841
1878
|
node.isExpandable ? renderExpandToggle(fullToken, expanded) : renderExpandSpacer(),
|
|
1842
|
-
/* @__PURE__ */
|
|
1879
|
+
/* @__PURE__ */ jsx12(
|
|
1843
1880
|
"div",
|
|
1844
1881
|
{
|
|
1845
1882
|
className: `ls-variable-token ${CHILD_VARIABLE_COLOR_CLASS}`,
|
|
1846
|
-
children: /* @__PURE__ */
|
|
1883
|
+
children: /* @__PURE__ */ jsx12("span", { className: "ls-variable-token__name", children: `{{${fullToken}}}` })
|
|
1847
1884
|
}
|
|
1848
1885
|
)
|
|
1849
1886
|
]
|
|
1850
1887
|
}
|
|
1851
1888
|
),
|
|
1852
|
-
/* @__PURE__ */
|
|
1853
|
-
/* @__PURE__ */
|
|
1889
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__description", children: node.displayKey }),
|
|
1890
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__value", title: fullValue, children: renderVariableValueInput(displayValue, fullValue) })
|
|
1854
1891
|
]
|
|
1855
1892
|
}
|
|
1856
1893
|
),
|
|
@@ -1908,7 +1945,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1908
1945
|
isSelected ? "ls-variable-option--selected" : ""
|
|
1909
1946
|
].filter(Boolean).join(" ")
|
|
1910
1947
|
},
|
|
1911
|
-
thumb ? /* @__PURE__ */
|
|
1948
|
+
thumb ? /* @__PURE__ */ jsx12(
|
|
1912
1949
|
"img",
|
|
1913
1950
|
{
|
|
1914
1951
|
src: thumb,
|
|
@@ -1917,23 +1954,23 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1917
1954
|
}
|
|
1918
1955
|
) : null,
|
|
1919
1956
|
/* @__PURE__ */ jsxs5("div", { className: "ls-variable-option__body", children: [
|
|
1920
|
-
/* @__PURE__ */
|
|
1921
|
-
helperText ? /* @__PURE__ */
|
|
1957
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-option__label", children: resolveOptionLabel(opt) }),
|
|
1958
|
+
helperText ? /* @__PURE__ */ jsx12("div", { className: "ls-variable-option__helper", children: helperText }) : null
|
|
1922
1959
|
] })
|
|
1923
1960
|
);
|
|
1924
1961
|
};
|
|
1925
1962
|
const showSuggestedSection = allowedVariableNames.length > 0 && filteredAllowedVariables.length > 0;
|
|
1926
1963
|
const pickerBody = /* @__PURE__ */ jsxs5("div", { className: "ls-variable-picker ls-variable-picker--three-col", children: [
|
|
1927
1964
|
/* @__PURE__ */ jsxs5("div", { className: "ls-variable-picker__intro", children: [
|
|
1928
|
-
/* @__PURE__ */
|
|
1965
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__intro-text", children: t(
|
|
1929
1966
|
"overlay-variables.variables-description",
|
|
1930
1967
|
"Use variables that will automatically be replaced before sending out the text"
|
|
1931
1968
|
) }),
|
|
1932
|
-
/* @__PURE__ */
|
|
1969
|
+
/* @__PURE__ */ jsx12(
|
|
1933
1970
|
LSInput,
|
|
1934
1971
|
{
|
|
1935
1972
|
autoFocus: true,
|
|
1936
|
-
startAdornment: /* @__PURE__ */
|
|
1973
|
+
startAdornment: /* @__PURE__ */ jsx12(Search, { style: { color: "#fff", width: 20, height: 20 } }),
|
|
1937
1974
|
placeholder: t("common.search", "Search"),
|
|
1938
1975
|
value: searchQuery,
|
|
1939
1976
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
@@ -1942,13 +1979,13 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1942
1979
|
)
|
|
1943
1980
|
] }),
|
|
1944
1981
|
/* @__PURE__ */ jsxs5("div", { className: "ls-variable-picker__header", children: [
|
|
1945
|
-
/* @__PURE__ */
|
|
1946
|
-
/* @__PURE__ */
|
|
1947
|
-
/* @__PURE__ */
|
|
1982
|
+
/* @__PURE__ */ jsx12("div", { style: { paddingLeft: "2.2rem" }, children: t("commands.variable", "Variable") }),
|
|
1983
|
+
/* @__PURE__ */ jsx12("div", { children: t("commands.description", "Description") }),
|
|
1984
|
+
/* @__PURE__ */ jsx12("div", { children: t("common.value", "Value") })
|
|
1948
1985
|
] }),
|
|
1949
1986
|
/* @__PURE__ */ jsxs5("div", { className: "ls-variable-picker__list", children: [
|
|
1950
1987
|
showSuggestedSection && /* @__PURE__ */ jsxs5("fieldset", { className: "ls-variable-picker__field", children: [
|
|
1951
|
-
/* @__PURE__ */
|
|
1988
|
+
/* @__PURE__ */ jsx12("legend", { className: "ls-variable-picker__legend", children: t("commands.suggested-variables", "Suggested Variables") }),
|
|
1952
1989
|
filteredAllowedVariables.map((definition, idx) => {
|
|
1953
1990
|
const variableType = getAllowedVariableVisualType(
|
|
1954
1991
|
definition.name
|
|
@@ -1976,8 +2013,8 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
1976
2013
|
expandable ? renderExpandToggle(definition.name, expanded) : renderExpandSpacer(),
|
|
1977
2014
|
renderVariableToken(definition.name, variableType, true)
|
|
1978
2015
|
] }),
|
|
1979
|
-
/* @__PURE__ */
|
|
1980
|
-
/* @__PURE__ */
|
|
2016
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__description", children: getAllowedVariableDescription(definition.name) }),
|
|
2017
|
+
/* @__PURE__ */ jsx12(
|
|
1981
2018
|
"div",
|
|
1982
2019
|
{
|
|
1983
2020
|
className: "ls-variable-picker__value",
|
|
@@ -2015,8 +2052,8 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
2015
2052
|
expandable ? renderExpandToggle(rootToken, expanded) : renderExpandSpacer(),
|
|
2016
2053
|
renderVariableToken(variable.name, variableType)
|
|
2017
2054
|
] }),
|
|
2018
|
-
/* @__PURE__ */
|
|
2019
|
-
/* @__PURE__ */
|
|
2055
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__description", children: getSystemVariableDescription(variable) }),
|
|
2056
|
+
/* @__PURE__ */ jsx12("div", { className: "ls-variable-picker__value", title: fullValue, children: renderVariableValueInput(displayValue, fullValue) })
|
|
2020
2057
|
]
|
|
2021
2058
|
}
|
|
2022
2059
|
),
|
|
@@ -2025,7 +2062,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
2025
2062
|
})
|
|
2026
2063
|
] })
|
|
2027
2064
|
] });
|
|
2028
|
-
const textField = (params = {}) => /* @__PURE__ */
|
|
2065
|
+
const textField = (params = {}) => /* @__PURE__ */ jsx12(
|
|
2029
2066
|
VariableInputTextField,
|
|
2030
2067
|
{
|
|
2031
2068
|
t,
|
|
@@ -2052,7 +2089,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
2052
2089
|
}
|
|
2053
2090
|
);
|
|
2054
2091
|
return /* @__PURE__ */ jsxs5(Fragment3, { children: [
|
|
2055
|
-
/* @__PURE__ */
|
|
2092
|
+
/* @__PURE__ */ jsx12(
|
|
2056
2093
|
Popover,
|
|
2057
2094
|
{
|
|
2058
2095
|
anchorEl: containerRef.current,
|
|
@@ -2078,7 +2115,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
2078
2115
|
children: pickerBody
|
|
2079
2116
|
}
|
|
2080
2117
|
),
|
|
2081
|
-
isAutoComplete ? /* @__PURE__ */
|
|
2118
|
+
isAutoComplete ? /* @__PURE__ */ jsx12(
|
|
2082
2119
|
Autocomplete2,
|
|
2083
2120
|
{
|
|
2084
2121
|
disableClearable: true,
|
|
@@ -2178,7 +2215,7 @@ var LSVariableInputField = forwardRef4((props, ref) => {
|
|
|
2178
2215
|
] });
|
|
2179
2216
|
});
|
|
2180
2217
|
LSVariableInputField.displayName = "LSVariableInputField";
|
|
2181
|
-
var VariableInputTextField =
|
|
2218
|
+
var VariableInputTextField = forwardRef5(
|
|
2182
2219
|
({
|
|
2183
2220
|
t,
|
|
2184
2221
|
id,
|
|
@@ -2205,10 +2242,10 @@ var VariableInputTextField = forwardRef4(
|
|
|
2205
2242
|
const inputPropsSlotInputProps = inputProps?.slotProps?.input ?? {};
|
|
2206
2243
|
const paramsSlotInputProps = params?.slotProps?.input ?? {};
|
|
2207
2244
|
const explicitStartAdornment = inputProps?.startAdornment;
|
|
2208
|
-
const resolvedExplicitStartAdornment = explicitStartAdornment ? /* @__PURE__ */
|
|
2245
|
+
const resolvedExplicitStartAdornment = explicitStartAdornment ? /* @__PURE__ */ jsx12(InputAdornment2, { position: "start", children: explicitStartAdornment }) : void 0;
|
|
2209
2246
|
const startAdornment = paramsInputProps.startAdornment ?? paramsSlotInputProps.startAdornment ?? inputPropsInputProps.startAdornment ?? inputPropsSlotInputProps.startAdornment ?? resolvedExplicitStartAdornment;
|
|
2210
2247
|
const endAdornment = paramsInputProps.endAdornment ?? paramsSlotInputProps.endAdornment ?? inputPropsInputProps.endAdornment ?? inputPropsSlotInputProps.endAdornment;
|
|
2211
|
-
return /* @__PURE__ */
|
|
2248
|
+
return /* @__PURE__ */ jsx12(
|
|
2212
2249
|
LSTextField,
|
|
2213
2250
|
{
|
|
2214
2251
|
id,
|
|
@@ -2237,11 +2274,11 @@ var VariableInputTextField = forwardRef4(
|
|
|
2237
2274
|
startAdornment,
|
|
2238
2275
|
endAdornment: /* @__PURE__ */ jsxs5(Fragment3, { children: [
|
|
2239
2276
|
endAdornment ?? null,
|
|
2240
|
-
showVariableIcon ? /* @__PURE__ */
|
|
2277
|
+
showVariableIcon ? /* @__PURE__ */ jsx12(
|
|
2241
2278
|
Tooltip,
|
|
2242
2279
|
{
|
|
2243
2280
|
title: t("chatbot.allowed-variables", "Allowed Variables"),
|
|
2244
|
-
children: /* @__PURE__ */
|
|
2281
|
+
children: /* @__PURE__ */ jsx12(
|
|
2245
2282
|
InputAdornment2,
|
|
2246
2283
|
{
|
|
2247
2284
|
position: "end",
|
|
@@ -3304,11 +3341,11 @@ var LUMIA_DEFAULT_SIZES = {
|
|
|
3304
3341
|
audio: { width: 200, height: 200 },
|
|
3305
3342
|
slideshow: { width: 400, height: 220 },
|
|
3306
3343
|
alert: { width: 700, height: 600 },
|
|
3307
|
-
//
|
|
3308
|
-
// in" sublabel
|
|
3309
|
-
//
|
|
3310
|
-
//
|
|
3311
|
-
goal: { width: 740, height:
|
|
3344
|
+
// Sized for the SE-style slim layout — title (~24px line) + tight gap +
|
|
3345
|
+
// 1.7em bar + optional "Ends in" sublabel collapses to ~70-85 px. 90 gives
|
|
3346
|
+
// a small safety margin for larger fonts without leaving dead space in the
|
|
3347
|
+
// editor canvas (which doesn't honor the layer's `autoHeight: true`).
|
|
3348
|
+
goal: { width: 740, height: 90 },
|
|
3312
3349
|
timer: { width: 740, height: 80 },
|
|
3313
3350
|
chatbox: { width: 375, height: 470 },
|
|
3314
3351
|
eventlist: { width: 375, height: 470 },
|
|
@@ -3345,10 +3382,20 @@ function translateVariationCondition(seType, seCondition, requirement) {
|
|
|
3345
3382
|
return { conditionType: "RANDOM", condition: 100 };
|
|
3346
3383
|
}
|
|
3347
3384
|
var LUMIA_LAYOUTS = /* @__PURE__ */ new Set(["column", "row", "onlyImage", "onlyText", "imageOver", "textOver"]);
|
|
3385
|
+
var SE_LAYOUT_ALIASES = {
|
|
3386
|
+
behind: "textOver"
|
|
3387
|
+
};
|
|
3348
3388
|
function translateLayout(seLayout) {
|
|
3349
|
-
if (seLayout
|
|
3389
|
+
if (!seLayout) return "column";
|
|
3390
|
+
const alias = SE_LAYOUT_ALIASES[seLayout];
|
|
3391
|
+
if (alias) return alias;
|
|
3392
|
+
if (LUMIA_LAYOUTS.has(seLayout)) return seLayout;
|
|
3350
3393
|
return "column";
|
|
3351
3394
|
}
|
|
3395
|
+
function seLayoutUsesPushText(seLayout) {
|
|
3396
|
+
if (!seLayout) return true;
|
|
3397
|
+
return seLayout !== "behind";
|
|
3398
|
+
}
|
|
3352
3399
|
|
|
3353
3400
|
// src/se-import/mappers/build.ts
|
|
3354
3401
|
import { nanoid } from "nanoid";
|
|
@@ -3559,7 +3606,7 @@ function buildAlertEvent(seEvent, seEventType) {
|
|
|
3559
3606
|
const importedTextShadow = css["text-shadow"] ?? "rgba(0, 0, 0, 0.8) 1px 1px 1px";
|
|
3560
3607
|
const textShadow = shadowEnabled ? importedTextShadow : "none";
|
|
3561
3608
|
const marginTopRaw = Number(css["margin-top"]);
|
|
3562
|
-
const pushTextUp = Number.isFinite(marginTopRaw) ? -marginTopRaw : 0;
|
|
3609
|
+
const pushTextUp = seLayoutUsesPushText(seEvent.layout) && Number.isFinite(marginTopRaw) ? -marginTopRaw : 0;
|
|
3563
3610
|
const variations = (seEvent.variations ?? []).map((variation) => buildAlertVariation(variation, seEventType, seEvent)).filter((v) => v != null);
|
|
3564
3611
|
const defaultDuration = (seEventType && SE_DEFAULT_DURATION_BY_EVENT[seEventType]) ?? 8;
|
|
3565
3612
|
return {
|
|
@@ -3689,25 +3736,52 @@ function deepMergeSeSettings(parent, variation) {
|
|
|
3689
3736
|
}
|
|
3690
3737
|
return out;
|
|
3691
3738
|
}
|
|
3739
|
+
function pickBaseAlertFields(event) {
|
|
3740
|
+
const { on: _on, variations: _variations, matchEmptyCondition: _mec, ...base } = event;
|
|
3741
|
+
return base;
|
|
3742
|
+
}
|
|
3692
3743
|
function mapAlertBox(widget, opts = {}) {
|
|
3693
3744
|
const v = widget.variables ?? {};
|
|
3694
3745
|
const events = {};
|
|
3695
3746
|
const eventKeys = opts.onlyEvents ?? ["follower", "subscriber", "tip", "cheer", "raid", "merch", "purchase", "charityCampaignDonation"];
|
|
3747
|
+
let firstEvent = null;
|
|
3696
3748
|
for (const seKey of eventKeys) {
|
|
3697
3749
|
const ev = v[seKey];
|
|
3698
3750
|
if (!ev || typeof ev !== "object") continue;
|
|
3699
3751
|
const lumiaAlert = SE_EVENT_TO_LUMIA_ALERT[seKey];
|
|
3700
3752
|
if (!lumiaAlert) continue;
|
|
3701
|
-
|
|
3753
|
+
const built = buildAlertEvent(ev, seKey);
|
|
3754
|
+
events[lumiaAlert] = built;
|
|
3755
|
+
if (firstEvent == null) firstEvent = built;
|
|
3702
3756
|
}
|
|
3703
|
-
|
|
3757
|
+
const baseAlert = firstEvent ? pickBaseAlertFields(firstEvent) : {};
|
|
3758
|
+
return buildUnit(widget, "alert", { alert: { ...baseAlert, events } });
|
|
3704
3759
|
}
|
|
3705
3760
|
function mapSingleAlert(widget, lumiaAlertKey) {
|
|
3706
3761
|
const v = widget.variables ?? {};
|
|
3762
|
+
const topText = widget.text;
|
|
3763
|
+
const merged = { ...v };
|
|
3764
|
+
if (topText) {
|
|
3765
|
+
const inner = v.text ?? {};
|
|
3766
|
+
const innerCss = inner.css ?? {};
|
|
3767
|
+
const topCss = topText.css ?? {};
|
|
3768
|
+
merged.text = {
|
|
3769
|
+
...inner,
|
|
3770
|
+
message: inner.message ?? topText.value ?? "",
|
|
3771
|
+
enableShadow: inner.enableShadow ?? topText.enableShadow,
|
|
3772
|
+
// Top-level SE CSS is the source of truth for Extra Life / DonorDrive
|
|
3773
|
+
// (which omit `variables.text` entirely). For Tiltify both are populated
|
|
3774
|
+
// with the same values; letting the nested `variables.text.css` win
|
|
3775
|
+
// preserves any per-event overrides the streamer might have set.
|
|
3776
|
+
css: { ...topCss, ...innerCss }
|
|
3777
|
+
};
|
|
3778
|
+
}
|
|
3779
|
+
const built = buildAlertEvent(merged);
|
|
3707
3780
|
const events = {
|
|
3708
|
-
[lumiaAlertKey]:
|
|
3781
|
+
[lumiaAlertKey]: built
|
|
3709
3782
|
};
|
|
3710
|
-
|
|
3783
|
+
const baseAlert = pickBaseAlertFields(built);
|
|
3784
|
+
return buildUnit(widget, "alert", { alert: { ...baseAlert, events } });
|
|
3711
3785
|
}
|
|
3712
3786
|
|
|
3713
3787
|
// src/se-import/mappers/goal.ts
|
|
@@ -3723,9 +3797,17 @@ function currentForListener(listener) {
|
|
|
3723
3797
|
if (listener.startsWith("merch-")) return "{{fourthwall_total_order_count}}";
|
|
3724
3798
|
return "0";
|
|
3725
3799
|
}
|
|
3800
|
+
function charityGoalVariables(widgetType) {
|
|
3801
|
+
if (widgetType === "se-widget-tiltify-goal") return { current: "{{tiltify_total_raised=0}}", targetGoal: "{{tiltify_goal_amount=100}}" };
|
|
3802
|
+
if (widgetType === "se-widget-extralife-goal") return { current: "{{extralife_total_raised=0}}", targetGoal: "{{extralife_goal_amount=100}}" };
|
|
3803
|
+
if (widgetType === "se-widget-donor-drive-goal") return { current: "{{donordrive_total_raised=0}}", targetGoal: "{{donordrive_goal_amount=100}}" };
|
|
3804
|
+
return null;
|
|
3805
|
+
}
|
|
3726
3806
|
function mapGoal(widget) {
|
|
3727
3807
|
const v = widget.variables ?? {};
|
|
3728
3808
|
const listener = v.goalListener ?? (typeof widget.listener === "string" ? widget.listener : null);
|
|
3809
|
+
const charity = charityGoalVariables(widget.type);
|
|
3810
|
+
const seTextCss = widget.text?.css ?? {};
|
|
3729
3811
|
return buildUnit(widget, "goal", {
|
|
3730
3812
|
content: {
|
|
3731
3813
|
version: 1,
|
|
@@ -3737,11 +3819,13 @@ function mapGoal(widget) {
|
|
|
3737
3819
|
label: translateSeText(v.title ?? "Goal"),
|
|
3738
3820
|
subLabel: "",
|
|
3739
3821
|
// The Goal module renders this template literal with {{current}} + {{goal}} substituted.
|
|
3740
|
-
|
|
3822
|
+
// Charity goals track donation amounts — prefix `$` so the rendered bar reads
|
|
3823
|
+
// "$0 / $100" the way SE's charity goals do, instead of bare integers.
|
|
3824
|
+
display: charity ? "${{current}} / ${{goal}}" : "{{current}} / {{goal}}",
|
|
3741
3825
|
// `current` is a template variable reference (resolved at render time from session variables).
|
|
3742
3826
|
// `targetGoal` is the numeric ceiling. Both required by Goal/index.tsx:28-29.
|
|
3743
|
-
current: currentForListener(listener),
|
|
3744
|
-
targetGoal: String(v.goalAmount ?? 100),
|
|
3827
|
+
current: charity ? charity.current : currentForListener(listener),
|
|
3828
|
+
targetGoal: charity ? charity.targetGoal : String(v.goalAmount ?? 100),
|
|
3745
3829
|
image: "",
|
|
3746
3830
|
audio: { decrement: "", increment: "", goal: "", goalFailed: "", volume: 1 },
|
|
3747
3831
|
// `null` (rather than `''`) is the cleaner contract — Goal/index.tsx:11's
|
|
@@ -3768,13 +3852,13 @@ function mapGoal(widget) {
|
|
|
3768
3852
|
// `content.border` and `content.borderRadius`. Writing them to
|
|
3769
3853
|
// module.css just plopped useless transparent-0px rules on the
|
|
3770
3854
|
// outer .overlay-module wrapper.
|
|
3771
|
-
lineHeight: 1,
|
|
3772
|
-
fontSize: 30,
|
|
3773
|
-
textAlign: "center",
|
|
3774
|
-
fontFamily: "Roboto",
|
|
3775
|
-
fontWeight: "bold",
|
|
3776
|
-
color: "#ffffff",
|
|
3777
|
-
textShadow: "rgb(0, 0, 0) 1px 1px 1px",
|
|
3855
|
+
lineHeight: seTextCss["line-height"] ?? 1,
|
|
3856
|
+
fontSize: seTextCss["font-size"] ?? 30,
|
|
3857
|
+
textAlign: seTextCss["text-align"] ?? "center",
|
|
3858
|
+
fontFamily: seTextCss["font-family"] ?? "Roboto",
|
|
3859
|
+
fontWeight: seTextCss["font-weight"] ?? "bold",
|
|
3860
|
+
color: seTextCss.color ?? "#ffffff",
|
|
3861
|
+
textShadow: seTextCss["text-shadow"] ?? "rgb(0, 0, 0) 1px 1px 1px",
|
|
3778
3862
|
background: "transparent"
|
|
3779
3863
|
}
|
|
3780
3864
|
});
|
|
@@ -4033,33 +4117,143 @@ function mapEventList(widget) {
|
|
|
4033
4117
|
}
|
|
4034
4118
|
});
|
|
4035
4119
|
}
|
|
4036
|
-
var
|
|
4120
|
+
var SE_CREDITS_EVENTS_TO_SHOW = {
|
|
4037
4121
|
mods: false,
|
|
4038
4122
|
subscribers: true,
|
|
4039
4123
|
gifts: true,
|
|
4040
|
-
donations:
|
|
4041
|
-
purchases:
|
|
4042
|
-
bits:
|
|
4043
|
-
kicks:
|
|
4044
|
-
raids:
|
|
4045
|
-
hosts:
|
|
4046
|
-
superstickers:
|
|
4047
|
-
superchats:
|
|
4048
|
-
redemptions:
|
|
4049
|
-
stars:
|
|
4050
|
-
fans:
|
|
4124
|
+
donations: false,
|
|
4125
|
+
purchases: false,
|
|
4126
|
+
bits: false,
|
|
4127
|
+
kicks: false,
|
|
4128
|
+
raids: false,
|
|
4129
|
+
hosts: false,
|
|
4130
|
+
superstickers: false,
|
|
4131
|
+
superchats: false,
|
|
4132
|
+
redemptions: false,
|
|
4133
|
+
stars: false,
|
|
4134
|
+
fans: false,
|
|
4051
4135
|
shares: false,
|
|
4052
|
-
spells:
|
|
4136
|
+
spells: false,
|
|
4053
4137
|
likes: false,
|
|
4054
|
-
followers:
|
|
4138
|
+
followers: false,
|
|
4055
4139
|
others: false,
|
|
4056
|
-
topGifts:
|
|
4057
|
-
topBits:
|
|
4058
|
-
topKicks:
|
|
4059
|
-
topDonations:
|
|
4060
|
-
topSuperstickers:
|
|
4061
|
-
topSuperchats:
|
|
4062
|
-
topRedemptions:
|
|
4140
|
+
topGifts: false,
|
|
4141
|
+
topBits: false,
|
|
4142
|
+
topKicks: false,
|
|
4143
|
+
topDonations: false,
|
|
4144
|
+
topSuperstickers: false,
|
|
4145
|
+
topSuperchats: false,
|
|
4146
|
+
topRedemptions: false
|
|
4147
|
+
};
|
|
4148
|
+
var CREDITS_DEFAULT_SECTION_ORDER = [
|
|
4149
|
+
"topGifts",
|
|
4150
|
+
"topBits",
|
|
4151
|
+
"topKicks",
|
|
4152
|
+
"topDonations",
|
|
4153
|
+
"topSuperstickers",
|
|
4154
|
+
"topSuperchats",
|
|
4155
|
+
"topRedemptions",
|
|
4156
|
+
"subscribers",
|
|
4157
|
+
"gifts",
|
|
4158
|
+
"followers",
|
|
4159
|
+
"donations",
|
|
4160
|
+
"bits",
|
|
4161
|
+
"kicks",
|
|
4162
|
+
"raids",
|
|
4163
|
+
"hosts",
|
|
4164
|
+
"superstickers",
|
|
4165
|
+
"superchats",
|
|
4166
|
+
"redemptions",
|
|
4167
|
+
"others"
|
|
4168
|
+
];
|
|
4169
|
+
var CREDITS_DEFAULT_TOP_LIMITS = {
|
|
4170
|
+
topGifts: 5,
|
|
4171
|
+
topBits: 5,
|
|
4172
|
+
topKicks: 5,
|
|
4173
|
+
topDonations: 5,
|
|
4174
|
+
topSuperstickers: 5,
|
|
4175
|
+
topSuperchats: 5,
|
|
4176
|
+
topRedemptions: 5
|
|
4177
|
+
};
|
|
4178
|
+
var CREDITS_DEFAULT_EVENT_NAMES = {
|
|
4179
|
+
mods: "Mods (Total {{amount}})",
|
|
4180
|
+
topGifts: "Top Gifters",
|
|
4181
|
+
topBits: "Top Cheerers",
|
|
4182
|
+
topKicks: "Top Kicks",
|
|
4183
|
+
topDonations: "Top Donators",
|
|
4184
|
+
topSuperstickers: "Top Super Stickers",
|
|
4185
|
+
topSuperchats: "Top Super Chatters",
|
|
4186
|
+
topRedemptions: "Top Redeemers",
|
|
4187
|
+
subscribers: "Subscribers (Total {{amount}})",
|
|
4188
|
+
gifts: "Gifts (Total {{amount}})",
|
|
4189
|
+
donations: "Donations (Total {{amount}})",
|
|
4190
|
+
purchases: "Purchases (Total {{amount}})",
|
|
4191
|
+
bits: "Cheers (Total {{amount}})",
|
|
4192
|
+
kicks: "Kicks (Total {{amount}})",
|
|
4193
|
+
superstickers: "Super Stickers (Total {{amount}})",
|
|
4194
|
+
superchats: "Super Chatters (Total {{amount}})",
|
|
4195
|
+
redemptions: "Redemptions (Total {{amount}})",
|
|
4196
|
+
stars: "Stars (Total {{amount}})",
|
|
4197
|
+
fans: "Fans (Total {{amount}})",
|
|
4198
|
+
shares: "Shares (Total {{amount}})",
|
|
4199
|
+
raids: "Raids (Total {{amount}})",
|
|
4200
|
+
hosts: "Hosts (Total {{amount}})",
|
|
4201
|
+
spells: "Spells (Total {{amount}})",
|
|
4202
|
+
retweets: "Retweets (Total {{amount}})",
|
|
4203
|
+
likes: "Likes (Total {{amount}})",
|
|
4204
|
+
followers: "Followers (Total {{amount}})",
|
|
4205
|
+
others: "Other (Total {{amount}})"
|
|
4206
|
+
};
|
|
4207
|
+
var CREDITS_DEFAULT_PREFIXES = {
|
|
4208
|
+
mods: "x",
|
|
4209
|
+
subscribers: "x",
|
|
4210
|
+
gifts: "x",
|
|
4211
|
+
donations: "x",
|
|
4212
|
+
purchases: "x",
|
|
4213
|
+
bits: "x",
|
|
4214
|
+
kicks: "x",
|
|
4215
|
+
superstickers: "x",
|
|
4216
|
+
superchats: "x",
|
|
4217
|
+
redemptions: "x",
|
|
4218
|
+
stars: "x",
|
|
4219
|
+
fans: "x",
|
|
4220
|
+
shares: "x",
|
|
4221
|
+
raids: "x",
|
|
4222
|
+
hosts: "x",
|
|
4223
|
+
spells: "x",
|
|
4224
|
+
retweets: "x",
|
|
4225
|
+
likes: "x",
|
|
4226
|
+
followers: "",
|
|
4227
|
+
others: ""
|
|
4228
|
+
};
|
|
4229
|
+
var CREDITS_DEFAULT_TEMPLATES = {
|
|
4230
|
+
mods: "{{username}}",
|
|
4231
|
+
subscribers: "{{username}} x{{amount}}",
|
|
4232
|
+
gifts: "{{username}} x{{amount}}",
|
|
4233
|
+
donations: "{{username}} x{{amount}}",
|
|
4234
|
+
purchases: "{{username}} x{{amount}}",
|
|
4235
|
+
bits: "{{username}} x{{amount}}",
|
|
4236
|
+
kicks: "{{username}} x{{amount}}",
|
|
4237
|
+
raids: "{{username}} x{{amount}}",
|
|
4238
|
+
hosts: "{{username}} x{{amount}}",
|
|
4239
|
+
superstickers: "{{username}} x{{amount}}",
|
|
4240
|
+
superchats: "{{username}} x{{amount}}",
|
|
4241
|
+
redemptions: "{{username}} x{{amount}}",
|
|
4242
|
+
stars: "{{username}} x{{amount}}",
|
|
4243
|
+
fans: "{{username}} x{{amount}}",
|
|
4244
|
+
shares: "{{username}}",
|
|
4245
|
+
spells: "{{username}} x{{amount}}",
|
|
4246
|
+
retweets: "{{username}}",
|
|
4247
|
+
likes: "{{username}}",
|
|
4248
|
+
followers: "{{username}}",
|
|
4249
|
+
others: "{{username}} x{{amount}}",
|
|
4250
|
+
topGifts: "{{username}} x{{amount}}",
|
|
4251
|
+
topBits: "{{username}} x{{amount}}",
|
|
4252
|
+
topKicks: "{{username}} x{{amount}}",
|
|
4253
|
+
topDonations: "{{username}} x{{amount}}",
|
|
4254
|
+
topSuperstickers: "{{username}} x{{amount}}",
|
|
4255
|
+
topSuperchats: "{{username}} x{{amount}}",
|
|
4256
|
+
topRedemptions: "{{username}} x{{amount}}"
|
|
4063
4257
|
};
|
|
4064
4258
|
function mapCredits(widget) {
|
|
4065
4259
|
const v = widget.variables ?? {};
|
|
@@ -4067,20 +4261,53 @@ function mapCredits(widget) {
|
|
|
4067
4261
|
const reverseFlow = v.direction === "bottom";
|
|
4068
4262
|
return buildUnit(widget, "credits", {
|
|
4069
4263
|
content: {
|
|
4264
|
+
version: 1,
|
|
4070
4265
|
type: "basic",
|
|
4071
4266
|
title: "Stream Credits",
|
|
4072
|
-
|
|
4073
|
-
|
|
4267
|
+
titleColor: "#ffffff",
|
|
4268
|
+
subtitle: "A massive thanks to everyone below",
|
|
4269
|
+
subtitleColor: "#ffffff",
|
|
4270
|
+
headerColor: "#ffffff",
|
|
4271
|
+
endMessage: "See you next time!",
|
|
4272
|
+
endMessageColor: "#ffffff",
|
|
4273
|
+
eventColor: "#ffffff",
|
|
4074
4274
|
loop: false,
|
|
4075
|
-
|
|
4275
|
+
speed: 1,
|
|
4276
|
+
sectionOrder: [...CREDITS_DEFAULT_SECTION_ORDER],
|
|
4277
|
+
// SE only ships subscribers + gift-subs, so import with just those
|
|
4278
|
+
// enabled. The Manager can re-enable additional sections at any time;
|
|
4279
|
+
// the underlying activity feed is fetched session-wide regardless.
|
|
4280
|
+
eventsToShow: { ...SE_CREDITS_EVENTS_TO_SHOW },
|
|
4281
|
+
topLimits: { ...CREDITS_DEFAULT_TOP_LIMITS },
|
|
4282
|
+
eventNames: { ...CREDITS_DEFAULT_EVENT_NAMES },
|
|
4283
|
+
prefixes: { ...CREDITS_DEFAULT_PREFIXES },
|
|
4284
|
+
templates: { ...CREDITS_DEFAULT_TEMPLATES },
|
|
4285
|
+
daysToShow: "session",
|
|
4076
4286
|
itemGap,
|
|
4077
4287
|
reverseFlow,
|
|
4288
|
+
media: {
|
|
4289
|
+
type: "image",
|
|
4290
|
+
content: { src: [], name: [], loop: true, playAudio: true, volume: 1 }
|
|
4291
|
+
},
|
|
4292
|
+
audio: {
|
|
4293
|
+
content: { src: [], name: [], loop: false, volume: 1 }
|
|
4294
|
+
},
|
|
4078
4295
|
// SE-specific knobs preserved as provenance; no direct Lumia equivalent for
|
|
4079
4296
|
// these. `chosenFilter` would narrow eventsToShow if we had a clean mapping;
|
|
4080
4297
|
// `separator` would join entries but Lumia credits uses sectioned cards instead.
|
|
4081
4298
|
se_chosen_filter: v.chosenFilter,
|
|
4082
4299
|
se_separator: v.separator,
|
|
4083
4300
|
se_amount: v.amount
|
|
4301
|
+
},
|
|
4302
|
+
css: {
|
|
4303
|
+
fontSize: 30,
|
|
4304
|
+
lineHeight: 1,
|
|
4305
|
+
fontFamily: "Roboto",
|
|
4306
|
+
fontWeight: "normal",
|
|
4307
|
+
color: "#ffffff",
|
|
4308
|
+
textShadow: "",
|
|
4309
|
+
textAlign: "center",
|
|
4310
|
+
background: "transparent"
|
|
4084
4311
|
}
|
|
4085
4312
|
});
|
|
4086
4313
|
}
|
|
@@ -4145,26 +4372,43 @@ function mapSlideshow(widget) {
|
|
|
4145
4372
|
}
|
|
4146
4373
|
function mapTimer(widget) {
|
|
4147
4374
|
const v = widget.variables ?? {};
|
|
4375
|
+
const textValue = typeof widget.text?.value === "string" ? widget.text.value : void 0;
|
|
4376
|
+
const mapTemplate = (template) => {
|
|
4377
|
+
const protectedTemplate = template.replace(
|
|
4378
|
+
/\{(days|hours|minutes|seconds)\}/g,
|
|
4379
|
+
"__SE_COUNTDOWN_$1__"
|
|
4380
|
+
);
|
|
4381
|
+
return translateSeText(protectedTemplate).replace(
|
|
4382
|
+
/__SE_COUNTDOWN_(days|hours|minutes|seconds)__/g,
|
|
4383
|
+
"{{$1}}"
|
|
4384
|
+
);
|
|
4385
|
+
};
|
|
4386
|
+
const absoluteDate = v.date ?? v.endsAt ?? v.endDate;
|
|
4387
|
+
const target = absoluteDate ? Date.parse(absoluteDate) : NaN;
|
|
4388
|
+
const hasValidAbsoluteDate = Number.isFinite(target);
|
|
4148
4389
|
let days = 0, hours = 0, minutes = 5, seconds = 0;
|
|
4149
|
-
let absoluteDate = v.date ?? v.endsAt ?? v.endDate;
|
|
4150
4390
|
let resolved = false;
|
|
4151
|
-
if (
|
|
4152
|
-
|
|
4153
|
-
if (
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
seconds = Math.floor(remainingMs / 1e3);
|
|
4164
|
-
resolved = true;
|
|
4165
|
-
}
|
|
4391
|
+
if (hasValidAbsoluteDate) {
|
|
4392
|
+
let remainingMs = target - Date.now();
|
|
4393
|
+
if (remainingMs > 0) {
|
|
4394
|
+
const ONE_DAY = 24 * 60 * 60 * 1e3;
|
|
4395
|
+
days = Math.floor(remainingMs / ONE_DAY);
|
|
4396
|
+
remainingMs -= days * ONE_DAY;
|
|
4397
|
+
hours = Math.floor(remainingMs / (60 * 60 * 1e3));
|
|
4398
|
+
remainingMs -= hours * 60 * 60 * 1e3;
|
|
4399
|
+
minutes = Math.floor(remainingMs / (60 * 1e3));
|
|
4400
|
+
remainingMs -= minutes * 60 * 1e3;
|
|
4401
|
+
seconds = Math.floor(remainingMs / 1e3);
|
|
4402
|
+
resolved = true;
|
|
4166
4403
|
}
|
|
4167
4404
|
}
|
|
4405
|
+
if (!resolved && [v.days, v.hours, v.minutes, v.seconds].some((part) => typeof part === "number")) {
|
|
4406
|
+
days = typeof v.days === "number" ? v.days : 0;
|
|
4407
|
+
hours = typeof v.hours === "number" ? v.hours : 0;
|
|
4408
|
+
minutes = typeof v.minutes === "number" ? v.minutes : 0;
|
|
4409
|
+
seconds = typeof v.seconds === "number" ? v.seconds : 0;
|
|
4410
|
+
if (days || hours || minutes || seconds) resolved = true;
|
|
4411
|
+
}
|
|
4168
4412
|
if (!resolved && v.duration != null) {
|
|
4169
4413
|
if (typeof v.duration === "number" && Number.isFinite(v.duration) && v.duration > 0) {
|
|
4170
4414
|
const totalSeconds = Math.floor(v.duration * 60);
|
|
@@ -4202,13 +4446,16 @@ function mapTimer(widget) {
|
|
|
4202
4446
|
version: 1,
|
|
4203
4447
|
type: "countdown",
|
|
4204
4448
|
value: { days, hours, minutes, seconds },
|
|
4205
|
-
display: parts.join(" ") || "{{minutes}}:{{seconds}}",
|
|
4449
|
+
display: textValue ? mapTemplate(textValue) : parts.join(" ") || "{{minutes}}:{{seconds}}",
|
|
4206
4450
|
showMilliseconds: false,
|
|
4207
4451
|
endAnimation: "",
|
|
4208
4452
|
hideAfter: 0,
|
|
4209
4453
|
messageAfterCountdown: translateSeText(v.messageAfterCountdown ?? ""),
|
|
4210
4454
|
changeMessageAfter: !!v.changeMessageAfterCountdown,
|
|
4211
|
-
|
|
4455
|
+
countDate: hasValidAbsoluteDate && (!!v.exactTime || !!v.datePicker || !!absoluteDate),
|
|
4456
|
+
date: hasValidAbsoluteDate ? new Date(target).toISOString() : "",
|
|
4457
|
+
se_date: absoluteDate,
|
|
4458
|
+
se_date_picker: v.datePicker,
|
|
4212
4459
|
se_exact_time: v.exactTime
|
|
4213
4460
|
}
|
|
4214
4461
|
});
|
|
@@ -4503,6 +4750,11 @@ function mapHypetrain(widget) {
|
|
|
4503
4750
|
levelUpSoundUrl: "https://storage.lumiastream.com/overlays/lumia/audio/crowdClap.mp3",
|
|
4504
4751
|
trainEndSoundUrl: "https://storage.lumiastream.com/overlays/lumia/audio/crowdClap.mp3",
|
|
4505
4752
|
audioVolume: 0.5,
|
|
4753
|
+
// Match native defaults so SE-imported trains get the same polished
|
|
4754
|
+
// sprite pack the native module ships with.
|
|
4755
|
+
trainLocoImageUrl: "https://storage.lumiastream.com/overlays/global/hypetrain/train_loco_default.png",
|
|
4756
|
+
rocketImageUrl: "https://storage.lumiastream.com/overlays/global/hypetrain/rocket_default.png",
|
|
4757
|
+
infernoImageUrl: "https://storage.lumiastream.com/overlays/global/hypetrain/inferno_default.png",
|
|
4506
4758
|
// SE config preserved verbatim as provenance — no Lumia equivalent for
|
|
4507
4759
|
// most of these knobs (per-widget animation tunables, sound URLs the
|
|
4508
4760
|
// streamer might want to migrate manually, etc.). Users can inspect
|
|
@@ -4857,6 +5109,14 @@ var GOAL_TYPES = /* @__PURE__ */ new Set([
|
|
|
4857
5109
|
var EVENTLIST_TYPES = /* @__PURE__ */ new Set(["se-widget-event-list", "se-widget-follower-recent", "se-widget-subscriber-recent", "se-widget-cheer-recent", "se-widget-tip-recent"]);
|
|
4858
5110
|
function dispatch(widget) {
|
|
4859
5111
|
const t = widget.type;
|
|
5112
|
+
console.log("[SE-IMPORT] dispatch widget", {
|
|
5113
|
+
seType: t,
|
|
5114
|
+
name: widget.name,
|
|
5115
|
+
listener: widget.listener,
|
|
5116
|
+
listeners: widget.listeners,
|
|
5117
|
+
variableKeys: widget.variables ? Object.keys(widget.variables) : [],
|
|
5118
|
+
hasCss: !!widget.css
|
|
5119
|
+
});
|
|
4860
5120
|
if (isWidgetFlaggedOff(t)) {
|
|
4861
5121
|
return { unit: mapUnsupportedAsText(widget), status: "placeholder", lumiaType: "text", flaggedOff: true };
|
|
4862
5122
|
}
|
|
@@ -5249,7 +5509,7 @@ import { useCallback as useCallback3, useEffect as useEffect6, useMemo as useMem
|
|
|
5249
5509
|
|
|
5250
5510
|
// src/se-import/ui/MarketplacePicker.tsx
|
|
5251
5511
|
import { useEffect as useEffect5, useMemo as useMemo4, useState as useState5 } from "react";
|
|
5252
|
-
import { jsx as
|
|
5512
|
+
import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
5253
5513
|
function MarketplacePicker({ seWidgetType, fetchMarketplaceOverlay, CustomEmbed, onPick, onCancel }) {
|
|
5254
5514
|
const candidateIds = useMemo4(() => getMarketplaceCandidates(seWidgetType), [seWidgetType]);
|
|
5255
5515
|
const [candidates, setCandidates] = useState5(() => candidateIds.map((id) => ({ id, loading: true })));
|
|
@@ -5286,23 +5546,23 @@ function MarketplacePicker({ seWidgetType, fetchMarketplaceOverlay, CustomEmbed,
|
|
|
5286
5546
|
};
|
|
5287
5547
|
if (candidateIds.length === 0) {
|
|
5288
5548
|
return /* @__PURE__ */ jsxs6("div", { className: "ui-flex-column ui-gap-2", style: { padding: 16 }, children: [
|
|
5289
|
-
/* @__PURE__ */
|
|
5549
|
+
/* @__PURE__ */ jsx13("div", { style: { fontWeight: 600 }, children: "No marketplace replacements yet" }),
|
|
5290
5550
|
/* @__PURE__ */ jsxs6("div", { style: { fontSize: 13, opacity: 0.8 }, children: [
|
|
5291
5551
|
"No curated marketplace overlays are listed for ",
|
|
5292
|
-
/* @__PURE__ */
|
|
5552
|
+
/* @__PURE__ */ jsx13("code", { children: seWidgetType }),
|
|
5293
5553
|
" yet. Use AI generation or skip the widget for now."
|
|
5294
5554
|
] }),
|
|
5295
|
-
/* @__PURE__ */
|
|
5555
|
+
/* @__PURE__ */ jsx13("div", { className: "ui-flex-row", style: { marginTop: 8 }, children: /* @__PURE__ */ jsx13(LSButton, { type: "button", color: "secondary", onClick: onCancel, label: "Close" }) })
|
|
5296
5556
|
] });
|
|
5297
5557
|
}
|
|
5298
5558
|
return /* @__PURE__ */ jsxs6("div", { className: "ui-flex-column ui-gap-2", style: { padding: 16, minHeight: 420 }, children: [
|
|
5299
|
-
/* @__PURE__ */
|
|
5559
|
+
/* @__PURE__ */ jsx13("div", { style: { fontWeight: 600, fontSize: 16 }, children: "Pick a marketplace replacement" }),
|
|
5300
5560
|
/* @__PURE__ */ jsxs6("div", { style: { fontSize: 13, opacity: 0.8 }, children: [
|
|
5301
5561
|
"Replacing ",
|
|
5302
|
-
/* @__PURE__ */
|
|
5562
|
+
/* @__PURE__ */ jsx13("code", { children: seWidgetType }),
|
|
5303
5563
|
" with a layer from a curated Lumia Marketplace overlay."
|
|
5304
5564
|
] }),
|
|
5305
|
-
/* @__PURE__ */
|
|
5565
|
+
/* @__PURE__ */ jsx13("div", { className: "ui-flex-row ui-gap-2", style: { flexWrap: "wrap", marginTop: 4 }, children: candidates.map((c) => /* @__PURE__ */ jsx13(
|
|
5306
5566
|
LSButton,
|
|
5307
5567
|
{
|
|
5308
5568
|
type: "button",
|
|
@@ -5321,11 +5581,11 @@ function MarketplacePicker({ seWidgetType, fetchMarketplaceOverlay, CustomEmbed,
|
|
|
5321
5581
|
": ",
|
|
5322
5582
|
activeCandidate.error
|
|
5323
5583
|
] }),
|
|
5324
|
-
activeCandidate?.loading && /* @__PURE__ */
|
|
5584
|
+
activeCandidate?.loading && /* @__PURE__ */ jsx13("div", { style: { padding: 12, fontSize: 13, opacity: 0.8 }, children: "Loading overlay\u2026" }),
|
|
5325
5585
|
activeCandidate?.overlay && /* @__PURE__ */ jsxs6("div", { className: "ui-flex-row ui-gap-2", style: { alignItems: "stretch" }, children: [
|
|
5326
5586
|
/* @__PURE__ */ jsxs6("div", { style: { flex: "0 0 200px", display: "flex", flexDirection: "column", gap: 4, maxHeight: 320, overflowY: "auto" }, children: [
|
|
5327
|
-
/* @__PURE__ */
|
|
5328
|
-
activeLayers.map((l) => /* @__PURE__ */
|
|
5587
|
+
/* @__PURE__ */ jsx13("div", { style: { fontSize: 12, fontWeight: 600, opacity: 0.8 }, children: "Layers" }),
|
|
5588
|
+
activeLayers.map((l) => /* @__PURE__ */ jsx13(
|
|
5329
5589
|
LSButton,
|
|
5330
5590
|
{
|
|
5331
5591
|
type: "button",
|
|
@@ -5333,19 +5593,19 @@ function MarketplacePicker({ seWidgetType, fetchMarketplaceOverlay, CustomEmbed,
|
|
|
5333
5593
|
style: { justifyContent: "flex-start", textAlign: "left" },
|
|
5334
5594
|
onClick: () => setActiveLayerId(l.id),
|
|
5335
5595
|
label: /* @__PURE__ */ jsxs6("div", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: [
|
|
5336
|
-
/* @__PURE__ */
|
|
5337
|
-
/* @__PURE__ */
|
|
5596
|
+
/* @__PURE__ */ jsx13("div", { style: { fontSize: 12, fontWeight: 600 }, children: l.label }),
|
|
5597
|
+
/* @__PURE__ */ jsx13("div", { style: { fontSize: 10, opacity: 0.7 }, children: l.type })
|
|
5338
5598
|
] })
|
|
5339
5599
|
},
|
|
5340
5600
|
l.id
|
|
5341
5601
|
)),
|
|
5342
|
-
activeLayers.length === 0 && /* @__PURE__ */
|
|
5602
|
+
activeLayers.length === 0 && /* @__PURE__ */ jsx13("div", { style: { fontSize: 12, opacity: 0.7 }, children: "No transplantable layers." })
|
|
5343
5603
|
] }),
|
|
5344
|
-
/* @__PURE__ */
|
|
5604
|
+
/* @__PURE__ */ jsx13("div", { style: { flex: 1, minHeight: 240, background: "rgba(0,0,0,0.3)", borderRadius: 6, overflow: "hidden" }, children: /* @__PURE__ */ jsx13(ActiveLayerPreview, { overlay: activeCandidate.overlay, layerId: activeLayerId, CustomEmbed }) })
|
|
5345
5605
|
] }),
|
|
5346
5606
|
/* @__PURE__ */ jsxs6("div", { className: "ui-flex-row ui-gap-2", style: { marginTop: 12, justifyContent: "flex-end" }, children: [
|
|
5347
|
-
/* @__PURE__ */
|
|
5348
|
-
/* @__PURE__ */
|
|
5607
|
+
/* @__PURE__ */ jsx13(LSButton, { type: "button", color: "secondary", variant: "outlined", onClick: onCancel, label: "Cancel" }),
|
|
5608
|
+
/* @__PURE__ */ jsx13(
|
|
5349
5609
|
LSButton,
|
|
5350
5610
|
{
|
|
5351
5611
|
type: "button",
|
|
@@ -5359,13 +5619,13 @@ function MarketplacePicker({ seWidgetType, fetchMarketplaceOverlay, CustomEmbed,
|
|
|
5359
5619
|
] });
|
|
5360
5620
|
}
|
|
5361
5621
|
function ActiveLayerPreview({ overlay, layerId, CustomEmbed }) {
|
|
5362
|
-
if (!layerId) return /* @__PURE__ */
|
|
5622
|
+
if (!layerId) return /* @__PURE__ */ jsx13("div", { style: { padding: 16, fontSize: 12, opacity: 0.7 }, children: "Select a layer to preview." });
|
|
5363
5623
|
const module = overlay.settings?.modules?.[layerId];
|
|
5364
|
-
if (!module) return /* @__PURE__ */
|
|
5624
|
+
if (!module) return /* @__PURE__ */ jsx13("div", { style: { padding: 16, fontSize: 12, opacity: 0.7 }, children: "Layer not found." });
|
|
5365
5625
|
const type = module.settings?.type;
|
|
5366
5626
|
if (type === "custom" && module.content && CustomEmbed) {
|
|
5367
5627
|
const c = module.content;
|
|
5368
|
-
return /* @__PURE__ */
|
|
5628
|
+
return /* @__PURE__ */ jsx13(
|
|
5369
5629
|
CustomEmbed,
|
|
5370
5630
|
{
|
|
5371
5631
|
codeId: c.codeId ?? layerId,
|
|
@@ -5377,17 +5637,17 @@ function ActiveLayerPreview({ overlay, layerId, CustomEmbed }) {
|
|
|
5377
5637
|
);
|
|
5378
5638
|
}
|
|
5379
5639
|
return /* @__PURE__ */ jsxs6("div", { style: { padding: 16, fontSize: 12 }, children: [
|
|
5380
|
-
/* @__PURE__ */
|
|
5640
|
+
/* @__PURE__ */ jsx13("div", { style: { fontWeight: 600, marginBottom: 8 }, children: module.settings?.title ?? type }),
|
|
5381
5641
|
/* @__PURE__ */ jsxs6("div", { style: { opacity: 0.8 }, children: [
|
|
5382
5642
|
"Preview not available for module type ",
|
|
5383
|
-
/* @__PURE__ */
|
|
5643
|
+
/* @__PURE__ */ jsx13("code", { children: String(type) }),
|
|
5384
5644
|
'. Click "Use this layer" to transplant it anyway.'
|
|
5385
5645
|
] })
|
|
5386
5646
|
] });
|
|
5387
5647
|
}
|
|
5388
5648
|
|
|
5389
5649
|
// src/se-import/ui/SEImportWizard.css
|
|
5390
|
-
styleInject('.se-import,\n.se-import * {\n box-sizing: border-box;\n}\n.se-import {\n --se-bg: #17162a;\n --se-surface: #27264a;\n --se-panel: #171b38;\n --se-panel-2: #202449;\n --se-border: rgba(116, 124, 211, 0.24);\n --se-border-strong: rgba(126, 128, 255, 0.58);\n --se-text: #f5f4ff;\n --se-muted: #bab8d2;\n --se-primary: #ff4076;\n --se-purple: #393853;\n --se-green: #06c96f;\n --se-warn: #f7a42b;\n width: 100%;\n height: 100%;\n min-width: min(680px, 100%);\n color: var(--se-text);\n font-family: inherit;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.se-import__shell {\n border-radius: 0;\n padding: 28px 48px 24px;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n.se-import__header {\n flex: 0 0 auto;\n}\nfooter.se-import-actions {\n flex: 0 0 auto;\n}\n.se-import__header {\n display: grid;\n justify-items: center;\n gap: 42px;\n}\n.se-import__title {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n font-size: 20px;\n font-weight: 500;\n}\n.se-import-stepper {\n display: grid;\n width: min(760px, 100%);\n grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));\n}\n.se-import-step {\n position: relative;\n display: grid;\n justify-items: center;\n gap: 12px;\n min-width: 0;\n color: rgba(255, 255, 255, 0.72);\n}\n.se-import-step__label {\n color: var(--se-text);\n font-size: 18px;\n line-height: 1.1;\n}\n.se-import-step__line {\n position: absolute;\n top: 42px;\n left: 50%;\n width: 100%;\n height: 2px;\n background: rgba(255, 255, 255, 0.16);\n}\n.se-import-step:last-child .se-import-step__line {\n display: none;\n}\n.se-import-step__dot {\n z-index: 1;\n display: grid;\n width: 22px;\n height: 22px;\n place-items: center;\n border-radius: 50%;\n background: #47485e;\n color: #fff;\n font-size: 13px;\n font-weight: 700;\n line-height: 1;\n}\n.se-import-step--active .se-import-step__dot {\n background: var(--se-primary);\n}\n.se-import-step--done .se-import-step__dot {\n background: var(--se-green);\n}\n.se-import-step--done .se-import-step__line {\n background: var(--se-green);\n}\n.se-import-step--done + .se-import-step--active .se-import-step__line {\n background:\n linear-gradient(\n 90deg,\n var(--se-green),\n var(--se-primary));\n}\n.se-import__content {\n display: grid;\n place-items: center;\n padding: 64px 0 28px;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n@media (max-height: 760px) {\n .se-import__shell {\n padding: 18px 32px 16px;\n }\n .se-import__content {\n padding: 32px 0 16px;\n }\n}\n.se-import-panel {\n width: min(100%, 1080px);\n padding: 28px;\n}\n.se-import-panel--narrow {\n width: min(100%, 1140px);\n}\n.se-import-panel--medium {\n width: min(100%, 880px);\n}\n.se-import-panel--wide {\n width: min(100%, 1000px);\n}\n.se-import-panel--confirm {\n width: min(100%, 800px);\n}\n.se-import-panel h2,\n.se-import-panel h3,\n.se-import-panel p {\n margin: 0;\n}\n.se-import-panel h2 {\n font-size: 26px;\n font-weight: 700;\n line-height: 1.15;\n}\n.se-import-panel > p {\n margin-top: 14px;\n color: var(--se-muted);\n font-size: 16px;\n line-height: 1.45;\n}\n.se-import-field {\n margin-top: 34px;\n}\n.se-import-field .mui-ls-input {\n --ls-control-height: 66px;\n}\n.se-import-field .MuiInputLabel-root {\n color: var(--se-text);\n font-weight: 700;\n}\n.se-import-field .MuiInputLabel-root.Mui-focused {\n color: #dfe1ff;\n}\n.se-import-field .MuiInputBase-root {\n background: rgba(28, 32, 66, 0.85);\n box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.04);\n font-size: 18px;\n}\n.se-import-field .MuiOutlinedInput-notchedOutline {\n border-color: var(--se-border-strong) !important;\n}\n.se-import-help {\n display: flex;\n gap: 18px;\n margin-top: 30px;\n border: 1px solid var(--se-purple);\n border-radius: 12px;\n padding: 24px;\n color: var(--white2);\n}\n.se-import-help__icon {\n display: grid;\n width: 30px;\n height: 30px;\n flex: 0 0 auto;\n place-items: center;\n border: 1px solid var(--se-purple);\n border-radius: 50%;\n color: var(--white2);\n font-weight: 800;\n}\n.se-import-help__title {\n color: var(--se-text);\n font-size: 18px;\n font-weight: 700;\n}\n.se-import-help ol {\n margin: 16px 0 0;\n padding-left: 18px;\n font-size: 15px;\n line-height: 1.7;\n}\n.se-import-help a {\n color: var(--primary);\n font-weight: 700;\n}\n.se-import-help--info {\n align-items: center;\n}\n.se-import-section-title {\n display: flex;\n gap: 1rem;\n margin-bottom: 1.5rem;\n}\n.se-import-section-title__num {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 46px;\n height: 46px;\n border: 1px solid var(--se-purple);\n border-radius: 50%;\n font-size: 1.5rem;\n font-weight: 800;\n}\n.se-import-section-title__content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.se-import-section-title h3 {\n font-size: 18px;\n font-weight: 800;\n}\n.se-import-section-title p {\n margin-top: 4px;\n color: var(--se-muted);\n font-size: 14px;\n}\n.se-import-grid {\n display: grid;\n gap: 8px;\n margin-top: 10px;\n}\n.se-import-grid--four {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.se-import-grid--two {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.se-import-stat {\n min-height: 116px;\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 8px;\n background:\n linear-gradient(\n 135deg,\n rgba(42, 47, 92, 0.9),\n rgba(33, 38, 78, 0.9));\n padding: 24px 22px;\n}\n.se-import-stat--success {\n background:\n linear-gradient(\n 135deg,\n rgba(12, 91, 86, 0.72),\n rgba(32, 65, 76, 0.8));\n border-color: rgba(19, 201, 126, 0.25);\n}\n.se-import-stat--info {\n border-color: rgba(116, 104, 255, 0.8);\n box-shadow: inset 3px 0 0 #6e76ff;\n}\n.se-import-stat--warn,\n.se-import-stat--muted {\n box-shadow: inset 3px 0 0 var(--se-warn);\n}\n.se-import-stat__label {\n color: var(--se-muted);\n font-size: 12px;\n font-weight: 800;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.se-import-stat__value {\n margin-top: 12px;\n color: #fff;\n font-size: 30px;\n font-weight: 800;\n line-height: 1;\n}\n.se-import-stat__sub {\n margin-top: 8px;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-option {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto auto;\n align-items: center;\n gap: 18px;\n border: 1px solid var(--se-purple);\n border-radius: 12px;\n background:\n linear-gradient(\n 135deg,\n rgba(35, 39, 81, 0.95),\n rgba(31, 35, 73, 0.95));\n box-shadow: inset 3px 0 0 var(--se-primary);\n cursor: pointer;\n padding: 22px;\n margin-bottom: 1rem;\n}\n.se-import-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.se-import-option__icon {\n display: grid;\n width: 26px;\n height: 26px;\n place-items: center;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.22);\n color: #d8dbff;\n font-weight: 800;\n}\n.se-import-option__body {\n display: grid;\n gap: 8px;\n min-width: 0;\n}\n.se-import-option__title {\n font-size: 17px;\n font-weight: 800;\n}\n.se-import-option__copy {\n color: var(--se-muted);\n font-size: 14px;\n line-height: 1.45;\n}\n.se-import-option__count {\n color: #fff;\n font-size: 16px;\n}\n.se-import-option input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n}\n.se-import-toggle {\n position: relative;\n width: 48px;\n height: 28px;\n border-radius: 999px;\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);\n}\n.se-import-toggle::after {\n position: absolute;\n top: 4px;\n left: 4px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n content: "";\n transition: transform 160ms ease;\n}\n.se-import-option input:checked + .se-import-toggle {\n background: var(--primary);\n}\n.se-import-option input:checked + .se-import-toggle::after {\n transform: translateX(20px);\n}\n.se-import-advanced {\n margin-top: 26px;\n border-radius: 10px;\n background: rgba(32, 36, 73, 0.7);\n padding: 24px;\n}\n.se-import-advanced summary {\n cursor: pointer;\n font-size: 18px;\n font-weight: 700;\n}\n.se-import-advanced p {\n margin-top: 10px;\n color: var(--se-muted);\n}\n.se-import-transfer {\n position: relative;\n display: grid;\n width: min(720px, 100%);\n min-height: 190px;\n grid-template-columns: 180px minmax(260px, 1fr) 180px;\n align-items: center;\n gap: 28px;\n margin: 0 auto 60px;\n}\n.se-import-transfer__source {\n position: relative;\n display: grid;\n width: 160px;\n height: 160px;\n place-items: center;\n animation: se-import-source-bounce 1.8s ease-in-out infinite;\n}\n.se-import-transfer__source::before {\n top: -13px;\n left: -13px;\n box-shadow: 155px 0 0 var(--se-primary);\n}\n.se-import-transfer__source::after {\n bottom: -13px;\n left: -13px;\n box-shadow: 155px 0 0 var(--se-primary);\n}\n.se-import-transfer__source img {\n width: 192px;\n height: 192px;\n object-fit: contain;\n}\n.se-import-transfer__source--lumia {\n animation-delay: 0.22s;\n}\n.se-import-transfer__files {\n position: relative;\n height: 130px;\n}\n.se-import-transfer__file {\n position: absolute;\n top: 50%;\n left: -18px;\n width: 56px;\n height: 66px;\n object-fit: contain;\n transform: translateY(-50%);\n filter: drop-shadow(0 10px 12px rgba(8, 9, 25, 0.25));\n animation: se-import-file-fly 2.4s cubic-bezier(0.35, 0, 0.25, 1) infinite;\n}\n.se-import-transfer__file--one {\n animation-delay: 0s;\n}\n.se-import-transfer__file--two {\n animation-delay: 0.38s;\n}\n.se-import-transfer__file--three {\n animation-delay: 0.76s;\n}\n.se-import-transfer__file--four {\n animation-delay: 1.14s;\n}\n@keyframes se-import-source-bounce {\n 0%, 100% {\n transform: translateY(0) scale(1);\n }\n 50% {\n transform: translateY(-8px) scale(1.025);\n }\n}\n@keyframes se-import-file-fly {\n 0% {\n opacity: 0;\n transform: translate(-10px, -50%) scale(0.82) rotate(-8deg);\n }\n 12% {\n opacity: 1;\n }\n 45% {\n transform: translate(145px, calc(-50% - 18px)) scale(1.08) rotate(5deg);\n }\n 82% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: translate(330px, -50%) scale(0.9) rotate(10deg);\n }\n}\n.se-import-mirror-head {\n display: flex;\n align-items: end;\n justify-content: space-between;\n gap: 20px;\n}\n.se-import-mirror-head p {\n margin-top: 14px;\n color: var(--se-muted);\n font-size: 16px;\n}\n.se-import-mirror-head span {\n flex: 0 0 auto;\n color: var(--se-muted);\n font-weight: 700;\n}\n.se-import-progress {\n width: 100%;\n height: 14px;\n margin-top: 28px;\n overflow: hidden;\n border: 0;\n border-radius: 999px;\n background: rgba(255, 64, 118, 0.1);\n}\n.se-import-progress::-webkit-progress-bar {\n background: rgba(255, 64, 118, 0.1);\n}\n.se-import-progress::-webkit-progress-value {\n border-radius: 999px;\n background:\n linear-gradient(\n 90deg,\n #ff4076,\n #e7295f);\n}\n.se-import-progress::-moz-progress-bar {\n border-radius: 999px;\n background:\n linear-gradient(\n 90deg,\n #ff4076,\n #e7295f);\n}\n.se-import-asset-list {\n max-height: 360px;\n margin-top: 22px;\n overflow-y: auto;\n border-top: 1px solid rgba(255, 255, 255, 0.08);\n}\n.se-import-asset-row {\n display: grid;\n grid-template-columns: 32px minmax(0, 1fr) auto auto;\n align-items: center;\n gap: 14px;\n min-height: 42px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-asset-row__icon {\n width: 24px;\n height: 28px;\n justify-self: end;\n object-fit: contain;\n}\n.se-import-asset-row__url {\n overflow: hidden;\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n monospace;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.se-import-asset-row__state {\n color: #9b8cff;\n font-weight: 800;\n}\n.se-import-asset-row--done .se-import-asset-row__state,\n.se-import-asset-row--reused .se-import-asset-row__state {\n color: var(--se-green);\n}\n.se-import-asset-row--failed .se-import-asset-row__state,\n.se-import-asset-row__error {\n color: #ff8080;\n}\n.se-import-link-button {\n border: 0;\n background: transparent;\n color: #ff9ab6;\n cursor: pointer;\n font: inherit;\n font-weight: 800;\n}\n.se-import-overview {\n margin-top: 28px;\n border: 1px solid var(--se-border);\n border-radius: 12px;\n background: rgba(26, 30, 61, 0.62);\n padding: 28px;\n}\n.se-import-overview h3 {\n margin-bottom: 18px;\n font-size: 18px;\n font-weight: 800;\n}\n.se-import-row {\n display: grid;\n grid-template-columns: 190px minmax(0, 1fr) auto;\n gap: 18px;\n align-items: center;\n min-height: 48px;\n border-top: 1px solid rgba(255, 255, 255, 0.08);\n color: var(--se-muted);\n}\n.se-import-row strong {\n min-width: 0;\n overflow: hidden;\n color: var(--se-text);\n font-weight: 600;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.se-import-row em {\n color: var(--se-muted);\n font-style: normal;\n}\n.se-import-review-card {\n display: flex;\n justify-content: space-between;\n gap: 18px;\n border: 1px solid var(--se-border);\n border-radius: 10px;\n background: rgba(30, 34, 71, 0.8);\n padding: 20px;\n}\n.se-import-review-card__type {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n monospace;\n font-weight: 800;\n}\n.se-import-review-card p {\n margin-top: 8px;\n color: var(--se-muted);\n line-height: 1.45;\n}\n.se-import-review-card__status {\n flex: 0 0 auto;\n color: #facc15;\n font-size: 11px;\n font-weight: 800;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.se-import-review-bulk,\n.se-import-actions--inline {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 16px;\n}\n.se-import-muted {\n margin-top: 16px;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-generated {\n display: grid;\n gap: 12px;\n margin-top: 18px;\n}\n.se-import-generated__title {\n font-weight: 800;\n}\n.se-import-preview {\n width: 100%;\n height: 260px;\n border: 1px solid var(--se-border);\n border-radius: 8px;\n background: repeating-conic-gradient(#1a1c20 0% 25%, #1d1f24 0% 50%) 50% / 20px 20px;\n}\n.se-import-code {\n margin-top: 16px;\n}\n.se-import-code summary {\n cursor: pointer;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-code pre {\n max-height: 220px;\n margin: 10px 0 0;\n overflow: auto;\n border-radius: 8px;\n background: rgba(0, 0, 0, 0.28);\n padding: 12px;\n color: #d8dcff;\n font-size: 12px;\n}\n.se-import-error {\n margin-top: 18px;\n border: 1px solid rgba(239, 68, 68, 0.45);\n border-radius: 8px;\n background: rgba(220, 38, 38, 0.12);\n padding: 12px;\n color: #fca5a5;\n}\n.se-import-error__title {\n font-weight: 800;\n}\n.se-import-error__hint {\n margin-top: 6px;\n white-space: pre-wrap;\n}\n.se-import-actions {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n margin-top: 8px;\n}\nfooter.se-import-actions:not(.se-import-actions--inline) {\n background: var(--se-bg, #17162a);\n border-top: 1px solid rgba(255, 255, 255, 0.06);\n margin: 0 -48px -24px;\n padding: 16px 48px;\n}\n@media (max-height: 760px) {\n footer.se-import-actions:not(.se-import-actions--inline) {\n margin: 0 -32px -16px;\n padding: 12px 32px;\n }\n}\n@media (max-width: 900px) {\n .se-import__shell {\n min-height: 0;\n padding: 24px 18px;\n }\n .se-import__content {\n min-height: 0;\n padding-top: 32px;\n }\n .se-import-stepper {\n grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));\n }\n .se-import-step__label {\n font-size: 13px;\n }\n .se-import-grid--four,\n .se-import-grid--two,\n .se-import-transfer {\n grid-template-columns: 1fr;\n }\n .se-import-transfer {\n justify-items: center;\n }\n .se-import-transfer__files {\n width: min(360px, 100%);\n }\n .se-import-option,\n .se-import-row,\n .se-import-asset-row {\n grid-template-columns: 1fr;\n }\n .se-import-mirror-head,\n .se-import-review-card {\n align-items: flex-start;\n flex-direction: column;\n }\n}\n');
|
|
5650
|
+
styleInject('.se-import,\n.se-import * {\n box-sizing: border-box;\n}\n.se-import {\n --se-bg: #17162a;\n --se-surface: #27264a;\n --se-panel: #171b38;\n --se-panel-2: #202449;\n --se-border: rgba(116, 124, 211, 0.24);\n --se-border-strong: rgba(126, 128, 255, 0.58);\n --se-text: #f5f4ff;\n --se-muted: #bab8d2;\n --se-primary: #ff4076;\n --se-purple: #393853;\n --se-green: #06c96f;\n --se-warn: #f7a42b;\n width: 100%;\n height: 100%;\n min-width: min(680px, 100%);\n color: var(--se-text);\n font-family: inherit;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.se-import__shell {\n border-radius: 0;\n padding: 28px 48px 24px;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n.se-import__header {\n flex: 0 0 auto;\n}\nfooter.se-import-actions {\n flex: 0 0 auto;\n}\n.se-import__header {\n display: grid;\n justify-items: center;\n gap: 42px;\n}\n.se-import__title {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n font-size: 20px;\n font-weight: 500;\n}\n.se-import-stepper {\n display: grid;\n width: min(760px, 100%);\n grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));\n}\n.se-import-step {\n position: relative;\n display: grid;\n justify-items: center;\n gap: 12px;\n min-width: 0;\n color: rgba(255, 255, 255, 0.72);\n}\n.se-import-step__label {\n color: var(--se-text);\n font-size: 18px;\n line-height: 1.1;\n}\n.se-import-step__line {\n position: absolute;\n top: 42px;\n left: 50%;\n width: 100%;\n height: 2px;\n background: rgba(255, 255, 255, 0.16);\n}\n.se-import-step:last-child .se-import-step__line {\n display: none;\n}\n.se-import-step__dot {\n z-index: 1;\n display: grid;\n width: 22px;\n height: 22px;\n place-items: center;\n border-radius: 50%;\n background: #47485e;\n color: #fff;\n font-size: 13px;\n font-weight: 700;\n line-height: 1;\n}\n.se-import-step--active .se-import-step__dot {\n background: var(--se-primary);\n}\n.se-import-step--done .se-import-step__dot {\n background: var(--se-green);\n}\n.se-import-step--done .se-import-step__line {\n background: var(--se-green);\n}\n.se-import-step--done + .se-import-step--active .se-import-step__line {\n background:\n linear-gradient(\n 90deg,\n var(--se-green),\n var(--se-primary));\n}\n.se-import__content {\n display: grid;\n place-items: center;\n padding: 64px 0 28px;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n@media (max-height: 760px) {\n .se-import__shell {\n padding: 18px 32px 16px;\n }\n .se-import__content {\n padding: 32px 0 16px;\n }\n}\n.se-import-panel {\n width: min(100%, 1080px);\n padding: 28px;\n}\n.se-import-panel--narrow {\n width: min(100%, 1140px);\n}\n.se-import-panel--medium {\n width: min(100%, 880px);\n}\n.se-import-panel--wide {\n width: min(100%, 1000px);\n}\n.se-import-panel--confirm {\n width: min(100%, 800px);\n}\n.se-import-panel h2,\n.se-import-panel h3,\n.se-import-panel p {\n margin: 0;\n}\n.se-import-panel h2 {\n font-size: 26px;\n font-weight: 700;\n line-height: 1.15;\n}\n.se-import-panel > p {\n margin-top: 14px;\n color: var(--se-muted);\n font-size: 16px;\n line-height: 1.45;\n}\n.se-import-field {\n margin-top: 34px;\n}\n.se-import-field .mui-ls-input {\n --ls-control-height: 66px;\n}\n.se-import-field .MuiInputLabel-root {\n color: var(--se-text);\n font-weight: 700;\n}\n.se-import-field .MuiInputLabel-root.Mui-focused {\n color: #dfe1ff;\n}\n.se-import-field .MuiInputBase-root {\n background: rgba(28, 32, 66, 0.85);\n box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.04);\n font-size: 18px;\n}\n.se-import-field .MuiOutlinedInput-notchedOutline {\n border-color: var(--se-border-strong) !important;\n}\n.se-import-help {\n display: flex;\n gap: 18px;\n margin-top: 30px;\n border: 1px solid var(--se-purple);\n border-radius: 12px;\n padding: 24px;\n color: var(--white2);\n}\n.se-import-help__icon {\n display: grid;\n width: 30px;\n height: 30px;\n flex: 0 0 auto;\n place-items: center;\n border: 1px solid var(--se-purple);\n border-radius: 50%;\n color: var(--white2);\n font-weight: 800;\n}\n.se-import-help__title {\n color: var(--se-text);\n font-size: 18px;\n font-weight: 700;\n}\n.se-import-help__image {\n display: block;\n width: min(100%, 560px);\n height: auto;\n margin-top: 16px;\n border: 1px solid var(--se-border);\n border-radius: 8px;\n}\n.se-import-help ol {\n margin: 16px 0 0;\n padding-left: 18px;\n font-size: 15px;\n line-height: 1.7;\n}\n.se-import-help a {\n color: var(--primary);\n font-weight: 700;\n}\n.se-import-help--info {\n align-items: center;\n}\n.se-import-section-title {\n display: flex;\n gap: 1rem;\n margin-bottom: 1.5rem;\n}\n.se-import-section-title__num {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 46px;\n height: 46px;\n border: 1px solid var(--se-purple);\n border-radius: 50%;\n font-size: 1.5rem;\n font-weight: 800;\n}\n.se-import-section-title__content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.se-import-section-title h3 {\n font-size: 18px;\n font-weight: 800;\n}\n.se-import-section-title p {\n margin-top: 4px;\n color: var(--se-muted);\n font-size: 14px;\n}\n.se-import-grid {\n display: grid;\n gap: 8px;\n margin-top: 10px;\n}\n.se-import-grid--four {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.se-import-grid--two {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.se-import-stat {\n min-height: 116px;\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 8px;\n background:\n linear-gradient(\n 135deg,\n rgba(42, 47, 92, 0.9),\n rgba(33, 38, 78, 0.9));\n padding: 24px 22px;\n}\n.se-import-stat--success {\n background:\n linear-gradient(\n 135deg,\n rgba(12, 91, 86, 0.72),\n rgba(32, 65, 76, 0.8));\n border-color: rgba(19, 201, 126, 0.25);\n}\n.se-import-stat--info {\n border-color: rgba(116, 104, 255, 0.8);\n box-shadow: inset 3px 0 0 #6e76ff;\n}\n.se-import-stat--warn,\n.se-import-stat--muted {\n box-shadow: inset 3px 0 0 var(--se-warn);\n}\n.se-import-stat__label {\n color: var(--se-muted);\n font-size: 12px;\n font-weight: 800;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.se-import-stat__value {\n margin-top: 12px;\n color: #fff;\n font-size: 30px;\n font-weight: 800;\n line-height: 1;\n}\n.se-import-stat__sub {\n margin-top: 8px;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-option {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto auto;\n align-items: center;\n gap: 18px;\n border: 1px solid var(--se-purple);\n border-radius: 12px;\n background:\n linear-gradient(\n 135deg,\n rgba(35, 39, 81, 0.95),\n rgba(31, 35, 73, 0.95));\n box-shadow: inset 3px 0 0 var(--se-primary);\n cursor: pointer;\n padding: 22px;\n margin-bottom: 1rem;\n}\n.se-import-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.se-import-option__icon {\n display: grid;\n width: 26px;\n height: 26px;\n place-items: center;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.22);\n color: #d8dbff;\n font-weight: 800;\n}\n.se-import-option__body {\n display: grid;\n gap: 8px;\n min-width: 0;\n}\n.se-import-option__title {\n font-size: 17px;\n font-weight: 800;\n}\n.se-import-option__copy {\n color: var(--se-muted);\n font-size: 14px;\n line-height: 1.45;\n}\n.se-import-option__count {\n color: #fff;\n font-size: 16px;\n}\n.se-import-option input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n}\n.se-import-toggle {\n position: relative;\n width: 48px;\n height: 28px;\n border-radius: 999px;\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);\n}\n.se-import-toggle::after {\n position: absolute;\n top: 4px;\n left: 4px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #fff;\n content: "";\n transition: transform 160ms ease;\n}\n.se-import-option input:checked + .se-import-toggle {\n background: var(--primary);\n}\n.se-import-option input:checked + .se-import-toggle::after {\n transform: translateX(20px);\n}\n.se-import-advanced {\n margin-top: 26px;\n border-radius: 10px;\n background: rgba(32, 36, 73, 0.7);\n padding: 24px;\n}\n.se-import-advanced summary {\n cursor: pointer;\n font-size: 18px;\n font-weight: 700;\n}\n.se-import-advanced p {\n margin-top: 10px;\n color: var(--se-muted);\n}\n.se-import-transfer {\n position: relative;\n display: grid;\n width: min(720px, 100%);\n min-height: 190px;\n grid-template-columns: 180px minmax(260px, 1fr) 180px;\n align-items: center;\n gap: 28px;\n margin: 0 auto 60px;\n}\n.se-import-transfer__source {\n position: relative;\n display: grid;\n width: 160px;\n height: 160px;\n place-items: center;\n animation: se-import-source-bounce 1.8s ease-in-out infinite;\n}\n.se-import-transfer__source::before {\n top: -13px;\n left: -13px;\n box-shadow: 155px 0 0 var(--se-primary);\n}\n.se-import-transfer__source::after {\n bottom: -13px;\n left: -13px;\n box-shadow: 155px 0 0 var(--se-primary);\n}\n.se-import-transfer__source img {\n width: 192px;\n height: 192px;\n object-fit: contain;\n}\n.se-import-transfer__source--lumia {\n animation-delay: 0.22s;\n}\n.se-import-transfer__files {\n position: relative;\n height: 130px;\n}\n.se-import-transfer__file {\n position: absolute;\n top: 50%;\n left: -18px;\n width: 56px;\n height: 66px;\n object-fit: contain;\n transform: translateY(-50%);\n filter: drop-shadow(0 10px 12px rgba(8, 9, 25, 0.25));\n animation: se-import-file-fly 2.4s cubic-bezier(0.35, 0, 0.25, 1) infinite;\n}\n.se-import-transfer__file--one {\n animation-delay: 0s;\n}\n.se-import-transfer__file--two {\n animation-delay: 0.38s;\n}\n.se-import-transfer__file--three {\n animation-delay: 0.76s;\n}\n.se-import-transfer__file--four {\n animation-delay: 1.14s;\n}\n@keyframes se-import-source-bounce {\n 0%, 100% {\n transform: translateY(0) scale(1);\n }\n 50% {\n transform: translateY(-8px) scale(1.025);\n }\n}\n@keyframes se-import-file-fly {\n 0% {\n opacity: 0;\n transform: translate(-10px, -50%) scale(0.82) rotate(-8deg);\n }\n 12% {\n opacity: 1;\n }\n 45% {\n transform: translate(145px, calc(-50% - 18px)) scale(1.08) rotate(5deg);\n }\n 82% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: translate(330px, -50%) scale(0.9) rotate(10deg);\n }\n}\n.se-import-mirror-head {\n display: flex;\n align-items: end;\n justify-content: space-between;\n gap: 20px;\n}\n.se-import-mirror-head p {\n margin-top: 14px;\n color: var(--se-muted);\n font-size: 16px;\n}\n.se-import-mirror-head span {\n flex: 0 0 auto;\n color: var(--se-muted);\n font-weight: 700;\n}\n.se-import-progress {\n width: 100%;\n height: 14px;\n margin-top: 28px;\n overflow: hidden;\n border: 0;\n border-radius: 999px;\n background: rgba(255, 64, 118, 0.1);\n}\n.se-import-progress::-webkit-progress-bar {\n background: rgba(255, 64, 118, 0.1);\n}\n.se-import-progress::-webkit-progress-value {\n border-radius: 999px;\n background:\n linear-gradient(\n 90deg,\n #ff4076,\n #e7295f);\n}\n.se-import-progress::-moz-progress-bar {\n border-radius: 999px;\n background:\n linear-gradient(\n 90deg,\n #ff4076,\n #e7295f);\n}\n.se-import-asset-list {\n max-height: 360px;\n margin-top: 22px;\n overflow-y: auto;\n border-top: 1px solid rgba(255, 255, 255, 0.08);\n}\n.se-import-asset-row {\n display: grid;\n grid-template-columns: 32px minmax(0, 1fr) auto auto;\n align-items: center;\n gap: 14px;\n min-height: 42px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-asset-row__icon {\n width: 24px;\n height: 28px;\n justify-self: end;\n object-fit: contain;\n}\n.se-import-asset-row__url {\n overflow: hidden;\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n monospace;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.se-import-asset-row__state {\n color: #9b8cff;\n font-weight: 800;\n}\n.se-import-asset-row--done .se-import-asset-row__state,\n.se-import-asset-row--reused .se-import-asset-row__state {\n color: var(--se-green);\n}\n.se-import-asset-row--failed .se-import-asset-row__state,\n.se-import-asset-row__error {\n color: #ff8080;\n}\n.se-import-link-button {\n border: 0;\n background: transparent;\n color: #ff9ab6;\n cursor: pointer;\n font: inherit;\n font-weight: 800;\n}\n.se-import-overview {\n margin-top: 28px;\n border: 1px solid var(--se-border);\n border-radius: 12px;\n background: rgba(26, 30, 61, 0.62);\n padding: 28px;\n}\n.se-import-overview h3 {\n margin-bottom: 18px;\n font-size: 18px;\n font-weight: 800;\n}\n.se-import-row {\n display: grid;\n grid-template-columns: 190px minmax(0, 1fr) auto;\n gap: 18px;\n align-items: center;\n min-height: 48px;\n border-top: 1px solid rgba(255, 255, 255, 0.08);\n color: var(--se-muted);\n}\n.se-import-row strong {\n min-width: 0;\n overflow: hidden;\n color: var(--se-text);\n font-weight: 600;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.se-import-row em {\n color: var(--se-muted);\n font-style: normal;\n}\n.se-import-review-card {\n display: flex;\n justify-content: space-between;\n gap: 18px;\n border: 1px solid var(--se-border);\n border-radius: 10px;\n background: rgba(30, 34, 71, 0.8);\n padding: 20px;\n}\n.se-import-review-card__type {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n monospace;\n font-weight: 800;\n}\n.se-import-review-card p {\n margin-top: 8px;\n color: var(--se-muted);\n line-height: 1.45;\n}\n.se-import-review-card__status {\n flex: 0 0 auto;\n color: #facc15;\n font-size: 11px;\n font-weight: 800;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.se-import-review-bulk,\n.se-import-actions--inline {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 16px;\n}\n.se-import-muted {\n margin-top: 16px;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-generated {\n display: grid;\n gap: 12px;\n margin-top: 18px;\n}\n.se-import-generated__title {\n font-weight: 800;\n}\n.se-import-preview {\n width: 100%;\n height: 260px;\n border: 1px solid var(--se-border);\n border-radius: 8px;\n background: repeating-conic-gradient(#1a1c20 0% 25%, #1d1f24 0% 50%) 50% / 20px 20px;\n}\n.se-import-code {\n margin-top: 16px;\n}\n.se-import-code summary {\n cursor: pointer;\n color: var(--se-muted);\n font-size: 13px;\n}\n.se-import-code pre {\n max-height: 220px;\n margin: 10px 0 0;\n overflow: auto;\n border-radius: 8px;\n background: rgba(0, 0, 0, 0.28);\n padding: 12px;\n color: #d8dcff;\n font-size: 12px;\n}\n.se-import-error {\n margin-top: 18px;\n border: 1px solid rgba(239, 68, 68, 0.45);\n border-radius: 8px;\n background: rgba(220, 38, 38, 0.12);\n padding: 12px;\n color: #fca5a5;\n}\n.se-import-error__title {\n font-weight: 800;\n}\n.se-import-error__hint {\n margin-top: 6px;\n white-space: pre-wrap;\n}\n.se-import-actions {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n margin-top: 8px;\n}\nfooter.se-import-actions:not(.se-import-actions--inline) {\n background: var(--se-bg, #17162a);\n border-top: 1px solid rgba(255, 255, 255, 0.06);\n margin: 0 -48px -24px;\n padding: 16px 48px;\n}\n@media (max-height: 760px) {\n footer.se-import-actions:not(.se-import-actions--inline) {\n margin: 0 -32px -16px;\n padding: 12px 32px;\n }\n}\n@media (max-width: 900px) {\n .se-import__shell {\n min-height: 0;\n padding: 24px 18px;\n }\n .se-import__content {\n min-height: 0;\n padding-top: 32px;\n }\n .se-import-stepper {\n grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));\n }\n .se-import-step__label {\n font-size: 13px;\n }\n .se-import-grid--four,\n .se-import-grid--two,\n .se-import-transfer {\n grid-template-columns: 1fr;\n }\n .se-import-transfer {\n justify-items: center;\n }\n .se-import-transfer__files {\n width: min(360px, 100%);\n }\n .se-import-option,\n .se-import-row,\n .se-import-asset-row {\n grid-template-columns: 1fr;\n }\n .se-import-mirror-head,\n .se-import-review-card {\n align-items: flex-start;\n flex-direction: column;\n }\n}\n');
|
|
5391
5651
|
|
|
5392
5652
|
// src/assets/source_se.svg
|
|
5393
5653
|
var source_se_default = 'data:image/svg+xml,<svg width="157" height="164" viewBox="0 0 157 164" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<rect x="8.5" y="9.5" width="139" height="145" fill="%23242444" stroke="%23FF4076" stroke-width="3"/>%0A<path d="M87.1229 44.9224L89.0788 48.7235C102.041 53.3686 110.947 65.8756 110.947 79.7241C110.947 97.8858 96.1663 112.658 77.9929 112.658C59.8196 112.658 45.0457 97.8858 45.0457 79.7241C45.0457 65.8684 53.9519 53.3686 66.9143 48.7235L68.8702 44.9296C53.1725 49.0337 42 63.3222 42 79.7241C42 99.5592 58.1524 115.701 78.0001 115.701C97.8479 115.701 114 99.5592 114 79.7241C114 63.3222 102.828 49.0265 87.1229 44.9224Z" fill="url(%23paint0_linear_1424_495)"/>%0A<mask id="mask0_1424_495" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="47" y="48" width="62" height="63">%0A<path d="M77.9986 110.386C94.991 110.386 108.766 96.6196 108.766 79.638C108.766 62.6563 94.991 48.8899 77.9986 48.8899C61.0061 48.8899 47.231 62.6563 47.231 79.638C47.231 96.6196 61.0061 110.386 77.9986 110.386Z" fill="white"/>%0A</mask>%0A<g mask="url(%23mask0_1424_495)">%0A<path d="M108.825 78.9093C108.651 81.2463 105.036 90.9619 100.59 90.9619C98.7853 90.9619 98.3812 88.322 98.0853 86.3602C97.2841 89.4905 91.7629 96.2563 87.6706 96.2563C80.2295 96.2563 78.4974 80.5683 77.9921 78.4766C77.4869 80.561 75.7548 96.2563 68.3137 96.2563C64.2215 96.2563 58.7002 89.4977 57.8991 86.3602C57.6031 88.322 57.2062 90.9619 55.3947 90.9619C50.9487 90.9619 47.3328 81.2463 47.1596 78.9093C46.207 80.3158 46.2214 85.9995 47.636 89.6419C52.3561 101.795 64.1782 110.429 77.9849 110.429C91.7917 110.429 103.614 101.795 108.334 89.6419C109.749 85.9995 109.763 80.3231 108.81 78.9093H108.825Z" fill="url(%23paint1_linear_1424_495)"/>%0A<path d="M77.9988 96.2998C79.2258 98.5497 81.8961 101.918 86.4719 101.918C91.0478 101.918 94.6059 97.2014 95.7968 95.2105C95.4143 96.6097 94.642 99.6032 97.132 99.6032C102.841 99.6032 106.969 90.5798 106.969 90.5798C102.466 102.178 91.1777 110.422 77.9988 110.422C64.8199 110.422 53.532 102.178 49.0283 90.5798C49.0283 90.5798 53.1567 99.6032 58.8656 99.6032C61.3628 99.6032 60.5833 96.6021 60.2008 95.2105C61.3917 97.2014 64.8343 101.918 69.5257 101.918C74.1014 101.918 76.7646 98.5428 77.9988 96.2998Z" fill="url(%23paint2_linear_1424_495)"/>%0A<path d="M85.2523 106.419C82.4448 106.419 80.2579 105.546 77.9989 104.14C75.7399 105.539 73.553 106.419 70.7455 106.419C66.4656 106.419 65.1664 105.157 63.6147 104.003C63.658 105.474 65.1592 107.552 66.7109 108.301C70.1537 109.817 74.0221 110.422 77.9989 110.422C81.9756 110.422 85.8442 109.809 89.2868 108.301C90.8385 107.544 92.3326 105.474 92.3831 104.003C90.8313 105.157 89.5323 106.419 85.2523 106.419Z" fill="url(%23paint3_linear_1424_495)"/>%0A</g>%0A<path d="M73.8428 64.7073L69.4257 74.0622C69.2453 74.4446 69.1804 74.8773 69.2525 75.3029L70.6527 83.7562C70.696 84.0303 71.1002 84.0303 71.1435 83.7562L71.9013 79.1473C72.2116 77.2359 73.2292 75.5048 74.7522 74.3003L73.8428 64.7001V64.7073Z" fill="%23FF4800"/>%0A<path d="M82.1584 64.7073L86.5755 74.0622C86.7559 74.4446 86.8208 74.8773 86.7487 75.3029L85.3485 83.7634C85.3052 84.0376 84.9082 84.0376 84.8577 83.7634L84.0999 79.1473C83.7896 77.2359 82.7719 75.5048 81.249 74.3003L82.1584 64.7001V64.7073Z" fill="%23FF4800"/>%0A<path d="M84.5241 50.0291L78.4687 38.2867C78.2739 37.9044 77.7326 37.9044 77.5305 38.2867L71.4751 50.0219C71.2226 50.5052 71.1287 51.0606 71.2081 51.5943L74.261 73.0451L73.8063 75.0503L75.4158 79.4645C75.4519 79.5655 75.5457 79.6304 75.6468 79.6304H80.3308C80.4319 79.6304 80.5257 79.5655 80.5618 79.4645L82.1712 75.0503L81.7165 73.0451L84.7695 51.5943C84.8489 51.0534 84.7551 50.5052 84.5024 50.0219L84.5241 50.0291Z" fill="url(%23paint4_linear_1424_495)"/>%0A<path d="M77.7905 69.5107L75.6397 74.8265C75.3077 75.6488 75.2427 76.5576 75.4593 77.4159L77.7544 86.605C77.8193 86.8575 78.1802 86.8575 78.2379 86.605L80.5331 77.4159C80.7495 76.5576 80.6846 75.6488 80.3526 74.8265L78.2019 69.5107C78.1225 69.3232 77.8554 69.3232 77.7832 69.5107H77.7905Z" fill="%23FF4800"/>%0A<rect width="15" height="16" fill="%23FF4076"/>%0A<rect y="148" width="15" height="16" fill="%23FF4076"/>%0A<rect x="142" width="15" height="16" fill="%23FF4076"/>%0A<rect x="142" y="148" width="15" height="16" fill="%23FF4076"/>%0A<defs>%0A<linearGradient id="paint0_linear_1424_495" x1="78.0001" y1="24.4742" x2="78.0001" y2="138.609" gradientUnits="userSpaceOnUse">%0A<stop offset="0.3" stop-color="%2300ADFF"/>%0A<stop offset="1" stop-color="%231542FF"/>%0A</linearGradient>%0A<linearGradient id="paint1_linear_1424_495" x1="77.9993" y1="79.7965" x2="77.9993" y2="120.816" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23FCE3AD"/>%0A<stop offset="0.07" stop-color="%23FCE2A4"/>%0A<stop offset="0.19" stop-color="%23FCE08B"/>%0A<stop offset="0.33" stop-color="%23FCDD64"/>%0A<stop offset="0.48" stop-color="%23FCDA32"/>%0A<stop offset="0.66" stop-color="%23F9BC22"/>%0A<stop offset="1" stop-color="%23F57700"/>%0A</linearGradient>%0A<linearGradient id="paint2_linear_1424_495" x1="77.9988" y1="90.2913" x2="77.9988" y2="113.603" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23FCD619"/>%0A<stop offset="0.35" stop-color="%23F9B811"/>%0A<stop offset="1" stop-color="%23F57700"/>%0A</linearGradient>%0A<linearGradient id="paint3_linear_1424_495" x1="77.9989" y1="101.947" x2="77.9989" y2="112.694" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23F57700"/>%0A<stop offset="1" stop-color="%23FF4800"/>%0A</linearGradient>%0A<linearGradient id="paint4_linear_1424_495" x1="77.9996" y1="38.0054" x2="77.9996" y2="92.2167" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23E4E4E4"/>%0A<stop offset="0.88" stop-color="%23B6B8B8"/>%0A</linearGradient>%0A</defs>%0A</svg>%0A';
|
|
@@ -5413,8 +5673,11 @@ var img_default = 'data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 2
|
|
|
5413
5673
|
// src/assets/video.svg
|
|
5414
5674
|
var video_default = 'data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<path d="M5 5.5C4.27065 5.5 3.57118 5.78973 3.05546 6.30546C2.53973 6.82118 2.25 7.52065 2.25 8.25V15.75C2.25 16.4793 2.53973 17.1788 3.05546 17.6945C3.57118 18.2103 4.27065 18.5 5 18.5H13.5C14.2293 18.5 14.9288 18.2103 15.4445 17.6945C15.9603 17.1788 16.25 16.4793 16.25 15.75V14.156L19.669 17.201C20.474 17.918 21.75 17.346 21.75 16.267V7.365C21.75 6.285 20.474 5.714 19.669 6.431L16.25 9.476V8.25C16.25 7.52065 15.9603 6.82118 15.4445 6.30546C14.9288 5.78973 14.2293 5.5 13.5 5.5H5Z" fill="white"/>%0A</svg>%0A';
|
|
5415
5675
|
|
|
5676
|
+
// src/assets/png/streamElements_copy_jwt.png
|
|
5677
|
+
var streamElements_copy_jwt_default = "data:image/png;base64,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ypP/UqSnMHP00Uejb9++uPvuu/H333/bfqHwwsGnWMq+GzlypBWdKEBtbap77/MzRdNoHP90CoPMyqUoRHF+0qRJVkC777771sq45vEUeB0hy4F9yW0b8q9n+znhr7rqKuy77762LIrGo0aNwgEHHGAnP0Uz2uzsueeeuPXWW202P8Xo2bNn28xaPoXwyiuvYLfddsPtt99uRdwJEybg6aeftmIZ602R78ADD7RBB4rRf/75J1588UU77hTC7r//fnz99de2DPpKcXzuueceaxFC64kVK1bgzTfftAEe9glFZGZzM+u1adOmNnjA8/Fc1WH7eTwzu1kHXniffPIJvvjiCyuuUgy96aabbDtofdSlSxd89NFH9ny0Gdp///1te1hf9hX7lXOFdRs6bBh85kbw3Xff4Y033rBzijeVRx991D4F0bNnT3vOqVOn2vpRROR4nnHGGbZfmY0+f/58K35SIGRbWQf22zfffIPPPvvM1rH6teGsUcA5QluOJUuWWKGU+7MObCOFUta/T58+tv9Znx9//NEK69XbzCdauL22NvNmx7nJc40ePdpeH6w/7arYD6wjzx3t3cV5yvnFJxk4VkuXLsXPP/2EcUa05vzh8R07dMAQc7Nl4IdiNu9XFLQdeC3wSSD24cyZM219o6OlvK57mvvI6aY/yQ8//IBffvnFtpHn5vF8moKLiXCe/f777/j222/tdsJ5dNxxx9m5TRGYbeMTNewfCtGHHXYYfv75Z/vOYBX7hvWjYN21a1fMmDHDjn30Ncn+4rXDMeI85zvnPP9R6dixI6ZMmWLPwUAH5z/bw39oGAlmP3COs0z2F+c6x5njM8zMNY4tg2Wff/65PQ//AWIbeM0w6MPyGDx5++23qwJeLJdjx76j6M+5RVsalsMAIK97Bi1//fVX21ec35wnbDf76c4777TXT7du3ew1yX9XHCGdfcAAIuHc5lzi3OE2ls99eW+yc8L8xn4677zzbOY92/nee+9VBU42NBaO9RjHok2bNjbAyuO5nW3i2Hxvxp9Z+iyf97K33nrLXgtsE/txr732sk8msV95/P/+97+quVD9Hlzb3KxLllRCCCGEEEIIIcSODv+m33vvvW2SHf9ep47Az9RQqKdQ6yH8e576IzUKagjUPPn3O1/UEatrrBuLo19VZ7MEekecp3hKQYzZ1vRVZyZnTdng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y3Pl2Tlw+nHSBoJ8+VyPt3tb3OecrleqrK97P+uAunpMSg7smyKfRch+0GWda7r7/wzPtq/0pY0B2gihA2LrOeo+R/QgacAfWEYpJCIiIiIiIiKismgp49TkI8Xj/502jQE90fn7owX0dPHKkLD4+d690PvZXjh4+BD8fHwlFPdB2w6dkCrhd8le/783DatffeVldGh/N25r3AyVrrySPcmJiIiIiIiIiM6CAT3R74QBPf2v6PmjNe4dEoRXrlLFzou9+/dbj3btvf6/7M1tvczlPe1UGoKCOCg0EREREREREdG5nCug5yCxRETlgAbwWjdfw3ENxpUOauouCfS/pL+pkXxgYBDDeSIiIiIiIiKi34ABPRFROaKBuGfRYLkMx4mIiIiIiIiIyrfzq7lBRERERERERERERES/CQN6IiIiIiIiIiIiIqILgAE9EREREREREREREdEFwICeiIiIiIiIiIiIiOgCYEBPRERERERERERERHQBMKAnIiIiIiIiIiIiIroAGNATEREREREREREREV0ADOiJiIiIiIiIiIiIiC4ABvRERERERERERERERBcAA3oiIiIiIiIiIiIioguAAT0RERERERERERER0QXAgJ6IiIiIiIiIiIiI6AJgQE9EREREREREREREdAEwoCciIiIiIiIiIiIiugC8UE45HA5kZWWhsLBQ/1X8udPphK+vD3x8fJCdnW2f+fr62udERERERERERERERBeLchvQ5+Xl4YYbGiA8PNzCejcfH2/s3LkLu3fvQd26daC5fEJCAry9vXEx0XXWRoOMjAwEBgayAYGIiIiIiIiIiIjoEiMBvSMVcIainNHe8d0e6CrvOThw8CC8PD3tc78KFXD0yDGkp6ejRYsW9lnMtm0XXUCvPf+9vLxw111tsGpVFDw8WG2IiIiIiIiIiIiI6BKS6gWHMxVOlLuA3iGBtlP+N2/+fKxcGYUKFfyKp/n5+cm//S3E1871HiV62GvP9ZzcXOTm5EpA7mnfdX+eK58rT08vZGVl2rsuV3u3Z2Zm2nf0+47Sy8vJQW5eHrwlcNfp+v3i5cm7Nh7o/J7yruV2NIzX39dpz/d5DgsWLLKe/zqvTtPwPkemFxTkW8MCS/QQERERERERERER/cE4HIleDqczWuLk6iiHnIVOCdArICgo6LSAXmloXpqG5ifT0lCndi0r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";
|
|
5678
|
+
|
|
5416
5679
|
// src/se-import/ui/SEImportWizard.tsx
|
|
5417
|
-
import { Fragment as Fragment4, jsx as
|
|
5680
|
+
import { Fragment as Fragment4, jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
5418
5681
|
var CORE_STEPS = [
|
|
5419
5682
|
{ key: "connect", label: "Connect" },
|
|
5420
5683
|
{ key: "pick", label: "Overlays" },
|
|
@@ -5436,8 +5699,8 @@ function panelClass(extra) {
|
|
|
5436
5699
|
}
|
|
5437
5700
|
function ErrorPanel({ message, hint }) {
|
|
5438
5701
|
return /* @__PURE__ */ jsxs7("div", { className: "se-import-error", children: [
|
|
5439
|
-
/* @__PURE__ */
|
|
5440
|
-
hint && /* @__PURE__ */
|
|
5702
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-error__title", children: message }),
|
|
5703
|
+
hint && /* @__PURE__ */ jsx14("div", { className: "se-import-error__hint", children: hint })
|
|
5441
5704
|
] });
|
|
5442
5705
|
}
|
|
5443
5706
|
function Field({
|
|
@@ -5447,7 +5710,7 @@ function Field({
|
|
|
5447
5710
|
placeholder,
|
|
5448
5711
|
disabled
|
|
5449
5712
|
}) {
|
|
5450
|
-
return /* @__PURE__ */
|
|
5713
|
+
return /* @__PURE__ */ jsx14("div", { className: "se-import-field", children: /* @__PURE__ */ jsx14(
|
|
5451
5714
|
LSInput,
|
|
5452
5715
|
{
|
|
5453
5716
|
label,
|
|
@@ -5459,7 +5722,7 @@ function Field({
|
|
|
5459
5722
|
) });
|
|
5460
5723
|
}
|
|
5461
5724
|
function ProgressBar({ value, max }) {
|
|
5462
|
-
return /* @__PURE__ */
|
|
5725
|
+
return /* @__PURE__ */ jsx14(
|
|
5463
5726
|
"progress",
|
|
5464
5727
|
{
|
|
5465
5728
|
className: "se-import-progress",
|
|
@@ -5475,9 +5738,9 @@ function StatusCard({
|
|
|
5475
5738
|
tone = "neutral"
|
|
5476
5739
|
}) {
|
|
5477
5740
|
return /* @__PURE__ */ jsxs7("div", { className: `se-import-stat se-import-stat--${tone}`, children: [
|
|
5478
|
-
/* @__PURE__ */
|
|
5479
|
-
/* @__PURE__ */
|
|
5480
|
-
sub && /* @__PURE__ */
|
|
5741
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-stat__label", children: label }),
|
|
5742
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-stat__value", children: value }),
|
|
5743
|
+
sub && /* @__PURE__ */ jsx14("div", { className: "se-import-stat__sub", children: sub })
|
|
5481
5744
|
] });
|
|
5482
5745
|
}
|
|
5483
5746
|
function CoverageCards({ coverage }) {
|
|
@@ -5488,7 +5751,7 @@ function CoverageCards({ coverage }) {
|
|
|
5488
5751
|
}, [coverage]);
|
|
5489
5752
|
const pct = (value) => coverage.totalWidgets > 0 ? Math.round(value / coverage.totalWidgets * 100) : 0;
|
|
5490
5753
|
return /* @__PURE__ */ jsxs7("div", { className: "se-import-grid se-import-grid--four", children: [
|
|
5491
|
-
/* @__PURE__ */
|
|
5754
|
+
/* @__PURE__ */ jsx14(
|
|
5492
5755
|
StatusCard,
|
|
5493
5756
|
{
|
|
5494
5757
|
label: "Direct",
|
|
@@ -5497,7 +5760,7 @@ function CoverageCards({ coverage }) {
|
|
|
5497
5760
|
tone: "success"
|
|
5498
5761
|
}
|
|
5499
5762
|
),
|
|
5500
|
-
/* @__PURE__ */
|
|
5763
|
+
/* @__PURE__ */ jsx14(
|
|
5501
5764
|
StatusCard,
|
|
5502
5765
|
{
|
|
5503
5766
|
label: "Partial",
|
|
@@ -5506,7 +5769,7 @@ function CoverageCards({ coverage }) {
|
|
|
5506
5769
|
tone: "info"
|
|
5507
5770
|
}
|
|
5508
5771
|
),
|
|
5509
|
-
/* @__PURE__ */
|
|
5772
|
+
/* @__PURE__ */ jsx14(
|
|
5510
5773
|
StatusCard,
|
|
5511
5774
|
{
|
|
5512
5775
|
label: "Template",
|
|
@@ -5515,7 +5778,7 @@ function CoverageCards({ coverage }) {
|
|
|
5515
5778
|
tone: "warn"
|
|
5516
5779
|
}
|
|
5517
5780
|
),
|
|
5518
|
-
/* @__PURE__ */
|
|
5781
|
+
/* @__PURE__ */ jsx14(
|
|
5519
5782
|
StatusCard,
|
|
5520
5783
|
{
|
|
5521
5784
|
label: "Placeholder",
|
|
@@ -5545,7 +5808,7 @@ window.Overlay = window.Overlay || { on:()=>{}, callCommand:()=>Promise.resolve(
|
|
|
5545
5808
|
try { eval(${safeJs}); } catch(e) { document.body.insertAdjacentHTML('beforeend','<pre style=\\"color:#fca5a5;font:11px monospace;padding:8px;\\">' + (e && e.message ? e.message : e) + '</pre>'); }
|
|
5546
5809
|
</script></body></html>`;
|
|
5547
5810
|
}, [html, css, js, data]);
|
|
5548
|
-
return /* @__PURE__ */
|
|
5811
|
+
return /* @__PURE__ */ jsx14(
|
|
5549
5812
|
"iframe",
|
|
5550
5813
|
{
|
|
5551
5814
|
title: "ai-preview",
|
|
@@ -5563,10 +5826,10 @@ function StepHeader({
|
|
|
5563
5826
|
subtitle
|
|
5564
5827
|
}) {
|
|
5565
5828
|
return /* @__PURE__ */ jsxs7("div", { className: "se-import-section-title", children: [
|
|
5566
|
-
/* @__PURE__ */
|
|
5829
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-section-title__num", children: number }),
|
|
5567
5830
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-section-title__content", children: [
|
|
5568
|
-
/* @__PURE__ */
|
|
5569
|
-
subtitle && /* @__PURE__ */
|
|
5831
|
+
/* @__PURE__ */ jsx14("h3", { children: title }),
|
|
5832
|
+
subtitle && /* @__PURE__ */ jsx14("p", { children: subtitle })
|
|
5570
5833
|
] })
|
|
5571
5834
|
] });
|
|
5572
5835
|
}
|
|
@@ -5618,7 +5881,7 @@ function ModeCard({
|
|
|
5618
5881
|
e.currentTarget.style.transform = "translateY(0)";
|
|
5619
5882
|
},
|
|
5620
5883
|
children: [
|
|
5621
|
-
/* @__PURE__ */
|
|
5884
|
+
/* @__PURE__ */ jsx14(
|
|
5622
5885
|
"div",
|
|
5623
5886
|
{
|
|
5624
5887
|
style: {
|
|
@@ -5629,8 +5892,8 @@ function ModeCard({
|
|
|
5629
5892
|
children: title
|
|
5630
5893
|
}
|
|
5631
5894
|
),
|
|
5632
|
-
/* @__PURE__ */
|
|
5633
|
-
/* @__PURE__ */
|
|
5895
|
+
/* @__PURE__ */ jsx14("div", { style: { fontSize: 13.5, lineHeight: 1.55, color: "var(--se-text)", width: "100%" }, children: body }),
|
|
5896
|
+
/* @__PURE__ */ jsx14("div", { style: { fontSize: 12, color: "var(--se-muted)", marginTop: "auto" }, children: caveat })
|
|
5634
5897
|
]
|
|
5635
5898
|
}
|
|
5636
5899
|
);
|
|
@@ -5640,7 +5903,7 @@ function StepModePicker({
|
|
|
5640
5903
|
onChooseUrl
|
|
5641
5904
|
}) {
|
|
5642
5905
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--wide"), children: [
|
|
5643
|
-
/* @__PURE__ */
|
|
5906
|
+
/* @__PURE__ */ jsx14(
|
|
5644
5907
|
StepHeader,
|
|
5645
5908
|
{
|
|
5646
5909
|
number: 1,
|
|
@@ -5658,14 +5921,14 @@ function StepModePicker({
|
|
|
5658
5921
|
marginTop: 8
|
|
5659
5922
|
},
|
|
5660
5923
|
children: [
|
|
5661
|
-
/* @__PURE__ */
|
|
5924
|
+
/* @__PURE__ */ jsx14(
|
|
5662
5925
|
ModeCard,
|
|
5663
5926
|
{
|
|
5664
5927
|
primary: true,
|
|
5665
5928
|
title: "Import everything from StreamElements",
|
|
5666
5929
|
body: /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
5667
|
-
/* @__PURE__ */
|
|
5668
|
-
/* @__PURE__ */
|
|
5930
|
+
/* @__PURE__ */ jsx14("div", { style: { marginBottom: 10 }, children: "Connect once and bring over your entire SE setup:" }),
|
|
5931
|
+
/* @__PURE__ */ jsx14(
|
|
5669
5932
|
"ul",
|
|
5670
5933
|
{
|
|
5671
5934
|
style: {
|
|
@@ -5675,7 +5938,7 @@ function StepModePicker({
|
|
|
5675
5938
|
gap: 6,
|
|
5676
5939
|
fontSize: 13
|
|
5677
5940
|
},
|
|
5678
|
-
children: JWT_FEATURES.map((feat) => /* @__PURE__ */
|
|
5941
|
+
children: JWT_FEATURES.map((feat) => /* @__PURE__ */ jsx14("li", { children: feat }, feat))
|
|
5679
5942
|
}
|
|
5680
5943
|
)
|
|
5681
5944
|
] }),
|
|
@@ -5683,13 +5946,13 @@ function StepModePicker({
|
|
|
5683
5946
|
onClick: onChooseJwt
|
|
5684
5947
|
}
|
|
5685
5948
|
),
|
|
5686
|
-
/* @__PURE__ */
|
|
5949
|
+
/* @__PURE__ */ jsx14(
|
|
5687
5950
|
ModeCard,
|
|
5688
5951
|
{
|
|
5689
5952
|
title: "Import a single overlay",
|
|
5690
5953
|
body: /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
5691
5954
|
"Paste a single overlay's public preview URL to bring just that overlay over.",
|
|
5692
|
-
/* @__PURE__ */
|
|
5955
|
+
/* @__PURE__ */ jsx14("div", { style: { marginTop: 10, color: "var(--se-muted)" }, children: "No login required \u2014 perfect for trying one overlay before deciding whether to migrate your whole account." })
|
|
5693
5956
|
] }),
|
|
5694
5957
|
caveat: "The URL contains the access token; treat it like a password.",
|
|
5695
5958
|
onClick: onChooseUrl
|
|
@@ -5711,7 +5974,7 @@ function StepConnect({
|
|
|
5711
5974
|
onUseUrl
|
|
5712
5975
|
}) {
|
|
5713
5976
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--narrow"), children: [
|
|
5714
|
-
/* @__PURE__ */
|
|
5977
|
+
/* @__PURE__ */ jsx14(
|
|
5715
5978
|
StepHeader,
|
|
5716
5979
|
{
|
|
5717
5980
|
number: 1,
|
|
@@ -5719,7 +5982,7 @@ function StepConnect({
|
|
|
5719
5982
|
subtitle: "Paste your StreamElements JWT to import overlays, live counters, chat commands, loyalty points, watch time, and recent events. The token is read in your browser only \u2014 Lumia never sends it to our servers."
|
|
5720
5983
|
}
|
|
5721
5984
|
),
|
|
5722
|
-
/* @__PURE__ */
|
|
5985
|
+
/* @__PURE__ */ jsx14(
|
|
5723
5986
|
Field,
|
|
5724
5987
|
{
|
|
5725
5988
|
label: "StreamElements JWT",
|
|
@@ -5730,11 +5993,11 @@ function StepConnect({
|
|
|
5730
5993
|
}
|
|
5731
5994
|
),
|
|
5732
5995
|
channels && channels.length > 1 && /* @__PURE__ */ jsxs7("div", { className: "se-import-help se-import-help--info", children: [
|
|
5733
|
-
/* @__PURE__ */
|
|
5996
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__icon", children: "i" }),
|
|
5734
5997
|
/* @__PURE__ */ jsxs7("div", { children: [
|
|
5735
|
-
/* @__PURE__ */
|
|
5736
|
-
/* @__PURE__ */
|
|
5737
|
-
/* @__PURE__ */
|
|
5998
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__title", children: "Pick a channel" }),
|
|
5999
|
+
/* @__PURE__ */ jsx14("p", { children: "This account has multiple StreamElements channels. Choose which one to import from." }),
|
|
6000
|
+
/* @__PURE__ */ jsx14("div", { style: { display: "grid", gap: 8, marginTop: 12 }, children: channels.map((c) => /* @__PURE__ */ jsxs7(
|
|
5738
6001
|
"label",
|
|
5739
6002
|
{
|
|
5740
6003
|
style: {
|
|
@@ -5748,7 +6011,7 @@ function StepConnect({
|
|
|
5748
6011
|
cursor: "pointer"
|
|
5749
6012
|
},
|
|
5750
6013
|
children: [
|
|
5751
|
-
/* @__PURE__ */
|
|
6014
|
+
/* @__PURE__ */ jsx14(
|
|
5752
6015
|
"input",
|
|
5753
6016
|
{
|
|
5754
6017
|
type: "radio",
|
|
@@ -5757,9 +6020,9 @@ function StepConnect({
|
|
|
5757
6020
|
onChange: () => setSelectedChannelId(c._id)
|
|
5758
6021
|
}
|
|
5759
6022
|
),
|
|
5760
|
-
c.avatar && /* @__PURE__ */
|
|
6023
|
+
c.avatar && /* @__PURE__ */ jsx14("img", { src: c.avatar, alt: "", width: 24, height: 24, style: { borderRadius: "50%" } }),
|
|
5761
6024
|
/* @__PURE__ */ jsxs7("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5762
|
-
/* @__PURE__ */
|
|
6025
|
+
/* @__PURE__ */ jsx14("span", { style: { fontWeight: 700 }, children: c.displayName ?? c.username }),
|
|
5763
6026
|
/* @__PURE__ */ jsxs7("span", { style: { fontSize: 12, color: "var(--se-muted)" }, children: [
|
|
5764
6027
|
c.provider,
|
|
5765
6028
|
" \xB7 ",
|
|
@@ -5773,14 +6036,22 @@ function StepConnect({
|
|
|
5773
6036
|
] })
|
|
5774
6037
|
] }),
|
|
5775
6038
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-help", children: [
|
|
5776
|
-
/* @__PURE__ */
|
|
6039
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__icon", children: "i" }),
|
|
5777
6040
|
/* @__PURE__ */ jsxs7("div", { children: [
|
|
5778
|
-
/* @__PURE__ */
|
|
6041
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__title", children: "How to find your JWT" }),
|
|
6042
|
+
/* @__PURE__ */ jsx14(
|
|
6043
|
+
"img",
|
|
6044
|
+
{
|
|
6045
|
+
className: "se-import-help__image",
|
|
6046
|
+
src: streamElements_copy_jwt_default,
|
|
6047
|
+
alt: "StreamElements channel settings showing the Copy JWT button"
|
|
6048
|
+
}
|
|
6049
|
+
),
|
|
5779
6050
|
/* @__PURE__ */ jsxs7("ol", { children: [
|
|
5780
6051
|
/* @__PURE__ */ jsxs7("li", { children: [
|
|
5781
6052
|
"Open",
|
|
5782
6053
|
" ",
|
|
5783
|
-
/* @__PURE__ */
|
|
6054
|
+
/* @__PURE__ */ jsx14(
|
|
5784
6055
|
"a",
|
|
5785
6056
|
{
|
|
5786
6057
|
href: "https://streamelements.com/dashboard/account/channels",
|
|
@@ -5793,13 +6064,13 @@ function StepConnect({
|
|
|
5793
6064
|
] }),
|
|
5794
6065
|
/* @__PURE__ */ jsxs7("li", { children: [
|
|
5795
6066
|
"Click ",
|
|
5796
|
-
/* @__PURE__ */
|
|
6067
|
+
/* @__PURE__ */ jsx14("strong", { children: "Show JWT Token" }),
|
|
5797
6068
|
" for the channel you want to import."
|
|
5798
6069
|
] }),
|
|
5799
|
-
/* @__PURE__ */
|
|
6070
|
+
/* @__PURE__ */ jsx14("li", { children: "Copy the entire token and paste it above." }),
|
|
5800
6071
|
/* @__PURE__ */ jsxs7("li", { children: [
|
|
5801
6072
|
"When you're done, click ",
|
|
5802
|
-
/* @__PURE__ */
|
|
6073
|
+
/* @__PURE__ */ jsx14("strong", { children: "Revoke" }),
|
|
5803
6074
|
" on the same page so the token stops working."
|
|
5804
6075
|
] })
|
|
5805
6076
|
] })
|
|
@@ -5808,7 +6079,7 @@ function StepConnect({
|
|
|
5808
6079
|
/* @__PURE__ */ jsxs7("div", { style: { marginTop: 16, fontSize: 13, color: "var(--se-muted)" }, children: [
|
|
5809
6080
|
"Prefer to import just a single overlay without logging in?",
|
|
5810
6081
|
" ",
|
|
5811
|
-
/* @__PURE__ */
|
|
6082
|
+
/* @__PURE__ */ jsx14(
|
|
5812
6083
|
"a",
|
|
5813
6084
|
{
|
|
5814
6085
|
href: "#",
|
|
@@ -5822,7 +6093,7 @@ function StepConnect({
|
|
|
5822
6093
|
),
|
|
5823
6094
|
"."
|
|
5824
6095
|
] }),
|
|
5825
|
-
error && /* @__PURE__ */
|
|
6096
|
+
error && /* @__PURE__ */ jsx14(ErrorPanel, { message: error.message, hint: error.hint })
|
|
5826
6097
|
] });
|
|
5827
6098
|
}
|
|
5828
6099
|
function StepPickOverlay({
|
|
@@ -5840,7 +6111,7 @@ function StepPickOverlay({
|
|
|
5840
6111
|
const allSelected = total > 0 && selectedCount === total;
|
|
5841
6112
|
const hasAnySelected = selectedCount > 0;
|
|
5842
6113
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--wide"), children: [
|
|
5843
|
-
/* @__PURE__ */
|
|
6114
|
+
/* @__PURE__ */ jsx14(
|
|
5844
6115
|
StepHeader,
|
|
5845
6116
|
{
|
|
5846
6117
|
number: 2,
|
|
@@ -5849,24 +6120,24 @@ function StepPickOverlay({
|
|
|
5849
6120
|
}
|
|
5850
6121
|
),
|
|
5851
6122
|
loading && /* @__PURE__ */ jsxs7("div", { className: "se-import-help se-import-help--info", children: [
|
|
5852
|
-
/* @__PURE__ */
|
|
5853
|
-
/* @__PURE__ */
|
|
6123
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__icon", children: "\u2026" }),
|
|
6124
|
+
/* @__PURE__ */ jsx14("div", { children: "Fetching your StreamElements overlays." })
|
|
5854
6125
|
] }),
|
|
5855
6126
|
error && /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
5856
|
-
/* @__PURE__ */
|
|
5857
|
-
/* @__PURE__ */
|
|
6127
|
+
/* @__PURE__ */ jsx14(ErrorPanel, { message: error.message, hint: error.hint }),
|
|
6128
|
+
/* @__PURE__ */ jsx14("div", { style: { marginTop: 12 }, children: /* @__PURE__ */ jsx14(LSButton, { type: "button", color: "secondary", onClick: onRetry, label: "Retry" }) })
|
|
5858
6129
|
] }),
|
|
5859
6130
|
!loading && !error && overlays && overlays.length === 0 && /* @__PURE__ */ jsxs7("div", { className: "se-import-help se-import-help--info", children: [
|
|
5860
|
-
/* @__PURE__ */
|
|
6131
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__icon", children: "i" }),
|
|
5861
6132
|
/* @__PURE__ */ jsxs7("div", { children: [
|
|
5862
|
-
/* @__PURE__ */
|
|
5863
|
-
/* @__PURE__ */
|
|
6133
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__title", children: "No overlays found" }),
|
|
6134
|
+
/* @__PURE__ */ jsx14("p", { children: "This StreamElements account doesn't have any overlays yet. Create one in the SE dashboard, or use the legacy preview URL flow from the Connect step." })
|
|
5864
6135
|
] })
|
|
5865
6136
|
] }),
|
|
5866
6137
|
!loading && !error && overlays && overlays.length > 0 && /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
5867
6138
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-actions se-import-actions--inline", style: { marginTop: 24, marginBottom: 16, justifyContent: "space-between", alignItems: "center", display: "flex" }, children: [
|
|
5868
6139
|
/* @__PURE__ */ jsxs7("label", { style: { display: "inline-flex", alignItems: "center", gap: 8, cursor: "pointer", fontSize: 14, fontWeight: 600 }, children: [
|
|
5869
|
-
/* @__PURE__ */
|
|
6140
|
+
/* @__PURE__ */ jsx14(
|
|
5870
6141
|
"input",
|
|
5871
6142
|
{
|
|
5872
6143
|
type: "checkbox",
|
|
@@ -5886,9 +6157,9 @@ function StepPickOverlay({
|
|
|
5886
6157
|
")"
|
|
5887
6158
|
] })
|
|
5888
6159
|
] }),
|
|
5889
|
-
/* @__PURE__ */
|
|
6160
|
+
/* @__PURE__ */ jsx14("span", { style: { fontSize: 13, color: "var(--se-muted)" }, children: hasAnySelected ? `${selectedCount} overlay${selectedCount === 1 ? "" : "s"} queued. Each runs through the full import flow in sequence.` : "Click overlays below to select them." })
|
|
5890
6161
|
] }),
|
|
5891
|
-
/* @__PURE__ */
|
|
6162
|
+
/* @__PURE__ */ jsx14(
|
|
5892
6163
|
"div",
|
|
5893
6164
|
{
|
|
5894
6165
|
className: "se-import-grid",
|
|
@@ -5916,7 +6187,7 @@ function StepPickOverlay({
|
|
|
5916
6187
|
transition: "border-color 120ms, background 120ms"
|
|
5917
6188
|
},
|
|
5918
6189
|
children: [
|
|
5919
|
-
/* @__PURE__ */
|
|
6190
|
+
/* @__PURE__ */ jsx14(
|
|
5920
6191
|
"input",
|
|
5921
6192
|
{
|
|
5922
6193
|
type: "checkbox",
|
|
@@ -5925,7 +6196,7 @@ function StepPickOverlay({
|
|
|
5925
6196
|
style: { position: "absolute", top: 10, right: 10, accentColor: "var(--se-primary)", zIndex: 1 }
|
|
5926
6197
|
}
|
|
5927
6198
|
),
|
|
5928
|
-
o.preview ? /* @__PURE__ */
|
|
6199
|
+
o.preview ? /* @__PURE__ */ jsx14(
|
|
5929
6200
|
"img",
|
|
5930
6201
|
{
|
|
5931
6202
|
src: o.preview,
|
|
@@ -5939,8 +6210,8 @@ function StepPickOverlay({
|
|
|
5939
6210
|
},
|
|
5940
6211
|
loading: "lazy"
|
|
5941
6212
|
}
|
|
5942
|
-
) : /* @__PURE__ */
|
|
5943
|
-
/* @__PURE__ */
|
|
6213
|
+
) : /* @__PURE__ */ jsx14("div", { style: { width: "100%", height: 110, borderRadius: 6, background: "var(--se-panel-2)" } }),
|
|
6214
|
+
/* @__PURE__ */ jsx14("div", { style: { marginTop: 8, fontSize: 14, fontWeight: 700, color: "var(--se-text)", paddingRight: 28 }, children: o.name ?? "Unnamed overlay" }),
|
|
5944
6215
|
/* @__PURE__ */ jsxs7("div", { style: { marginTop: 4, fontSize: 11, color: "var(--se-muted)" }, children: [
|
|
5945
6216
|
o.type ?? "regular",
|
|
5946
6217
|
o.settings?.width && o.settings?.height ? ` \xB7 ${o.settings.width}\xD7${o.settings.height}` : ""
|
|
@@ -5966,7 +6237,7 @@ function StepURL({
|
|
|
5966
6237
|
busy
|
|
5967
6238
|
}) {
|
|
5968
6239
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--narrow"), children: [
|
|
5969
|
-
/* @__PURE__ */
|
|
6240
|
+
/* @__PURE__ */ jsx14(
|
|
5970
6241
|
StepHeader,
|
|
5971
6242
|
{
|
|
5972
6243
|
number: 1,
|
|
@@ -5974,7 +6245,7 @@ function StepURL({
|
|
|
5974
6245
|
subtitle: "This should be the public preview URL of your overlay. It includes the\n access token."
|
|
5975
6246
|
}
|
|
5976
6247
|
),
|
|
5977
|
-
/* @__PURE__ */
|
|
6248
|
+
/* @__PURE__ */ jsx14(
|
|
5978
6249
|
LSInput,
|
|
5979
6250
|
{
|
|
5980
6251
|
label: "Overlay URL",
|
|
@@ -5985,14 +6256,14 @@ function StepURL({
|
|
|
5985
6256
|
}
|
|
5986
6257
|
),
|
|
5987
6258
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-help", children: [
|
|
5988
|
-
/* @__PURE__ */
|
|
6259
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__icon", children: "i" }),
|
|
5989
6260
|
/* @__PURE__ */ jsxs7("div", { children: [
|
|
5990
|
-
/* @__PURE__ */
|
|
6261
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-help__title", children: "How to find the overlay URL" }),
|
|
5991
6262
|
/* @__PURE__ */ jsxs7("ol", { children: [
|
|
5992
6263
|
/* @__PURE__ */ jsxs7("li", { children: [
|
|
5993
6264
|
"Open",
|
|
5994
6265
|
" ",
|
|
5995
|
-
/* @__PURE__ */
|
|
6266
|
+
/* @__PURE__ */ jsx14(
|
|
5996
6267
|
"a",
|
|
5997
6268
|
{
|
|
5998
6269
|
href: "https://streamelements.com/dashboard/overlays",
|
|
@@ -6003,13 +6274,13 @@ function StepURL({
|
|
|
6003
6274
|
),
|
|
6004
6275
|
"."
|
|
6005
6276
|
] }),
|
|
6006
|
-
/* @__PURE__ */
|
|
6007
|
-
/* @__PURE__ */
|
|
6008
|
-
/* @__PURE__ */
|
|
6277
|
+
/* @__PURE__ */ jsx14("li", { children: "Click the overlay you want to bring over." }),
|
|
6278
|
+
/* @__PURE__ */ jsx14("li", { children: "Click Copy URL in the top right of the editor." }),
|
|
6279
|
+
/* @__PURE__ */ jsx14("li", { children: "Paste it above." })
|
|
6009
6280
|
] })
|
|
6010
6281
|
] })
|
|
6011
6282
|
] }),
|
|
6012
|
-
error && /* @__PURE__ */
|
|
6283
|
+
error && /* @__PURE__ */ jsx14(ErrorPanel, { message: error.message, hint: error.hint })
|
|
6013
6284
|
] });
|
|
6014
6285
|
}
|
|
6015
6286
|
function StepDiscovery({
|
|
@@ -6023,11 +6294,11 @@ function StepDiscovery({
|
|
|
6023
6294
|
)?.count ?? 0;
|
|
6024
6295
|
const alertCount = result.coverage.mappings.filter((item) => item.lumiaType === "alert").reduce((sum, item) => sum + item.count, 0);
|
|
6025
6296
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--wide"), children: [
|
|
6026
|
-
/* @__PURE__ */
|
|
6297
|
+
/* @__PURE__ */ jsx14(StepHeader, { number: 2, title: "Here's what we found in your overlay" }),
|
|
6027
6298
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-grid se-import-grid--four", children: [
|
|
6028
|
-
/* @__PURE__ */
|
|
6029
|
-
/* @__PURE__ */
|
|
6030
|
-
/* @__PURE__ */
|
|
6299
|
+
/* @__PURE__ */ jsx14(StatusCard, { label: "Total widgets", value: widgets }),
|
|
6300
|
+
/* @__PURE__ */ jsx14(StatusCard, { label: "Alerts", value: alertCount }),
|
|
6301
|
+
/* @__PURE__ */ jsx14(
|
|
6031
6302
|
StatusCard,
|
|
6032
6303
|
{
|
|
6033
6304
|
label: "Custom widgets",
|
|
@@ -6035,7 +6306,7 @@ function StepDiscovery({
|
|
|
6035
6306
|
sub: customCount > 0 ? "uses the SE compatibility shim" : void 0
|
|
6036
6307
|
}
|
|
6037
6308
|
),
|
|
6038
|
-
/* @__PURE__ */
|
|
6309
|
+
/* @__PURE__ */ jsx14(
|
|
6039
6310
|
StatusCard,
|
|
6040
6311
|
{
|
|
6041
6312
|
label: "SE-hosted assets",
|
|
@@ -6044,8 +6315,8 @@ function StepDiscovery({
|
|
|
6044
6315
|
}
|
|
6045
6316
|
)
|
|
6046
6317
|
] }),
|
|
6047
|
-
/* @__PURE__ */
|
|
6048
|
-
/* @__PURE__ */
|
|
6318
|
+
/* @__PURE__ */ jsx14(CoverageCards, { coverage: result.coverage }),
|
|
6319
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-grid se-import-grid--two", children: /* @__PURE__ */ jsx14(
|
|
6049
6320
|
StatusCard,
|
|
6050
6321
|
{
|
|
6051
6322
|
label: "Need review",
|
|
@@ -6062,22 +6333,22 @@ function StepOptions({
|
|
|
6062
6333
|
assetCount
|
|
6063
6334
|
}) {
|
|
6064
6335
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--medium"), children: [
|
|
6065
|
-
/* @__PURE__ */
|
|
6336
|
+
/* @__PURE__ */ jsx14(StepHeader, { number: 3, title: "Options", subtitle: "Choose how to handle your assets" }),
|
|
6066
6337
|
/* @__PURE__ */ jsxs7(
|
|
6067
6338
|
"label",
|
|
6068
6339
|
{
|
|
6069
6340
|
className: `se-import-option ${assetCount === 0 ? "se-import-option--disabled" : ""}`,
|
|
6070
6341
|
children: [
|
|
6071
|
-
/* @__PURE__ */
|
|
6342
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-option__icon", children: "\u21A5" }),
|
|
6072
6343
|
/* @__PURE__ */ jsxs7("span", { className: "se-import-option__body", children: [
|
|
6073
|
-
/* @__PURE__ */
|
|
6074
|
-
/* @__PURE__ */
|
|
6344
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-option__title", children: "Mirror StreamElements assets to Lumia storage" }),
|
|
6345
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-option__copy", children: "Downloads every cdn.streamelements.com URL referenced in the overlay, uploads it to your Lumia asset library, then rewrites the URLs." })
|
|
6075
6346
|
] }),
|
|
6076
6347
|
/* @__PURE__ */ jsxs7("span", { className: "se-import-option__count", children: [
|
|
6077
6348
|
assetCount,
|
|
6078
6349
|
" files"
|
|
6079
6350
|
] }),
|
|
6080
|
-
/* @__PURE__ */
|
|
6351
|
+
/* @__PURE__ */ jsx14(
|
|
6081
6352
|
"input",
|
|
6082
6353
|
{
|
|
6083
6354
|
type: "checkbox",
|
|
@@ -6086,11 +6357,11 @@ function StepOptions({
|
|
|
6086
6357
|
onChange: (e) => setOptions({ ...options, mirrorAssets: e.target.checked })
|
|
6087
6358
|
}
|
|
6088
6359
|
),
|
|
6089
|
-
/* @__PURE__ */
|
|
6360
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-toggle" })
|
|
6090
6361
|
]
|
|
6091
6362
|
}
|
|
6092
6363
|
),
|
|
6093
|
-
/* @__PURE__ */
|
|
6364
|
+
/* @__PURE__ */ jsx14(
|
|
6094
6365
|
LSInput,
|
|
6095
6366
|
{
|
|
6096
6367
|
label: "Overlay name",
|
|
@@ -6116,9 +6387,9 @@ function fileTypeIcon(url) {
|
|
|
6116
6387
|
}
|
|
6117
6388
|
function AssetTransferAnimation() {
|
|
6118
6389
|
return /* @__PURE__ */ jsxs7("div", { className: "se-import-transfer", "aria-hidden": "true", children: [
|
|
6119
|
-
/* @__PURE__ */
|
|
6390
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-transfer__source se-import-transfer__source--se", children: /* @__PURE__ */ jsx14("img", { src: source_se_default, alt: "" }) }),
|
|
6120
6391
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-transfer__files", children: [
|
|
6121
|
-
/* @__PURE__ */
|
|
6392
|
+
/* @__PURE__ */ jsx14(
|
|
6122
6393
|
"img",
|
|
6123
6394
|
{
|
|
6124
6395
|
className: "se-import-transfer__file se-import-transfer__file--one",
|
|
@@ -6126,7 +6397,7 @@ function AssetTransferAnimation() {
|
|
|
6126
6397
|
alt: ""
|
|
6127
6398
|
}
|
|
6128
6399
|
),
|
|
6129
|
-
/* @__PURE__ */
|
|
6400
|
+
/* @__PURE__ */ jsx14(
|
|
6130
6401
|
"img",
|
|
6131
6402
|
{
|
|
6132
6403
|
className: "se-import-transfer__file se-import-transfer__file--two",
|
|
@@ -6134,7 +6405,7 @@ function AssetTransferAnimation() {
|
|
|
6134
6405
|
alt: ""
|
|
6135
6406
|
}
|
|
6136
6407
|
),
|
|
6137
|
-
/* @__PURE__ */
|
|
6408
|
+
/* @__PURE__ */ jsx14(
|
|
6138
6409
|
"img",
|
|
6139
6410
|
{
|
|
6140
6411
|
className: "se-import-transfer__file se-import-transfer__file--three",
|
|
@@ -6142,7 +6413,7 @@ function AssetTransferAnimation() {
|
|
|
6142
6413
|
alt: ""
|
|
6143
6414
|
}
|
|
6144
6415
|
),
|
|
6145
|
-
/* @__PURE__ */
|
|
6416
|
+
/* @__PURE__ */ jsx14(
|
|
6146
6417
|
"img",
|
|
6147
6418
|
{
|
|
6148
6419
|
className: "se-import-transfer__file se-import-transfer__file--four",
|
|
@@ -6151,7 +6422,7 @@ function AssetTransferAnimation() {
|
|
|
6151
6422
|
}
|
|
6152
6423
|
)
|
|
6153
6424
|
] }),
|
|
6154
|
-
/* @__PURE__ */
|
|
6425
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-transfer__source se-import-transfer__source--lumia", children: /* @__PURE__ */ jsx14("img", { src: source_lumia_default, alt: "" }) })
|
|
6155
6426
|
] });
|
|
6156
6427
|
}
|
|
6157
6428
|
function StepMirror({
|
|
@@ -6166,16 +6437,16 @@ function StepMirror({
|
|
|
6166
6437
|
const completed = done + reused + keptOnCdn + failed;
|
|
6167
6438
|
const summary = running ? `Downloading... (${done + reused + keptOnCdn}/${rows.length})` : `Finished. ${done} mirrored${reused ? `, ${reused} reused` : ""}${keptOnCdn ? `, ${keptOnCdn} kept on CDN` : ""}${failed ? `, ${failed} failed` : ""}.`;
|
|
6168
6439
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--wide"), children: [
|
|
6169
|
-
/* @__PURE__ */
|
|
6170
|
-
/* @__PURE__ */
|
|
6171
|
-
/* @__PURE__ */
|
|
6172
|
-
/* @__PURE__ */
|
|
6173
|
-
/* @__PURE__ */
|
|
6440
|
+
/* @__PURE__ */ jsx14(StepHeader, { number: 4, title: "Mirroring assets", subtitle: "We're downloading your assets from StreamElements and preparing them for import." }),
|
|
6441
|
+
/* @__PURE__ */ jsx14(AssetTransferAnimation, {}),
|
|
6442
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-mirror-head", children: /* @__PURE__ */ jsx14("span", { children: summary }) }),
|
|
6443
|
+
/* @__PURE__ */ jsx14(ProgressBar, { value: completed, max: rows.length }),
|
|
6444
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-asset-list", children: rows.map((row, index) => /* @__PURE__ */ jsxs7(
|
|
6174
6445
|
"div",
|
|
6175
6446
|
{
|
|
6176
6447
|
className: `se-import-asset-row se-import-asset-row--${row.state}`,
|
|
6177
6448
|
children: [
|
|
6178
|
-
/* @__PURE__ */
|
|
6449
|
+
/* @__PURE__ */ jsx14(
|
|
6179
6450
|
"img",
|
|
6180
6451
|
{
|
|
6181
6452
|
className: "se-import-asset-row__icon",
|
|
@@ -6183,9 +6454,9 @@ function StepMirror({
|
|
|
6183
6454
|
alt: ""
|
|
6184
6455
|
}
|
|
6185
6456
|
),
|
|
6186
|
-
/* @__PURE__ */
|
|
6187
|
-
/* @__PURE__ */
|
|
6188
|
-
row.state === "failed" && /* @__PURE__ */
|
|
6457
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-asset-row__url", title: row.url, children: row.url }),
|
|
6458
|
+
/* @__PURE__ */ jsx14("span", { className: "se-import-asset-row__state", children: mirrorLabel(row.state) }),
|
|
6459
|
+
row.state === "failed" && /* @__PURE__ */ jsx14(
|
|
6189
6460
|
LSButton,
|
|
6190
6461
|
{
|
|
6191
6462
|
type: "button",
|
|
@@ -6197,7 +6468,7 @@ function StepMirror({
|
|
|
6197
6468
|
label: "Retry"
|
|
6198
6469
|
}
|
|
6199
6470
|
),
|
|
6200
|
-
row.error && /* @__PURE__ */
|
|
6471
|
+
row.error && /* @__PURE__ */ jsx14("span", { className: "se-import-asset-row__error", children: row.error })
|
|
6201
6472
|
]
|
|
6202
6473
|
},
|
|
6203
6474
|
row.url
|
|
@@ -6224,7 +6495,7 @@ function StepReview({
|
|
|
6224
6495
|
marketplaceAvailable
|
|
6225
6496
|
}) {
|
|
6226
6497
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--medium"), children: [
|
|
6227
|
-
/* @__PURE__ */
|
|
6498
|
+
/* @__PURE__ */ jsx14(
|
|
6228
6499
|
StepHeader,
|
|
6229
6500
|
{
|
|
6230
6501
|
number: 4,
|
|
@@ -6234,10 +6505,10 @@ function StepReview({
|
|
|
6234
6505
|
),
|
|
6235
6506
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-review-card", children: [
|
|
6236
6507
|
/* @__PURE__ */ jsxs7("div", { children: [
|
|
6237
|
-
/* @__PURE__ */
|
|
6238
|
-
/* @__PURE__ */
|
|
6508
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-review-card__type", children: item.seWidget.type }),
|
|
6509
|
+
/* @__PURE__ */ jsx14("p", { children: item.reason })
|
|
6239
6510
|
] }),
|
|
6240
|
-
/* @__PURE__ */
|
|
6511
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-review-card__status", children: item.flaggedOff ? "Auto-import disabled" : item.status })
|
|
6241
6512
|
] }),
|
|
6242
6513
|
remainingCount > 1 && /* Bulk-action row — shortcut to wrap up the review step when there are still
|
|
6243
6514
|
several unactioned widgets and the user doesn't want to walk each one. */
|
|
@@ -6246,7 +6517,7 @@ function StepReview({
|
|
|
6246
6517
|
remainingCount,
|
|
6247
6518
|
" remaining"
|
|
6248
6519
|
] }),
|
|
6249
|
-
/* @__PURE__ */
|
|
6520
|
+
/* @__PURE__ */ jsx14(
|
|
6250
6521
|
LSButton,
|
|
6251
6522
|
{
|
|
6252
6523
|
type: "button",
|
|
@@ -6256,7 +6527,7 @@ function StepReview({
|
|
|
6256
6527
|
label: "Keep all placeholders"
|
|
6257
6528
|
}
|
|
6258
6529
|
),
|
|
6259
|
-
/* @__PURE__ */
|
|
6530
|
+
/* @__PURE__ */ jsx14(
|
|
6260
6531
|
LSButton,
|
|
6261
6532
|
{
|
|
6262
6533
|
type: "button",
|
|
@@ -6267,12 +6538,12 @@ function StepReview({
|
|
|
6267
6538
|
}
|
|
6268
6539
|
)
|
|
6269
6540
|
] }),
|
|
6270
|
-
state === "generating" && /* @__PURE__ */
|
|
6541
|
+
state === "generating" && /* @__PURE__ */ jsx14("div", { className: "se-import-muted", children: "Generating with AI. This can take 30-90 seconds." }),
|
|
6271
6542
|
state === "generated" && generated && /* @__PURE__ */ jsxs7("div", { className: "se-import-generated", children: [
|
|
6272
|
-
/* @__PURE__ */
|
|
6543
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-generated__title", children: "Preview" }),
|
|
6273
6544
|
(() => {
|
|
6274
6545
|
const landing = getAILandingBounds(item.seWidget, canvas);
|
|
6275
|
-
return /* @__PURE__ */
|
|
6546
|
+
return /* @__PURE__ */ jsx14(
|
|
6276
6547
|
CustomOverlayPreview,
|
|
6277
6548
|
{
|
|
6278
6549
|
html: generated.html ?? "",
|
|
@@ -6285,8 +6556,8 @@ function StepReview({
|
|
|
6285
6556
|
);
|
|
6286
6557
|
})(),
|
|
6287
6558
|
/* @__PURE__ */ jsxs7("details", { className: "se-import-code", children: [
|
|
6288
|
-
/* @__PURE__ */
|
|
6289
|
-
/* @__PURE__ */
|
|
6559
|
+
/* @__PURE__ */ jsx14("summary", { children: "Generated code" }),
|
|
6560
|
+
/* @__PURE__ */ jsx14("pre", { children: JSON.stringify(
|
|
6290
6561
|
{
|
|
6291
6562
|
html: generated.html ?? "",
|
|
6292
6563
|
css: generated.css ?? "",
|
|
@@ -6297,13 +6568,13 @@ function StepReview({
|
|
|
6297
6568
|
) })
|
|
6298
6569
|
] })
|
|
6299
6570
|
] }),
|
|
6300
|
-
error && /* @__PURE__ */
|
|
6571
|
+
error && /* @__PURE__ */ jsx14(ErrorPanel, { message: error }),
|
|
6301
6572
|
/* @__PURE__ */ jsxs7("details", { className: "se-import-code", children: [
|
|
6302
|
-
/* @__PURE__ */
|
|
6303
|
-
/* @__PURE__ */
|
|
6573
|
+
/* @__PURE__ */ jsx14("summary", { children: "Original StreamElements config" }),
|
|
6574
|
+
/* @__PURE__ */ jsx14("pre", { children: JSON.stringify(item.seWidget.variables ?? {}, null, 2) })
|
|
6304
6575
|
] }),
|
|
6305
|
-
/* @__PURE__ */
|
|
6306
|
-
/* @__PURE__ */
|
|
6576
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-actions se-import-actions--inline", children: state === "generated" ? /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
6577
|
+
/* @__PURE__ */ jsx14(
|
|
6307
6578
|
LSButton,
|
|
6308
6579
|
{
|
|
6309
6580
|
type: "button",
|
|
@@ -6312,7 +6583,7 @@ function StepReview({
|
|
|
6312
6583
|
label: "Try again"
|
|
6313
6584
|
}
|
|
6314
6585
|
),
|
|
6315
|
-
/* @__PURE__ */
|
|
6586
|
+
/* @__PURE__ */ jsx14(
|
|
6316
6587
|
LSButton,
|
|
6317
6588
|
{
|
|
6318
6589
|
type: "button",
|
|
@@ -6321,7 +6592,7 @@ function StepReview({
|
|
|
6321
6592
|
label: "Skip this widget"
|
|
6322
6593
|
}
|
|
6323
6594
|
),
|
|
6324
|
-
/* @__PURE__ */
|
|
6595
|
+
/* @__PURE__ */ jsx14(
|
|
6325
6596
|
LSButton,
|
|
6326
6597
|
{
|
|
6327
6598
|
type: "button",
|
|
@@ -6331,7 +6602,7 @@ function StepReview({
|
|
|
6331
6602
|
}
|
|
6332
6603
|
)
|
|
6333
6604
|
] }) : /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
6334
|
-
!item.flaggedOff && /* @__PURE__ */
|
|
6605
|
+
!item.flaggedOff && /* @__PURE__ */ jsx14(
|
|
6335
6606
|
LSButton,
|
|
6336
6607
|
{
|
|
6337
6608
|
type: "button",
|
|
@@ -6341,7 +6612,7 @@ function StepReview({
|
|
|
6341
6612
|
label: "Keep placeholder"
|
|
6342
6613
|
}
|
|
6343
6614
|
),
|
|
6344
|
-
/* @__PURE__ */
|
|
6615
|
+
/* @__PURE__ */ jsx14(
|
|
6345
6616
|
LSButton,
|
|
6346
6617
|
{
|
|
6347
6618
|
type: "button",
|
|
@@ -6351,7 +6622,7 @@ function StepReview({
|
|
|
6351
6622
|
label: "Skip"
|
|
6352
6623
|
}
|
|
6353
6624
|
),
|
|
6354
|
-
marketplaceAvailable && /* @__PURE__ */
|
|
6625
|
+
marketplaceAvailable && /* @__PURE__ */ jsx14(
|
|
6355
6626
|
LSButton,
|
|
6356
6627
|
{
|
|
6357
6628
|
type: "button",
|
|
@@ -6361,7 +6632,7 @@ function StepReview({
|
|
|
6361
6632
|
label: "Pick from Marketplace"
|
|
6362
6633
|
}
|
|
6363
6634
|
),
|
|
6364
|
-
/* @__PURE__ */
|
|
6635
|
+
/* @__PURE__ */ jsx14(
|
|
6365
6636
|
LSButton,
|
|
6366
6637
|
{
|
|
6367
6638
|
type: "button",
|
|
@@ -6372,7 +6643,7 @@ function StepReview({
|
|
|
6372
6643
|
}
|
|
6373
6644
|
)
|
|
6374
6645
|
] }) }),
|
|
6375
|
-
item.flaggedOff && !marketplaceAvailable && state !== "generated" && /* @__PURE__ */
|
|
6646
|
+
item.flaggedOff && !marketplaceAvailable && state !== "generated" && /* @__PURE__ */ jsx14("div", { className: "se-import-muted", children: "No curated Marketplace replacement is configured for this widget yet." })
|
|
6376
6647
|
] });
|
|
6377
6648
|
}
|
|
6378
6649
|
function StepConfirm({
|
|
@@ -6394,7 +6665,7 @@ function StepConfirm({
|
|
|
6394
6665
|
{}
|
|
6395
6666
|
);
|
|
6396
6667
|
return /* @__PURE__ */ jsxs7("div", { className: panelClass("se-import-panel--confirm"), children: [
|
|
6397
|
-
/* @__PURE__ */
|
|
6668
|
+
/* @__PURE__ */ jsx14(
|
|
6398
6669
|
StepHeader,
|
|
6399
6670
|
{
|
|
6400
6671
|
number: 5,
|
|
@@ -6403,11 +6674,11 @@ function StepConfirm({
|
|
|
6403
6674
|
}
|
|
6404
6675
|
),
|
|
6405
6676
|
/* @__PURE__ */ jsxs7("div", { className: "se-import-overview", children: [
|
|
6406
|
-
/* @__PURE__ */
|
|
6407
|
-
/* @__PURE__ */
|
|
6408
|
-
/* @__PURE__ */
|
|
6409
|
-
/* @__PURE__ */
|
|
6410
|
-
/* @__PURE__ */
|
|
6677
|
+
/* @__PURE__ */ jsx14("h3", { children: "Overview" }),
|
|
6678
|
+
/* @__PURE__ */ jsx14(Row, { label: "Overlay", value: options.name || result.overlay.name }),
|
|
6679
|
+
/* @__PURE__ */ jsx14(Row, { label: "Widgets", value: `${widgets}` }),
|
|
6680
|
+
/* @__PURE__ */ jsx14(Row, { label: "Alerts", value: `${alertCount}` }),
|
|
6681
|
+
/* @__PURE__ */ jsx14(
|
|
6411
6682
|
Row,
|
|
6412
6683
|
{
|
|
6413
6684
|
label: "Assets to import",
|
|
@@ -6415,16 +6686,16 @@ function StepConfirm({
|
|
|
6415
6686
|
meta: options.mirrorAssets ? `Mirrored to Lumia storage (${mirrored})` : "Skipped"
|
|
6416
6687
|
}
|
|
6417
6688
|
),
|
|
6418
|
-
/* @__PURE__ */
|
|
6689
|
+
/* @__PURE__ */ jsx14(
|
|
6419
6690
|
Row,
|
|
6420
6691
|
{
|
|
6421
6692
|
label: "Import behavior",
|
|
6422
6693
|
value: options.mirrorAssets ? "Mirror assets and rewrite URLs" : "Keep original asset URLs"
|
|
6423
6694
|
}
|
|
6424
6695
|
),
|
|
6425
|
-
reviewBuckets.generated ? /* @__PURE__ */
|
|
6426
|
-
reviewBuckets.skipped ? /* @__PURE__ */
|
|
6427
|
-
reviewBuckets.kept ? /* @__PURE__ */
|
|
6696
|
+
reviewBuckets.generated ? /* @__PURE__ */ jsx14(Row, { label: "Generated with AI", value: `${reviewBuckets.generated}` }) : null,
|
|
6697
|
+
reviewBuckets.skipped ? /* @__PURE__ */ jsx14(Row, { label: "Skipped", value: `${reviewBuckets.skipped}` }) : null,
|
|
6698
|
+
reviewBuckets.kept ? /* @__PURE__ */ jsx14(Row, { label: "Kept as placeholder", value: `${reviewBuckets.kept}` }) : null
|
|
6428
6699
|
] })
|
|
6429
6700
|
] });
|
|
6430
6701
|
}
|
|
@@ -6434,9 +6705,9 @@ function Row({
|
|
|
6434
6705
|
meta
|
|
6435
6706
|
}) {
|
|
6436
6707
|
return /* @__PURE__ */ jsxs7("div", { className: "se-import-row", children: [
|
|
6437
|
-
/* @__PURE__ */
|
|
6438
|
-
/* @__PURE__ */
|
|
6439
|
-
meta && /* @__PURE__ */
|
|
6708
|
+
/* @__PURE__ */ jsx14("span", { children: label }),
|
|
6709
|
+
/* @__PURE__ */ jsx14("strong", { children: value }),
|
|
6710
|
+
meta && /* @__PURE__ */ jsx14("em", { children: meta })
|
|
6440
6711
|
] });
|
|
6441
6712
|
}
|
|
6442
6713
|
function SEImportWizard({
|
|
@@ -7041,7 +7312,7 @@ function SEImportWizard({
|
|
|
7041
7312
|
const activeIndex = visibleSteps.findIndex((item) => item.key === step);
|
|
7042
7313
|
const batchActive = totalOverlaysToImport > 1 && step !== "mode" && step !== "pick" && step !== "connect" && step !== "url";
|
|
7043
7314
|
const currentOverlayName = overlayList?.find((o) => o._id === Array.from(selectedOverlayIds).filter((id) => !overlayQueue.includes(id))[currentOverlayIndex - 1])?.name;
|
|
7044
|
-
return /* @__PURE__ */
|
|
7315
|
+
return /* @__PURE__ */ jsx14("div", { className: "se-import", children: /* @__PURE__ */ jsxs7("div", { className: "se-import__shell", children: [
|
|
7045
7316
|
batchActive && /* @__PURE__ */ jsxs7(
|
|
7046
7317
|
"div",
|
|
7047
7318
|
{
|
|
@@ -7066,7 +7337,7 @@ function SEImportWizard({
|
|
|
7066
7337
|
]
|
|
7067
7338
|
}
|
|
7068
7339
|
),
|
|
7069
|
-
visibleSteps.length > 0 && /* @__PURE__ */
|
|
7340
|
+
visibleSteps.length > 0 && /* @__PURE__ */ jsx14("header", { className: "se-import__header", children: /* @__PURE__ */ jsx14("div", { className: "se-import-stepper", children: visibleSteps.map((item, index) => /* @__PURE__ */ jsxs7(
|
|
7070
7341
|
"div",
|
|
7071
7342
|
{
|
|
7072
7343
|
className: stepClass(
|
|
@@ -7074,15 +7345,15 @@ function SEImportWizard({
|
|
|
7074
7345
|
index === activeIndex
|
|
7075
7346
|
),
|
|
7076
7347
|
children: [
|
|
7077
|
-
/* @__PURE__ */
|
|
7078
|
-
/* @__PURE__ */
|
|
7079
|
-
/* @__PURE__ */
|
|
7348
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-step__label", children: item.label }),
|
|
7349
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-step__line" }),
|
|
7350
|
+
/* @__PURE__ */ jsx14("div", { className: "se-import-step__dot", children: index < activeIndex ? "\u2713" : index + 1 })
|
|
7080
7351
|
]
|
|
7081
7352
|
},
|
|
7082
7353
|
item.key
|
|
7083
7354
|
)) }) }),
|
|
7084
7355
|
/* @__PURE__ */ jsxs7("main", { className: "se-import__content", children: [
|
|
7085
|
-
step === "mode" && /* @__PURE__ */
|
|
7356
|
+
step === "mode" && /* @__PURE__ */ jsx14(
|
|
7086
7357
|
StepModePicker,
|
|
7087
7358
|
{
|
|
7088
7359
|
onChooseJwt: () => {
|
|
@@ -7095,7 +7366,7 @@ function SEImportWizard({
|
|
|
7095
7366
|
}
|
|
7096
7367
|
}
|
|
7097
7368
|
),
|
|
7098
|
-
step === "connect" && /* @__PURE__ */
|
|
7369
|
+
step === "connect" && /* @__PURE__ */ jsx14(
|
|
7099
7370
|
StepConnect,
|
|
7100
7371
|
{
|
|
7101
7372
|
jwt,
|
|
@@ -7111,7 +7382,7 @@ function SEImportWizard({
|
|
|
7111
7382
|
}
|
|
7112
7383
|
}
|
|
7113
7384
|
),
|
|
7114
|
-
step === "pick" && /* @__PURE__ */
|
|
7385
|
+
step === "pick" && /* @__PURE__ */ jsx14(
|
|
7115
7386
|
StepPickOverlay,
|
|
7116
7387
|
{
|
|
7117
7388
|
overlays: overlayList,
|
|
@@ -7124,7 +7395,7 @@ function SEImportWizard({
|
|
|
7124
7395
|
onRetry: () => seClient && void loadOverlayList(seClient)
|
|
7125
7396
|
}
|
|
7126
7397
|
),
|
|
7127
|
-
step === "url" && /* @__PURE__ */
|
|
7398
|
+
step === "url" && /* @__PURE__ */ jsx14(
|
|
7128
7399
|
StepURL,
|
|
7129
7400
|
{
|
|
7130
7401
|
url,
|
|
@@ -7133,8 +7404,8 @@ function SEImportWizard({
|
|
|
7133
7404
|
busy: loading
|
|
7134
7405
|
}
|
|
7135
7406
|
),
|
|
7136
|
-
step === "discovery" && result && /* @__PURE__ */
|
|
7137
|
-
step === "options" && /* @__PURE__ */
|
|
7407
|
+
step === "discovery" && result && /* @__PURE__ */ jsx14(StepDiscovery, { result, assetCount: assetUrls.length }),
|
|
7408
|
+
step === "options" && /* @__PURE__ */ jsx14(
|
|
7138
7409
|
StepOptions,
|
|
7139
7410
|
{
|
|
7140
7411
|
options,
|
|
@@ -7142,7 +7413,7 @@ function SEImportWizard({
|
|
|
7142
7413
|
assetCount: assetUrls.length
|
|
7143
7414
|
}
|
|
7144
7415
|
),
|
|
7145
|
-
step === "mirror" && /* @__PURE__ */
|
|
7416
|
+
step === "mirror" && /* @__PURE__ */ jsx14(
|
|
7146
7417
|
StepMirror,
|
|
7147
7418
|
{
|
|
7148
7419
|
rows: mirrorRows,
|
|
@@ -7150,7 +7421,7 @@ function SEImportWizard({
|
|
|
7150
7421
|
onRetry: retryMirrorRow
|
|
7151
7422
|
}
|
|
7152
7423
|
),
|
|
7153
|
-
step === "review" && currentItem && result && !marketplacePickerOpen && /* @__PURE__ */
|
|
7424
|
+
step === "review" && currentItem && result && !marketplacePickerOpen && /* @__PURE__ */ jsx14(
|
|
7154
7425
|
StepReview,
|
|
7155
7426
|
{
|
|
7156
7427
|
item: currentItem,
|
|
@@ -7179,7 +7450,7 @@ function SEImportWizard({
|
|
|
7179
7450
|
)
|
|
7180
7451
|
}
|
|
7181
7452
|
),
|
|
7182
|
-
step === "review" && currentItem && marketplacePickerOpen && /* @__PURE__ */
|
|
7453
|
+
step === "review" && currentItem && marketplacePickerOpen && /* @__PURE__ */ jsx14("div", { className: panelClass("se-import-panel--wide"), children: /* @__PURE__ */ jsx14(
|
|
7183
7454
|
MarketplacePicker,
|
|
7184
7455
|
{
|
|
7185
7456
|
seWidgetType: currentItem.seWidget.type,
|
|
@@ -7189,7 +7460,7 @@ function SEImportWizard({
|
|
|
7189
7460
|
onCancel: () => setMarketplacePickerOpen(false)
|
|
7190
7461
|
}
|
|
7191
7462
|
) }),
|
|
7192
|
-
step === "confirm" && result && /* @__PURE__ */
|
|
7463
|
+
step === "confirm" && result && /* @__PURE__ */ jsx14(
|
|
7193
7464
|
StepConfirm,
|
|
7194
7465
|
{
|
|
7195
7466
|
result,
|
|
@@ -7200,7 +7471,7 @@ function SEImportWizard({
|
|
|
7200
7471
|
)
|
|
7201
7472
|
] }),
|
|
7202
7473
|
/* @__PURE__ */ jsxs7("footer", { className: "se-import-actions", children: [
|
|
7203
|
-
/* @__PURE__ */
|
|
7474
|
+
/* @__PURE__ */ jsx14(
|
|
7204
7475
|
LSButton,
|
|
7205
7476
|
{
|
|
7206
7477
|
type: "button",
|
|
@@ -7213,7 +7484,7 @@ function SEImportWizard({
|
|
|
7213
7484
|
label: translate("common.cancel", "Cancel")
|
|
7214
7485
|
}
|
|
7215
7486
|
),
|
|
7216
|
-
step !== "mode" && /* @__PURE__ */
|
|
7487
|
+
step !== "mode" && /* @__PURE__ */ jsx14(
|
|
7217
7488
|
LSButton,
|
|
7218
7489
|
{
|
|
7219
7490
|
type: "button",
|
|
@@ -7223,7 +7494,7 @@ function SEImportWizard({
|
|
|
7223
7494
|
label: "Back"
|
|
7224
7495
|
}
|
|
7225
7496
|
),
|
|
7226
|
-
step !== "mode" && /* @__PURE__ */
|
|
7497
|
+
step !== "mode" && /* @__PURE__ */ jsx14(
|
|
7227
7498
|
LSButton,
|
|
7228
7499
|
{
|
|
7229
7500
|
type: "button",
|
|
@@ -7323,6 +7594,14 @@ function importSEBootstrap(bootstrap) {
|
|
|
7323
7594
|
mappings: [],
|
|
7324
7595
|
notes: []
|
|
7325
7596
|
};
|
|
7597
|
+
console.log("[SE-IMPORT] bootstrap received", {
|
|
7598
|
+
overlayId: seOverlay?._id,
|
|
7599
|
+
name: seOverlay?.name,
|
|
7600
|
+
canvas: { width: seOverlay?.settings?.width, height: seOverlay?.settings?.height },
|
|
7601
|
+
widgetCount: widgets.length,
|
|
7602
|
+
widgetTypes: widgets.map((w) => w.type),
|
|
7603
|
+
fullBootstrap: bootstrap
|
|
7604
|
+
});
|
|
7326
7605
|
const importCanvas = {
|
|
7327
7606
|
width: seOverlay?.settings?.width ?? 1920,
|
|
7328
7607
|
height: seOverlay?.settings?.height ?? 1080
|
|
@@ -7447,6 +7726,14 @@ function importSEBootstrap(bootstrap) {
|
|
|
7447
7726
|
layers_count: layers.length,
|
|
7448
7727
|
hasFullSettings: true
|
|
7449
7728
|
};
|
|
7729
|
+
console.log("[SE-IMPORT] import complete", {
|
|
7730
|
+
overlayName: overlay.name,
|
|
7731
|
+
layerCount: overlay.layers_count,
|
|
7732
|
+
coverage,
|
|
7733
|
+
reviewItemCount: reviewItems.length,
|
|
7734
|
+
reviewItems,
|
|
7735
|
+
modules: overlay.settings.modules
|
|
7736
|
+
});
|
|
7450
7737
|
return { overlay, coverage, reviewItems };
|
|
7451
7738
|
} finally {
|
|
7452
7739
|
setImportCanvas(null);
|
|
@@ -7581,6 +7868,7 @@ export {
|
|
|
7581
7868
|
LSCheckbox,
|
|
7582
7869
|
LSCheckboxField,
|
|
7583
7870
|
LSColorPicker,
|
|
7871
|
+
LSDatePicker,
|
|
7584
7872
|
LSFontPicker,
|
|
7585
7873
|
LSInput,
|
|
7586
7874
|
LSMultiSelect,
|