udp-stencil-component-library 25.18.2-beta.6 → 25.18.2-beta.8
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/cjs/index.cjs.js +138 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil-library.cjs.js +1 -1
- package/dist/cjs/udp-forms-renderer.cjs.entry.js +591 -603
- package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-ui.cjs.entry.js +1 -4
- package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js +1 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/comments-crud-utils.js +153 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/comments-crud-utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/repeated-section-utils.js +104 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/repeated-section-utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/{udp-forms-renderer-utils.js → udp-forms-renderer-utils/utils.js} +48 -2
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +187 -310
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.js +13 -13
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandler.js +142 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.js +3 -10
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/IFormSubmissionHandler.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/types.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/udp-utilities/udp-websocket-client/udp-websocket-client.js +137 -0
- package/dist/collection/udp-utilities/udp-websocket-client/udp-websocket-client.js.map +1 -0
- package/dist/components/index.js +138 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/udp-forms-renderer.js +593 -608
- package/dist/components/udp-forms-renderer.js.map +1 -1
- package/dist/components/udp-forms-ui2.js +1 -4
- package/dist/components/udp-forms-ui2.js.map +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/index.js +138 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil-library.js +1 -1
- package/dist/esm/udp-forms-renderer.entry.js +592 -604
- package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
- package/dist/esm/udp-forms-ui.entry.js +1 -4
- package/dist/esm/udp-forms-ui.entry.js.map +1 -1
- package/dist/stencil-library/index.esm.js +1 -1
- package/dist/stencil-library/index.esm.js.map +1 -1
- package/dist/stencil-library/stencil-library.esm.js +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.js.map +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.js +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.js.map +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/comments-crud-utils.d.ts +31 -0
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils/repeated-section-utils.d.ts +17 -0
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/{udp-forms-renderer-utils.d.ts → udp-forms-renderer-utils/utils.d.ts} +4 -0
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +6 -10
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.d.ts +5 -6
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandler.d.ts +42 -0
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-submission-handler/IFormSubmissionHandler.d.ts +44 -5
- package/dist/types/components/forms/udp-forms/udp-forms-utils/types.d.ts +16 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/udp-utilities/udp-websocket-client/udp-websocket-client.d.ts +34 -0
- package/package.json +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.js +0 -264
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.js +0 -63
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.js.map +0 -1
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.d.ts +0 -131
- package/dist/types/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.d.ts +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"udp-forms-ui.entry.js","sources":["src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.css?tag=udp-forms-ui&encapsulation=shadow","src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.tsx"],"sourcesContent":[".background {\n background-color: var(--gray-01);\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.item {\n padding-bottom: var(--spacing-02);\n /* margin-bottom: var(--spacing-05); */\n}\n\n.items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-05);\n padding-top: var(--spacing-02);\n padding-bottom: var(--spacing-02);\n}\n\n.footer {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.submit {\n background-color: var(--primary-color);\n box-sizing: border-box;\n border: none;\n color: white;\n padding: 8px 24px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.3s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n min-width: 48px;\n min-height: 24px;\n /* Default size */\n}\n\n.submit:disabled {\n background-color: var(--gray-05);\n cursor: default;\n}\n\n.submit-card {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/* .form-section-content */\n.form-section-content {\n margin-bottom: var(--spacing-05);\n background-color: white;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-05);\n}\n\n.form-container {\n padding-top: var(--spacing-05);\n padding-bottom: var(--spacing-05);\n min-height: 100px;\n}\n\n.form-section-block {\n margin-bottom: var(--spacing-05);\n}\n\n.form-section-header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: var(--primary-color, #000);\n color: var(--primary-contrast-text, #FFF);\n padding: var(--spacing-04, 16px) var(--spacing-05, 24px);\n align-items: center;\n min-height: var(--spacing-10, 60px);\n}\n\n.form-section-text {\n margin-bottom: var(--spacing-03);\n}\n\n.center-div {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.finish-button {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n/* .header */\n.form-renderer-header {\n padding: var(--spacing-05) var(--spacing-05);\n background-color: var(--primary-color-dark, #000);\n color: var(--primary-contrast-text, #FFF);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.header-content {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-03);\n}\n\n.header-text {\n flex: 1;\n min-width: 0;\n /* Allow text to shrink */\n}\n\n/* Save button visibility - JavaScript controlled */\n.header-save-button {\n display: block;\n /* Always available, component controls its own visibility */\n}\n\n.floating-save-button {\n display: block;\n /* Always available, component controls its own visibility */\n}\n\n.error-banner {\n background-color: #fdecea;\n border: 1px solid #f5c6cb;\n color: #a94442;\n padding: 12px;\n margin-bottom: 12px;\n border-radius: 4px;\n}\n\n\n/*\n * Save button visibility is now controlled by JavaScript-based overlap detection\n * in the udp-save-draft-button component. This provides real-time detection of\n * overlaps with form content, accounting for menu drawers and dynamic layouts.\n *\n * The component automatically switches between floating and inline modes based on\n * actual element positions and available space, not viewport breakpoints.\n */\n\n/* Mobile layout adjustments */\n@media (max-width: 768px) {\n .header-content {\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-02);\n }\n\n .header-text {\n margin-bottom: var(--spacing-02);\n }\n}\n\n/* Small height screens: Always use header button */\n@media (max-height: 600px) {\n .header-save-button {\n display: block;\n }\n\n .floating-save-button {\n display: none;\n }\n}\n\n.auto-save-status {\n margin-top: var(--spacing-02);\n padding: var(--spacing-01) 0;\n font-size: 12px;\n opacity: 0.8;\n}","import { Component, h, Prop, State, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Guid, UdpFormQuestion } from '../../udp-forms-utils/types';\nimport { UdpFormsFieldTypeEnum, UdpFormsSubmissionStatusEnum } from '../../udp-forms-utils/enums';\nimport { fontOverrideMapping, overrideFont } from '../../udp-forms-utils/utils';\nimport { getIconFromName } from '../../../../data-display/icons/iconUtils';\nimport { UdpFormSubmission } from '../../udp-forms-utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../../udp-forms-utils/classes/UdpForm';\n\n\n@Component({\n tag: 'udp-forms-ui',\n styleUrl: 'udp-forms-ui.css',\n shadow: true,\n})\nexport class UdpFormsUi {\n @Prop() udpForm: UdpForm;\n @Prop() currentValues: { [name: string]: any } = {};\n @Prop() udpFormSubmission: UdpFormSubmission\n @Prop() submitSuccessful: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isSaving: boolean = false;\n @Prop() saveErrorMessage: string | null = null;\n @Prop() showAutoSaveStatus: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() handleSubmit: (values: any) => Promise<void>;\n @Prop() handleChange: (values: { [name: string]: any }) => void;\n @Prop() handleSave: (values: { [name: string]: any }) => Promise<void>;\n @Prop() handleAction: (actionId: Guid, params: Object) => void;\n @Prop() handleFinish: () => void;\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }; \n @Prop() isSubmitted: boolean = false;\n @Prop() dynamicSections: any[];\n @Prop() duplicateRepeatableSection: any;\n @Prop() deleteRepeatableSection: any;\n @Prop() isShowManualSaveIcon: boolean = false;\n @Prop() performBackgroundSaveAndUpdateLocalSubmissionState: (values: { [name: string]: any }) => Promise<void>;\n\n @State() showSavedMessage: boolean = false;\n\n @Event() formDirtyChange: EventEmitter<boolean>;\n\n @Element() el: HTMLElement;\n\n\n @State() isDialogOpen: boolean = false;\n @State() dialogAction: () => void;\n @State() dialogMessage: string = 'Are you sure you want to delete this section? This section contains links to follow-up forms. Deleting it will remove those links.';\n \n\n private savedMessageTimeoutId: any;\n\n private titleId: string = 'udp-forms-title';\n private descriptionId: string = 'udp-forms-description';\n\n componentDidLoad() {\n this.overrideStyles();\n }\n\n componentDidUpdate() {\n this.overrideStyles();\n }\n\n disconnectedCallback() {\n // Clean up timeout when component is destroyed\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n }\n\n @Watch('isSaving')\n watchIsSaving(newValue: boolean, oldValue: boolean) {\n console.log('isSaving watcher triggered:', { oldValue, newValue, saveErrorMessage: this.saveErrorMessage });\n\n // When isSaving changes from true to false (save completed successfully)\n if (oldValue === true && newValue === false && !this.saveErrorMessage) {\n console.log('Setting showSavedMessage to true');\n this.showSavedMessage = true;\n\n // Clear any existing timeout\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n\n // Hide the \"Saved\" message after 5 seconds\n this.savedMessageTimeoutId = setTimeout(() => {\n console.log('Hiding saved message after 5 seconds');\n this.showSavedMessage = false;\n }, 5000);\n }\n }\n\n overrideStyles() {\n const shadowRoot = (this as any).el?.shadowRoot;\n shadowRoot?.querySelectorAll('unity-typography').forEach(element => {\n const styleOverride =\n element.id === this.titleId ? this.udpForm?.styleOverrides?.titleText : element.id === this.descriptionId ? this.udpForm?.styleOverrides?.paragraphText : ({} as any);\n\n if (styleOverride?.fontFamily && fontOverrideMapping[styleOverride.fontFamily]) {\n overrideFont(element, fontOverrideMapping[styleOverride.fontFamily]);\n }\n if (styleOverride?.variant) {\n element.setAttribute('variant', styleOverride.variant);\n }\n });\n }\n\n private isSectionContainsFollowUpFormLink(sectionKey: string): boolean {\n const sectionObject = this.udpFormSubmission.data.submissionResponseData[sectionKey]\n\n for (const [_key, questionObject] of Object.entries(sectionObject) as any) {\n if (questionObject?.metadata && questionObject.metadata?.followUpFormSubmissionId) {\n return true;\n }\n }\n\n return false;\n }\n\n render() {\n if (this.isLoading) {\n return (\n <udp-linear-loader />\n );\n }\n\n if (!this.udpForm) {\n return (\n <div class=\"error-banner\">\n <unity-typography variant=\"body2\">Error Loading Form</unity-typography>\n </div>\n );\n }\n\n let questionNumber = 1;\n\n const sectionSet = new Set();\n this.udpForm.formQuestions.forEach(fq => sectionSet.add(fq.section));\n // const orderedSectionNumbers = [...sectionSet].sort((a: number, b: number) => a - b);\n\n const hiddenQuestionTypes = [UdpFormsFieldTypeEnum.Hidden, UdpFormsFieldTypeEnum.Paragraph];\n\n const backgroundOverrides: { backgroundImage?: string | null; backgroundColor?: string | null } = {};\n if (this.udpForm?.styleOverrides?.background?.backgroundImage) {\n // uncomment when we want to allow background images\n //backgroundOverrides.backgroundImage = `url(${this.udpForm?.styleOverrides?.background?.backgroundImage})`;\n } else if (this.udpForm?.styleOverrides?.background?.backgroundColor) {\n backgroundOverrides.backgroundColor = this.udpForm?.styleOverrides?.background?.backgroundColor;\n }\n return (\n <div class={'background'} style={backgroundOverrides}>\n <udp-container maxWidth=\"md\">\n <div class=\"form-container\">\n {!this.submitSuccessful ? (\n \n <stencil-form\n handleSubmit={this.handleSubmit}\n initialValues={this.currentValues}\n handleChange={this.handleChange}\n onDirtyChange={event => this.formDirtyChange.emit(event.detail)}\n >\n {this.readonly && \n (<div class=\"error-banner\">\n <unity-typography variant=\"body2\">View Only Mode. The contents of this form cannot be changed.</unity-typography>\n </div>)}\n <fluent-dialog\n open={this.isDialogOpen}\n message={this.dialogMessage}\n labelOne={'Confirm'}\n labelTwo={'Cancel'}\n actionOne={() => this.dialogAction()}\n actionTwo={() => (this.isDialogOpen = false)}\n />\n {/********** QUESTIONS *********/}\n <div>\n {/* <div class=\"header\" style={this.udpForm?.styleOverrides?.headerBackgroundColor ? { backgroundColor: this.udpForm?.styleOverrides?.headerBackgroundColor } : ''}> */}\n <div class=\"form-section-block\">\n <div\n class=\"form-renderer-header\"\n style={{\n ...(this.udpForm?.styleOverrides?.headerBackgroundColor && {\n backgroundColor: this.udpForm.styleOverrides.headerBackgroundColor,\n }),\n }}\n >\n <unity-typography id={this.titleId} variant={'h6'} color=\"inherit\">\n {this.udpForm.name}\n </unity-typography>\n\n {/* Auto-save status indicator for authenticated users */}\n {this.showAutoSaveStatus && (\n <div class=\"auto-save-status\">\n {/* {this.isSaving && (\n <unity-typography variant=\"body\" color=\"primary\">\n Saving...\n </unity-typography>\n )} */}\n {this.saveErrorMessage && (\n <unity-typography variant=\"body\" color=\"secondary\">\n {this.saveErrorMessage}\n </unity-typography>\n )}\n </div>\n )}\n {this.isShowManualSaveIcon && (\n <udp-save-draft-button\n isVisible={this.isShowManualSaveIcon}\n isSaving={this.isSaving}\n // saveErrorMessage={this.saveErrorMessage}\n showSavedMessage={this.showSavedMessage}\n handleSave={this.handleSave}\n />\n )}\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography id={this.descriptionId} variant={this.udpForm?.styleOverrides?.paragraphText?.variant ?? 'body'} color=\"inherit\">\n {this.udpForm.description}\n </unity-typography>\n </div>\n </div>\n </div>\n </div>\n {/* Save Button - moves between header and floating based on space */}\n {this.dynamicSections.map((section, sIndex) => {\n return (\n <div class=\"form-section-block\">\n <div class=\"form-section-header\">\n <div class=\"form-section-header-title\">\n <unity-typography variant=\"h6\" color=\"inherit\">\n {`${section.title}${section.sectionPositionSuffix > 1 ? ` (${section.sectionPositionSuffix})` : ''}`}\n </unity-typography>\n </div>\n <div class=\"form-section-header-actions\">\n {/* // Only show the add button if the section is repeatable and is the last in the repeat group */}\n {section.sectionProperties.isRepeatable && this.dynamicSections.filter(s => s.id === section.id).length === section.sectionPositionSuffix && !this.readonly && (\n <stencil-icon-button icon={getIconFromName('add')} tooltip=\"Repeat This Section\" onClick={() => this.duplicateRepeatableSection(sIndex)} />\n )}\n {/* // show the delete button if the section is repeatable and not the original section */}\n {!section.isOriginalSection && !this.readonly && (\n <stencil-icon-button \n icon={getIconFromName('subtract')} \n tooltip=\"Delete This Repeated Section\" \n onClick={\n () => {\n // e.stopPropagation();\n if (this.isSectionContainsFollowUpFormLink(`${section.name}_${section.sectionPositionSuffix}`)) {\n this.dialogAction = async () => {\n this.deleteRepeatableSection(sIndex)\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.isDialogOpen = false;\n }; \n } else {\n this.deleteRepeatableSection(sIndex)\n }\n \n this.isDialogOpen = true;\n }} />\n )}\n </div>\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography variant=\"body\" color=\"inherit\">\n {section.sectionText}\n </unity-typography>\n </div>\n\n <div>\n {section.formQuestions.map((question: UdpFormQuestion) => {\n const isHidden = hiddenQuestionTypes.includes(question.fieldTypeId);\n const num: number = questionNumber;\n if (!isHidden) questionNumber++;\n\n const sectionKey = section.sectionPositionSuffix > 1 ? `${section.name}_${section.sectionPositionSuffix}` : `${section.name}`\n\n return (\n <div class=\"item\">\n <udp-question\n styleOverrides={{\n helperText: this.udpForm.styleOverrides?.helperText,\n paragraphText: this.udpForm.styleOverrides?.paragraphText,\n questionText: this.udpForm.styleOverrides?.questionText,\n }}\n question={question}\n questionNumber={num}\n value={this.currentValues?.[sectionKey]?.[question.name]?.value ?? ''}\n disabled={this.disabled}\n readonly={this.readonly}\n key={question.questionIdentifierKey}\n currentValues={this.currentValues}\n clientUserInfo={this.clientUserInfo}\n udpFormSubmission={this.udpFormSubmission}\n />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n );\n })}\n {this.udpFormSubmission?.status != UdpFormsSubmissionStatusEnum.Submitted && ( \n <div class=\"footer\">\n <input\n disabled={this.isLoading || this.disabled || this.readonly}\n type=\"submit\"\n value=\"Submit\"\n class=\"submit\"\n id=\"udpRecord-udp-forms-renderer-Submit\"\n onClick={() => {\n console.log('Submit button clicked');\n // Let the form handle the submit naturally\n }}\n />\n </div>\n )}\n </div>\n </stencil-form>\n ) : (\n //if the form has been submit, display success message with a button to trigger the action associated to the form\n <div class=\"center-div\">\n <udp-ambient-card>\n <div class=\"submit-card\">\n <unity-typography>Thank you for your submission.</unity-typography>\n {/* // No action configured for now. */}\n {/* <div class=\"finish-button\">\n <custom-button onClick={this.handleFinish}>Back</custom-button>\n </div> */}\n </div>\n </udp-ambient-card>\n </div>\n )}\n </div>\n </udp-container>\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"udp-forms-ui.entry.js","sources":["src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.css?tag=udp-forms-ui&encapsulation=shadow","src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.tsx"],"sourcesContent":[".background {\n background-color: var(--gray-01);\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.item {\n padding-bottom: var(--spacing-02);\n /* margin-bottom: var(--spacing-05); */\n}\n\n.items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-05);\n padding-top: var(--spacing-02);\n padding-bottom: var(--spacing-02);\n}\n\n.footer {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.submit {\n background-color: var(--primary-color);\n box-sizing: border-box;\n border: none;\n color: white;\n padding: 8px 24px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.3s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n min-width: 48px;\n min-height: 24px;\n /* Default size */\n}\n\n.submit:disabled {\n background-color: var(--gray-05);\n cursor: default;\n}\n\n.submit-card {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/* .form-section-content */\n.form-section-content {\n margin-bottom: var(--spacing-05);\n background-color: white;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-05);\n}\n\n.form-container {\n padding-top: var(--spacing-05);\n padding-bottom: var(--spacing-05);\n min-height: 100px;\n}\n\n.form-section-block {\n margin-bottom: var(--spacing-05);\n}\n\n.form-section-header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: var(--primary-color, #000);\n color: var(--primary-contrast-text, #FFF);\n padding: var(--spacing-04, 16px) var(--spacing-05, 24px);\n align-items: center;\n min-height: var(--spacing-10, 60px);\n}\n\n.form-section-text {\n margin-bottom: var(--spacing-03);\n}\n\n.center-div {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.finish-button {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n/* .header */\n.form-renderer-header {\n padding: var(--spacing-05) var(--spacing-05);\n background-color: var(--primary-color-dark, #000);\n color: var(--primary-contrast-text, #FFF);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.header-content {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-03);\n}\n\n.header-text {\n flex: 1;\n min-width: 0;\n /* Allow text to shrink */\n}\n\n/* Save button visibility - JavaScript controlled */\n.header-save-button {\n display: block;\n /* Always available, component controls its own visibility */\n}\n\n.floating-save-button {\n display: block;\n /* Always available, component controls its own visibility */\n}\n\n.error-banner {\n background-color: #fdecea;\n border: 1px solid #f5c6cb;\n color: #a94442;\n padding: 12px;\n margin-bottom: 12px;\n border-radius: 4px;\n}\n\n\n/*\n * Save button visibility is now controlled by JavaScript-based overlap detection\n * in the udp-save-draft-button component. This provides real-time detection of\n * overlaps with form content, accounting for menu drawers and dynamic layouts.\n *\n * The component automatically switches between floating and inline modes based on\n * actual element positions and available space, not viewport breakpoints.\n */\n\n/* Mobile layout adjustments */\n@media (max-width: 768px) {\n .header-content {\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-02);\n }\n\n .header-text {\n margin-bottom: var(--spacing-02);\n }\n}\n\n/* Small height screens: Always use header button */\n@media (max-height: 600px) {\n .header-save-button {\n display: block;\n }\n\n .floating-save-button {\n display: none;\n }\n}\n\n.auto-save-status {\n margin-top: var(--spacing-02);\n padding: var(--spacing-01) 0;\n font-size: 12px;\n opacity: 0.8;\n}","import { Component, h, Prop, State, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Guid, UdpFormQuestion } from '../../udp-forms-utils/types';\nimport { UdpFormsFieldTypeEnum, UdpFormsSubmissionStatusEnum } from '../../udp-forms-utils/enums';\nimport { fontOverrideMapping, overrideFont } from '../../udp-forms-utils/utils';\nimport { getIconFromName } from '../../../../data-display/icons/iconUtils';\nimport { UdpFormSubmission } from '../../udp-forms-utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../../udp-forms-utils/classes/UdpForm';\n\n\n@Component({\n tag: 'udp-forms-ui',\n styleUrl: 'udp-forms-ui.css',\n shadow: true,\n})\nexport class UdpFormsUi {\n @Prop() udpForm: UdpForm;\n @Prop() currentValues: { [name: string]: any } = {};\n @Prop() udpFormSubmission: UdpFormSubmission\n @Prop() submitSuccessful: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isSaving: boolean = false;\n @Prop() saveErrorMessage: string | null = null;\n @Prop() showAutoSaveStatus: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() handleSubmit: (values: any) => Promise<void>;\n @Prop() handleChange: (values: { [name: string]: any }) => void;\n @Prop() handleSave: (values: { [name: string]: any }) => Promise<void>;\n @Prop() handleAction: (actionId: Guid, params: Object) => void;\n @Prop() handleFinish: () => void;\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }; \n @Prop() isSubmitted: boolean = false;\n @Prop() dynamicSections: any[];\n @Prop() duplicateRepeatableSection: any;\n @Prop() deleteRepeatableSection: any;\n @Prop() isShowManualSaveIcon: boolean = false;\n @Prop() performBackgroundSaveAndUpdateLocalSubmissionState: (values: { [name: string]: any }) => Promise<void>;\n\n @State() showSavedMessage: boolean = false;\n\n @Event() formDirtyChange: EventEmitter<boolean>;\n\n @Element() el: HTMLElement;\n\n\n @State() isDialogOpen: boolean = false;\n @State() dialogAction: () => void;\n @State() dialogMessage: string = 'Are you sure you want to delete this section? This section contains links to follow-up forms. Deleting it will remove those links.';\n \n\n private savedMessageTimeoutId: any;\n\n private titleId: string = 'udp-forms-title';\n private descriptionId: string = 'udp-forms-description';\n\n componentDidLoad() {\n this.overrideStyles();\n }\n\n componentDidUpdate() {\n this.overrideStyles();\n }\n\n disconnectedCallback() {\n // Clean up timeout when component is destroyed\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n }\n\n @Watch('isSaving')\n watchIsSaving(newValue: boolean, oldValue: boolean) {\n // When isSaving changes from true to false (save completed successfully)\n if (oldValue === true && newValue === false && !this.saveErrorMessage) {\n this.showSavedMessage = true;\n\n // Clear any existing timeout\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n\n // Hide the \"Saved\" message after 5 seconds\n this.savedMessageTimeoutId = setTimeout(() => {\n this.showSavedMessage = false;\n }, 5000);\n }\n }\n\n overrideStyles() {\n const shadowRoot = (this as any).el?.shadowRoot;\n shadowRoot?.querySelectorAll('unity-typography').forEach(element => {\n const styleOverride =\n element.id === this.titleId ? this.udpForm?.styleOverrides?.titleText : element.id === this.descriptionId ? this.udpForm?.styleOverrides?.paragraphText : ({} as any);\n\n if (styleOverride?.fontFamily && fontOverrideMapping[styleOverride.fontFamily]) {\n overrideFont(element, fontOverrideMapping[styleOverride.fontFamily]);\n }\n if (styleOverride?.variant) {\n element.setAttribute('variant', styleOverride.variant);\n }\n });\n }\n\n private isSectionContainsFollowUpFormLink(sectionKey: string): boolean {\n const sectionObject = this.udpFormSubmission.data.submissionResponseData[sectionKey]\n\n for (const [_key, questionObject] of Object.entries(sectionObject) as any) {\n if (questionObject?.metadata && questionObject.metadata?.followUpFormSubmissionId) {\n return true;\n }\n }\n\n return false;\n }\n\n render() {\n if (this.isLoading) {\n return (\n <udp-linear-loader />\n );\n }\n\n if (!this.udpForm) {\n return (\n <div class=\"error-banner\">\n <unity-typography variant=\"body2\">Error Loading Form</unity-typography>\n </div>\n );\n }\n\n let questionNumber = 1;\n\n const sectionSet = new Set();\n this.udpForm.formQuestions.forEach(fq => sectionSet.add(fq.section));\n // const orderedSectionNumbers = [...sectionSet].sort((a: number, b: number) => a - b);\n\n const hiddenQuestionTypes = [UdpFormsFieldTypeEnum.Hidden, UdpFormsFieldTypeEnum.Paragraph];\n\n const backgroundOverrides: { backgroundImage?: string | null; backgroundColor?: string | null } = {};\n if (this.udpForm?.styleOverrides?.background?.backgroundImage) {\n // uncomment when we want to allow background images\n //backgroundOverrides.backgroundImage = `url(${this.udpForm?.styleOverrides?.background?.backgroundImage})`;\n } else if (this.udpForm?.styleOverrides?.background?.backgroundColor) {\n backgroundOverrides.backgroundColor = this.udpForm?.styleOverrides?.background?.backgroundColor;\n }\n return (\n <div class={'background'} style={backgroundOverrides}>\n <udp-container maxWidth=\"md\">\n <div class=\"form-container\">\n {!this.submitSuccessful ? (\n \n <stencil-form\n handleSubmit={this.handleSubmit}\n initialValues={this.currentValues}\n handleChange={this.handleChange}\n onDirtyChange={event => this.formDirtyChange.emit(event.detail)}\n >\n {this.readonly && \n (<div class=\"error-banner\">\n <unity-typography variant=\"body2\">View Only Mode. The contents of this form cannot be changed.</unity-typography>\n </div>)}\n <fluent-dialog\n open={this.isDialogOpen}\n message={this.dialogMessage}\n labelOne={'Confirm'}\n labelTwo={'Cancel'}\n actionOne={() => this.dialogAction()}\n actionTwo={() => (this.isDialogOpen = false)}\n />\n {/********** QUESTIONS *********/}\n <div>\n {/* <div class=\"header\" style={this.udpForm?.styleOverrides?.headerBackgroundColor ? { backgroundColor: this.udpForm?.styleOverrides?.headerBackgroundColor } : ''}> */}\n <div class=\"form-section-block\">\n <div\n class=\"form-renderer-header\"\n style={{\n ...(this.udpForm?.styleOverrides?.headerBackgroundColor && {\n backgroundColor: this.udpForm.styleOverrides.headerBackgroundColor,\n }),\n }}\n >\n <unity-typography id={this.titleId} variant={'h6'} color=\"inherit\">\n {this.udpForm.name}\n </unity-typography>\n\n {/* Auto-save status indicator for authenticated users */}\n {this.showAutoSaveStatus && (\n <div class=\"auto-save-status\">\n {/* {this.isSaving && (\n <unity-typography variant=\"body\" color=\"primary\">\n Saving...\n </unity-typography>\n )} */}\n {this.saveErrorMessage && (\n <unity-typography variant=\"body\" color=\"secondary\">\n {this.saveErrorMessage}\n </unity-typography>\n )}\n </div>\n )}\n {this.isShowManualSaveIcon && (\n <udp-save-draft-button\n isVisible={this.isShowManualSaveIcon}\n isSaving={this.isSaving}\n // saveErrorMessage={this.saveErrorMessage}\n showSavedMessage={this.showSavedMessage}\n handleSave={this.handleSave}\n />\n )}\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography id={this.descriptionId} variant={this.udpForm?.styleOverrides?.paragraphText?.variant ?? 'body'} color=\"inherit\">\n {this.udpForm.description}\n </unity-typography>\n </div>\n </div>\n </div>\n </div>\n {/* Save Button - moves between header and floating based on space */}\n {this.dynamicSections.map((section, sIndex) => {\n return (\n <div class=\"form-section-block\">\n <div class=\"form-section-header\">\n <div class=\"form-section-header-title\">\n <unity-typography variant=\"h6\" color=\"inherit\">\n {`${section.title}${section.sectionPositionSuffix > 1 ? ` (${section.sectionPositionSuffix})` : ''}`}\n </unity-typography>\n </div>\n <div class=\"form-section-header-actions\">\n {/* // Only show the add button if the section is repeatable and is the last in the repeat group */}\n {section.sectionProperties.isRepeatable && this.dynamicSections.filter(s => s.id === section.id).length === section.sectionPositionSuffix && !this.readonly && (\n <stencil-icon-button icon={getIconFromName('add')} tooltip=\"Repeat This Section\" onClick={() => this.duplicateRepeatableSection(sIndex)} />\n )}\n {/* // show the delete button if the section is repeatable and not the original section */}\n {!section.isOriginalSection && !this.readonly && (\n <stencil-icon-button \n icon={getIconFromName('subtract')} \n tooltip=\"Delete This Repeated Section\" \n onClick={\n () => {\n // e.stopPropagation();\n if (this.isSectionContainsFollowUpFormLink(`${section.name}_${section.sectionPositionSuffix}`)) {\n this.dialogAction = async () => {\n this.deleteRepeatableSection(sIndex)\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.isDialogOpen = false;\n }; \n } else {\n this.deleteRepeatableSection(sIndex)\n }\n \n this.isDialogOpen = true;\n }} />\n )}\n </div>\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography variant=\"body\" color=\"inherit\">\n {section.sectionText}\n </unity-typography>\n </div>\n\n <div>\n {section.formQuestions.map((question: UdpFormQuestion) => {\n const isHidden = hiddenQuestionTypes.includes(question.fieldTypeId);\n const num: number = questionNumber;\n if (!isHidden) questionNumber++;\n\n const sectionKey = section.sectionPositionSuffix > 1 ? `${section.name}_${section.sectionPositionSuffix}` : `${section.name}`\n\n return (\n <div class=\"item\">\n <udp-question\n styleOverrides={{\n helperText: this.udpForm.styleOverrides?.helperText,\n paragraphText: this.udpForm.styleOverrides?.paragraphText,\n questionText: this.udpForm.styleOverrides?.questionText,\n }}\n question={question}\n questionNumber={num}\n value={this.currentValues?.[sectionKey]?.[question.name]?.value ?? ''}\n disabled={this.disabled}\n readonly={this.readonly}\n key={question.questionIdentifierKey}\n currentValues={this.currentValues}\n clientUserInfo={this.clientUserInfo}\n udpFormSubmission={this.udpFormSubmission}\n />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n );\n })}\n {this.udpFormSubmission?.status != UdpFormsSubmissionStatusEnum.Submitted && ( \n <div class=\"footer\">\n <input\n disabled={this.isLoading || this.disabled || this.readonly}\n type=\"submit\"\n value=\"Submit\"\n class=\"submit\"\n id=\"udpRecord-udp-forms-renderer-Submit\"\n onClick={() => {\n // console.log('Submit button clicked');\n // Let the form handle the submit naturally\n }}\n />\n </div>\n )}\n </div>\n </stencil-form>\n ) : (\n //if the form has been submit, display success message with a button to trigger the action associated to the form\n <div class=\"center-div\">\n <udp-ambient-card>\n <div class=\"submit-card\">\n <unity-typography>Thank you for your submission.</unity-typography>\n {/* // No action configured for now. */}\n {/* <div class=\"finish-button\">\n <custom-button onClick={this.handleFinish}>Back</custom-button>\n </div> */}\n </div>\n </udp-ambient-card>\n </div>\n )}\n </div>\n </udp-container>\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"axios";export{c as convertToAgGridColumns,a as createStructuredQuery,d as defaultPayload,b as demoMSSearchData,t as transformSearchData}from"./transformSearchData-DBjFnXu6.js";export{l as loadCatalogData,o as onChange,s as state}from"./catalog-store-BhgNAUY6.js";export{L as LogicalSearchOperator,S as SearchBuilder,b as SearchGroupingType,a as SearchUtilities,c as SqlFilterOperators}from"./SearchBuilder-CvKqGlUH.js";export{C as ConfigService}from"./configService-BqLfkVKh.js";import"@stencil/store";import"./apiUtils-cUHs50y0.js";import"deep-equal";import"./makeApiCall-B-daVutk.js";import"./tenantUtils-Basdb1b1.js";const
|
|
1
|
+
import e from"axios";export{c as convertToAgGridColumns,a as createStructuredQuery,d as defaultPayload,b as demoMSSearchData,t as transformSearchData}from"./transformSearchData-DBjFnXu6.js";export{l as loadCatalogData,o as onChange,s as state}from"./catalog-store-BhgNAUY6.js";export{L as LogicalSearchOperator,S as SearchBuilder,b as SearchGroupingType,a as SearchUtilities,c as SqlFilterOperators}from"./SearchBuilder-CvKqGlUH.js";export{C as ConfigService}from"./configService-BqLfkVKh.js";import"@stencil/store";import"./apiUtils-cUHs50y0.js";import"deep-equal";import"./makeApiCall-B-daVutk.js";import"./tenantUtils-Basdb1b1.js";const i=(t,e)=>{const i=(e===null||e===void 0?void 0:e.headers)?Object.assign({},e.headers):{};i.currentTenantId=t;return Object.assign(Object.assign({},e),{headers:i})};const r=async(t,i,s,o)=>{const r={url:`${t}/${i}`};return e(Object.assign(Object.assign(Object.assign({},r),s),o))};function n(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const h={xs:`(max-width: ${n("--breakpoint-xs-max")}px)`,sm:`(min-width: ${n("--breakpoint-sm-min")}px) and (max-width: ${n("--breakpoint-sm-max")}px)`,md:`(min-width: ${n("--breakpoint-md-min")}px) and (max-width: ${n("--breakpoint-md-max")}px)`,lg:`(min-width: ${n("--breakpoint-lg-min")}px) and (max-width: ${n("--breakpoint-lg-max")}px)`,xl:`(min-width: ${n("--breakpoint-xl-min")}px)`};function p(t){if(typeof window==="undefined")return false;const e=h[t];const i=window.matchMedia(e);return i.matches}class m{get isConnected(){var t;return((t=this.socket)===null||t===void 0?void 0:t.readyState)===WebSocket.OPEN}async connect(t,e,i=0,s=0){var o;if(!this.isWssUrl(t)){throw new Error("Invalid WebSocket URL. Only ws and wss protocols are supported.")}const r=await e();if(r){this.socket=new WebSocket(t,r)}else{this.socket=new WebSocket(t)}await new Promise(((t,e)=>{const i=()=>{this.socket.removeEventListener("open",i);this.socket.removeEventListener("error",s);t()};const s=t=>{this.socket.removeEventListener("open",i);this.socket.removeEventListener("error",s);e(t)};this.socket.addEventListener("open",i);this.socket.addEventListener("error",s)}));(o=this.openHandler)===null||o===void 0?void 0:o.call(this);this.socket.onmessage=t=>this.handleMessage(t);this.socket.onclose=t=>this.handleClose(t);this.socket.onerror=t=>this.handleError(t);if(i&&s){this.startKeepAliveTimer(i,s)}}onMessageReceived(t){this.messageReceivedHandler=t;return this}onOpen(t){this.openHandler=t;return this}onClose(t){this.closeHandler=t;return this}onError(t){this.errorHandler=t;return this}send(t){if(!this.isConnected){throw new Error("WebSocket is not connected.")}const e=JSON.stringify(t);this.socket.send(e)}close(){if(this.socket){this.socket.close();this.stopKeepAliveTimer();this.socket=undefined}}handleMessage(t){var e;try{const i=JSON.parse(t.data);(e=this.messageReceivedHandler)===null||e===void 0?void 0:e.call(this,i)}catch(t){console.error("Invalid UdpWebSocketMessage received:",t)}}handleClose(t){var e;(e=this.closeHandler)===null||e===void 0?void 0:e.call(this,t);this.close()}handleError(t){var e;(e=this.errorHandler)===null||e===void 0?void 0:e.call(this,t);console.error("UdpWebSocket error:",t)}startKeepAliveTimer(t,e){this.stopKeepAliveTimer();this.keepAliveIntervalId=window.setInterval((()=>{this.sendKeepAlivePing()}),t);this.keepAliveTimeoutId=window.setTimeout((()=>{this.close()}),e)}stopKeepAliveTimer(){if(this.keepAliveIntervalId)clearInterval(this.keepAliveIntervalId);if(this.keepAliveTimeoutId)clearTimeout(this.keepAliveTimeoutId);this.keepAliveIntervalId=undefined;this.keepAliveTimeoutId=undefined}sendKeepAlivePing(){const t={headers:{type:"KeepAlive",timestamp:Date.now()}};try{this.send(t)}catch(t){console.error("KeepAlive ping failed to send:",t)}}isWssUrl(t){return/^wss?:\/\//.test(t)}}m.DEFAULT_KEEPALIVE_INTERVAL_MS=3e4;m.DEFAULT_KEEPALIVE_TIMEOUT_MS=60*60*1e3;export{m as UdpWebSocketClient,r as apiMutate,i as getMergedConfig,p as useMatchBreakpoint};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["src/udp-utilities/api-udp/apiMutate.ts","src/udp-utilities/layout/breakpoints/breakpoints.ts","src/udp-utilities/layout/breakpoints/useMatchBreakpoint.ts"],"sourcesContent":["\nimport Axios from 'axios';\n\n/**\n * @deprecated This component is deprecated and will be removed in a future version.\n * Use 'makeApiCall' instead\n */\n\ninterface Config {\n headers?: {\n [key: string]: string;\n };\n [key: string]: any;\n }\n\n\n// export const getAccessToken = async () => {\n// return 'eyJhbGciOiJSUzI1NiIsImtpZCI6Ik1Bc2V1MXplcmJDaVA0cW5UNUtkRlFjaFNpTHpiVDJieFdCVVBVXzYtNGMiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI5YzI0MTNiZS1hNTZiLTQ5NzAtOWVmMC0wZTNmMDI4Y2E1YWEiLCJlbWFpbCI6ImdyZWdvcnlAcmVkd2Vya3Mub3JnIiwibmFtZSI6IkdyZWdvcnkgVGhvbWFzIiwiZ2l2ZW5fbmFtZSI6IkdyZWdvcnkiLCJmYW1pbHlfbmFtZSI6IlRob21hcyIsInVuaXR5VXNlcklkIjoiOGZlM2I1Y2UtNmE5NC00ZmY0LWIzNWMtYmUyNTk2ZWExMzgwIiwidGVuYW50c0xpc3QiOiJbe1wiVGVuYW50SWRcIjpcImY4NmE5YjdjLWJhYjAtNDI4MS04OWEyLTUyYjRjYWY4OWZhYlwiLFwiVGVuYW50TmFtZVwiOlwiVW5pdmVydXMgU29mdHdhcmUgSW5jXCIsXCJQcm9kdWN0c1wiOlszNiwzNywzNCwzNSwxLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMiw0MSw1Ml0sXCJSb2xlc1wiOltcIjYyMzRiNzQwLWIyNmYtNDE4MS05Yjk1LTRjNDA2MzQ1MzhjMVwiXX0se1wiVGVuYW50SWRcIjpcIjk4ZjUwYTUxLTdjNjEtNDMxMC1iNWI0LTNhOWZlMDJjODEyM1wiLFwiVGVuYW50TmFtZVwiOlwiU21hcnRHcmlkQ0lTXCIsXCJQcm9kdWN0c1wiOlsxLDMsNCw1LDQxLDYsOCw3LDksMTEsMTAsMTUsMTYsMTQsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMTMsMTIsMjgsMjksMjcsMzBdLFwiUm9sZXNcIjpbXCI2MjM0Yjc0MC1iMjZmLTQxODEtOWI5NS00YzQwNjM0NTM4YzFcIl19XSIsInRpZCI6IjIxODg2NTI4LTM2MDItNGJmMi1hMzZiLTI5YjFkMTUyZTExYiIsImlzRm9yZ290UGFzc3dvcmQiOmZhbHNlLCJub25jZSI6IjQ3NDdkMTJhLWEzMGItNDRlMC1iNDllLTVmYmY0YjZhOTdmNiIsInNjcCI6ImFwaV9hY2Nlc3MiLCJhenAiOiJmYzUxNGZkOC01NGIzLTRmYWItYmRjOC1hZTdkY2Q4YzY1NzUiLCJ2ZXIiOiIxLjAiLCJpYXQiOjE2OTYzNTMzMTMsImF1ZCI6IjNmOTY2NDFmLTk0NDItNDUzMi1iNWJiLTdkYmM5Y2EzZjNhNSIsImV4cCI6MTY5NjM1NjkxMywiaXNzIjoiaHR0cHM6Ly91bml2ZXJ1c3VuaXR5ZGV2LmIyY2xvZ2luLmNvbS8yMTg4NjUyOC0zNjAyLTRiZjItYTM2Yi0yOWIxZDE1MmUxMWIvdjIuMC8iLCJuYmYiOjE2OTYzNTMzMTN9.Xcp8JSrF9mT3O3DSdqYmGRSAjo5Km4-XkLUDEuk3fXJnAPPF7vKtApSvA65iAlhqtyB4JY6idDrzWG5zgpyEvpTvc6Kvj6RjHXEkqMmsY6H1nFxAsIvfL72Sl8U4lBD9c4MOO1r5itfjsPkdZhV7ZtQi9xbFO0KTZmtLpET0hC0e8DA61uKAq2R5olfXi8pJThJGRRWleWFXwyatyjXIOfRpvuTfE5ls1zYSo62_7_FXOVAyAf-CrDLZFga8QYd4y5oncUAkbP4Lja0jDkHvvJhBRz67FePcWhJWo_6ofqGLRFBpFneduwgVgDMf6RY5mJa-5dlwDWE8YTqcuNMmlg'\n// };\n\n// export const getMergedConfig = (accessToken: string | null, config?: Config): Config => {\n// const headers = config?.headers ? { ...config.headers } : {};\n\n// headers.currentTenantId = headers.currentTenantId || \"f86a9b7c-bab0-4281-89a2-52b4caf89fab\"; // Your currentTenantId\n// if (accessToken) headers.Authorization = headers.Authorization || `Bearer ${accessToken}`;\n\n// return { ...config, headers };\n// };\n\n\n// export const apiMutate = async (\n// baseURL: string,\n// url: string,\n// config: Config,\n// data: any,\n// accessToken: string | null\n// ) => {\n// const fullURL = { url: `${baseURL}/${url}` };\n// const mergedConfig = getMergedConfig(accessToken, config);\n// return Axios({ ...fullURL, ...mergedConfig, ...data });\n// };\n\n\nexport const getMergedConfig = (tenantId: string, config?: Config): Config => {\n const headers = config?.headers ? { ...config.headers } : {};\n headers.currentTenantId = tenantId;\n //if (accessToken) headers.Authorization = headers.Authorization || `Bearer ${accessToken}`;\n\n return { ...config, headers };\n};\n\n// export const apiMutate = async (\n// baseURL: string,\n// url: string,\n// config: Config,\n// data: any,\n// accessToken: string | null,\n// tenantId: string // New tenantId parameter\n// ) => {\n// const fullURL = { url: `${baseURL}/${url}` };\n// const mergedConfig = getMergedConfig(tenantId, accessToken, config); // Pass the tenantId\n// return Axios({ ...fullURL, ...mergedConfig, ...data });\n// };\n\nexport const apiMutate = async (\n baseURL: string,\n url: string,\n config: Config,\n data: any\n) => {\n const fullURL = { url: `${baseURL}/${url}` };\n return Axios({ ...fullURL, ...config, ...data });\n};\n\n\n","// Helper function to get the value of a CSS variable from the :root\nfunction getCssVariableValue(variable) {\n return getComputedStyle(document.documentElement).getPropertyValue(variable);\n}\n\nexport const breakpoints = {\n xs: `(max-width: ${getCssVariableValue('--breakpoint-xs-max')}px)`,\n sm: `(min-width: ${getCssVariableValue('--breakpoint-sm-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-sm-max')}px)`,\n md: `(min-width: ${getCssVariableValue('--breakpoint-md-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-md-max')}px)`,\n lg: `(min-width: ${getCssVariableValue('--breakpoint-lg-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-lg-max')}px)`,\n xl: `(min-width: ${getCssVariableValue('--breakpoint-xl-min')}px)`,\n};\n\n\n\n\n// export const breakpoints = {\n// xs: '(max-width: 599px)',\n// sm: '(min-width: 600px) and (max-width: 959px)',\n// md: '(min-width: 960px) and (max-width: 1279px)',\n// lg: '(min-width: 1280px) and (max-width: 1919px)',\n// xl: '(min-width: 1920px)',\n// };\n ","import { breakpoints } from './breakpoints';\n\nexport function useMatchBreakpoint(breakpointKey: keyof typeof breakpoints): boolean {\n if (typeof window === 'undefined') return false; // SSR or build-time rendering\n\n const query = breakpoints[breakpointKey];\n const mediaQueryList = window.matchMedia(query);\n return mediaQueryList.matches;\n}\n"],"names":["Axios"],"mappings":";;;;;;;;;;;AAgBA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAGa,eAAe,GAAG,CAAC,QAAgB,EAAE,MAAe,KAAY;AAC3E,IAAA,MAAM,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,OAAO,IAAE,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAC,OAAO,IAAK,EAAE;AAC5D,IAAA,OAAO,CAAC,eAAe,GAAG,QAAQ;;AAGlC,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,OAAO,EAAG,CAAA;AAChC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,SAAS,GAAG,OACvB,OAAe,EACf,GAAW,EACX,MAAc,EACd,IAAS,KACP;IACF,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAG,EAAA,OAAO,CAAI,CAAA,EAAA,GAAG,CAAE,CAAA,EAAE;IAC5C,OAAOA,KAAK,+CAAM,OAAO,CAAA,EAAK,MAAM,CAAK,EAAA,IAAI,EAAG;AAClD;;ACxEA;AACA,SAAS,mBAAmB,CAAC,QAAQ,EAAA;IACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC9E;AAEO,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,CAAe,YAAA,EAAA,mBAAmB,CAAC,qBAAqB,CAAC,CAAK,GAAA,CAAA;IAClE,EAAE,EAAE,CAAe,YAAA,EAAA,mBAAmB,CAAC,qBAAqB,CAAC,CAAA,oBAAA,EAAuB,mBAAmB,CAAC,qBAAqB,CAAC,CAAK,GAAA,CAAA;IACnI,EAAE,EAAE,CAAe,YAAA,EAAA,mBAAmB,CAAC,qBAAqB,CAAC,CAAA,oBAAA,EAAuB,mBAAmB,CAAC,qBAAqB,CAAC,CAAK,GAAA,CAAA;IACnI,EAAE,EAAE,CAAe,YAAA,EAAA,mBAAmB,CAAC,qBAAqB,CAAC,CAAA,oBAAA,EAAuB,mBAAmB,CAAC,qBAAqB,CAAC,CAAK,GAAA,CAAA;AACnI,IAAA,EAAE,EAAE,CAAe,YAAA,EAAA,mBAAmB,CAAC,qBAAqB,CAAC,CAAK,GAAA,CAAA;CACnE;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBM,SAAU,kBAAkB,CAAC,aAAuC,EAAA;IACxE,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;AAEhD,IAAA,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IACxC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/C,OAAO,cAAc,CAAC,OAAO;AAC/B;;;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["src/udp-utilities/api-udp/apiMutate.ts","src/udp-utilities/layout/breakpoints/breakpoints.ts","src/udp-utilities/layout/breakpoints/useMatchBreakpoint.ts","src/udp-utilities/udp-websocket-client/udp-websocket-client.ts"],"sourcesContent":["\nimport Axios from 'axios';\n\n/**\n * @deprecated This component is deprecated and will be removed in a future version.\n * Use 'makeApiCall' instead\n */\n\ninterface Config {\n headers?: {\n [key: string]: string;\n };\n [key: string]: any;\n }\n\n\n// export const getAccessToken = async () => {\n// return 'eyJhbGciOiJSUzI1NiIsImtpZCI6Ik1Bc2V1MXplcmJDaVA0cW5UNUtkRlFjaFNpTHpiVDJieFdCVVBVXzYtNGMiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI5YzI0MTNiZS1hNTZiLTQ5NzAtOWVmMC0wZTNmMDI4Y2E1YWEiLCJlbWFpbCI6ImdyZWdvcnlAcmVkd2Vya3Mub3JnIiwibmFtZSI6IkdyZWdvcnkgVGhvbWFzIiwiZ2l2ZW5fbmFtZSI6IkdyZWdvcnkiLCJmYW1pbHlfbmFtZSI6IlRob21hcyIsInVuaXR5VXNlcklkIjoiOGZlM2I1Y2UtNmE5NC00ZmY0LWIzNWMtYmUyNTk2ZWExMzgwIiwidGVuYW50c0xpc3QiOiJbe1wiVGVuYW50SWRcIjpcImY4NmE5YjdjLWJhYjAtNDI4MS04OWEyLTUyYjRjYWY4OWZhYlwiLFwiVGVuYW50TmFtZVwiOlwiVW5pdmVydXMgU29mdHdhcmUgSW5jXCIsXCJQcm9kdWN0c1wiOlszNiwzNywzNCwzNSwxLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMiw0MSw1Ml0sXCJSb2xlc1wiOltcIjYyMzRiNzQwLWIyNmYtNDE4MS05Yjk1LTRjNDA2MzQ1MzhjMVwiXX0se1wiVGVuYW50SWRcIjpcIjk4ZjUwYTUxLTdjNjEtNDMxMC1iNWI0LTNhOWZlMDJjODEyM1wiLFwiVGVuYW50TmFtZVwiOlwiU21hcnRHcmlkQ0lTXCIsXCJQcm9kdWN0c1wiOlsxLDMsNCw1LDQxLDYsOCw3LDksMTEsMTAsMTUsMTYsMTQsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMTMsMTIsMjgsMjksMjcsMzBdLFwiUm9sZXNcIjpbXCI2MjM0Yjc0MC1iMjZmLTQxODEtOWI5NS00YzQwNjM0NTM4YzFcIl19XSIsInRpZCI6IjIxODg2NTI4LTM2MDItNGJmMi1hMzZiLTI5YjFkMTUyZTExYiIsImlzRm9yZ290UGFzc3dvcmQiOmZhbHNlLCJub25jZSI6IjQ3NDdkMTJhLWEzMGItNDRlMC1iNDllLTVmYmY0YjZhOTdmNiIsInNjcCI6ImFwaV9hY2Nlc3MiLCJhenAiOiJmYzUxNGZkOC01NGIzLTRmYWItYmRjOC1hZTdkY2Q4YzY1NzUiLCJ2ZXIiOiIxLjAiLCJpYXQiOjE2OTYzNTMzMTMsImF1ZCI6IjNmOTY2NDFmLTk0NDItNDUzMi1iNWJiLTdkYmM5Y2EzZjNhNSIsImV4cCI6MTY5NjM1NjkxMywiaXNzIjoiaHR0cHM6Ly91bml2ZXJ1c3VuaXR5ZGV2LmIyY2xvZ2luLmNvbS8yMTg4NjUyOC0zNjAyLTRiZjItYTM2Yi0yOWIxZDE1MmUxMWIvdjIuMC8iLCJuYmYiOjE2OTYzNTMzMTN9.Xcp8JSrF9mT3O3DSdqYmGRSAjo5Km4-XkLUDEuk3fXJnAPPF7vKtApSvA65iAlhqtyB4JY6idDrzWG5zgpyEvpTvc6Kvj6RjHXEkqMmsY6H1nFxAsIvfL72Sl8U4lBD9c4MOO1r5itfjsPkdZhV7ZtQi9xbFO0KTZmtLpET0hC0e8DA61uKAq2R5olfXi8pJThJGRRWleWFXwyatyjXIOfRpvuTfE5ls1zYSo62_7_FXOVAyAf-CrDLZFga8QYd4y5oncUAkbP4Lja0jDkHvvJhBRz67FePcWhJWo_6ofqGLRFBpFneduwgVgDMf6RY5mJa-5dlwDWE8YTqcuNMmlg'\n// };\n\n// export const getMergedConfig = (accessToken: string | null, config?: Config): Config => {\n// const headers = config?.headers ? { ...config.headers } : {};\n\n// headers.currentTenantId = headers.currentTenantId || \"f86a9b7c-bab0-4281-89a2-52b4caf89fab\"; // Your currentTenantId\n// if (accessToken) headers.Authorization = headers.Authorization || `Bearer ${accessToken}`;\n\n// return { ...config, headers };\n// };\n\n\n// export const apiMutate = async (\n// baseURL: string,\n// url: string,\n// config: Config,\n// data: any,\n// accessToken: string | null\n// ) => {\n// const fullURL = { url: `${baseURL}/${url}` };\n// const mergedConfig = getMergedConfig(accessToken, config);\n// return Axios({ ...fullURL, ...mergedConfig, ...data });\n// };\n\n\nexport const getMergedConfig = (tenantId: string, config?: Config): Config => {\n const headers = config?.headers ? { ...config.headers } : {};\n headers.currentTenantId = tenantId;\n //if (accessToken) headers.Authorization = headers.Authorization || `Bearer ${accessToken}`;\n\n return { ...config, headers };\n};\n\n// export const apiMutate = async (\n// baseURL: string,\n// url: string,\n// config: Config,\n// data: any,\n// accessToken: string | null,\n// tenantId: string // New tenantId parameter\n// ) => {\n// const fullURL = { url: `${baseURL}/${url}` };\n// const mergedConfig = getMergedConfig(tenantId, accessToken, config); // Pass the tenantId\n// return Axios({ ...fullURL, ...mergedConfig, ...data });\n// };\n\nexport const apiMutate = async (\n baseURL: string,\n url: string,\n config: Config,\n data: any\n) => {\n const fullURL = { url: `${baseURL}/${url}` };\n return Axios({ ...fullURL, ...config, ...data });\n};\n\n\n","// Helper function to get the value of a CSS variable from the :root\nfunction getCssVariableValue(variable) {\n return getComputedStyle(document.documentElement).getPropertyValue(variable);\n}\n\nexport const breakpoints = {\n xs: `(max-width: ${getCssVariableValue('--breakpoint-xs-max')}px)`,\n sm: `(min-width: ${getCssVariableValue('--breakpoint-sm-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-sm-max')}px)`,\n md: `(min-width: ${getCssVariableValue('--breakpoint-md-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-md-max')}px)`,\n lg: `(min-width: ${getCssVariableValue('--breakpoint-lg-min')}px) and (max-width: ${getCssVariableValue('--breakpoint-lg-max')}px)`,\n xl: `(min-width: ${getCssVariableValue('--breakpoint-xl-min')}px)`,\n};\n\n\n\n\n// export const breakpoints = {\n// xs: '(max-width: 599px)',\n// sm: '(min-width: 600px) and (max-width: 959px)',\n// md: '(min-width: 960px) and (max-width: 1279px)',\n// lg: '(min-width: 1280px) and (max-width: 1919px)',\n// xl: '(min-width: 1920px)',\n// };\n ","import { breakpoints } from './breakpoints';\n\nexport function useMatchBreakpoint(breakpointKey: keyof typeof breakpoints): boolean {\n if (typeof window === 'undefined') return false; // SSR or build-time rendering\n\n const query = breakpoints[breakpointKey];\n const mediaQueryList = window.matchMedia(query);\n return mediaQueryList.matches;\n}\n","export interface UdpWebSocketMessage {\n headers?: Record<string, any>;\n body?: any;\n}\n\nexport type UdpWsReceiveHandler = (msg: UdpWebSocketMessage) => void | Promise<void>;\nexport type UdpWsCloseHandler = (e: CloseEvent) => void | Promise<void>;\nexport type UdpWsErrorHandler = (e: Event) => void | Promise<void>;\nexport type UdpWsOpenHandler = () => void | Promise<void>;\n\nexport class UdpWebSocketClient {\n public static readonly DEFAULT_KEEPALIVE_INTERVAL_MS = 30_000; // 30 sec\n public static readonly DEFAULT_KEEPALIVE_TIMEOUT_MS = 60 * 60 * 1000; // 60 min\n\n private socket?: WebSocket;\n private keepAliveIntervalId?: number;\n private keepAliveTimeoutId?: number;\n\n private messageReceivedHandler?: UdpWsReceiveHandler;\n private closeHandler?: UdpWsCloseHandler\n private errorHandler?: UdpWsErrorHandler;\n private openHandler?: UdpWsOpenHandler;\n\n public get isConnected(): boolean {\n return this.socket?.readyState === WebSocket.OPEN;\n }\n\n public async connect(\n url: string,\n getAccessToken: () => Promise<string | void>,\n keepAliveIntervalMs: number = 0,\n keepAliveTimeoutMs: number = 0\n ) {\n if (!this.isWssUrl(url)) {\n throw new Error(\"Invalid WebSocket URL. Only ws and wss protocols are supported.\");\n }\n\n const accessToken = await getAccessToken();\n\n if (accessToken) {\n // Browsers don't support setting headers manually, they only allow setting the `Sec-WebSocket-Protocol` header (secondary protocol header)\n this.socket = new WebSocket(url, accessToken);\n } else {\n this.socket = new WebSocket(url);\n }\n\n // Wait for the socket to open or error\n await new Promise<void>((resolve, reject) => {\n const onOpen = () => {\n this.socket!.removeEventListener('open', onOpen);\n this.socket!.removeEventListener('error', onError);\n resolve();\n };\n\n const onError = (e: Event) => {\n this.socket!.removeEventListener('open', onOpen);\n this.socket!.removeEventListener('error', onError);\n reject(e);\n };\n\n this.socket!.addEventListener('open', onOpen);\n this.socket!.addEventListener('error', onError);\n });\n\n // Socket is now open, call the openHandler\n this.openHandler?.();\n\n // Assign socket events\n this.socket.onmessage = (e) => this.handleMessage(e);\n this.socket.onclose = (e) => this.handleClose(e);\n this.socket.onerror = (e) => this.handleError(e);\n\n // Start keepAliveTimer if configured\n if (keepAliveIntervalMs && keepAliveTimeoutMs) {\n this.startKeepAliveTimer(keepAliveIntervalMs, keepAliveTimeoutMs);\n }\n }\n\n public onMessageReceived(handler: UdpWsReceiveHandler) {\n this.messageReceivedHandler = handler;\n return this;\n }\n\n public onOpen(handler: UdpWsOpenHandler) {\n this.openHandler = handler;\n return this;\n }\n\n public onClose(handler: UdpWsCloseHandler) {\n this.closeHandler = handler;\n return this;\n }\n\n public onError(handler: UdpWsErrorHandler) {\n this.errorHandler = handler;\n return this;\n }\n\n public send(message: UdpWebSocketMessage) {\n if (!this.isConnected) {\n throw new Error(\"WebSocket is not connected.\");\n }\n\n const json = JSON.stringify(message);\n this.socket!.send(json);\n }\n\n public close() {\n if (this.socket) {\n this.socket.close();\n this.stopKeepAliveTimer();\n this.socket = undefined;\n }\n }\n\n // Event handlers\n protected handleMessage(event: MessageEvent) {\n try {\n const msg = JSON.parse(event.data) as UdpWebSocketMessage;\n this.messageReceivedHandler?.(msg);\n } catch (err) {\n console.error(\"Invalid UdpWebSocketMessage received:\", err)\n }\n }\n\n protected handleClose(event: CloseEvent) {\n this.closeHandler?.(event);\n this.close();\n }\n\n protected handleError(event: Event) {\n this.errorHandler?.(event);\n console.error(\"UdpWebSocket error:\", event);\n }\n\n // KeepAlive functions\n protected startKeepAliveTimer(intervalMs: number, timeoutMs: number) {\n this.stopKeepAliveTimer();\n\n // TODO: Check that this is interval not timeout param\n this.keepAliveIntervalId = window.setInterval(() => {\n this.sendKeepAlivePing();\n }, intervalMs);\n\n // Autoclose after timeout reached\n this.keepAliveTimeoutId = window.setTimeout(() => {\n this.close();\n }, timeoutMs);\n }\n\n protected stopKeepAliveTimer() {\n if (this.keepAliveIntervalId) clearInterval(this.keepAliveIntervalId);\n if (this.keepAliveTimeoutId) clearTimeout(this.keepAliveTimeoutId);\n\n this.keepAliveIntervalId = undefined;\n this.keepAliveTimeoutId = undefined;\n }\n\n protected sendKeepAlivePing() {\n const pingPacket: UdpWebSocketMessage = {\n headers: {\n type: \"KeepAlive\",\n timestamp: Date.now()\n },\n };\n\n try {\n this.send(pingPacket);\n } catch (err) {\n console.error(\"KeepAlive ping failed to send:\", err);\n }\n }\n\n // Util functions\n protected isWssUrl(url: string): boolean {\n return /^wss?:\\/\\//.test(url);\n }\n}\n"],"names":["Axios"],"mappings":"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"}
|