udp-stencil-component-library 25.18.2-beta.4 → 25.18.2-beta.6
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/add-map-feature-popup_4.cjs.entry.js +12 -12
- package/dist/cjs/advanced-search_12.cjs.entry.js +1 -1
- package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ag-grid-base_6.cjs.entry.js +27 -11
- package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
- package/dist/cjs/app-bar.cjs.entry.js +1 -1
- package/dist/cjs/check-box.cjs.entry.js +2 -2
- package/dist/cjs/chip-section.cjs.entry.js +2 -2
- package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
- package/dist/cjs/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.cjs.js.map +1 -1
- package/dist/cjs/date-time-renderer_7.cjs.entry.js +13 -13
- package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
- package/dist/cjs/{enums-DVbZnzL8.js → enums-CgcTuQjC.js} +8 -2
- package/dist/cjs/enums-CgcTuQjC.js.map +1 -0
- package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
- package/dist/cjs/filter-conditions_7.cjs.entry.js +2 -2
- package/dist/cjs/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.cjs.js.map +1 -1
- package/dist/cjs/form-metadata-display_8.cjs.entry.js +15 -15
- package/dist/cjs/index-CGCOXUJE.js +10 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-component_2.cjs.entry.js +2 -2
- package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
- package/dist/cjs/primary-action-header.udp-tabs.entry.cjs.js.map +1 -0
- package/dist/cjs/{primary-action-header_3.cjs.entry.js → primary-action-header_2.cjs.entry.js} +4 -266
- package/dist/cjs/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.cjs.js.map +1 -1
- package/dist/cjs/question-configs-renderer_4.cjs.entry.js +7 -7
- package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
- package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
- package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
- package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
- package/dist/cjs/stencil-library.cjs.js +1 -1
- package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
- package/dist/cjs/text-field_2.cjs.entry.js +7 -7
- package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
- package/dist/cjs/udp-container.cjs.entry.js +35 -0
- package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
- package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
- package/dist/cjs/{udp-forms-builder-question-template-CNONS2l5.js → udp-forms-builder-question-template-BMMpObLX.js} +3 -3
- package/dist/cjs/udp-forms-builder-question-template-BMMpObLX.js.map +1 -0
- package/dist/cjs/udp-forms-builder.cjs.entry.js +2 -2
- package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +3 -3
- package/dist/cjs/udp-forms-follow-up-list-card.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-list-card.cjs.entry.js +6 -6
- package/dist/cjs/udp-forms-list-card.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-list.cjs.entry.js +2 -2
- package/dist/cjs/udp-forms-list.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-renderer.cjs.entry.js +270 -202
- package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-ui.cjs.entry.js +6 -6
- package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-linear-loader.udp-side-sheet.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-linear-loader_2.cjs.entry.js +289 -0
- package/dist/cjs/udp-map.cjs.entry.js +3 -3
- package/dist/cjs/udp-menu-item.udp-pop-over.entry.cjs.js.map +1 -0
- package/dist/cjs/{udp-pop-over.cjs.entry.js → udp-menu-item_2.cjs.entry.js} +23 -1
- package/dist/cjs/udp-page.cjs.entry.js +1 -1
- package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
- package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
- package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
- package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/udp-tab.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
- package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
- package/dist/cjs/{utils-DZ_OMtAy.js → utils-Bp02BX38.js} +8 -8
- package/dist/cjs/utils-Bp02BX38.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js +4 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +6 -6
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +4 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +7 -7
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js +2 -2
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js +13 -13
- 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.js +195 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +86 -238
- 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/classes/UdpForm.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.js +4 -12
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/classes/UdpFormSubmission.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/enums.js +6 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/enums.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/IFormHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/IFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.js +6 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/formUtils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/types.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/utils.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js +10 -10
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js +13 -13
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js.map +1 -1
- package/dist/collection/components/grid/new-grid/ag-grid-base.js +2 -1
- package/dist/collection/components/grid/new-grid/ag-grid-base.js.map +1 -1
- package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js +1 -0
- package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js.map +1 -1
- package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js +24 -9
- package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js.map +1 -1
- package/dist/collection/components/grid/new-grid/interfaces/grid.js.map +1 -1
- package/dist/collection/components/grid/new-grid/search-method-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
- package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
- package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
- package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
- package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
- package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
- package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
- package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +2 -2
- package/dist/collection/components/inputs/form metadata display/form-metadata-display.js.map +1 -1
- package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
- package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
- package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
- package/dist/collection/components/inputs/tally/tally.js +2 -2
- package/dist/collection/components/inputs/text-area/text-area.js +3 -3
- package/dist/collection/components/inputs/text-field/text-field.js +3 -3
- package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
- package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
- package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
- package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
- package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
- package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
- package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
- package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
- package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
- package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
- package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
- package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
- package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
- package/dist/collection/components/map/udp-map/map-component.js +1 -1
- package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
- package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
- package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
- package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
- package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
- package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
- package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
- package/dist/collection/components/map/udp-map/udp-map.js +3 -3
- package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
- package/dist/collection/components/menu/udp-menu.js +1 -1
- package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
- package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
- package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
- package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
- package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
- package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
- package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
- package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
- package/dist/collection/components/timeline/udp-timeline.js +1 -1
- package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
- package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
- package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
- package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
- package/dist/components/add-map-feature-popup2.js +3 -3
- package/dist/components/ag-grid-base2.js +78 -38
- package/dist/components/ag-grid-base2.js.map +1 -1
- package/dist/components/api-method-instance-grid.js +59 -35
- package/dist/components/api-method-instance-grid.js.map +1 -1
- package/dist/components/app-bar.js +1 -1
- package/dist/components/check-box.js +2 -2
- package/dist/components/chip-section.js +2 -2
- package/dist/components/client-side-grid2.js +55 -31
- package/dist/components/client-side-grid2.js.map +1 -1
- package/dist/components/date-time-renderer2.js.map +1 -1
- package/dist/components/entity-maintenance-grid.js +1 -1
- package/dist/components/enums.js +7 -1
- package/dist/components/enums.js.map +1 -1
- package/dist/components/feature-details-card2.js +4 -4
- package/dist/components/feature-details-popup2.js +1 -1
- package/dist/components/file-upload-renderer2.js +2 -2
- package/dist/components/file-upload-renderer2.js.map +1 -1
- package/dist/components/form-metadata-display-renderer2.js +3 -3
- package/dist/components/form-metadata-display-renderer2.js.map +1 -1
- package/dist/components/form-metadata-display2.js +1 -1
- package/dist/components/form-metadata-display2.js.map +1 -1
- package/dist/components/forms-builder-utils.js.map +1 -1
- package/dist/components/ghost-render2.js +1 -1
- package/dist/components/image-upload2.js +1 -1
- package/dist/components/list-options-renderer2.js +3 -3
- package/dist/components/list-options-renderer2.js.map +1 -1
- package/dist/components/map-component2.js +1 -1
- package/dist/components/map-toolbar2.js +6 -6
- package/dist/components/numeric-field2.js +3 -3
- package/dist/components/question-configs-renderer2.js +5 -5
- package/dist/components/question-configs-renderer2.js.map +1 -1
- package/dist/components/question-specific-configs-renderer2.js.map +1 -1
- package/dist/components/resource-timeline-calendar.js +59 -35
- package/dist/components/resource-timeline-calendar.js.map +1 -1
- package/dist/components/resource-timeline-primary-bar2.js +2 -2
- package/dist/components/search-method-grid2.js +58 -33
- package/dist/components/search-method-grid2.js.map +1 -1
- package/dist/components/select-layer-popup2.js +2 -2
- package/dist/components/server-side-grid2.js +55 -31
- package/dist/components/server-side-grid2.js.map +1 -1
- package/dist/components/side-sheet-container2.js +1 -1
- package/dist/components/side-sheet2.js +1 -1
- package/dist/components/signature-input2.js +2 -2
- package/dist/components/signature-renderer2.js +1 -1
- package/dist/components/signature-renderer2.js.map +1 -1
- package/dist/components/split-line-popup2.js +1 -1
- package/dist/components/stencil-toggle2.js +4 -4
- package/dist/components/tally.js +2 -2
- package/dist/components/text-area2.js +3 -3
- package/dist/components/text-field2.js +3 -3
- package/dist/components/text-input-renderer2.js +2 -2
- package/dist/components/text-input-renderer2.js.map +1 -1
- package/dist/components/udp-container-query-grid-item.js +1 -1
- package/dist/components/udp-container-query-grid.js +1 -1
- package/dist/components/udp-container-query2.js +2 -2
- package/dist/components/udp-container2.js +2 -2
- package/dist/components/udp-date-range-selector.js +1 -1
- package/dist/components/udp-date-selector2.js +3 -3
- package/dist/components/udp-datetime-selector2.js +3 -3
- package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
- package/dist/components/udp-forms-builder.js.map +1 -1
- package/dist/components/udp-forms-follow-up-list-card.js +2 -2
- package/dist/components/udp-forms-follow-up-list-card.js.map +1 -1
- package/dist/components/udp-forms-list-card2.js +4 -4
- package/dist/components/udp-forms-list-card2.js.map +1 -1
- package/dist/components/udp-forms-list.js +1 -1
- package/dist/components/udp-forms-list.js.map +1 -1
- package/dist/components/udp-forms-renderer.js +273 -207
- package/dist/components/udp-forms-renderer.js.map +1 -1
- package/dist/components/udp-forms-ui2.js +6 -6
- package/dist/components/udp-forms-ui2.js.map +1 -1
- package/dist/components/udp-grid-loader2.js +2 -2
- package/dist/components/udp-linear-loader2.js +1 -1
- package/dist/components/udp-map-toolbar2.js +1 -1
- package/dist/components/udp-map.js +3 -3
- package/dist/components/udp-menu-item2.js +1 -1
- package/dist/components/udp-menu2.js +1 -1
- package/dist/components/udp-page.js +1 -1
- package/dist/components/udp-question-comments2.js +5 -5
- package/dist/components/udp-question-comments2.js.map +1 -1
- package/dist/components/udp-question2.js +4 -4
- package/dist/components/udp-question2.js.map +1 -1
- package/dist/components/udp-selector2.js +4 -4
- package/dist/components/udp-skeleton-loading2.js +1 -1
- package/dist/components/udp-split-screen.js +1 -1
- package/dist/components/udp-stepper-demo.js +1 -1
- package/dist/components/udp-tab-panel.js +2 -2
- package/dist/components/udp-tab.js +1 -1
- package/dist/components/udp-tabs2.js +2 -2
- package/dist/components/udp-time-selector2.js +3 -3
- package/dist/components/udp-timeline-connector.js +1 -1
- package/dist/components/udp-timeline-dot.js +1 -1
- package/dist/components/udp-timeline-item.js +2 -2
- package/dist/components/udp-timeline-separator.js +1 -1
- package/dist/components/udp-timeline.js +1 -1
- package/dist/components/udp-vertical-spacer.js +1 -1
- package/dist/components/utils.js +6 -6
- package/dist/components/utils.js.map +1 -1
- package/dist/docs.json +258 -205
- package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
- package/dist/esm/advanced-search_12.entry.js +1 -1
- package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
- package/dist/esm/ag-grid-base_6.entry.js +27 -11
- package/dist/esm/api-method-instance-grid.entry.js +1 -1
- package/dist/esm/app-bar.entry.js +1 -1
- package/dist/esm/check-box.entry.js +2 -2
- package/dist/esm/chip-section.entry.js +2 -2
- package/dist/esm/client-side-grid_2.entry.js +3 -3
- package/dist/esm/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.js.map +1 -1
- package/dist/esm/date-time-renderer_7.entry.js +13 -13
- package/dist/esm/entity-maintenance-grid.entry.js +1 -1
- package/dist/esm/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +9 -3
- package/dist/esm/enums-DHT5wSnX.js.map +1 -0
- package/dist/esm/feature-details-card_2.entry.js +5 -5
- package/dist/esm/filter-conditions_7.entry.js +2 -2
- package/dist/esm/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.js.map +1 -1
- package/dist/esm/form-metadata-display_8.entry.js +15 -15
- package/dist/esm/index-CaZq3YdB.js +10 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-component_2.entry.js +2 -2
- package/dist/esm/numeric-field_5.entry.js +15 -15
- package/dist/esm/primary-action-header.udp-tabs.entry.js.map +1 -0
- package/dist/esm/{primary-action-header_3.entry.js → primary-action-header_2.entry.js} +5 -262
- package/dist/esm/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.js.map +1 -1
- package/dist/esm/question-configs-renderer_4.entry.js +7 -7
- package/dist/esm/resource-timeline-calendar.entry.js +1 -1
- package/dist/esm/search-method-grid.entry.js +2 -1
- package/dist/esm/search-method-grid.entry.js.map +1 -1
- package/dist/esm/server-side-grid.entry.js +1 -1
- package/dist/esm/side-sheet-container.entry.js +1 -1
- package/dist/esm/stencil-library.js +1 -1
- package/dist/esm/stencil-toggle.entry.js +4 -4
- package/dist/esm/text-field_2.entry.js +7 -7
- package/dist/esm/udp-chip_3.entry.js +1 -1
- package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
- package/dist/esm/udp-container-query-grid.entry.js +1 -1
- package/dist/esm/udp-container-query.entry.js +2 -2
- package/dist/esm/udp-container.entry.js +33 -0
- package/dist/esm/udp-container.entry.js.map +1 -0
- package/dist/esm/udp-date-range-selector.entry.js +1 -1
- package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
- package/dist/esm/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +3 -3
- package/dist/esm/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
- package/dist/esm/udp-forms-builder.entry.js +2 -2
- package/dist/esm/udp-forms-builder.entry.js.map +1 -1
- package/dist/esm/udp-forms-follow-up-list-card.entry.js +3 -3
- package/dist/esm/udp-forms-follow-up-list-card.entry.js.map +1 -1
- package/dist/esm/udp-forms-list-card.entry.js +6 -6
- package/dist/esm/udp-forms-list-card.entry.js.map +1 -1
- package/dist/esm/udp-forms-list.entry.js +2 -2
- package/dist/esm/udp-forms-list.entry.js.map +1 -1
- package/dist/esm/udp-forms-renderer.entry.js +270 -202
- package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
- package/dist/esm/udp-forms-ui.entry.js +6 -6
- package/dist/esm/udp-forms-ui.entry.js.map +1 -1
- package/dist/esm/udp-linear-loader.udp-side-sheet.entry.js.map +1 -0
- package/dist/esm/udp-linear-loader_2.entry.js +282 -0
- package/dist/esm/udp-map.entry.js +3 -3
- package/dist/esm/udp-menu-item.udp-pop-over.entry.js.map +1 -0
- package/dist/esm/{udp-pop-over.entry.js → udp-menu-item_2.entry.js} +24 -3
- package/dist/esm/udp-page.entry.js +1 -1
- package/dist/esm/udp-skeleton-loading.entry.js +1 -1
- package/dist/esm/udp-split-screen.entry.js +1 -1
- package/dist/esm/udp-stepper-demo.entry.js +1 -1
- package/dist/esm/udp-tab-panel.entry.js +2 -2
- package/dist/esm/udp-tab.entry.js +1 -1
- package/dist/esm/udp-timeline-connector.entry.js +1 -1
- package/dist/esm/udp-timeline-dot.entry.js +1 -1
- package/dist/esm/udp-timeline-item.entry.js +2 -2
- package/dist/esm/udp-timeline-separator.entry.js +1 -1
- package/dist/esm/udp-timeline.entry.js +1 -1
- package/dist/esm/udp-vertical-spacer.entry.js +1 -1
- package/dist/esm/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +8 -8
- package/dist/esm/utils-kwLwITIE.js.map +1 -0
- package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
- package/dist/stencil-library/advanced-search_12.entry.js +1 -1
- package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
- package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
- package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
- package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
- package/dist/stencil-library/app-bar.entry.js +1 -1
- package/dist/stencil-library/check-box.entry.js +1 -1
- package/dist/stencil-library/chip-section.entry.js +1 -1
- package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
- package/dist/stencil-library/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.esm.js.map +1 -1
- package/dist/stencil-library/date-time-renderer_7.entry.js +1 -1
- package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
- package/dist/stencil-library/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +2 -2
- package/dist/stencil-library/enums-DHT5wSnX.js.map +1 -0
- package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
- package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
- package/dist/stencil-library/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.esm.js.map +1 -1
- package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
- package/dist/stencil-library/form-metadata-display_8.entry.js.map +1 -1
- package/dist/stencil-library/map-component_2.entry.js +1 -1
- package/dist/stencil-library/numeric-field_5.entry.js +1 -1
- package/dist/stencil-library/primary-action-header.udp-tabs.entry.esm.js.map +1 -0
- package/dist/stencil-library/primary-action-header_2.entry.js +2 -0
- package/dist/stencil-library/primary-action-header_2.entry.js.map +1 -0
- package/dist/stencil-library/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.esm.js.map +1 -1
- package/dist/stencil-library/question-configs-renderer_4.entry.js +1 -1
- package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
- package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
- package/dist/stencil-library/search-method-grid.entry.js +1 -1
- package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
- package/dist/stencil-library/server-side-grid.entry.js +1 -1
- package/dist/stencil-library/side-sheet-container.entry.js +1 -1
- package/dist/stencil-library/stencil-library.esm.js +1 -1
- package/dist/stencil-library/stencil-toggle.entry.js +1 -1
- package/dist/stencil-library/text-field_2.entry.js +1 -1
- package/dist/stencil-library/udp-chip_3.entry.js +1 -1
- package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
- package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
- package/dist/stencil-library/udp-container-query.entry.js +1 -1
- package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container.entry.js +2 -0
- package/dist/stencil-library/udp-container.entry.js.map +1 -0
- package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
- package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
- package/dist/stencil-library/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +2 -2
- package/dist/stencil-library/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
- package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-builder.entry.js +1 -1
- package/dist/stencil-library/udp-forms-follow-up-list-card.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.js.map +1 -1
- package/dist/stencil-library/udp-forms-list.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-list.entry.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/stencil-library/udp-linear-loader.udp-side-sheet.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-linear-loader_2.entry.js +2 -0
- package/dist/stencil-library/udp-linear-loader_2.entry.js.map +1 -0
- package/dist/stencil-library/udp-map.entry.js +1 -1
- package/dist/stencil-library/udp-menu-item.udp-pop-over.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-menu-item_2.entry.js +2 -0
- package/dist/stencil-library/udp-menu-item_2.entry.js.map +1 -0
- package/dist/stencil-library/udp-page.entry.js +1 -1
- package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
- package/dist/stencil-library/udp-split-screen.entry.js +1 -1
- package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
- package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
- package/dist/stencil-library/udp-tab.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
- package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
- package/dist/stencil-library/udp-timeline.entry.js +1 -1
- package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
- package/dist/stencil-library/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +1 -1
- package/dist/stencil-library/utils-kwLwITIE.js.map +1 -0
- package/dist/types/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.d.ts +4 -4
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.d.ts +12 -0
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +4 -9
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.d.ts +4 -5
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/enums.d.ts +5 -0
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/types.d.ts +0 -1
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/utils.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-question/udp-question.d.ts +4 -4
- package/dist/types/components/grid/new-grid/gridFunctions/bulkActions.d.ts +4 -2
- package/dist/types/components/grid/new-grid/interfaces/grid.d.ts +1 -0
- package/dist/types/components.d.ts +32 -30
- package/package.json +1 -1
- package/dist/cjs/enums-DVbZnzL8.js.map +0 -1
- package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-container.udp-linear-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-container_2.cjs.entry.js +0 -56
- package/dist/cjs/udp-forms-builder-question-template-CNONS2l5.js.map +0 -1
- package/dist/cjs/udp-menu-item.cjs.entry.js +0 -27
- package/dist/cjs/udp-menu-item.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-pop-over.entry.cjs.js.map +0 -1
- package/dist/cjs/utils-DZ_OMtAy.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/classes/UdpForm.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/classes/UdpFormSubmission.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/enums.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-handler/IFormHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-handler/UdpFormHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/IFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/formUtils.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/types.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/utils.js.map +0 -1
- package/dist/esm/enums-CHxgVY-B.js.map +0 -1
- package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +0 -1
- package/dist/esm/udp-container.udp-linear-loader.entry.js.map +0 -1
- package/dist/esm/udp-container_2.entry.js +0 -53
- package/dist/esm/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
- package/dist/esm/udp-menu-item.entry.js +0 -25
- package/dist/esm/udp-menu-item.entry.js.map +0 -1
- package/dist/esm/udp-pop-over.entry.js.map +0 -1
- package/dist/esm/utils-CiUp9KGZ.js.map +0 -1
- package/dist/stencil-library/enums-CHxgVY-B.js.map +0 -1
- package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +0 -1
- package/dist/stencil-library/primary-action-header_3.entry.js +0 -2
- package/dist/stencil-library/primary-action-header_3.entry.js.map +0 -1
- package/dist/stencil-library/udp-container.udp-linear-loader.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-container_2.entry.js +0 -2
- package/dist/stencil-library/udp-container_2.entry.js.map +0 -1
- package/dist/stencil-library/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
- package/dist/stencil-library/udp-menu-item.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-menu-item.entry.js +0 -2
- package/dist/stencil-library/udp-menu-item.entry.js.map +0 -1
- package/dist/stencil-library/udp-pop-over.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-pop-over.entry.js +0 -2
- package/dist/stencil-library/udp-pop-over.entry.js.map +0 -1
- package/dist/stencil-library/utils-CiUp9KGZ.js.map +0 -1
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/types.js +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"udp-forms-builder-question-template-CNONS2l5.js","sources":["src/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.ts","src/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.ts"],"sourcesContent":["import { UdpFormsTypeEnum } from '../utils/enums';\nimport { StyleOverrides } from '../utils/types';\n\nexport const deepCloneFormSections = (formSections: any[]): any[] => {\n return structuredClone(formSections);\n};\n\nexport const styleOverrideDefault: StyleOverrides = {\n background: {\n backgroundImage: null,\n backgroundColor: null,\n },\n headerBackgroundColor: null,\n fontFamily: null,\n helperText: {\n variant: null,\n fontFamily: null,\n },\n questionText: {\n variant: null,\n fontFamily: null,\n },\n titleText: {\n variant: null,\n fontFamily: null,\n },\n paragraphText: {\n variant: null,\n fontFamily: null,\n },\n};\n\nexport const formSectionDefault = {\n title: '',\n sectionText: '',\n sectionProperties: {},\n formQuestions: [],\n};\n\nexport const formMetadataDefault = {\n isPrivate: true,\n type: UdpFormsTypeEnum.Standard,\n version: 1,\n name: '',\n description: '',\n};\n","import { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { deepCloneFormSections } from './forms-builder-utils';\n\ntype FormSections = any[];\n\n// === Helper Functions ===\n\nconst updateFieldProperties = (formSections: FormSections, sIndex: number, qIndex: number, updateFn: (props: any) => any): FormSections => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n const oldProps = questionItem.fieldProperties || {};\n questionItem.fieldProperties = updateFn(oldProps);\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// === Handlers ===\n\nconst handleFieldPropertyAddListItem = (formSections: FormSections, sIndex: number, qIndex: number, displayText: string, valueText: string) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n items: [...(props.items || []), { display: displayText, value: valueText }],\n }));\n\nconst handleFieldPropertyRemoveListItem = (formSections: FormSections, sIndex: number, qIndex: number, itemIndex: number) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items.splice(itemIndex, 1);\n return { ...props, items };\n });\n\nconst handleFieldPropertyListItemChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, idx: number, field: 'display' | 'value') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items[idx] = { ...items[idx], [field]: input.value };\n return { ...props, items };\n });\n};\n\nconst handleFieldPropertyLookupChange = (selectedLookupId: string, formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n lookupId: selectedLookupId,\n }));\n};\n\nconst handleFieldPropertyToggleManualOrLookupOptions = (formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const { items, lookupId, ...otherConfigs } = props;\n\n if (items && !lookupId) {\n return {\n ...otherConfigs,\n lookupId: '',\n };\n } else {\n return {\n ...otherConfigs,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n };\n }\n });\n};\n\nconst handleFieldPropertyMinMaxCharacter = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'maxCharacter' | 'minCharacter') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleFieldPropertyBooleanToggle = (\n formSections: FormSections,\n sIndex: number,\n qIndex: number,\n fieldName: 'allowFutureDate' | 'hideDragAndDrop' | 'hideButton' | 'allowComments' | 'allowFollowUpForms' | 'includeLocation',\n) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: !props[fieldName],\n }));\n\nconst handleFieldPropertyDateTime = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: string) => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleGenericProperty = (value: any, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'questionText' | 'helperText' | 'required') => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n questionItem[fieldName] = value;\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// Paragraph-specific: store the paragraph text under fieldProperties.paragraphText\nconst handleParagraphValueChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number) => {\n const input = event.target as HTMLTextAreaElement | HTMLInputElement;\n const newValue = input?.value ?? '';\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n paragraphText: newValue,\n }));\n};\n\n\nconst questionsTemplate = [\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Hidden,\n questionTypeName: 'Hidden',\n icon: 'formHiddenField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.SingleLineText,\n questionTypeName: 'Single Line Text',\n icon: 'formTextField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 64, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.MultiLineText,\n questionTypeName: 'Multi Line Text',\n icon: 'formTextArea',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 256, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Checkbox,\n questionTypeName: 'Checkbox',\n icon: 'formCheckbox',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.RadioButton,\n questionTypeName: 'Radio Button',\n icon: 'formRadioButton',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownSingleSelect,\n questionTypeName: 'Dropdown Single Select',\n icon: 'formSingleSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownMultipleSelect,\n questionTypeName: 'Dropdown Multiple Select',\n icon: 'formMultiSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ListMultiSelect,\n questionTypeName: 'List',\n icon: 'list',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateSelector,\n questionTypeName: 'Date Selector',\n icon: 'formDateField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDate: '2099-12-31',\n minDate: '1980-01-01',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.TimeSelector,\n questionTypeName: 'Time Selector',\n icon: 'formTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxTime: '17:00:00', minTime: '09:00:00' },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateTimeSelector,\n questionTypeName: 'DateTime Selector',\n icon: 'formDateTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDateTime: '2099-12-31 23:59:59',\n minDateTime: '1980-01-01 00:00:00',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FileUpload,\n questionTypeName: 'File Upload',\n icon: 'formFileUpload',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, hideDragAndDrop: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.YesNo,\n questionTypeName: 'Yes/No',\n icon: 'checkMark',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Signature,\n questionTypeName: 'Signature',\n icon: 'document',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, includeLocation: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Tally,\n questionTypeName: 'Tally Display',\n icon: 'formNumberField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, ignoreRequiredConfig: true },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Number,\n questionTypeName: 'Numeric',\n icon: 'box',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Paragraph,\n questionTypeName: 'Paragraph',\n icon: 'formTextArea',\n // Store paragraph text alongside other question properties\n handlers: { handleGenericProperty, handleParagraphValueChange },\n defaultFieldProperties: { paragraphText: '' },\n // Signal that question text is optional for this type; builder UI can use this to relax validation/UX\n questionTextOptional: true,\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ImageUpload,\n questionTypeName: 'Image Upload',\n icon: 'formFileUpload',\n // Align options/handlers with File Upload\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { hideDragAndDrop: false, allowComments: false, allowFollowUpForms: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FormMetadataDisplay,\n questionTypeName: 'Form Metadata Display',\n icon: 'user',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { displayOwnerFullName: true, displayOwnerEmail: true, displaySubmissionDate: true, allowComments: false, allowFollowUpForms: false},\n }, \n];\n\nexport default questionsTemplate;"],"names":["UdpFormsTypeEnum","UdpFormsFieldTypeEnum"],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-CGCOXUJE.js');
|
|
4
|
-
|
|
5
|
-
const udpMenuItemCss = ".menu-item-root{display:flex;width:100%;padding:8px 16px;gap:8px;align-items:center;background:none;border:none;font-family:inherit;text-align:left;cursor:pointer;transition:background-color 0.15s ease-in-out}.menu-item-root:hover:not(:disabled){background-color:rgba(0, 0, 0, 0.08)}.menu-item-label{font-size:14px}.menu-item-root:disabled{cursor:not-allowed;opacity:0.4}.menu-icon{height:100%}";
|
|
6
|
-
|
|
7
|
-
const UdpMenuItem = class {
|
|
8
|
-
constructor(hostRef) {
|
|
9
|
-
index.registerInstance(this, hostRef);
|
|
10
|
-
this.itemClick = index.createEvent(this, "itemClick");
|
|
11
|
-
this.disabled = false; // reflect: true helps with CSS styling
|
|
12
|
-
this.handleItemClick = (e) => {
|
|
13
|
-
// if (this.disabled) {
|
|
14
|
-
// e.stopPropagation();
|
|
15
|
-
// return;
|
|
16
|
-
// }
|
|
17
|
-
this.itemClick.emit(e);
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
render() {
|
|
21
|
-
return (index.h("button", { key: '1ede58027c46bb2256944a857da57f400cb639cf', class: "menu-item-root", onClick: this.handleItemClick, disabled: this.disabled, role: "menuitem" }, this.iconName && index.h("udp-icon", { key: '627147e2ded1b8c56a14bf325b6e84bda899b28b', iconName: this.iconName, class: "menu-icon" }), index.h("span", { key: '779499e48b307bd11da339060f98412f5bf08865', class: "menu-item-label" }, index.h("unity-typography", { key: 'c5043d2ba242a1b70e014fd90da839e7c2ce9a6a', variant: 'body1' }, this.label))));
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
UdpMenuItem.style = udpMenuItemCss;
|
|
25
|
-
|
|
26
|
-
exports.udp_menu_item = UdpMenuItem;
|
|
27
|
-
//# sourceMappingURL=udp-menu-item.entry.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"udp-menu-item.entry.cjs.js","sources":["src/components/menu/menu-item/udp-menu-item.css?tag=udp-menu-item&encapsulation=shadow","src/components/menu/menu-item/udp-menu-item.tsx"],"sourcesContent":["/* Reset default button styles and apply menu-item look */\n.menu-item-root {\n display: flex;\n width: 100%;\n padding: 8px 16px;\n gap: 8px;\n align-items: center;\n\n /* Reset button defaults */\n background: none;\n border: none;\n font-family: inherit;\n text-align: left;\n\n cursor: pointer;\n transition: background-color 0.15s ease-in-out;\n}\n\n.menu-item-root:hover:not(:disabled) {\n background-color: rgba(0, 0, 0, 0.08);\n}\n\n.menu-item-label {\n font-size: 14px;\n}\n\n/* The native :disabled pseudo-class is now used */\n.menu-item-root:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.menu-icon {\n height: 100%;\n}\n","import { Component, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'udp-menu-item',\n styleUrl: 'udp-menu-item.css',\n shadow: true,\n})\nexport class UdpMenuItem {\n @Prop() label: string;\n @Prop() iconName: string;\n @Prop({ reflect: true }) disabled: boolean = false; // reflect: true helps with CSS styling\n\n /**\n * @deprecated Use itemClick event\n */\n @Prop() handleOnClick: (e: Event) => void;\n\n /** Emits when the item is clicked. */\n @Event() itemClick: EventEmitter<MouseEvent>;\n\n private handleItemClick = (e: MouseEvent) => {\n // if (this.disabled) {\n // e.stopPropagation();\n // return;\n // }\n this.itemClick.emit(e);\n };\n\n render() {\n return (\n <button\n class=\"menu-item-root\"\n onClick={this.handleItemClick}\n disabled={this.disabled}\n role=\"menuitem\"\n >\n {this.iconName && <udp-icon iconName={this.iconName} class=\"menu-icon\" />}\n <span class=\"menu-item-label\">\n <unity-typography variant='body1'>{this.label}</unity-typography>\n </span>\n </button>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,cAAc,GAAG,4YAA4Y;;MCOtZ,WAAW,GAAA,MAAA;AALxB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQ2B,QAAA,IAAA,CAAA,QAAQ,GAAY,KAAK,CAAC;AAU3C,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAa,KAAI;;;;;AAK1C,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,SAAC;AAiBF;IAfC,MAAM,GAAA;AACJ,QAAA,QACEA,qEACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,UAAU,EAAA,EAEd,IAAI,CAAC,QAAQ,IAAIA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,WAAW,EAAG,CAAA,EACzEA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC3BA,OAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,KAAK,CAAoB,CAC5D,CACA;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"udp-pop-over.entry.cjs.js","sources":["src/components/data-display/pop-over/udp-pop-over.css?tag=udp-pop-over&encapsulation=shadow","src/components/data-display/pop-over/udp-pop-over.tsx"],"sourcesContent":[":host {\n display: block;\n position: fixed;\n z-index: 9999;\n\n /* FIX: Start with pointer-events none so it can't be clicked when invisible. */\n pointer-events: none;\n opacity: 0;\n\n /* This gives the subtle \"pop\" effect without the flying animation. */\n transform: scale(0.95);\n\n /* FIX: Only transition opacity for a clean fade-in/out. */\n transition: opacity 0.2s ease-out;\n\n}\n\n:host(.is-visible) {\n /* FIX: Re-enable pointer events so the menu can be clicked. */\n pointer-events: auto;\n opacity: 1;\n transform: scale(1);\n}\n\n.popover {\n background-color: white;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border: 1px solid #e0e0e0;\n}\n","import { createPopper, Instance } from '@popperjs/core';\nimport { Component, h, Host, Prop, Watch, Element } from '@stencil/core';\n\n@Component({\n tag: 'udp-pop-over',\n styleUrl: 'udp-pop-over.css',\n shadow: true,\n})\nexport class UdpPopOver {\n @Element() hostEl!: HTMLElement;\n @Prop() anchorElement: string | HTMLElement;\n @Prop({ reflect: true }) isOpen: boolean = false;\n @Prop() popoverWidth: string;\n @Prop() popoverMaxHeight: string;\n @Prop() popoverPlacement: any = 'bottom-start';\n @Prop() handleOnClose?: (event: Event) => void;\n @Prop() appendToBody: boolean = true;\n @Prop() container?: HTMLElement;\n @Prop() overflow?: string = 'auto';\n\n private popperInstance: Instance;\n\n disconnectedCallback() {\n this.removeListeners();\n this.destroyPopper();\n }\n\n @Watch('isOpen')\n handleOpenChange(newValue: boolean) {\n newValue ? this.present() : this.dismiss();\n }\n\n private present() {\n const containerEl = this.getContainer();\n\n if (containerEl) {\n containerEl.appendChild(this.hostEl);\n }\n\n this.addListeners();\n\n requestAnimationFrame(() => {\n this.setupPopper();\n this.hostEl.classList.add('is-visible');\n });\n }\n\n private dismiss() {\n this.removeListeners();\n this.hostEl.classList.remove('is-visible');\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\n }\n\n private handleTransitionEnd = () => {\n // FIX: Only remove from body if it's truly closed and still there.\n if (!this.isOpen) {\n if (this.appendToBody && this.hostEl.parentElement === document.body) {\n document.body.removeChild(this.hostEl);\n } else if (this.container && this.hostEl.parentElement === this.container) {\n this.container.removeChild(this.hostEl);\n }\n }\n this.destroyPopper();\n };\n\n private addListeners() {\n document.addEventListener('keydown', this.handleKeyDown);\n setTimeout(() => {\n if (this.isOpen) {\n document.addEventListener('click', this.handleClickOutside);\n }\n }, 0);\n }\n\n private removeListeners() {\n document.removeEventListener('keydown', this.handleKeyDown);\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.handleOnClose?.(event);\n }\n };\n\n private handleClickOutside = (event: MouseEvent) => {\n const path = event.composedPath();\n const anchorEl = this.getAnchorElement();\n if (path.includes(this.hostEl) || (anchorEl && path.includes(anchorEl))) {\n return;\n }\n this.handleOnClose?.(event);\n };\n\n private getAnchorElement(): HTMLElement | null {\n return typeof this.anchorElement === 'string' ? document.getElementById(this.anchorElement) : this.anchorElement;\n }\n\n private getContainer(): HTMLElement {\n if (this.container) return this.container;\n\n if (this.appendToBody) {\n return document.body;\n }\n\n return null;\n }\n\n private setupPopper() {\n const anchorEl = this.getAnchorElement();\n if (!anchorEl) {\n console.error('UdpPopover: Anchor element could not be found.');\n return;\n }\n // Ensure we don't create multiple instances\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n\n this.popperInstance = createPopper(anchorEl, this.hostEl as HTMLElement, {\n strategy: 'fixed',\n placement: this.popoverPlacement,\n modifiers: [{ name: 'offset', options: { offset: [0, 8] } }, { name: 'preventOverflow', options: { padding: 8 } }, { name: 'flip' }],\n });\n }\n\n private destroyPopper() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentWillLoad() {\n if (this.isOpen) {\n this.present();\n }\n }\n\n\n render() {\n const style = {\n width: this.popoverWidth,\n maxHeight: this.popoverMaxHeight,\n overflow: this.overflow\n };\n\n return (\n <Host>\n <div class=\"popover\" style={style}>\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"names":["createPopper","h","Host"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-DZ_OMtAy.js","sources":["src/components/forms/udp-forms/utils/utils.ts"],"sourcesContent":["// take a masterForm's structure and build the empty initialValues object\nimport { UdpForm } from \"src/components\";\n\n/**\n * Translate and format UTC timestamp to local time.\n */\nexport const dateFormatter = (dateString: string, formatStyle: 'long' | 'short' = 'long' ) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format (i.e., contains a space, not 'T')\n // If the input is '2025-12-10T20:23:23.055Z', it passes straight through.\n // This format is assumed to be missing timezone info and needs to be treated as UTC.\n if (dateString.includes(' ')) {\n // Replace the space with 'T' \n normalizedDateString = dateString.replace(' ', 'T');\n }\n\n if (!dateString.toUpperCase().endsWith('Z')) {\n // append Z if not there\n normalizedDateString = normalizedDateString + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\n // short format: DD/MM/YY HH:MM am/pm (e.g. 05/09/25 03:45 pm)\n if (formatStyle === 'short') {\n const pad = (n: number) => String(n).padStart(2, '0');\n const day = pad(date.getDate());\n const month = pad(date.getMonth() + 1);\n const yearShort = String(date.getFullYear()).slice(-2);\n\n const hours24 = date.getHours();\n const minutes = pad(date.getMinutes());\n const period = hours24 >= 12 ? 'pm' : 'am';\n const hours12 = hours24 % 12 === 0 ? 12 : hours24 % 12;\n const hours = String(hours12).padStart(2, '0');\n\n return `${day}/${month}/${yearShort} ${hours}:${minutes} ${period}`;\n }\n\n // default long format \n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n });\n};\n\n\n// eg. { section1: { question1: { value: '', comments: [], metadata: {} }, question2: { value: '', comments: [], metadata: {} } }, section2: { question3: { value: '', comments: [], metadata: {} } } }\nexport const buildEmptyInitialValues = (masterForm: UdpForm) => {\n const initialValues = {};\n\n for (const section of masterForm.udpFormUdpFormSection) {\n initialValues[section.name] = {};\n\n const questionsOfSection = masterForm.formQuestions.filter(\n question => question.formSectionId == section.id,\n );\n\n for (const question of questionsOfSection) {\n initialValues[section.name][question.name] = {\n value: '', // default empty value\n comments: [], // default empty comments array\n metadata: {}, // default metadata object\n };\n }\n }\n\n return initialValues;\n};\n\n\nexport const overrideFont = (element: HTMLElement, cssVariable) => {\n if(element?.shadowRoot?.lastElementChild){ // this returns null in react for some instances\n element?.shadowRoot?.lastElementChild?.setAttribute?.('style', `font-family: var(${cssVariable})`)\n return;\n }\n const observer = new MutationObserver((mutationsList, observer) => {\n mutationsList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n (node as HTMLElement)?.setAttribute?.('style', `font-family: var(${cssVariable})`);\n observer.disconnect(); // Stop observing once the target is found\n }\n });\n }\n });\n });\n\n if (element?.shadowRoot) {\n observer.observe(element.shadowRoot, { childList: true });\n }\n };\n\n\nexport const fontOverrideMapping = {\n Arial: \"--font-override-arial\"\n}"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UdpForm.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/classes/UdpForm.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,OAAO;IAelB,YAAY,WAA8B;QACxC,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["import { StyleOverrides, UdpFormSection, UdpFormQuestion } from '../types';\nimport { Guid } from 'src/global/types';\nimport { UdpFormsTypeEnum } from '../enums';\n\nexport class UdpForm {\n id?: Guid;\n version?: number;\n type?: UdpFormsTypeEnum;\n isPrivate?: boolean;\n name?: string;\n description?: string;\n tenantId?: Guid;\n clusterId?: number;\n styleOverrides?: StyleOverrides;\n createdOn?: Date;\n formProperties?: any;\n udpFormUdpFormSection?: UdpFormSection[];\n formQuestions?: UdpFormQuestion[];\n\n constructor(initialData?: Partial<UdpForm>) {\n if (!initialData) return;\n\n Object.assign(this, initialData);\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UdpFormSubmission.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts"],"names":[],"mappings":"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","sourcesContent":["import { UdpFormSubmissionStatus } from '../types';\nimport { Guid, UdpTag } from 'src/global/types';\nimport { createFormData } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from '../form-submission-handler/formUtils';\n\n\nexport class UdpFormSubmission {\n id: Guid | null = null;\n formId: Guid | null = null;\n formVersion: number | null = null;\n data: any | null = {};\n unityUserId: Guid | null = null;\n clusterId: number | null = null;\n userDisplayName: string | null = '';\n status: UdpFormSubmissionStatus | null = null;\n businessObjectKey: string | null = '';\n udpTags: UdpTag[] | null = [];\n form: any | null = null;\n initialCreatedOn: Date | null = null;\n lastModifiedOn: Date | null = null;\n submittedOn: Date | null = null;\n generic1: string | null = null;\n generic2: string | null = null;\n generic3: string | null = null;\n userEmail: string | null = null;\n\n constructor(initialData: Partial<UdpFormSubmission> = {}) {\n Object.assign(this, initialData);\n }\n\n // =============================\n // Form Data Processing\n // =============================\n\n public processSubmissionIntoFormDataWithoutValues(\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const formData = createFormData(baseData);\n\n formData.append('Data', JSON.stringify(this.data));\n\n return formData;\n }\n\n\n\n public processSubmissionIntoFormData(\n formInputValuesAndMetadata: Record<\n string,\n Record<\n string,\n { value: any; comments?: any[]; files?: File[]; metadata?: Record<string, any> }\n >\n >,\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const { cleanedData, files } = this.extractCleanedDataAndFiles(formInputValuesAndMetadata);\n const formData = createFormData(baseData);\n\n files.forEach(file => formData.append('FormFiles', file));\n\n const submissionDataObject = {\n submissionResponseData: cleanedData,\n submissionMetadata: this.data.submissionMetadata || null\n }\n\n formData.append('Data', JSON.stringify(submissionDataObject));\n\n return formData;\n }\n\n private resolveSubmissionStatus(status: UdpFormSubmissionStatus): number {\n if (status === 'submitted') return 2;\n if (status === 'in-progress') return 1;\n return typeof status === 'number' ? status : 1;\n }\n\n private buildBaseSubmissionData(statusValue: number): Record<string, any> {\n const baseData: Record<string, any> = {\n FormId: this.formId,\n FormVersion: this.formVersion.toString(),\n Status: statusValue.toString(),\n };\n\n if (this.id) {\n baseData.Id = this.id;\n }\n\n if (this.initialCreatedOn) {\n baseData.InitialCreatedOn = this.initialCreatedOn\n } else {\n baseData.InitialCreatedOn = new Date().toISOString();\n }\n\n if (this.lastModifiedOn) {\n baseData.LastModifiedOn = this.lastModifiedOn\n } else {\n baseData.LastModifiedOn = new Date().toISOString();\n }\n\n if (this.submittedOn) {\n baseData.submittedOn = this.submittedOn\n }\n\n if (this.generic1) {\n baseData.generic1 = this.generic1.toString();\n }\n\n if (this.generic2) {\n baseData.generic2 = this.generic2.toString();\n }\n\n if (this.generic3) {\n baseData.generic3 = this.generic3.toString();\n }\n\n return baseData;\n }\n\n private extractCleanedDataAndFiles(data: Record<string, any>) {\n const files: File[] = [];\n const cleanedData: Record<\n string,\n Record<string, { value: any; comments: any[]; metadata?: Record<string, any> }>\n > = {};\n\n for (const sectionName in data) {\n cleanedData[sectionName] = {};\n\n for (const questionName in data[sectionName]) {\n const entry = data[sectionName][questionName];\n const { value, fieldFiles } = this.extractValueAndFiles(entry);\n if (fieldFiles) files.push(...fieldFiles);\n\n const comments = this.processComments(entry.comments);\n const metadata = this.processMetadata(entry.metadata);\n\n cleanedData[sectionName][questionName] = { value, comments, ...(metadata && { metadata }) };\n }\n }\n\n return { cleanedData, files };\n }\n\n // =============================\n // Form Data Processing Private Helpers\n // =============================\n\n private extractValueAndFiles(entry: any): { value: any; fieldFiles?: File[] } {\n let rawValue = entry?.value?.files ? entry.value.value : entry?.value;\n const fieldFiles = entry?.value?.files;\n\n if (fieldFiles && Array.isArray(fieldFiles)) {\n return {\n value: typeof rawValue === 'string' && rawValue.trim() !== '' ? rawValue : '',\n fieldFiles,\n };\n }\n\n if (isFileArray(rawValue)) {\n return {\n value: rawValue.length > 0 ? rawValue.map(f => f.name).join(',') : '',\n fieldFiles: rawValue,\n };\n }\n\n if (rawValue instanceof File) {\n return { value: rawValue.name, fieldFiles: [rawValue] };\n }\n\n if (Array.isArray(rawValue)) {\n return { value: rawValue.map(i => (typeof i === 'string' ? i : i?.value)).join(',') };\n }\n\n return { value: rawValue };\n }\n\n private processComments(comments: any[] | undefined) {\n return comments?.map(comment => ({ ...comment })) ?? [];\n }\n\n private processMetadata(metadata: Record<string, any> | undefined) {\n return metadata && Object.keys(metadata).length > 0 ? { ...metadata } : undefined;\n }\n}\n\n\n\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/utils/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAoBX;AApBD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,qFAAkB,CAAA;IAClB,mFAAiB,CAAA;IACjB,yEAAY,CAAA;IACZ,+EAAe,CAAA;IACf,iGAAwB,CAAA;IACxB,qGAA0B,CAAA;IAC1B,uFAAmB,CAAA;IACnB,iFAAgB,CAAA;IAChB,kFAAiB,CAAA;IACjB,0FAAqB,CAAA;IACrB,8EAAe,CAAA;IACf,oEAAU,CAAA;IACV,4EAAc,CAAA;IACd,oEAAU,CAAA;IACV,sEAAW,CAAA;IACX,4EAAc,CAAA;IACd,gFAAgB,CAAA;IAChB,gGAAwB,CAAA;AAC1B,CAAC,EApBW,qBAAqB,KAArB,qBAAqB,QAoBhC;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,kCAAc,CAAA;IACd,kCAAc,CAAA;AAChB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,gFAA0D,CAAA;IAC1D,iFAA2D,CAAA;AAC7D,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["export enum UdpFormsFieldTypeEnum {\n Hidden = 1,\n SingleLineText = 2,\n MultiLineText = 3,\n Checkbox = 4,\n RadioButton = 5,\n DropdownSingleSelect = 6,\n DropdownMultipleSelect = 7,\n ListMultiSelect = 8,\n DateSelector = 9,\n TimeSelector = 10,\n DateTimeSelector = 11,\n FileUpload = 12,\n YesNo = 13,\n Signature = 14,\n Tally = 15,\n Number = 16,\n Paragraph = 17,\n ImageUpload = 18,\n FormMetadataDisplay = 19,\n}\n\nexport enum UdpFormsTypeEnum {\n Standard = '1',\n FollowUp = '2',\n}\n\nexport enum UdpFormsPageIdEnum {\n FormBuilderPageId = 'c77aa2c8-f8b8-41af-aa77-c8612fc918c1', \n FormRendererPageId = 'c696afbd-8d83-4f80-aaa1-9a3530a05a21', \n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFormHandler.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-handler/IFormHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { UdpForm } from '../classes/UdpForm'\n\n/**\n * Interface for form submission handlers\n */\nexport interface IFormHandler {\n submitForm(values: { [name: string]: any }): Promise<boolean>;\n getForm(): Promise<UdpForm>;\n supportsAutoSave(): boolean;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UdpFormHandler.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-handler/UdpFormHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB,YAAmB,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;IAAG,CAAC;IAEtC,gCAAgC;IAChC,gBAAgB;IAChB,gCAAgC;IAEhC,KAAK,CAAC,eAAe,CAAC,MAAM;QAC1B,MAAM,QAAQ,GAAY,MAAM,WAAW,CACzC,KAAK,EACL,GAAG,aAAa,CAAC,eAAe,YAAY,MAAM,WAAW,CAC9D,CAAC;QAEF,IAAI,QAAQ,CAAC,cAAc,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC3E,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAmB,CAAC;QAClF,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,MAAM,EAAE,WAAW;QACrD,MAAM,QAAQ,GAAY,MAAM,WAAW,CACzC,KAAK,EACL,GAAG,aAAa,CAAC,eAAe,YAAY,MAAM,IAAI,WAAW,WAAW,CAC7E,CAAC;QAEF,IAAI,QAAQ,CAAC,cAAc,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC3E,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAmB,CAAC;QAClF,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["import { Guid, StyleOverrides } from '../types';\nimport { UdpForm } from '../classes/UdpForm';\nimport { makeApiCall } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { ConfigService } from 'src/udp-utilities/api-config';\n\n/**\n * UDP Form handler (new UdpFormSubmission endpoint)\n */\nexport class UdpFormHandler {\n constructor(public tenantId?: Guid) {}\n\n // =============================\n // Fetching Form\n // =============================\n\n async getFormByFormId(formId): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/describe`,\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n\n async getFormByFormIdAndFormVersion(formId, formVersion): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/${formVersion}/describe`\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n}\n\n\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSubmissionHandlerFactory.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAG9E;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,MAAM,CAAC,MAAM,CACX,QAAiB,EACjB,MAAoB,EACpB,MAAa,EACb,OAAgB,EAChB,QAAe;QAGf,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,4BAA4B,EAAE,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { IFormSubmissionHandler } from './IFormSubmissionHandler';\nimport { PublicFormSubmissionHandler } from './PublicFormSubmissionHandler';\nimport { PrivateFormSubmissionHandler } from './PrivateFormSubmissionHandler';\nimport { Guid } from '../types';\n\n/**\n * Factory for creating form submission handlers.\n */\nexport class FormSubmissionHandlerFactory {\n static create(\n isPublic: boolean,\n userId?: Guid | null,\n formId?: Guid,\n version?: number,\n tenantId?: Guid,\n ): IFormSubmissionHandler {\n\n if (isPublic) {\n return new PublicFormSubmissionHandler(formId, version, tenantId);\n }\n\n if (!userId) {\n throw new Error('User ID is required for private forms');\n }\n\n return new PrivateFormSubmissionHandler();\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFormSubmissionHandler.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-submission-handler/IFormSubmissionHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { UdpFormSubmission } from '../classes/UdpFormSubmission';\n\n\n/**\n * Interface for form submission handlers (public/private).\n */\nexport interface IFormSubmissionHandler {\n /* Receive a partially populate instance of UdpFormSubmission. Fetch and populate a complete UdpFormSubmission */\n fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission: UdpFormSubmission) : Promise<UdpFormSubmission>\n\n /** Submit the form for final submission. Return the data object UdpFormSubmission*/\n finalizeFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission>;\n\n /** save draft data. Return the data object UdpFormSubmission */\n saveCurrentFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission>;\n \n /** save comments after a submission has been submitted. Return the data object UdpFormSubmission */\n saveFormSubmissionComments(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission>;\n\n /** Create a new follow up udpFormSubmission and link it to the parent submission. Return the data object UdpFormSubmission */\n createNewLinkedFollowUpFormSubmission(udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateFormSubmissionHandler.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { UdpFormSubmissionStatus } from '../types';\nimport { makeApiCall } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { SearchBuilder, SearchOperators } from '../../../../../udp-utilities/search';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n/**\n * Handles CRUD and submission operations for private UdpFormSubmission records.\n */\nexport class PrivateFormSubmissionHandler implements IFormSubmissionHandler {\n\n // =============================\n // Fetch Methods\n // =============================\n\n /**\n * Fetch and refresh an existing UdpFormSubmission instance.\n *\n * Attempts to load the latest server representation of the provided\n * udpFormSubmission. Uses generic fields (generic1/2/3) when present to\n * disambiguate records, otherwise falls back to a simple id lookup.\n *\n * @param udpFormSubmission - local UdpFormSubmission object to refresh\n * @returns a new UdpFormSubmission merged with server data, or the original on failure\n * @throws network or unexpected errors\n */\n async fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n if (!udpFormSubmission?.id) {\n console.warn('Cannot fetch form submission without an ID.');\n return udpFormSubmission;\n }\n\n try {\n const { id, generic1, generic2, generic3 } = udpFormSubmission as any;\n let response: UdpFormSubmission | null = null;\n\n // Prefer the generics-aware lookup if any generic values are present\n if (generic1 || generic2 || generic3) {\n response = await this.getFormSubmissionByIdAndGenerics(\n id,\n generic1 || undefined,\n generic2 || undefined,\n generic3 || undefined\n );\n } else {\n response = await this.getFormSubmissionById(id);\n }\n\n if (!response) {\n console.warn('No form submission found for the provided object.');\n return udpFormSubmission;\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Error fetching form submission:', error);\n throw error;\n }\n }\n\n /** \n * Internal helper — lookup a form submission by its unique id.\n *\n * Performs a minimal search (page size 1) for the given id and returns\n * the first match or null if not found. Logs and returns null on errors.\n *\n * @param id - submission id to query\n * @returns UdpFormSubmission or null\n */\n private async getFormSubmissionById(id: string): Promise<UdpFormSubmission | null> {\n try {\n const search = new SearchBuilder(1, 1)\n .addFilter('id', id, SearchOperators.EQUALS)\n\n const response = await search.execute('UdpFormSubmission');\n return response?.pageList?.[0] as UdpFormSubmission || null;\n } catch (error) {\n console.error('Error fetching form submission by ID:', error);\n return null;\n }\n }\n\n /**\n * Internal helper — lookup a form submission by id and generic fields.\n *\n * Adds optional equality filters for generic1/generic2/generic3 when provided,\n * then executes a minimal search and returns the first match or null.\n *\n * @param id - submission id to query\n * @param generic1 - optional generic1 value to filter by\n * @param generic2 - optional generic2 value to filter by\n * @param generic3 - optional generic3 value to filter by\n * @returns UdpFormSubmission or null\n */\n private async getFormSubmissionByIdAndGenerics(id: string, generic1: string, generic2: string, generic3: string): Promise<UdpFormSubmission | null> {\n try {\n const search = new SearchBuilder(1, 1)\n .addFilter('id', id, SearchOperators.EQUALS);\n\n if (generic1) {\n search.addFilter('generic1', generic1, SearchOperators.EQUALS);\n }\n if (generic2) {\n search.addFilter('generic2', generic2, SearchOperators.EQUALS);\n }\n if (generic3) {\n search.addFilter('generic3', generic3, SearchOperators.EQUALS);\n }\n\n const response = await search.execute('UdpFormSubmission');\n return response?.pageList?.[0] as UdpFormSubmission || null;\n } catch (error) {\n console.error('Error fetching form submission by ID:', error);\n return null;\n }\n }\n\n\n // =============================\n // Save & Submit Methods\n // =============================\n\n /**\n * Create a new follow-up form submission that is linked to an existing submission.\n *\n * Saves a new UdpFormSubmission in 'in-progress' state without populating field values\n * (only metadata/links), and returns the created submission object.\n *\n * @param udpFormSubmission - template/parent submission to base the new follow-up on\n * @returns newly created UdpFormSubmission\n */\n async createNewLinkedFollowUpFormSubmission(udpFormSubmission): Promise<UdpFormSubmission> {\n const formData = await this.saveFormDataWithoutValues(udpFormSubmission, 'in-progress');\n return formData\n }\n\n /**\n * Persist submission metadata (without full field values).\n *\n * Converts provided udpFormSubmission into formData excluding field values,\n * determines whether to POST or PUT based on presence of id, and merges the\n * server response into a new UdpFormSubmission instance.\n *\n * @param udpFormSubmission - the submission to save\n * @param status - desired status to save (e.g., 'in-progress' or 'submitted')\n * @returns saved UdpFormSubmission (refetches if server returns empty PUT response)\n */\n private async saveFormDataWithoutValues(udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormDataWithoutValues(status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n\n /**\n * Save only comment-related fields for a submission.\n *\n * Delegates to the lower-level saveCommentsToDB helper to persist comment changes\n * while preserving existing submission state and metadata.\n *\n * @param values - comment values to persist\n * @param udpFormSubmission - target submission object\n * @returns updated UdpFormSubmission\n */\n async saveFormSubmissionComments(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveCommentsToDB(values, udpFormSubmission)\n }\n\n\n /**\n * Save the current state of the form's data as a draft ('in-progress').\n *\n * Converts the provided values into the required form payload and persists them.\n * Determines POST vs PUT automatically and refreshes local object on empty PUT responses.\n *\n * @param values - field data to save\n * @param udpFormSubmission - submission being updated\n * @returns updated UdpFormSubmission\n */\n async saveCurrentFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveSubmissionToDB(values, udpFormSubmission, 'in-progress')\n }\n\n\n /** \n * Finalize and submit the form (set state to 'submitted').\n *\n * Persists the provided values and marks the submission as 'submitted'.\n *\n * @param values - final form values to submit\n * @param udpFormSubmission - submission being finalized\n * @returns updated UdpFormSubmission\n */\n async finalizeFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveSubmissionToDB(values, udpFormSubmission, 'submitted');\n }\n\n // =============================\n // Helpers\n // =============================\n\n /** \n * Determine correct HTTP verb and target URL for saving a UdpFormSubmission.\n *\n * Uses productV1ApiUrl from ConfigService and returns POST for new submissions\n * (no id) or PUT with the resource id for existing submissions.\n *\n * @param udpFormSubmission - submission to be saved\n * @returns object with method ('POST'|'PUT') and full url\n */\n private getApiRequestInfo(udpFormSubmission: UdpFormSubmission): { method: 'POST' | 'PUT'; url: string } {\n const baseUrl = `${ConfigService.productV1ApiUrl}/UdpFormSubmission`;\n\n return udpFormSubmission.id\n ? { method: 'PUT', url: `${baseUrl}/${udpFormSubmission.id}` }\n : { method: 'POST', url: baseUrl };\n }\n\n /**\n * Persist form values and metadata to the backend.\n *\n * Builds the form payload using udpFormSubmission.processSubmissionIntoFormData,\n * resolves POST vs PUT using getApiRequestInfo, and returns a merged UdpFormSubmission.\n * If the server returns an empty string for PUT, the method refetches the record.\n *\n * @param values - field values to be saved\n * @param udpFormSubmission - submission being updated\n * @param status - status to persist (e.g., 'in-progress' | 'submitted')\n * @returns updated UdpFormSubmission\n */\n private async saveSubmissionToDB(values: Record<string, any>, udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormData(values, status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n\n /**\n * Persist only comment changes for an existing submission via PUT.\n *\n * Forces a PUT to the specific submission id, builds a form payload containing\n * the provided comment values, and returns the updated submission. If the API\n * returns an empty string (PUT shorthand), the method refetches the record.\n *\n * @param values - comment fields to persist\n * @param udpFormSubmission - target submission (must have id)\n * @returns updated UdpFormSubmission\n */\n private async saveCommentsToDB(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n try {\n const method = 'PUT';\n const status = udpFormSubmission.status || 2; // default to 'submitted' if status is null\n const url = `${ConfigService.productV1ApiUrl}/UdpFormSubmission/${udpFormSubmission.id}`;\n const formData = udpFormSubmission.processSubmissionIntoFormData(values, status);\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n}\n\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PublicFormSubmissionHandler.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,qEAAqE;AACrE,uEAAuE;AAEvE;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC,YACG,MAAa,EACb,WAAoB,EACpB,QAAe,IACf,CAAC;IAEG,KAAK,CAAC,oCAAoC,CAAC,UAA6B;QAC7E,OAAO,UAAU,CAAA;IACnB,CAAC;IAGO,gBAAgB,CAAC,GAAwB;;QAC/C,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,GAAG,MAAA,MAAA,GAAG,CAAC,GAAG,CAAC,0CAAE,KAAK,mCAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,CAAC;iBAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,MAA2B,EAAE,UAA6B;QAC7F,OAAO,UAAU,CAAA;IACnB,CAAC;IAGD,KAAK,CAAC,0BAA0B,CAAC,MAA2B,EAAE,UAA6B;QACzF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,UAA6B;QACvE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,MAA2B,EAAE,UAA6B;QAC1F,IAAI,CAAC;YACH,kDAAkD;YAElD,qBAAqB;YACrB,YAAY;YACZ,2HAA2H;YAC3H,cAAc;YACd,SAAS;YACT,KAAK;YAEL,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF","sourcesContent":["// @ts-nocheck\nimport { Guid, UdpFormSubmissionStatus } from '../../types';\nimport { createFormData } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from './formUtils';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n// TODO: This handler needs to be updated with new public form logic.\n// ******* THIS HANDLER IS OUTDATED, AND WILL LIKELY NOT WORK *********\n\n/**\n * Handles submission for *public* (unauthenticated) forms.\n */\nexport class PublicFormSubmissionHandler implements IFormSubmissionHandler {\n constructor(\n formId?: Guid,\n formVersion?: number,\n tenantId?: Guid\n ) {}\n\n public async fetchAndPopulateUdpFormSubmissionObj(submission: UdpFormSubmission) {\n return submission\n }\n\n\n private objectToFormData(obj: Record<string, any>): FormData {\n const files: File[] = [];\n const formObj: Record<string, any> = {};\n\n for (const key in obj) {\n let value = obj[key]?.value ?? obj[key];\n\n if (isFileArray(value)) {\n if (value.length > 0) {\n files.push(value[0]);\n formObj[key] = value[0].name;\n }\n } else if (Array.isArray(value)) {\n formObj[key] = value.map(v => (typeof v === 'string' ? v : v.value)).join(',');\n } else if (value !== null && value !== undefined && value !== '') {\n formObj[key] = value;\n }\n }\n\n return createFormData({\n formData: JSON.stringify(formObj),\n formFiles: files[0] || null\n });\n }\n\n async saveCurrentFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n\n async saveFormSubmissionComments(values: Record<string, any>, submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async createNewLinkedFollowUpFormSubmission(submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async finalizeFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission) : Promise<UdpFormSubmission> {\n try {\n // const formData = this.objectToFormData(values);\n\n // await makeApiCall(\n // 'POST',\n // `${ConfigService.productV1ApiUrl}/UdpForm/${this.formId}/${this.formVersion}/submit/public?tenantId=${this.tenantId}`,\n // formData,\n // true\n // );\n\n return submission;\n } catch (error) {\n console.error('Public form submission failed:', error);\n throw error\n }\n }\n}\n"]}
|
package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/formUtils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formUtils.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/form-submission-handler/formUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAU;IACpC,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAA2D;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;AACnD,CAAC","sourcesContent":["/**\n * Utility function to check if an array contains File objects\n */\nexport function isFileArray(array: any): array is File[] {\n // Check if it's an array\n if (!Array.isArray(array)) {\n return false;\n }\n\n // Check if all elements in the array are instances of File\n return array.every(item => item instanceof File);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/utils/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TypographyVariant } from \"src/components\";\nimport { UdpObject, Guid } from \"src/global/types\";\n\n// Re-export types that components need\nexport type { Guid, UdpTag } from \"src/global/types\";\n\nexport interface UdpFormQuestion extends UdpObject {\n id: Guid;\n formId: Guid;\n formVersion: number;\n name: string;\n questionText: string;\n fieldTypeId: number;\n fieldProperties: any;\n clusterId: number;\n helperText: string;\n section: number;\n formSectionId?: Guid;\n questionOrder: number;\n required: boolean;\n form: null;\n questionTypeName?: string;\n isContainsOptionItems?: boolean;\n icon?: any;\n questionIdentifierKey?: string;\n}\n\nexport interface UdpFormSection extends UdpObject {\n id: Guid;\n formId: Guid;\n formVersion: number;\n title: string;\n sectionText: string;\n order: number;\n sectionProperties: any;\n name?: string;\n formQuestions?: UdpFormQuestion[];\n isOriginalSection?: boolean;\n sectionPositionSuffix?: number;\n}\n\nexport interface StyleOverrides {\n background?: {\n backgroundImage?: string | null;\n backgroundColor?: string | null;\n };\n headerBackgroundColor?: string|null\n fontFamily?: string;\n helperText?: FontOverrides;\n questionText?: FontOverrides;\n titleText?: FontOverrides;\n paragraphText?: FontOverrides;\n}\n\nexport interface FontOverrides {\n variant?: TypographyVariant;\n fontFamily?: string;\n}\n\n// Base interface for all UDP entities with common properties\n\n\nexport type UdpFormSubmissionStatus = 'in-progress' | 'submitted' | 1 | 2;\n\n\nexport interface UdpFormQuestionComment {\n timestamp: Date;\n value: string;\n userDisplayName: string;\n userId: Guid;\n}\n\nexport interface UdpFormQuestionMetadata {\n signatureTimestamp?: string;\n signatureLatitude?: number;\n signatureLongitude?: number;\n signatureFullName?: string;\n followUpParentFormId?: string;\n followUpParentFormVersion?: number;\n followUpParentFormSubmissionId?: string;\n}\n\n\nexport interface UdpFormMetadata {\n isPrivate: boolean;\n tenantId: Guid;\n type: string;\n version: number;\n name: string;\n description: string;\n styleOverrides: object;\n id: Guid;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// take a masterForm's structure and build the empty initialValues object\nimport { UdpForm } from \"src/components\";\n\n/**\n * Translate and format UTC timestamp to local time.\n */\nexport const dateFormatter = (dateString: string, formatStyle: 'long' | 'short' = 'long' ) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format (i.e., contains a space, not 'T')\n // If the input is '2025-12-10T20:23:23.055Z', it passes straight through.\n // This format is assumed to be missing timezone info and needs to be treated as UTC.\n if (dateString.includes(' ')) {\n // Replace the space with 'T' \n normalizedDateString = dateString.replace(' ', 'T');\n }\n\n if (!dateString.toUpperCase().endsWith('Z')) {\n // append Z if not there\n normalizedDateString = normalizedDateString + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\n // short format: DD/MM/YY HH:MM am/pm (e.g. 05/09/25 03:45 pm)\n if (formatStyle === 'short') {\n const pad = (n: number) => String(n).padStart(2, '0');\n const day = pad(date.getDate());\n const month = pad(date.getMonth() + 1);\n const yearShort = String(date.getFullYear()).slice(-2);\n\n const hours24 = date.getHours();\n const minutes = pad(date.getMinutes());\n const period = hours24 >= 12 ? 'pm' : 'am';\n const hours12 = hours24 % 12 === 0 ? 12 : hours24 % 12;\n const hours = String(hours12).padStart(2, '0');\n\n return `${day}/${month}/${yearShort} ${hours}:${minutes} ${period}`;\n }\n\n // default long format \n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n });\n};\n\n\n// eg. { section1: { question1: { value: '', comments: [], metadata: {} }, question2: { value: '', comments: [], metadata: {} } }, section2: { question3: { value: '', comments: [], metadata: {} } } }\nexport const buildEmptyInitialValues = (masterForm: UdpForm) => {\n const initialValues = {};\n\n for (const section of masterForm.udpFormUdpFormSection) {\n initialValues[section.name] = {};\n\n const questionsOfSection = masterForm.formQuestions.filter(\n question => question.formSectionId == section.id,\n );\n\n for (const question of questionsOfSection) {\n initialValues[section.name][question.name] = {\n value: '', // default empty value\n comments: [], // default empty comments array\n metadata: {}, // default metadata object\n };\n }\n }\n\n return initialValues;\n};\n\n\nexport const overrideFont = (element: HTMLElement, cssVariable) => {\n if(element?.shadowRoot?.lastElementChild){ // this returns null in react for some instances\n element?.shadowRoot?.lastElementChild?.setAttribute?.('style', `font-family: var(${cssVariable})`)\n return;\n }\n const observer = new MutationObserver((mutationsList, observer) => {\n mutationsList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n (node as HTMLElement)?.setAttribute?.('style', `font-family: var(${cssVariable})`);\n observer.disconnect(); // Stop observing once the target is found\n }\n });\n }\n });\n });\n\n if (element?.shadowRoot) {\n observer.observe(element.shadowRoot, { childList: true });\n }\n };\n\n\nexport const fontOverrideMapping = {\n Arial: \"--font-override-arial\"\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums-CHxgVY-B.js","sources":["src/components/forms/udp-forms/utils/enums.ts"],"sourcesContent":["export enum UdpFormsFieldTypeEnum {\n Hidden = 1,\n SingleLineText = 2,\n MultiLineText = 3,\n Checkbox = 4,\n RadioButton = 5,\n DropdownSingleSelect = 6,\n DropdownMultipleSelect = 7,\n ListMultiSelect = 8,\n DateSelector = 9,\n TimeSelector = 10,\n DateTimeSelector = 11,\n FileUpload = 12,\n YesNo = 13,\n Signature = 14,\n Tally = 15,\n Number = 16,\n Paragraph = 17,\n ImageUpload = 18,\n FormMetadataDisplay = 19,\n}\n\nexport enum UdpFormsTypeEnum {\n Standard = '1',\n FollowUp = '2',\n}\n\nexport enum UdpFormsPageIdEnum {\n FormBuilderPageId = 'c77aa2c8-f8b8-41af-aa77-c8612fc918c1', \n FormRendererPageId = 'c696afbd-8d83-4f80-aaa1-9a3530a05a21', \n}"],"names":[],"mappings":"AAAY,IAAA;AAAZ,CAAA,UAAY,qBAAqB,EAAA;IAC/B,qBAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;IACV,qBAAA,CAAA,qBAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB;IAClB,qBAAA,CAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;IACjB,qBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;IACZ,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;IACf,qBAAA,CAAA,qBAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB;IACxB,qBAAA,CAAA,qBAAA,CAAA,wBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wBAA0B;IAC1B,qBAAA,CAAA,qBAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB;IACnB,qBAAA,CAAA,qBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB;IAChB,qBAAA,CAAA,qBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB;IACjB,qBAAA,CAAA,qBAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kBAAqB;IACrB,qBAAA,CAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe;IACf,qBAAA,CAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;IACV,qBAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;IACd,qBAAA,CAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;IACV,qBAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;IACX,qBAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;IACd,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAgB;IAChB,qBAAA,CAAA,qBAAA,CAAA,qBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,qBAAwB;AAC1B,CAAC,EApBW,qBAAqB,KAArB,qBAAqB,GAoBhC,EAAA,CAAA,CAAA;AAEW,IAAA;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,GAAc;AACd,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,GAAc;AAChB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,GAG3B,EAAA,CAAA,CAAA;AAEW,IAAA;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,mBAAA,CAAA,GAAA,sCAA0D;AAC1D,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,sCAA2D;AAC7D,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAG7B,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primary-action-header.udp-side-sheet.udp-tabs.entry.js","sources":["src/components/data-display/primary-action-header/primary-action-header.css?tag=primary-action-header&encapsulation=shadow","src/components/data-display/primary-action-header/primary-action-header.tsx","src/components/drawers/udp-side-sheet/udp-side-sheet.css?tag=udp-side-sheet&encapsulation=shadow","src/components/drawers/udp-side-sheet/udp-side-sheet.tsx","src/components/tabs/tab/tabs/udp-tabs.css?tag=udp-tabs&encapsulation=shadow","src/components/tabs/tab/tabs/udp-tabs.tsx"],"sourcesContent":["/* grid-primary-bar.css */\n:host {\n display: block;\n font-family: var(--font-family-base, sans-serif); \n background-color: var(--primary-action-header-background, #ffffff);\n color: var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));\n box-shadow: var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));\n height: var(--primary-action-header-height, 48px);\n padding: var(--primary-action-header-padding, 0 var(--spacing-04));\n box-sizing: border-box;\n}\n\n.header-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.title-section {\n flex-shrink: 0;\n margin-right: var(--spacing-md, 16px);\n}\n\n/* Tabs are not fully supported yet - this is leftover from work Greg did with Mindscope */\n.tabs {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n align-items: stretch;\n min-width: 0;\n}\n\n.tabs udp-tabs {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.tabs udp-tabs::part(tab-list) {\n /* This rule targets the 'tab-list' part within the udp-tabs component's shadow DOM. */\n /* It's a placeholder for any specific styling needed for the tab list container itself. */\n /* For example: display: flex; align-items: stretch; height: 100%; */\n}\n\n.tabs udp-tabs button {\n padding: 0 16px;\n margin: 0 var(--spacing-xxs, 4px);\n height: 100%;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font-size: var(--font-size-sm, 0.875rem);\n color: var(--text-color-secondary, rgba(0, 0, 0, 0.6));\n text-transform: uppercase;\n font-weight: var(--font-weight-medium, 500);\n border-bottom: 2px solid transparent;\n transition: color 0.3s ease, border-bottom-color 0.3s ease;\n}\n\n.tabs udp-tabs button:hover {\n color: var(--primary-color-hover, var(--primary-color, #1976d2));\n}\n\n.tabs udp-tabs button.active {\n color: var(--primary-color, #1976d2);\n border-bottom: 2px solid var(--primary-color, #1976d2);\n}\n\n.button-section {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--spacing-sm, 8px);\n}\n\n.button-section stencil-icon-button {\n color: var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)));\n}\n\n.button-section stencil-icon-button:hover {\n background-color: rgba(0,0,0,0.04);\n}\n\n\n.button-section custom-button {\n /* Styles for the primary action button */\n /* You might want to use your design system's button styles here */\n /* Example: margin-left: var(--spacing-sm, 8px); */\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport iconMapping from '../icons/iconMapping';\n\n@Component({\n tag: 'primary-action-header',\n styleUrl: 'primary-action-header.css',\n shadow: true,\n})\nexport class PrimaryActionHeader {\n @Prop() title: string;\n @Prop() hiddenActionButtons: string[] = [];\n @Prop() hiddenLabels: string[] = [];\n @Prop() actionButtons: any[] = [];\n @Prop() defaultActionButtons: any[] = [];\n @Prop() customSaveViewClick?: (event?: MouseEvent) => void;\n @Prop() customSizeToFitClick?: (event?: MouseEvent) => void;\n @Prop() customExportClick?: (event?: MouseEvent) => void;\n @Prop() primaryActionClick?: (event?: MouseEvent) => void;\n @Prop() customColumnViewClick?: (event?: MouseEvent) => void;\n @Prop() customFitColumnClick?: (event?: MouseEvent) => void;\n @Prop() customFilterViewClick?: (event?: MouseEvent) => void;\n @Prop() customClearClick?: (event?: MouseEvent) => void;\n @Prop() customExpandClick?: (event?: MouseEvent) => void;\n @Prop() customShowViewClick?: (event?: MouseEvent) => void;\n @Prop() activeTabIndex: number;\n @Prop() selectTab: (index: number) => void;\n @Prop() tabs: boolean = true;\n @Prop() actionButtonLabel: string = '';\n // @State() activeTabIndex: number = 0;\n\n getIconComponent(icon: string | Function, customIcon: Function) {\n if (customIcon) {\n return customIcon;\n }\n\n if (typeof icon === 'string') {\n return iconMapping[icon];\n }\n\n return icon;\n }\n\n renderIcon(ActualIcon: any) {\n if (ActualIcon && ActualIcon.elem === 'svg') {\n return (\n <svg {...ActualIcon.attrs}>\n {ActualIcon.content.map((content: any, index: number) => {\n return <path key={index} {...content.attrs} />;\n })}\n </svg>\n );\n }\n return null;\n }\n\n // selectTab(index: number) {\n // this.activeTabIndex = index;\n // }\n\n render() {\n console.log('active tab', this.activeTabIndex);\n\n return (\n <div class=\"header-bar\">\n <div class=\"title-section\">\n <unity-typography variant=\"h4\">{this.title}</unity-typography>\n </div>\n\n {/* IMPORTANT: NEED TO ADD A TABS COMPONENT SUPPORT - This is from work Greg did for mindscope demo */}\n {this.tabs && (\n <div class=\"tabs\">\n <udp-tabs>\n <button class={this.activeTabIndex === 0 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(0)}>\n Demo Grid\n </button>\n <button class={this.activeTabIndex === 1 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(1)}>\n Other Content\n </button>\n </udp-tabs>\n </div>\n )}\n\n <div class=\"button-section\">\n {this.defaultActionButtons.map(btn => {\n // Determine the actual icon to use\n const ActualIcon = this.getIconComponent(btn.icon, btn.customIcon);\n\n const clickHandler = (event?: MouseEvent) => {\n if (btn.clickHandler) {\n btn.clickHandler(event);\n } else {\n console.log(`${btn.label} Clicked but no custom handler defined`);\n }\n };\n\n if (!this.hiddenActionButtons.includes(btn.label) && btn.visible) {\n return (\n <stencil-icon-button secondary={btn.secondary} onClick={clickHandler} tooltip={btn.tooltip}>\n {/* Render icon directly */}\n {this.renderIcon(ActualIcon)}\n\n {/* Show label if it's not hidden and should be shown */}\n {!this.hiddenLabels.includes(btn.label) && btn.showLabel && <span>{btn.label}</span>}\n </stencil-icon-button>\n );\n }\n return null;\n })}\n {!this.actionButtonLabel && <div class=\"right-margin\" />}\n\n {this.actionButtonLabel && (\n <udp-button variant=\"contained\" color=\"secondary\" onClick={event => this.primaryActionClick(event)}>\n {this.actionButtonLabel}\n </udp-button>\n )}\n </div>\n </div>\n );\n }\n}\n",":host {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 0;\r\n height: 0;\r\n overflow: hidden;\r\n /* CRITICAL: transform creates a containing block, forcing fixed children to respect overflow: hidden */\r\n transform: translate(0);\r\n z-index: 9999;\r\n visibility: hidden;\r\n transition: visibility 0s 0.2s, width 0s 0.2s, height 0s 0.2s;\r\n}\r\n\r\n:host(.is-visible) {\r\n width: 100vw;\r\n height: 100vh;\r\n overflow: visible;\r\n visibility: visible;\r\n transition-delay: 0s;\r\n}\r\n\r\n.backdrop {\r\n background: rgba(0, 0, 0, 0.5);\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n opacity: 0;\r\n transition: opacity 0.2s ease-in-out;\r\n}\r\n\r\n:host(.is-visible) .backdrop {\r\n opacity: 1;\r\n}\r\n\r\n.sheet {\r\n background: white;\r\n height: 100vh;\r\n position: fixed;\r\n top: 0;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\r\n transition: transform 0.2s ease-in-out;\r\n width: 100%;\r\n}\r\n\r\n.sheet.right {\r\n right: 0;\r\n transform: translateX(100%);\r\n}\r\n\r\n.sheet.left {\r\n left: 0;\r\n transform: translateX(-100%);\r\n}\r\n\r\n:host(.is-visible) .sheet {\r\n transform: translateX(0);\r\n}\r\n\r\n.sheet.sm {\r\n max-width: 360px;\r\n}\r\n\r\n.sheet.md {\r\n max-width: 600px;\r\n}\r\n\r\n.sheet.lg {\r\n max-width: 960px;\r\n}\r\n\r\n.sheet.full {\r\n max-width: 100%;\r\n}\r\n\r\n.sheet.custom-width {\r\n /* max-width is set via inline style */\r\n}\r\n\r\n/* Updated title container for new layout */\r\n.title-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex-shrink: 0;\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n gap: var(--spacing-02)\r\n}\r\n\r\n.title-text {\r\n flex-grow: 1;\r\n text-align: left;\r\n /* Ensure title stays left-aligned */\r\n}\r\n\r\n.close-button {\r\n flex-shrink: 0;\r\n}\r\n\r\n/* Added styles for the new button's container */\r\n.header-action-button {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-02, 4px);\r\n padding: var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0;\r\n}\r\n\r\n.content {\r\n overflow-y: auto;\r\n flex-grow: 1;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n.content.padding {\r\n padding: var(--spacing-05, 24px);\r\n}\r\n\r\n.footer {\r\n padding: var(--spacing-03, 8px);\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-shrink: 0;\r\n width: 100%;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer.secondary-button-overflow {\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.footer-secondary-buttons-container {\r\n flex-grow: 2;\r\n width: 100%;\r\n}\r\n\r\n.footer-secondary-buttons {\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer-secondary-buttons.secondary-button-overflow {\r\n flex-grow: 1;\r\n}\r\n\r\n/* This container reserves the space for the loader (4px height).\r\n This prevents the content below it from shifting up and down\r\n when the loader appears or disappears.\r\n*/\r\n.loader-container {\r\n height: 4px;\r\n width: 100%;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n/*\r\n By default, the loader is instantly hidden.\r\n There is no transition applied in its hidden state.\r\n*/\r\n.loader-container udp-linear-loader {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: none;\r\n}\r\n\r\n/*\r\n When the .is-loading class is applied, we make the loader visible\r\n AND apply a transition so it fades in smoothly. When the class is removed,\r\n it reverts to the rule above and disappears instantly.\r\n*/\r\n.loader-container udp-linear-loader.is-loading {\r\n visibility: visible;\r\n opacity: 1;\r\n /* transition: opacity 0.3s ease-in-out; */\r\n}\r\n","/* eslint-disable stencil/strict-boolean-conditions */\r\nimport {\r\n Component,\r\n h,\r\n Prop,\r\n Element,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Build,\r\n} from '@stencil/core';\r\nimport Close24 from '@carbon/icons/es/close/24';\r\nimport { SecondaryButton } from './types';\r\n\r\n/**\r\n * Side sheet component used for contextual drawers.\r\n */\r\n@Component({\r\n tag: 'udp-side-sheet',\r\n styleUrl: 'udp-side-sheet.css',\r\n shadow: true,\r\n})\r\nexport class UdpSideSheet {\r\n /** Host element reference for portal behavior */\r\n @Element() hostEl!: HTMLElement;\r\n\r\n /** When true, the side sheet is open and visible */\r\n @Prop({ reflect: true, mutable: true }) open = false;\r\n\r\n /** Title text displayed in the header */\r\n @Prop() title: string;\r\n\r\n /** Position of the sheet on the screen */\r\n @Prop() position: 'left' | 'right' = 'right';\r\n\r\n /** Width preset or a numeric pixel width */\r\n @Prop() width: 'sm' | 'md' | 'lg' | 'full' | number = 'md';\r\n\r\n /** Controls whether default inner padding is applied */\r\n @Prop() padding = true;\r\n\r\n /** When true, shows a top loader */\r\n @Prop() loading: boolean = false;\r\n\r\n // Header action button props\r\n\r\n /** Label for the header primary action button */\r\n @Prop() headerActionButtonLabel: string;\r\n\r\n /** Whether the header action button is disabled */\r\n @Prop() headerActionButtonDisabled = false;\r\n\r\n /** Icon name for the header action button */\r\n @Prop() headerActionButtonIcon: string;\r\n\r\n /** Additional secondary buttons to render in the header */\r\n @Prop() headerSecondaryButtons: SecondaryButton[];\r\n\r\n // Footer / primary button props\r\n\r\n /** Label for the primary footer action button */\r\n @Prop() primaryButtonLabel: string;\r\n\r\n /** Whether the primary footer button is disabled */\r\n @Prop() primaryButtonDisabled = false;\r\n\r\n /** Icon name for the primary footer button */\r\n @Prop() primaryButtonIcon: string;\r\n\r\n /** Secondary buttons to render in the footer */\r\n @Prop() footerSecondaryButtons?: SecondaryButton[];\r\n\r\n /** Emitted when the sheet is closed */\r\n @Event() udpSideSheetClose: EventEmitter<void>;\r\n\r\n /** Emitted when the primary footer button is clicked */\r\n @Event() udpPrimaryButtonClick: EventEmitter<void>;\r\n\r\n /** Emitted when the header action button is clicked */\r\n @Event() udpHeaderActionButtonClick: EventEmitter<void>;\r\n\r\n /** Whether the footer should show the overflow \"More\" button */\r\n @State() showOverflowButton: boolean = false;\r\n\r\n /** Whether the overflow popover is open */\r\n @State() openOverflowMenu: boolean = false;\r\n\r\n /** Anchor element for the overflow popover */\r\n @State() overflowMenuAnchor: HTMLElement;\r\n\r\n @State() visibleSecondaryButtons: SecondaryButton[] = [];\r\n @State() overflowSecondaryButtons: SecondaryButton[] = [];\r\n\r\n /** Saved original document.body.overflow value to restore on close */\r\n private originalBodyOverflow: string = '';\r\n\r\n /** ResizeObserver instance watching footer size changes */\r\n private resizeObserver: ResizeObserver;\r\n\r\n /** Reference to the footer element */\r\n private footerRef: HTMLElement;\r\n\r\n /** Offscreen measurement container for buttons */\r\n private measurementContainerRef: HTMLElement;\r\n\r\n /** Saved original document.body.paddingRight value to restore on close */\r\n private originalBodyPaddingRight: string = '';\r\n\r\n /**\r\n * Watcher for `open` prop. Handles portal append/removal and body scroll lock.\r\n *\r\n * @param newValue - new value of the `open` prop\r\n * @param oldValue - previous value of the `open` prop\r\n */\r\n @Watch('open')\r\n handleOpenChange(newValue: boolean, oldValue: boolean) {\r\n if (newValue === oldValue) {\r\n return;\r\n }\r\n\r\n if (newValue) {\r\n // Calculate scrollbar width before hiding it\r\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\r\n\r\n // Save original values\r\n this.originalBodyOverflow = document.body.style.overflow;\r\n this.originalBodyPaddingRight = document.body.style.paddingRight;\r\n\r\n document.body.appendChild(this.hostEl);\r\n\r\n // Add padding to compensate for scrollbar\r\n if (scrollbarWidth > 0) {\r\n const currentPadding = parseInt(window.getComputedStyle(document.body).paddingRight) || 0;\r\n document.body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;\r\n }\r\n\r\n document.body.style.overflow = 'hidden';\r\n\r\n requestAnimationFrame(() => {\r\n this.hostEl.classList.add('is-visible');\r\n // Check overflow after the side sheet is visible\r\n setTimeout(() => this.checkOverflow(), 50);\r\n });\r\n } else {\r\n this.hostEl.classList.remove('is-visible');\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\r\n }\r\n }\r\n\r\n /**\r\n * Watcher for footer secondary buttons changes. Triggers overflow recalculation.\r\n */\r\n @Watch('footerSecondaryButtons')\r\n handleSecondaryButtonsChange() {\r\n // Recheck overflow when buttons change\r\n setTimeout(() => this.checkOverflow(), 50);\r\n }\r\n\r\n /**\r\n * Measures footer buttons in an offscreen container and sets `showOverflowButton`.\r\n * Safely returns early if required refs are unavailable.\r\n */\r\n private checkOverflow() {\r\n if (!this.footerRef || !this.measurementContainerRef) {\r\n return;\r\n }\r\n\r\n if (!this.footerSecondaryButtons || this.footerSecondaryButtons.length === 0) {\r\n this.showOverflowButton = false;\r\n return;\r\n }\r\n\r\n // Get the footer container width (minus padding)\r\n const footerWidth = this.footerRef.offsetWidth;\r\n const footerStyle = window.getComputedStyle(this.footerRef);\r\n const footerPaddingLeft = parseFloat(footerStyle.paddingLeft);\r\n const footerPaddingRight = parseFloat(footerStyle.paddingRight);\r\n const availableWidth = footerWidth - footerPaddingLeft - footerPaddingRight;\r\n\r\n // Measure all buttons in the hidden measurement container\r\n const measurementButtons = this.measurementContainerRef.querySelectorAll('udp-button');\r\n let totalWidth = 0;\r\n\r\n measurementButtons.forEach((button, index) => {\r\n const buttonWidth = button && button instanceof HTMLElement ? button.offsetWidth : 0;\r\n totalWidth += buttonWidth;\r\n\r\n // Add gap spacing between buttons (except for the last one)\r\n if (index < measurementButtons.length - 1) {\r\n const containerStyle = window.getComputedStyle(this.measurementContainerRef);\r\n const gap = parseFloat(containerStyle.gap) || 4; // Default gap from CSS\r\n totalWidth += gap;\r\n }\r\n });\r\n\r\n // Add a small buffer to prevent edge cases\r\n const buffer = 10;\r\n const isOverflowing = totalWidth + buffer > availableWidth;\r\n\r\n this.showOverflowButton = isOverflowing;\r\n }\r\n\r\n /**\r\n * Transition end handler used to remove the host element from body after close.\r\n *\r\n * @private\r\n */\r\n private handleTransitionEnd = () => {\r\n if (!this.open && this.hostEl.parentElement === document.body) {\r\n document.body.removeChild(this.hostEl);\r\n }\r\n };\r\n\r\n /**\r\n * Lifecycle: componentDidLoad. Sets up ResizeObserver and initial overflow check.\r\n *\r\n * @private\r\n */\r\n componentDidLoad() {\r\n if (Build.isBrowser) {\r\n // Set up ResizeObserver to watch for footer size changes\r\n this.resizeObserver = new ResizeObserver(() => {\r\n this.checkOverflow();\r\n });\r\n\r\n // Initial check after a small delay to ensure DOM is ready\r\n requestAnimationFrame(() => {\r\n setTimeout(() => {\r\n if (this.footerRef) {\r\n this.resizeObserver.observe(this.footerRef);\r\n }\r\n this.checkOverflow();\r\n }, 100);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Lifecycle: disconnectedCallback. Restores body styles and disconnects observers.\r\n *\r\n * @private\r\n */\r\n disconnectedCallback() {\r\n if (document.body.style.overflow === 'hidden') {\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n }\r\n\r\n // Clean up ResizeObserver\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Close the side sheet and emit close event.\r\n *\r\n * @private\r\n */\r\n private onClose = () => {\r\n this.open = false;\r\n this.udpSideSheetClose.emit();\r\n };\r\n\r\n /**\r\n * Backdrop click handler. Only closes when clicking the backdrop itself.\r\n *\r\n * @param e - MouseEvent from the backdrop click\r\n * @private\r\n */\r\n private onCloseBackdrop = (e: MouseEvent) => {\r\n if (e.target === e.currentTarget) {\r\n this.onClose();\r\n }\r\n };\r\n\r\n /**\r\n * Emit primary footer button click event.\r\n *\r\n * @private\r\n */\r\n private onPrimaryButtonClick = () => {\r\n this.udpPrimaryButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Emit header action button click event.\r\n *\r\n * @private\r\n */\r\n private onHeaderActionButtonClick = () => {\r\n this.udpHeaderActionButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Open overflow menu anchored to the clicked element.\r\n *\r\n * @param event - MouseEvent from the \"More\" button click\r\n * @private\r\n */\r\n private onMoreActionButtonClick = (event: MouseEvent) => {\r\n this.overflowMenuAnchor = event.currentTarget as HTMLElement;\r\n this.openOverflowMenu = true;\r\n };\r\n\r\n /**\r\n * Close the overflow popover.\r\n *\r\n * @param e - optional KeyboardEvent or MouseEvent (unused)\r\n * @private\r\n */\r\n private handleCloseOverflowMenu = () => {\r\n this.openOverflowMenu = false;\r\n };\r\n\r\n /**\r\n * Render the component UI.\r\n *\r\n * @returns JSX element tree\r\n * @private\r\n */\r\n render() {\r\n const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;\r\n const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const headerStartIcon = Boolean(this.headerActionButtonIcon) ? (\r\n <udp-icon iconName={this.headerActionButtonIcon} color=\"inherit\" />\r\n ) : undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const overflowIcon = <udp-icon iconName=\"overflowMenuVertical\" color=\"inherit\" />;\r\n\r\n return (\r\n <div class=\"backdrop\" onClick={this.onCloseBackdrop}>\r\n <div\r\n class={{ sheet: true, [this.position]: true, [widthClass]: true }}\r\n style={sideSheetStyle}\r\n >\r\n {/* Header layout has been changed here */}\r\n <div class=\"title-container\">\r\n <div class=\"close-button\">\r\n <stencil-icon-button\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n icon={Close24}\r\n onClick={this.onClose}\r\n secondary\r\n ></stencil-icon-button>\r\n </div>\r\n <div class=\"title-text\">\r\n <unity-typography variant=\"h6\">{this.title}</unity-typography>\r\n </div>\r\n {/* Conditionally render the new header action button */}\r\n {(this.headerActionButtonLabel || this.headerSecondaryButtons?.length > 0) && (\r\n <div class=\"header-action-button\">\r\n {this.headerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.headerActionButtonLabel && (\r\n <udp-button\r\n disabled={this.headerActionButtonDisabled}\r\n onClick={this.onHeaderActionButtonClick}\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n startIcon={headerStartIcon}\r\n variant=\"contained\"\r\n >\r\n {this.headerActionButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"loader-container\">\r\n <udp-linear-loader class={{ 'is-loading': this.loading }} color=\"primary\" />\r\n </div>\r\n\r\n <div class={{ content: true, padding: this.padding }}>\r\n <slot />\r\n </div>\r\n {(this.primaryButtonLabel || this.footerSecondaryButtons?.length > 0) && (\r\n <div>\r\n <div class=\"loader-container\"></div>\r\n <div\r\n class={{\r\n footer: true,\r\n }}\r\n ref={el => (this.footerRef = el)}\r\n >\r\n {/* Visible buttons container */}\r\n {!this.showOverflowButton && this.footerSecondaryButtons?.length > 0 && (\r\n <div class=\"footer-secondary-buttons-container\">\r\n <div class=\"footer-secondary-buttons\">\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* More button when overflowing */}\r\n {this.showOverflowButton && (\r\n <udp-button\r\n variant=\"outlined\"\r\n onClick={this.onMoreActionButtonClick}\r\n color=\"secondary\"\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n endIcon={overflowIcon}\r\n >\r\n More\r\n </udp-button>\r\n )}\r\n\r\n {/* Primary button */}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n disabled={this.primaryButtonDisabled}\r\n onClick={this.onPrimaryButtonClick}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n\r\n {/* Overflow menu */}\r\n {this.showOverflowButton && (\r\n <udp-pop-over\r\n anchorElement={this.overflowMenuAnchor}\r\n isOpen={this.openOverflowMenu}\r\n popoverWidth={'200px'}\r\n popoverMaxHeight={'300px'}\r\n handleOnClose={this.handleCloseOverflowMenu}\r\n >\r\n <div class=\"menu\">\r\n {this.footerSecondaryButtons?.map(item => (\r\n <udp-menu-item\r\n label={item?.label}\r\n iconName={item?.icon}\r\n onItemClick={() => {\r\n item?.onClick();\r\n this.handleCloseOverflowMenu();\r\n }}\r\n disabled={item?.disabled}\r\n />\r\n ))}\r\n </div>\r\n </udp-pop-over>\r\n )}\r\n\r\n {/* Hidden measurement container - renders all buttons for measurement */}\r\n <div\r\n ref={el => (this.measurementContainerRef = el)}\r\n style={{\r\n position: 'absolute',\r\n visibility: 'hidden',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n gap: 'var(--spacing-02, 4px)',\r\n }}\r\n aria-hidden=\"true\"\r\n >\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"text\"\r\n size=\"medium\"\r\n disabled={item.disabled}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n size=\"medium\"\r\n disabled={this.primaryButtonDisabled}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n",".tab-container {\n display: flex;\n flex-direction: column;\n}\n\n.tab-header {\n background-color: #ffffff;\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.tab-scroll-container {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.tab-scroll-container::-webkit-scrollbar {\n height: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.tab-header::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: var(--divider-color, #e0e0e0);\n}\n\n/* This is the base style for tab buttons */\n.tab-header button {\n padding: 16px;\n font-size: 14px;\n text-align: center;\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n transition: all 0.22s ease;\n color: #555555;;\n font-weight: 600;\n opacity: 0.9;\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.tab-header.fill .tab-scroll-container {\n width: 100%;\n}\n.tab-header.fill .tab-scroll-container button {\n flex-grow: 1;\n}\n\n.tab-header button.active {\n color: var(--secondary-color, #344861);\n opacity: 1.0;\n}\n\n.tab-header button.scroll-arrow {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 40px;\n padding: 0;\n\n background: #ffffff;\n cursor: pointer;\n font-size: 16px;\n font-weight: bold;\n color: #757575;\n z-index: 2;\n transition: color 0.2s ease;\n\n flex-shrink: 0;\n opacity: 1;\n gap: 0;\n}\n\n.tab-header button.scroll-arrow:hover {\n color: #000;\n}\n\n.tab-header button.scroll-arrow.left {\n left: 0;\n}\n\n.tab-header button.scroll-arrow.right {\n right: 0;\n\n}\n\n.scroll-fade {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 30px;\n z-index: 1;\n pointer-events: none;\n}\n\n.scroll-fade.left {\n left: 40px;\n background: linear-gradient(\n to right,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.scroll-fade.right {\n right: 40px;\n background: linear-gradient(\n to left,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.tab-header button udp-icon {\n font-size: 1.2em;\n line-height: 1;\n}\n\n.tab-header button.icon-start {\n flex-direction: row;\n}\n.tab-header button.icon-end {\n flex-direction: row-reverse;\n}\n.tab-header button.icon-top {\n flex-direction: column;\n gap: 4px;\n}\n.tab-header button.icon-bottom {\n flex-direction: column-reverse;\n gap: 4px;\n}\n\n.slider {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: var(--secondary-color, #344861);\n\n transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.22s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 1;\n}\n\n.tab-header button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.tab-header button.disabled.active {\n color: #757575;\n opacity: 0.5;\n}\n","import { Component, h, State, Element, Watch, Listen, Prop, Event, EventEmitter } from '@stencil/core';\n\ninterface TabDetail {\n label: string;\n icon?: string;\n iconPlacement?: 'start' | 'end' | 'top' | 'bottom';\n hidden?: boolean;\n disabled?: boolean;\n}\n\n@Component({\n tag: 'udp-tabs',\n styleUrl: 'udp-tabs.css',\n shadow: true,\n})\nexport class UdpTabs {\n @Element() el: HTMLElement;\n\n /**\n * Specifies the layout variant of the tab header.\n *\n * - `'standard'`: Tabs will be sized based on their content.\n * - `'fill'`: Tabs will stretch to fill the available horizontal space.\n */\n @Prop() variant: 'fill' | 'standard' = 'fill';\n\n /**\n * (Controlled) The index of the currently active tab.\n * If this prop is provided, the component will be in \"controlled\" mode.\n * The parent must listen for `udpTabChange` to update this value.\n */\n @Prop() value?: number;\n\n /**\n * (Optional) An array of tab configuration objects.\n * If provided, this will be used to render tabs instead of slotted `<udp-tab>` components.\n * This mode is typically used with controlled tabs.\n */\n @Prop() tabs: TabDetail[] = [];\n\n /**\n * (Controlled) Emits the index of the tab that was clicked.\n * This is only emitted in \"controlled\" mode (when `value` is provided).\n */\n @Event() udpTabChange: EventEmitter<number>;\n\n @State() internalActiveTab: number = 0; // For uncontrolled mode\n @State() tabDetails: TabDetail[] = []; // Unified details from prop or slot\n @State() sliderStyle: { width: string; transform: string } = {\n width: '0',\n transform: 'translateX(0)',\n };\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n\n private slottedTabs: HTMLUdpTabElement[] = []; // Renamed from `tabs`\n private buttonRefs: HTMLButtonElement[] = [];\n private scrollContainerRef?: HTMLDivElement;\n\n /**\n * Returns true if the component is in controlled mode.\n */\n private get isControlled(): boolean {\n return this.value != null;\n }\n\n /**\n * Returns true if tabs are being provided by the `tabs` prop.\n */\n private get useTabsProp(): boolean {\n return this.tabs && this.tabs.length > 0;\n }\n\n /**\n * Returns the currently active tab index,\n * respecting controlled or uncontrolled mode.\n */\n private get activeTab(): number {\n return this.isControlled ? this.value : this.internalActiveTab;\n }\n\n @Listen('slotchange')\n handleSlotChange() {\n // If we're using the tabs prop, slot changes are irrelevant\n if (this.useTabsProp) return;\n this.initializeTabs();\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n componentDidLoad() {\n this.initializeTabs();\n }\n\n /**\n * Watcher for uncontrolled state changes.\n */\n @Watch('internalActiveTab')\n onActiveTabChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for controlled state changes.\n */\n @Watch('value')\n onValueChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for tabs prop changes.\n */\n @Watch('tabs')\n onTabsPropChange() {\n this.initializeTabs();\n }\n\n @Watch('variant')\n onVariantChange() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private initializeTabs() {\n this.buttonRefs = [];\n\n if (this.useTabsProp) {\n // --- Prop-based ---\n this.tabDetails = this.tabs.map(t => ({ ...t })); // Use data from prop\n this.slottedTabs = []; // Ensure we're not tracking slotted tabs\n } else {\n // --- Slot-based ---\n this.slottedTabs = Array.from(this.el.children).filter(\n (child): child is HTMLUdpTabElement => child.tagName.toLowerCase() === 'udp-tab',\n );\n\n this.tabDetails = this.slottedTabs.map(tab => ({\n label: tab.label,\n icon: tab.icon,\n iconPlacement: tab.iconPlacement,\n hidden: tab.hidden,\n disabled: tab.disabled,\n }));\n }\n\n // --- Common Logic ---\n // In uncontrolled mode, check if the default active tab is invalid.\n if (!this.isControlled) {\n if (this.tabDetails[this.internalActiveTab]?.hidden || this.tabDetails[this.internalActiveTab]?.disabled) {\n const firstValidIndex = this.tabDetails.findIndex(tab => !tab.hidden && !tab.disabled);\n this.internalActiveTab = firstValidIndex > -1 ? firstValidIndex : 0;\n }\n }\n\n this.updateActiveTabs();\n\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private updateActiveTabs() {\n // Only update slotted tabs if we're in slot mode\n if (!this.useTabsProp) {\n const currentActiveTab = this.activeTab;\n this.slottedTabs.forEach((tab, index) => {\n tab.active = index === currentActiveTab;\n });\n }\n // If in prop mode, the <button> 'active' class is handled by render()\n }\n\n private updateSliderPosition() {\n const activeButton = this.buttonRefs[this.activeTab]; // Use getter\n if (!activeButton) {\n this.sliderStyle = { width: '0px', transform: 'translateX(0px)' };\n return;\n }\n\n this.sliderStyle = {\n width: `${activeButton.offsetWidth}px`,\n transform: `translateX(${activeButton.offsetLeft}px)`,\n };\n }\n\n private checkScroll() {\n if (!this.scrollContainerRef) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainerRef;\n const isOverflowing = scrollWidth > clientWidth;\n this.showScrollLeft = isOverflowing && scrollLeft > 1;\n this.showScrollRight = isOverflowing && scrollLeft < scrollWidth - clientWidth - 1;\n }\n\n private tabClicked(tabIndex: number) {\n if (this.tabDetails[tabIndex]?.disabled) {\n return;\n }\n\n if (this.isControlled) {\n // In controlled mode, emit the event for the parent to handle.\n // The `onValueChange` watcher will handle UI updates when the prop changes.\n this.udpTabChange.emit(tabIndex);\n } else {\n // In uncontrolled mode, update state directly.\n // The `onActiveTabChange` watcher will handle UI updates.\n this.internalActiveTab = tabIndex;\n }\n }\n\n private scrollTabIntoView(tabIndex: number) {\n const tabButton = this.buttonRefs[tabIndex];\n const container = this.scrollContainerRef;\n\n if (!tabButton || !container) return;\n\n const { scrollLeft, clientWidth } = container;\n const tabLeft = tabButton.offsetLeft;\n const tabRight = tabLeft + tabButton.offsetWidth;\n\n const safeZonePadding = 70;\n const safeZoneLeft = scrollLeft + safeZonePadding;\n const safeZoneRight = scrollLeft + clientWidth - safeZonePadding;\n\n if (tabLeft < safeZoneLeft) {\n container.scrollTo({\n left: tabLeft - safeZonePadding,\n behavior: 'smooth',\n });\n } else if (tabRight > safeZoneRight) {\n container.scrollTo({\n left: tabRight - clientWidth + safeZonePadding,\n behavior: 'smooth',\n });\n }\n }\n\n private scrollToStart() {\n if (!this.scrollContainerRef) return;\n this.scrollContainerRef.scrollTo({ left: 0, behavior: 'smooth' });\n }\n\n private scrollToEnd() {\n if (!this.scrollContainerRef) return;\n const container = this.scrollContainerRef;\n const { scrollWidth, clientWidth } = container;\n const maxScrollLeft = scrollWidth - clientWidth;\n container.scrollTo({ left: maxScrollLeft, behavior: 'smooth' });\n }\n\n render() {\n const currentActiveTab = this.activeTab; // Use getter\n\n return (\n <div class=\"tab-container\">\n <div class={`tab-header ${this.variant}`}>\n {this.showScrollLeft && (\n <button\n class=\"scroll-arrow left\"\n onClick={() => this.scrollToStart()}\n aria-label=\"Scroll to first tab\"\n >\n <udp-icon iconName=\"chevronLeft16\" color=\"inherit\" />\n </button>\n )}\n\n {this.showScrollLeft && <div class=\"scroll-fade left\"></div>}\n\n <div\n class=\"tab-scroll-container\"\n ref={el => (this.scrollContainerRef = el)}\n onScroll={() => this.checkScroll()}\n >\n {this.tabDetails.map((tab, index) => {\n if (tab.hidden) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const iconEl = tab.icon ? <udp-icon iconName={tab.icon} color={'inherit'} /> : null;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const labelEl = <span>{tab.label}</span>;\n\n return (\n <button\n class={{\n 'active': index === currentActiveTab,\n 'has-icon': !!tab.icon,\n [`icon-${tab.iconPlacement}`]: !!tab.icon,\n 'disabled': tab.disabled,\n }}\n disabled={tab.disabled}\n onClick={() => this.tabClicked(index)}\n role=\"tab\"\n aria-selected={index === currentActiveTab ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n ref={el => (this.buttonRefs[index] = el)}\n >\n {iconEl}\n {labelEl}\n </button>\n );\n })}\n\n <div class=\"slider\" style={this.sliderStyle}></div>\n </div>\n\n {this.showScrollRight && <div class=\"scroll-fade right\"></div>}\n\n {this.showScrollRight && (\n <button\n class=\"scroll-arrow right\"\n onClick={() => this.scrollToEnd()}\n aria-label=\"Scroll to last tab\"\n >\n <udp-icon iconName=\"chevronRight16\" color=\"inherit\" />\n </button>\n )}\n </div>\n\n {!this.isControlled && !this.useTabsProp && (\n <div>\n <slot></slot>\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"udp-container.udp-linear-loader.entry.js","sources":["src/components/layout/udp-container/udp-container.css?tag=udp-container&encapsulation=shadow","src/components/layout/udp-container/udp-container.tsx","src/components/loaders/udp-linear-loader/udp-linear-loader.css?tag=udp-linear-loader&encapsulation=shadow","src/components/loaders/udp-linear-loader/udp-linear-loader.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.udp-container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n box-sizing: border-box;\n}\n\n.udp-container--padded {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n/* Fluid container takes full width */\n.udp-container--fluid {\n max-width: 100%;\n}\n\n/* Responsive container max-widths */\n.udp-container--sm {\n max-width: 640px;\n}\n\n.udp-container--md {\n max-width: 768px;\n}\n\n.udp-container--lg {\n max-width: 1024px;\n}\n\n.udp-container--xl {\n max-width: 1280px;\n}\n\n.udp-container--2xl {\n max-width: 1536px;\n} ","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-container',\n styleUrl: 'udp-container.css',\n shadow: true,\n})\nexport class UdpContainer {\n /**\n * If true, the container will be fluid (100% width at all breakpoints)\n */\n @Prop() fluid: boolean = false;\n\n /**\n * Maximum width for the container at different breakpoints\n */\n @Prop() maxWidth: 'sm' | 'md' | 'lg' | 'xl' | '2xl' = 'lg';\n\n /**\n * Add padding to the container\n */\n @Prop() padding: boolean = true;\n\n render() {\n return (\n <div\n class={{\n 'udp-container': true,\n 'udp-container--fluid': this.fluid,\n 'udp-container--padded': this.padding,\n [`udp-container--${this.maxWidth}`]: true,\n }}\n >\n <slot></slot>\n </div>\n );\n }\n}\n",":host {\n /* Define color variables, similar to the button component for consistency */\n --udp-loader-primary-color: var(--primary-color, #2953ff);\n --udp-loader-secondary-color: var(--secondary-color, #6f767a);\n --udp-loader-success-color: var(--success-color, #0da40d);\n --udp-loader-error-color: var(--error-color, #ff0000);\n --udp-loader-warning-color: var(--warning-color, #ffa500);\n --udp-loader-info-color: var(--info-color, #2953ff);\n}\n\n.loader {\n position: relative;\n width: 100%;\n height: 4px;\n background-color: transparent; /* The track is transparent, so it's invisible. */\n overflow: hidden; /* Ensures the animation stays within the bounds. */\n}\n\n.indeterminate {\n /* The default color will be primary */\n background-color: var(--udp-loader-primary-color);\n position: absolute;\n width: 40%;\n height: 100%;\n animation: indeterminate 1s linear infinite;\n}\n\n/* Apply the selected color to the moving bar */\n.loader--color-primary .indeterminate {\n background-color: var(--udp-loader-primary-color);\n}\n.loader--color-secondary .indeterminate {\n background-color: var(--udp-loader-secondary-color);\n}\n.loader--color-success .indeterminate {\n background-color: var(--udp-loader-success-color);\n}\n.loader--color-error .indeterminate {\n background-color: var(--udp-loader-error-color);\n}\n.loader--color-warning .indeterminate {\n background-color: var(--udp-loader-warning-color);\n}\n.loader--color-info .indeterminate {\n background-color: var(--udp-loader-info-color);\n}\n\n/*\n This animation makes the bar travel from left to right over the entire duration.\n This removes the long pause where the bar was off-screen.\n*/\n@keyframes indeterminate {\n 0% {\n left: -50%;\n width: 50%;\n }\n 100% {\n left: 100%;\n width: 100%;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'udp-linear-loader',\n styleUrl: 'udp-linear-loader.css',\n shadow: true,\n})\nexport class UdpLinearLoader {\n /**\n * The color of the loader. It supports theming using global CSS variables.\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' = 'primary';\n\n render() {\n const loaderClasses = {\n loader: true,\n [`loader--color-${this.color}`]: true,\n };\n\n return (\n <Host>\n <div class={loaderClasses}>\n <div class=\"indeterminate\"></div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,wYAAwY;;MCOnZ,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;AAE9B;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAsC,IAAI;AAE1D;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI;AAgBhC;IAdC,MAAM,GAAA;QACJ,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;gBACrB,sBAAsB,EAAE,IAAI,CAAC,KAAK;gBAClC,uBAAuB,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAA,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;AAC1C,aAAA,EAAA,EAED,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;AClCZ,MAAM,kBAAkB,GAAG,wpCAAwpC;;MCOtqC,eAAe,GAAA,MAAA;AAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAuE,SAAS;AAgB9F;IAdC,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;SACtC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,aAAa,EAAA,EACvB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,eAAe,GAAO,CAC7B,CACD;;;;;;;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-CaZq3YdB.js';
|
|
2
|
-
|
|
3
|
-
const udpContainerCss = ":host{display:block;width:100%}.udp-container{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.udp-container--padded{padding-left:1rem;padding-right:1rem}.udp-container--fluid{max-width:100%}.udp-container--sm{max-width:640px}.udp-container--md{max-width:768px}.udp-container--lg{max-width:1024px}.udp-container--xl{max-width:1280px}.udp-container--2xl{max-width:1536px}";
|
|
4
|
-
|
|
5
|
-
const UdpContainer = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
/**
|
|
9
|
-
* If true, the container will be fluid (100% width at all breakpoints)
|
|
10
|
-
*/
|
|
11
|
-
this.fluid = false;
|
|
12
|
-
/**
|
|
13
|
-
* Maximum width for the container at different breakpoints
|
|
14
|
-
*/
|
|
15
|
-
this.maxWidth = 'lg';
|
|
16
|
-
/**
|
|
17
|
-
* Add padding to the container
|
|
18
|
-
*/
|
|
19
|
-
this.padding = true;
|
|
20
|
-
}
|
|
21
|
-
render() {
|
|
22
|
-
return (h("div", { key: '96b20d0a841faf192bb5c0d407701e6f95ed14ef', class: {
|
|
23
|
-
'udp-container': true,
|
|
24
|
-
'udp-container--fluid': this.fluid,
|
|
25
|
-
'udp-container--padded': this.padding,
|
|
26
|
-
[`udp-container--${this.maxWidth}`]: true,
|
|
27
|
-
} }, h("slot", { key: '09c87f19b0f7031dec7a41f9636bbc071db021f5' })));
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
UdpContainer.style = udpContainerCss;
|
|
31
|
-
|
|
32
|
-
const udpLinearLoaderCss = ":host{--udp-loader-primary-color:var(--primary-color, #2953ff);--udp-loader-secondary-color:var(--secondary-color, #6f767a);--udp-loader-success-color:var(--success-color, #0da40d);--udp-loader-error-color:var(--error-color, #ff0000);--udp-loader-warning-color:var(--warning-color, #ffa500);--udp-loader-info-color:var(--info-color, #2953ff)}.loader{position:relative;width:100%;height:4px;background-color:transparent;overflow:hidden;}.indeterminate{background-color:var(--udp-loader-primary-color);position:absolute;width:40%;height:100%;animation:indeterminate 1s linear infinite}.loader--color-primary .indeterminate{background-color:var(--udp-loader-primary-color)}.loader--color-secondary .indeterminate{background-color:var(--udp-loader-secondary-color)}.loader--color-success .indeterminate{background-color:var(--udp-loader-success-color)}.loader--color-error .indeterminate{background-color:var(--udp-loader-error-color)}.loader--color-warning .indeterminate{background-color:var(--udp-loader-warning-color)}.loader--color-info .indeterminate{background-color:var(--udp-loader-info-color)}@keyframes indeterminate{0%{left:-50%;width:50%}100%{left:100%;width:100%}}";
|
|
33
|
-
|
|
34
|
-
const UdpLinearLoader = class {
|
|
35
|
-
constructor(hostRef) {
|
|
36
|
-
registerInstance(this, hostRef);
|
|
37
|
-
/**
|
|
38
|
-
* The color of the loader. It supports theming using global CSS variables.
|
|
39
|
-
*/
|
|
40
|
-
this.color = 'primary';
|
|
41
|
-
}
|
|
42
|
-
render() {
|
|
43
|
-
const loaderClasses = {
|
|
44
|
-
loader: true,
|
|
45
|
-
[`loader--color-${this.color}`]: true,
|
|
46
|
-
};
|
|
47
|
-
return (h(Host, { key: '02559056a6c92d30881094938be83c93fb2d8714' }, h("div", { key: '03a65dcd2340edd7c7225a0e64886e0b6ad267c2', class: loaderClasses }, h("div", { key: '65b9c402dd81dc6bdc3640ecf80d720fa9f89ab4', class: "indeterminate" }))));
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
UdpLinearLoader.style = udpLinearLoaderCss;
|
|
51
|
-
|
|
52
|
-
export { UdpContainer as udp_container, UdpLinearLoader as udp_linear_loader };
|
|
53
|
-
//# sourceMappingURL=udp-container.udp-linear-loader.entry.js.map
|